/* Stepped surfaces and a fluid field, using the portfolio's own type and palette. */
.bn-page.bn-contact{background:var(--bn-ink);--contact-light:#ffffff;--contact-panel:var(--bn-paper)}
.gb-contact-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 70% 20%,#484848 0,transparent 50%),radial-gradient(ellipse at 10% 80%,#484848 0,transparent 55%),#000000;overflow:hidden}
.gb-contact-atmosphere canvas{display:block;width:100%;height:100%}
.gb-contact-opening{position:fixed;z-index:80;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--contact-light);pointer-events:none;overflow:clip}
.gb-contact-opening h2{font:400 clamp(65px,8.6vw,160px)/1.06 var(--serif);letter-spacing:-.045em;max-width:94vw;perspective:800px}
.gb-contact-opening__line{display:block;transform-origin:center;overflow:clip}
.gb-contact-opening__line>span{display:block;padding:.1em .08em .16em}
.gb-contact-opening__eyebrow{position:absolute;top:23%;font-size:11px;letter-spacing:.03em}
.gb-contact-opening__skip{position:absolute;bottom:10%;display:flex;gap:30px;align-items:center;background:none;color:inherit!important;font-size:12px!important;padding:12px;pointer-events:auto}
.gb-contact-opening__skip>span{transition:transform .5s var(--bn-ease)}
.gb-contact-opening__skip:hover>span{transform:translateY(5px)}
.gb-contact-intro .show-nav{color:var(--contact-light)}
.gb-contact-intro .show-nav::before{opacity:0}
.gb-contact-opening[hidden],.gb-contact-draft[hidden],.gb-contact-form[hidden]{display:none!important}
.gb-contact-main{position:relative;isolation:isolate;min-height:1050px}
.gb-contact-panels{position:absolute;inset:0;z-index:-1;pointer-events:none}
.gb-contact-panels>span{position:absolute;top:0;background:var(--contact-panel);transform-origin:bottom}
.gb-contact-panels>span:nth-child(1){left:0;width:calc(27% + 1px);height:min(75%,87svh)}
.gb-contact-panels>span:nth-child(2){left:27%;width:calc(46% + 1px);height:100%}
.gb-contact-panels>span:nth-child(3){left:73%;right:0;height:min(42%,49svh)}
.gb-contact-center{position:relative;width:46%;margin-inline:auto;padding:140px clamp(35px,6vw,115px) 85px;min-height:1050px}
.gb-contact-form-wrap{position:relative;width:100%;max-width:540px;margin-inline:auto}
.gb-contact-kicker{font-size:10px;letter-spacing:.02em;color:var(--bn-muted);text-align:center}
.gb-contact-greeting{font:400 clamp(29px,2.8vw,46px)/1.14 var(--serif);letter-spacing:-.045em;text-align:center;margin-top:22px!important;margin-bottom:48px!important}
.gb-contact-field{position:relative;margin-bottom:30px}
.gb-contact-field>label{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.015em;transform:translateY(30px);transform-origin:left center;transition:transform .55s var(--bn-ease),color .4s;cursor:text;pointer-events:none}
.gb-contact-field>label>span{font-size:10px;font-weight:400;color:var(--bn-muted)}
.gb-contact-field:focus-within>label,.gb-contact-field.is-filled>label{transform:translateY(0);color:var(--bn-muted)}
.gb-contact-field>input,.gb-contact-field>textarea{display:block;width:100%;max-width:100%;padding:12px 0 9px;border:0;border-bottom:1px solid #00000070;border-radius:0;background:none;color:var(--bn-ink);font:400 24px/1.3 var(--serif);outline:none;box-shadow:none;transition:border-color .3s}
.gb-contact-field>input{height:48px}
.gb-contact-field:focus-within>input,.gb-contact-field:focus-within>textarea{border-bottom-color:var(--bn-ink);box-shadow:0 1px 0 var(--bn-ink)}
.gb-contact-field>textarea{resize:vertical;min-height:80px;max-height:270px;scrollbar-width:thin}
.gb-contact-field--message>label{transform:translateY(35px)}
.gb-contact-subjects{margin:36px 0 0;padding:0;border:0;min-width:0}
.gb-contact-subjects>legend{font:500 11px/1.5 var(--sans);margin-bottom:15px}
.gb-contact-subjects>div{display:flex;flex-wrap:wrap;gap:8px}
.gb-contact-subjects label{position:relative;cursor:pointer}
.gb-contact-subjects input{position:absolute;opacity:0;inset:0;cursor:pointer}
.gb-contact-subjects label>span{display:block;padding:10px 12px;background:#00000009;border-radius:3px;font-size:10px;transition:background .4s,color .4s,transform .5s var(--bn-ease);white-space:nowrap}
.gb-contact-subjects label:hover>span{transform:translateY(-2px);background:#00000018}
.gb-contact-subjects input:checked+span{background:var(--bn-ink);color:var(--contact-panel)}
.gb-contact-subjects input:focus-visible+span{outline:2px solid var(--bn-ink);outline-offset:4px}
.gb-contact-question{font:400 clamp(31px,3vw,47px)/1.08 var(--serif);letter-spacing:-.04em;text-align:center;margin:62px -12px 36px!important}
.gb-contact-submit{display:flex!important;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:17px 20px;background:var(--bn-ink);color:var(--contact-panel)!important;font:500 12px/1.5 var(--sans)!important;border-radius:3px;overflow:hidden;transition:background .35s,transform .5s var(--bn-ease)}
.gb-contact-submit>span{display:block;transition:transform .6s var(--bn-ease)}
.gb-contact-submit>span:last-child{font-size:20px;line-height:1}
.gb-contact-submit:hover>span:first-child{transform:translateX(7px)}
.gb-contact-submit:hover>span:last-child{transform:translate(3px,-3px)}
.gb-contact-submit:active{transform:scale(.985)}
.gb-contact-submit:disabled{opacity:.5;cursor:not-allowed}
.gb-contact-submit:disabled>span{transform:none}
.gb-contact-status{font:400 12px/1.6 var(--sans);margin-top:18px!important;overflow-wrap:anywhere;outline-offset:5px}
.gb-contact-status:empty{display:none}
.gb-contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;pointer-events:none}
.gb-contact-note{text-align:center;font:400 10px/1.65 var(--sans);color:var(--bn-muted);margin-top:20px!important}
.gb-contact-direct{position:fixed;z-index:3;top:65svh;right:3.2vw;width:20.6vw;color:var(--contact-light)}
.gb-contact-direct>p{font:400 11px/1.4 var(--sans);margin-bottom:18px}
.gb-contact-direct__email{display:block;font:400 clamp(17px,1.5vw,25px)/1.3 var(--serif);letter-spacing:-.02em;padding-block:4px;overflow-wrap:anywhere}
.gb-contact-direct__email>span{display:inline-block;font:400 13px/1 var(--sans);margin-left:4px;transition:transform .5s var(--bn-ease)}
.gb-contact-direct__email:hover>span{transform:translate(3px,-3px)}
.gb-contact-direct>button{display:flex;align-items:center;gap:25px;background:none;padding:10px 0;font:400 10px/1.4 var(--sans)!important}
.gb-contact-direct>.bn-copy-status{color:var(--contact-light);font-size:10px;min-height:17px;margin-top:0}
.gb-contact-direct__links{display:flex;flex-wrap:wrap;gap:13px 18px;margin-top:13px;font-size:10px}
.gb-contact-direct__links>a{display:flex;align-items:center;gap:7px;padding-block:4px}
.gb-contact-direct__links>a>span{transition:transform .5s var(--bn-ease)}
.gb-contact-direct__links>a:hover>span{transform:translate(2px,-2px)}
.gb-contact-signoff{position:absolute;left:var(--gutter);bottom:45px;width:19vw;color:var(--contact-light);display:flex;flex-direction:column;gap:30px;font:400 11px/1.5 var(--sans)}
.gb-contact-signoff>span:last-child{opacity:.65}
.gb-contact-draft{text-align:center;padding-top:25px;min-height:650px}
.gb-contact-draft>h2{font:400 clamp(55px,6vw,94px)/.95 var(--serif);letter-spacing:-.05em;margin:30px 0!important;padding-bottom:.12em;outline:none}
.gb-contact-draft>p{font:400 12px/1.6 var(--sans);color:var(--bn-muted)}
.gb-contact-draft__preview{text-align:left;padding:24px 0;margin-block:25px;overflow-wrap:anywhere}
.gb-contact-draft__preview>span{font-size:10px;display:block;color:var(--bn-muted);margin-bottom:15px}
.gb-contact-draft__preview>strong{font:500 16px/1.4 var(--sans);display:block;margin-bottom:12px}
.gb-contact-draft__preview>p{font:400 14px/1.55 var(--sans);white-space:pre-wrap;max-height:220px;overflow:auto;scrollbar-width:thin}
.gb-contact-edit{background:none;padding:18px 8px;font:400 11px/1.4 var(--sans)!important;margin-top:10px}
.gb-contact-noscript{background:var(--bn-paper);padding:25px var(--gutter);margin:0}
.gb-contact-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gb-contact-boot .gb-contact-panels>span{transform:scaleY(0)}
.gb-contact-boot .gb-contact-form-wrap,.gb-contact-boot .gb-contact-direct,.gb-contact-boot .gb-contact-signoff{visibility:hidden}
.gb-contact-boot .gb-contact-opening__line>span{visibility:hidden}
html:not(.gb-contact-boot) .gb-contact-opening:not([hidden]){display:none}
@media(min-width:1700px){.gb-contact-center{padding-top:175px;min-height:1150px}.gb-contact-main{min-height:1150px}.gb-contact-field{margin-bottom:40px}.gb-contact-question{margin-top:80px!important}}
@media(max-width:1000px) and (min-width:701px){.gb-contact-center{padding-inline:34px}.gb-contact-direct{right:2.2vw;width:22.6vw}.gb-contact-direct__links{gap:8px 13px}.gb-contact-subjects label>span{padding:9px;font-size:9px}.gb-contact-signoff{font-size:10px}.gb-contact-opening h2{font-size:10vw}}
@media(max-width:700px){
  .gb-contact-opening h2{font-size:clamp(51px,12.5vw,88px);line-height:1.05;max-width:96vw}.gb-contact-opening__eyebrow{top:27%;font-size:10px}.gb-contact-opening__skip{bottom:18%}
  .gb-contact-main{min-height:0}.gb-contact-panels{bottom:auto;height:100%}.gb-contact-panels>span:nth-child(1){left:0;width:50%;height:87%}.gb-contact-panels>span:nth-child(2){display:none}.gb-contact-panels>span:nth-child(3){left:50%;width:50%;height:78%}
  html:not(.gb-contact-boot) .gb-contact-panels{display:none}
  .gb-contact-center{width:100%;margin:0;padding:123px 30px 75px;min-height:0;background:var(--contact-panel)}
  .gb-contact-boot .gb-contact-center{background:transparent}
  .gb-contact-form-wrap{max-width:430px}.gb-contact-greeting{font-size:35px;margin-top:18px!important;margin-bottom:32px!important}.gb-contact-field{margin-bottom:27px}.gb-contact-field>label{font-size:10px}.gb-contact-field>input{font-size:24px}.gb-contact-subjects{margin-top:32px}.gb-contact-subjects label>span{font-size:10px}.gb-contact-question{font-size:37px;margin-top:52px!important;margin-bottom:28px!important}.gb-contact-submit{padding:16px 19px}.gb-contact-note{font-size:10px}
  .gb-contact-direct{position:relative;inset:auto;width:100%;padding:90px 30px 55px;min-height:340px}.gb-contact-direct>p{font-size:11px}.gb-contact-direct__email{font-size:clamp(25px,6.6vw,39px);max-width:460px}.gb-contact-direct__email>wbr{display:none}.gb-contact-direct__links{font-size:12px;gap:22px;margin-top:24px}.gb-contact-direct>button{font-size:11px!important;gap:20px}.gb-contact-signoff{position:relative;inset:auto;width:auto;flex-direction:row;justify-content:space-between;gap:24px;padding:15px 30px 45px;font-size:10px}.gb-contact-signoff>span:last-child{text-align:right}
  .gb-contact-draft{min-height:650px;padding-top:12px}.gb-contact-draft>h2{font-size:74px}
}
@media(prefers-reduced-motion:reduce){.gb-contact-opening{display:none!important}.gb-contact-boot .gb-contact-panels>span{transform:none}.gb-contact-boot .gb-contact-form-wrap,.gb-contact-boot .gb-contact-direct,.gb-contact-boot .gb-contact-signoff{visibility:visible}.gb-contact-intro .show-nav{color:var(--bn-ink)}}
