/* Self-hosted open-source webfonts. Original licences are in assets/fonts/. */
@font-face{font-family:'GHUS Syne';src:url('/assets/fonts/syne-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:'GHUS Sans';src:url('/assets/fonts/dm-sans-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
:root{--wine:#550000;--paper:#f2eee8;--ink:#550000;--muted:#755c58;--rule:rgba(85,0,0,.22);--gutter:clamp(22px,4vw,64px);--display:'GHUS Syne',Arial,sans-serif;--sans:'GHUS Sans',Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-synthesis:none;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
img,video{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:var(--wine);color:var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:20;left:20px;top:16px;padding:14px 18px;background:var(--paper);color:var(--wine);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.page-shell{display:flex;flex-direction:column;min-height:100svh}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--gutter);color:var(--paper);background:var(--wine)}
.logo-link{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}
.ghus-logo{width:142px;height:auto;filter:brightness(0) invert(96%) sepia(6%) saturate(350%) hue-rotate(342deg)}
.primary-nav{display:flex;align-items:center;gap:32px}
.primary-nav a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:1rem;font-weight:500;text-decoration:none}
.primary-nav a:hover,.primary-nav a[aria-current=page]{text-decoration:underline}
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:5;background:linear-gradient(to bottom,rgba(18,6,6,.72),rgba(18,6,6,.6) 75%,transparent)}
.hero{position:relative;display:grid;place-items:center;min-height:700px;min-height:max(620px,100svh);isolation:isolate;overflow:hidden;background:var(--wine);color:var(--paper)}
.hero-media{position:absolute;inset:0;z-index:-2;background:var(--wine)}
.hero-panel{position:absolute;overflow:hidden;background:#230606;left:0;top:0;right:auto;bottom:auto;transition:left 1.4s cubic-bezier(.45,0,.15,1),top 1.4s cubic-bezier(.45,0,.15,1),width 1.4s cubic-bezier(.45,0,.15,1),height 1.4s cubic-bezier(.45,0,.15,1),outline-color .7s ease,z-index 0s .7s;backface-visibility:hidden}
.hero-panel video{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}
.hero-panel-air{width:100%;height:100%;z-index:0;outline:1px solid transparent}
.hero-panel-lab{left:73%;top:17%;width:21%;height:61%;z-index:1;outline:1px solid rgba(242,238,232,.35)}
.hero[data-scene='1'] .hero-panel-air{left:7%;top:17%;width:29%;height:72%}
.hero[data-scene='1'] .hero-panel-lab{left:55%;top:8%;width:37%;height:84%}
.hero[data-scene='2'] .hero-panel-air{left:8%;top:12%;width:22%;height:61%;z-index:2;outline-color:rgba(242,238,232,.35)}
.hero[data-scene='2'] .hero-panel-lab{left:0;top:0;width:100%;height:100%;outline-color:transparent}
.hero[data-scene='3'] .hero-panel-air{left:17%;top:9%;width:36%;height:82%;z-index:2}
.hero[data-scene='3'] .hero-panel-lab{left:63%;top:24%;width:25%;height:67%}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(26,5,5,.12) 15%,rgba(26,5,5,.46) 48%,rgba(26,5,5,.23) 75%,rgba(26,5,5,.65))}
.hero-copy{text-align:center;width:100%;padding:140px var(--gutter);pointer-events:none}
.hero-heading{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(64px,8.3vw,120px);line-height:1.08;letter-spacing:0;text-shadow:0 2px 28px rgba(0,0,0,.3)}
.hero-heading span{display:block}
.hero-heading span:last-child{font-weight:800}
.hero-byline{margin:30px 0 0;font:500 clamp(16px,1.4vw,20px)/1.5 var(--sans);letter-spacing:.015em}
.hero-meta{position:absolute;inset:auto var(--gutter) 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.hero-meta p{margin:0;font-size:.8125rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;line-height:1.6}
.motion-controls{display:flex;gap:16px}
.motion-controls button{min-height:44px;border:0;padding:0;background:transparent;font-size:.875rem;cursor:pointer}
.motion-controls button:hover{text-decoration:underline}
.studio-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px var(--gutter);font-size:.9375rem;font-weight:500;letter-spacing:.01em;border-bottom:1px solid var(--rule)}
.studio-strip p{margin:0}
.studio-strip a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;letter-spacing:0;text-decoration:none}
.studio-strip a:hover{text-decoration:underline}
.editorial-footer{padding:72px var(--gutter) 24px;background:var(--wine);color:var(--paper)}
.footer-main{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:end;padding-bottom:64px}
.footer-heading{margin:0;font:700 clamp(38px,4.2vw,64px)/1.15 var(--display);letter-spacing:0}
.footer-heading span{display:block}
.footer-contact{padding-bottom:6px}
.footer-email{display:inline-block;max-width:100%;min-height:44px;font-size:clamp(18px,2vw,29px);line-height:1.7;letter-spacing:0;overflow-wrap:anywhere;text-decoration:none;border-bottom:1px solid currentColor}
.footer-contact p{margin:16px 0 0;font-size:.875rem;line-height:1.5}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(242,238,232,.3);padding-top:16px;font-size:.75rem}
.footer-bottom p{margin:0}
.footer-bottom a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}
.footer-bottom a:hover{text-decoration:underline}
.site-footer:not(.editorial-footer){display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:auto;padding:28px var(--gutter);background:var(--wine);color:var(--paper)}
.footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;font:700 clamp(32px,4vw,60px)/1.15 var(--display);letter-spacing:0;text-decoration:none}
.footer-tagline{margin:0;font-size:.75rem}
.footer-social{display:inline-flex;min-height:44px;align-items:center;font-size:.875rem;text-decoration:none}
.site-footer:not(.editorial-footer) .footer-email{font-size:.875rem;letter-spacing:0;border:0}
.services-main,.contact-main,.error-main{width:min(100%,1320px);margin:0 auto;padding:74px var(--gutter) 80px}
.eyebrow{margin:0 0 28px;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.page-heading{max-width:18ch;margin:0;font:700 clamp(48px,6.5vw,94px)/1.1 var(--display);letter-spacing:0}
.page-intro{max-width:46ch;margin:28px 0 0;font-size:1.0625rem;line-height:1.6}
.services-grid{margin-top:68px}
.service{display:grid;grid-template-columns:30px 1fr 1.1fr 1fr;gap:28px;padding:30px 0 38px;border-top:1px solid var(--rule);align-items:start}
.service-number{margin:7px 0 0;color:var(--muted);font-size:.75rem}
.service h2{margin:0;font:700 clamp(27px,2.3vw,34px)/1.16 var(--display);letter-spacing:0}
.service>p:not(.service-number){margin:0;font-size:1rem;line-height:1.6}
.service-list{margin:0;padding:0;list-style:none;font-size:.875rem;line-height:1.8;color:var(--muted)}
.contact-main .page-heading{font-size:clamp(80px,12vw,170px);max-width:none}
.contact-email{display:inline-block;max-width:100%;margin-top:35px;font-size:clamp(22px,3.5vw,46px);line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
.contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:10px}
.copy-button{display:inline-flex;min-height:44px;align-items:center;gap:8px;border:0;padding:0;background:transparent;font-size:.875rem;cursor:pointer}
.copy-button:hover{text-decoration:underline}
.copy-status{margin:0;color:var(--muted);font-size:.875rem}
.brief-guide{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;border-top:1px solid var(--rule);margin-top:64px;padding-top:30px}
.brief-guide h2{margin:0;max-width:20ch;font:700 28px/1.25 var(--display);letter-spacing:0}
.brief-guide ol{list-style:none;padding:0;margin:0;counter-reset:brief}
.brief-guide li{display:flex;gap:20px;margin-bottom:12px;font-size:1rem;line-height:1.55;counter-increment:brief}
.brief-guide li::before{content:'0' counter(brief);font-size:.75rem;line-height:2;color:var(--muted)}
.text-link{display:inline-flex;min-height:44px;align-items:center;margin-top:24px}
@media(max-width:1000px){.service{grid-template-columns:24px 1fr 1.25fr;gap:20px}.service-number,.service h2{grid-row:1/3}.service-list{grid-column:3}.footer-main{gap:32px}.primary-nav{gap:24px}}
@media(max-width:750px){
 .site-header{padding:18px var(--gutter);gap:18px}.ghus-logo{width:108px}.primary-nav{gap:20px}.primary-nav a{font-size:.9375rem}.primary-nav a[href='/'],.primary-nav a[href*='instagram.com']{display:none}
 .hero{min-height:max(640px,100svh)}.hero-copy{padding:145px 22px}
 .hero-panel-lab{left:60%;top:16%;width:34%;height:31%}
 .hero[data-scene='1'] .hero-panel-air{left:5%;top:15%;width:59%;height:57%}
 .hero[data-scene='1'] .hero-panel-lab{left:42%;top:42%;width:53%;height:49%}
 .hero[data-scene='2'] .hero-panel-air{left:6%;top:16%;width:34%;height:31%}
 .hero[data-scene='3'] .hero-panel-air{left:7%;top:34%;width:56%;height:57%}
 .hero[data-scene='3'] .hero-panel-lab{left:37%;top:14%;width:57%;height:56%}
 .hero-heading{font-size:clamp(42px,10.6vw,72px);line-height:1.12;letter-spacing:0}.hero-byline{font-size:16px;margin-top:25px}.hero-meta{bottom:16px;gap:12px;align-items:flex-end}.hero-meta p{max-width:14ch;font-size:.75rem;line-height:1.7}.motion-controls{gap:14px}
 .hero-heading span:last-child{font-size:.9em;margin-top:.06em}
 .studio-strip{padding:18px var(--gutter);font-size:.875rem;letter-spacing:0;gap:18px}.studio-strip a{font-size:.875rem}.studio-strip p{max-width:17ch;line-height:1.6}
 .editorial-footer{padding-top:46px}.footer-main{grid-template-columns:1fr;gap:36px;padding-bottom:44px}.footer-heading{font-size:clamp(30px,8.5vw,48px)}.footer-email{font-size:clamp(20px,5.5vw,32px)}.footer-contact p{font-size:1rem}
 .footer-bottom{gap:10px}.services-main,.contact-main,.error-main{padding-top:44px;padding-bottom:50px}.page-heading{font-size:clamp(38px,9.4vw,65px)}.page-intro{font-size:1rem}.eyebrow{margin-bottom:23px}
 .services-grid{margin-top:42px}.service{grid-template-columns:24px 1fr;gap:16px 12px;padding:25px 0 30px}.service-number{grid-row:1/4}.service h2,.service>p:not(.service-number),.service-list{grid-column:2;grid-row:auto}.service h2{font-size:29px}.service-list{margin-top:-3px}
 .contact-main .page-heading{font-size:clamp(59px,16vw,108px)}.contact-email{font-size:clamp(22px,5.7vw,35px);margin-top:28px}.brief-guide{grid-template-columns:1fr;gap:24px;margin-top:40px}.brief-guide h2{font-size:27px}.site-footer:not(.editorial-footer){gap:12px}
}
@media(max-width:380px){.ghus-logo{width:85px}.primary-nav{gap:16px}.hero-heading{font-size:36px}.hero-meta{gap:10px}.motion-controls{gap:12px}.motion-controls button{font-size:.875rem}.footer-bottom{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
