

:root { --font-sans: "Helvetica Neue", Arial, sans-serif; --font-mono: "Courier New", monospace; --ink:#111; --paper:#f4f3ef; --muted:#777; --line:rgba(17,17,17,.2); --footer:#ecebe7; --media:#ddd; --gallery:#e8e7e3; --secondary:#686868; --inverse-bg:#111; --inverse-ink:#fff; color-scheme:light; }
html[data-theme="dark"] { --ink:#f1f0eb; --paper:#111; --muted:#aaa; --line:rgba(255,255,255,.2); --footer:#181818; --media:#242424; --gallery:#1b1b1b; --secondary:#aaa; --inverse-bg:#ecebe7; --inverse-ink:#111; color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),Arial,sans-serif; transition:background-color .25s ease,color .25s ease; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { display:block; max-width:100%; }
::selection { background:var(--ink); 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; }
.section-pad { padding-left:clamp(20px,3.4vw,58px); padding-right:clamp(20px,3.4vw,58px); }

.site-header { position:absolute; inset:0 0 auto; z-index:50; height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(20px,3.4vw,58px); transition:color .35s ease,background .35s ease; }
.header-on-hero { color:#fff; }
.header-on-light { color:var(--ink); position:relative; border-bottom:1px solid var(--line); }
.brand { width:154px; position:relative; z-index:52; }
.brand img { width:100%; filter:none; transition:filter .3s ease; }
.header-on-hero .brand img { filter:invert(1); }
html[data-theme="dark"] .header-on-light .brand img,html[data-theme="dark"] .footer-grid>img { filter:invert(1); }
.desktop-nav { display:flex; gap:42px; text-transform:uppercase; font:500 12px/1 var(--font-mono); letter-spacing:.06em; }
.desktop-nav a,.language-switch button { position:relative; }
.desktop-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:currentColor; transition:right .25s ease; }
.desktop-nav a:hover:after { right:0; }
.header-tools { justify-self:end; display:flex; align-items:center; gap:18px; }
.language-switch { display:flex; align-items:center; gap:6px; font:500 11px/1 var(--font-mono); }
.language-switch button { border:0; padding:6px 0; color:inherit; background:transparent; cursor:pointer; opacity:.45; }
.language-switch button.active { opacity:1; }
.theme-switch { display:flex; align-items:center; gap:7px; }
.theme-switch button { width:12px; height:12px; padding:0; color:inherit; border:1px solid currentColor; border-radius:50%; cursor:pointer; transition:outline-color .2s ease,transform .2s ease; }
.theme-switch .theme-light { background:#f4f3ef; }
.theme-switch .theme-dark { background:#111; }
.theme-switch button.active { outline:1px solid currentColor; outline-offset:3px; transform:scale(.88); }
.menu-toggle,.mobile-menu { display:none; }

.hero { min-height:100svh; position:relative; overflow:hidden; background:#222; color:white; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:hero-scale 1.4s cubic-bezier(.2,.7,.2,1) both; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,.04) 45%,rgba(0,0,0,.56)); }
.hero-copy { position:absolute; left:clamp(20px,3.4vw,58px); right:clamp(20px,3.4vw,58px); bottom:34px; animation:hero-up .9s .12s cubic-bezier(.2,.7,.2,1) both; }
.hero-copy>p { margin:0 0 20px; text-transform:uppercase; font:500 11px/1.3 var(--font-mono); letter-spacing:.08em; }
.hero-copy h1 { font-size:clamp(82px,15.2vw,238px); font-weight:500; letter-spacing:-.075em; line-height:.72; margin:0 0 38px -.06em; }
.hero-meta { display:flex; justify-content:space-between; align-items:end; border-top:1px solid rgba(255,255,255,.6); padding-top:14px; font:500 12px/1 var(--font-mono); text-transform:uppercase; letter-spacing:.06em; }
.hero-meta a span { display:inline-block; transition:transform .2s ease; }.hero-meta a:hover span { transform:translate(3px,-3px); }
.hero-index { position:absolute; top:116px; right:clamp(20px,3.4vw,58px); font:500 11px/1 var(--font-mono); letter-spacing:.08em; }
.scroll-cue { position:absolute; bottom:118px; right:50%; width:22px; height:38px; border:1px solid rgba(255,255,255,.65); border-radius:20px; }
.scroll-cue span { position:absolute; width:2px; height:7px; background:#fff; left:9px; top:7px; animation:scroll-dot 1.8s ease-in-out infinite; }
@keyframes hero-scale { from { transform:scale(1.06); opacity:.75; } to { transform:scale(1); opacity:1; } }
@keyframes hero-up { from { transform:translateY(28px); opacity:0; } to { transform:none; opacity:1; } }
@keyframes scroll-dot { 0%,100%{transform:translateY(0);opacity:.3}50%{transform:translateY(14px);opacity:1} }

.manifesto { padding-top:150px; padding-bottom:170px; display:grid; grid-template-columns:1fr 2fr; gap:5vw; }
.manifesto-kicker { display:flex; flex-direction:column; gap:6px; text-transform:uppercase; font:500 10px/1.3 var(--font-mono); letter-spacing:.07em; }
.manifesto-copy h2 { max-width:1000px; margin:0 0 55px; font-size:clamp(42px,6.2vw,96px); line-height:.97; letter-spacing:-.055em; font-weight:450; }
.text-link,.light-link { display:inline-flex; align-items:center; gap:12px; padding-bottom:8px; border-bottom:1px solid currentColor; text-transform:uppercase; font:500 11px/1 var(--font-mono); letter-spacing:.06em; }
.text-link span,.light-link span { transition:transform .2s ease; }.text-link:hover span,.light-link:hover span { transform:translate(3px,-3px); }
.section-heading { display:grid; grid-template-columns:1fr 2fr auto; align-items:end; border-top:1px solid var(--line); padding-top:14px; margin-bottom:90px; }
.section-heading>span { font:500 10px/1 var(--font-mono); }
.section-heading h2 { margin:0; text-transform:uppercase; font:500 12px/1 var(--font-mono); letter-spacing:.07em; }

.selected-projects { padding-bottom:180px; }
.project-pair { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(18px,2.2vw,38px); align-items:start; margin-bottom:160px; }
.pair-1 .feature-1 { grid-column:1/8; }.pair-1 .feature-2 { grid-column:9/13; margin-top:18vw; }
.pair-2 .feature-1 { grid-column:1/6; margin-top:10vw; }.pair-2 .feature-2 { grid-column:7/13; }
.pair-3 .feature-1 { grid-column:1/8; }.pair-3 .feature-2 { grid-column:8/13; margin-top:14vw; }
.feature-image-wrap { display:block; position:relative; overflow:hidden; background:var(--media); }
.pair-1 .feature-1 .feature-image-wrap,.pair-2 .feature-2 .feature-image-wrap,.pair-3 .feature-1 .feature-image-wrap { aspect-ratio:4/3; }
.pair-1 .feature-2 .feature-image-wrap,.pair-2 .feature-1 .feature-image-wrap,.pair-3 .feature-2 .feature-image-wrap { aspect-ratio:4/5; }
.feature-image { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s ease; }
.feature-image-wrap:hover .feature-image { transform:scale(1.025); filter:grayscale(.25); }
.feature-arrow,.archive-image-wrap>span { position:absolute; top:16px; right:16px; width:38px; height:38px; display:grid; place-items:center; background:var(--paper); border-radius:50%; transform:scale(0); transition:transform .25s ease; color:transparent; font-size:0; }
.feature-arrow::before,.archive-image-wrap>span::before { content:""; position:absolute; left:50%; top:50%; width:14px; height:1px; background:var(--ink); transform:translate(-50%,-50%) rotate(-45deg); }
.feature-arrow::after,.archive-image-wrap>span::after { content:""; position:absolute; top:calc(50% - 8px); right:calc(50% - 8px); width:7px; height:7px; border-top:1px solid var(--ink); border-right:1px solid var(--ink); }
.feature-image-wrap:hover .feature-arrow,.archive-image-wrap:hover>span { transform:scale(1); }
.feature-caption { display:grid; grid-template-columns:1fr auto auto; gap:28px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line); align-items:center; }
.feature-caption h3 { margin:0; font-size:18px; line-height:1; font-weight:500; }
.feature-caption span { font:500 10px/1 var(--font-mono); text-transform:uppercase; letter-spacing:.04em; }
.reveal { opacity:0; transform:translateY(30px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }

.studio-cta { background:var(--inverse-bg); color:var(--inverse-ink); min-height:78svh; display:flex; align-items:center; }
.studio-cta-grid { width:100%; display:grid; grid-template-columns:1fr 2fr; gap:5vw; }
.cta-number { font:500 10px/1 var(--font-mono); }
.cta-copy p { text-transform:uppercase; font:500 10px/1 var(--font-mono); letter-spacing:.08em; margin:0 0 45px; }
.cta-copy h2 { max-width:930px; margin:0 0 60px; font-size:clamp(52px,7.5vw,118px); font-weight:420; letter-spacing:-.06em; line-height:.92; }

.page-intro { min-height:64svh; padding-top:105px; padding-bottom:75px; display:grid; grid-template-columns:1fr 2fr; align-content:end; row-gap:30px; border-bottom:1px solid var(--line); }
.page-intro>span { grid-column:1; font:500 10px/1 var(--font-mono); text-transform:uppercase; letter-spacing:.07em; }
.page-intro h1 { grid-column:2; margin:0; font-size:clamp(72px,11vw,170px); font-weight:440; line-height:.75; letter-spacing:-.07em; }
.page-intro>p { grid-column:2; max-width:740px; margin:30px 0 0; font-size:clamp(20px,2vw,30px); line-height:1.25; letter-spacing:-.025em; }
.projects-section { padding-top:52px; padding-bottom:170px; }
.project-filters { display:flex; flex-wrap:wrap; gap:10px 26px; margin-bottom:85px; }
.project-filters button { border:0; background:transparent; color:var(--muted); padding:0 0 7px; border-bottom:1px solid transparent; cursor:pointer; text-transform:uppercase; font:500 11px/1 var(--font-mono); letter-spacing:.05em; }
.project-filters button.active { color:var(--ink); border-bottom-color:var(--ink); }
.archive-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:72px clamp(16px,2vw,32px); align-items:start; }
.archive-item { grid-column:span 4; animation:archive-in .45s ease both; }
.archive-item:nth-child(5n+2),.archive-item:nth-child(5n+4) { grid-column:span 3; }
.archive-item:nth-child(5n+3) { grid-column:span 5; }
.archive-image-wrap { aspect-ratio:4/3; overflow:hidden; position:relative; background:var(--media); }
.archive-item:nth-child(5n+2) .archive-image-wrap,.archive-item:nth-child(5n+4) .archive-image-wrap { aspect-ratio:3/4; }
.archive-image-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .3s ease; }
.archive-image-wrap:hover img { transform:scale(1.035); filter:grayscale(.3); }
.archive-caption { display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--line); margin-top:10px; padding-top:10px; }
.archive-caption h2 { margin:0; font-size:15px; line-height:1.15; font-weight:520; }.archive-caption span { font:500 9px/1 var(--font-mono); }
@keyframes archive-in { from { opacity:0; transform:translateY(12px) } }

.project-detail-head { padding-top:90px; padding-bottom:75px; display:grid; grid-template-columns:1fr 2fr; gap:42px; }
.project-detail-head>.text-link { align-self:start; justify-self:start; }
.project-detail-head>div { grid-column:2; }.project-detail-head>div>span { font:500 10px/1 var(--font-mono); text-transform:uppercase; }
.project-detail-head h1 { font-size:clamp(64px,9vw,138px); line-height:.85; letter-spacing:-.06em; font-weight:440; margin:24px 0 0; }
.project-detail-head>p { grid-column:2; margin:10px 0 0; color:var(--muted); font:500 10px/1.4 var(--font-mono); text-transform:uppercase; }
.project-gallery { padding-bottom:160px; display:grid; grid-template-columns:repeat(12,1fr); gap:70px 24px; }
.project-gallery figure { margin:0; }.gallery-wide { grid-column:1/13; }.gallery-narrow { grid-column:4/11; }
.project-gallery img { width:100%; max-height:92svh; object-fit:contain; background:var(--gallery); }
.project-gallery figcaption { margin-top:9px; text-align:right; font:500 9px/1 var(--font-mono); color:var(--muted); }
.next-project { padding-top:45px; padding-bottom:45px; border-top:1px solid var(--line); }
.next-project a { display:flex; justify-content:space-between; align-items:end; }.next-project span { font:500 10px/1 var(--font-mono); text-transform:uppercase; }.next-project strong { font-size:clamp(30px,5vw,72px); font-weight:450; letter-spacing:-.05em; }

.about-story { padding-top:140px; padding-bottom:160px; display:grid; grid-template-columns:1fr 2fr; gap:5vw; }
.about-year>span { font-size:clamp(60px,8vw,128px); font-weight:420; letter-spacing:-.06em; line-height:.8; }.about-year p { font:500 10px/1 var(--font-mono); margin:25px 0 0; text-transform:uppercase; }
.about-body p { font-size:clamp(27px,3.2vw,48px); line-height:1.15; letter-spacing:-.04em; margin:0 0 45px; }.about-body p:last-child { max-width:720px; color:var(--secondary); font-size:clamp(19px,2vw,30px); }
.team-section { padding-top:70px; padding-bottom:150px; border-top:1px solid var(--line); }.team-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:75px 24px; }.team-member { grid-column:span 4; }.team-member:nth-child(4),.team-member:nth-child(5) { grid-column:span 3; }
.team-image { aspect-ratio:4/5; background:#e3e2de; position:relative; overflow:hidden; }.team-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); mix-blend-mode:multiply; }.team-image>span { position:absolute; top:12px; right:12px; font:500 9px/1 var(--font-mono); }
.team-member h3 { font-size:19px; font-weight:500; margin:16px 0 5px; }.team-member p,.team-member a { font:500 10px/1.5 var(--font-mono); color:var(--muted); margin:0; }.team-member a:hover { color:var(--ink); }
.reference-strip { border-top:1px solid var(--line); padding-top:40px; padding-bottom:40px; display:flex; align-items:center; justify-content:space-between; }.reference-strip p { margin:0; font-size:20px; }.reference-strip a { font:500 11px/1 var(--font-mono); text-transform:uppercase; }

.contact-grid { padding-top:95px; padding-bottom:170px; display:grid; grid-template-columns:1fr 2fr; gap:5vw; }
.contact-details { display:flex; flex-direction:column; gap:48px; }.contact-details span { display:block; text-transform:uppercase; font:500 10px/1 var(--font-mono); color:var(--muted); margin-bottom:12px; }.contact-details p { font-size:18px; line-height:1.5; margin:0; }.map-link { align-self:flex-start; border-bottom:1px solid currentColor; padding-bottom:6px; font:500 10px/1 var(--font-mono); text-transform:uppercase; }
.contact-form { display:flex; flex-direction:column; }.contact-form label { display:grid; grid-template-columns:1fr 2.5fr; align-items:start; border-top:1px solid var(--line); padding:20px 0 24px; }.contact-form label>span { text-transform:uppercase; font:500 10px/1 var(--font-mono); }.contact-form input,.contact-form textarea { border:0; outline:none; padding:0; resize:vertical; background:transparent; color:var(--ink); font-size:24px; line-height:1.25; }.contact-form button { align-self:flex-end; margin-top:35px; border:1px solid var(--ink); color:var(--paper); background:var(--ink); padding:18px 24px; min-width:220px; display:flex; justify-content:space-between; cursor:pointer; text-transform:uppercase; font:500 11px/1 var(--font-mono); transition:color .25s ease,background .25s ease; }.contact-form button:hover { color:var(--ink); background:transparent; }

.footer { padding-top:95px; padding-bottom:26px; background:var(--footer); border-top:1px solid var(--line); }
.footer-top { padding-bottom:110px; }.footer-top p { margin:0 0 28px; font-size:clamp(30px,4.5vw,68px); letter-spacing:-.05em; }.footer-top>a { font-size:clamp(30px,4.5vw,68px); letter-spacing:-.05em; border-bottom:2px solid; }
.footer-arrow { display:inline-block; margin-left:.08em; font-family:Arial,"Helvetica Neue",sans-serif; font-variant-emoji:text; font-weight:400; line-height:1; vertical-align:.02em; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:28px; border-top:1px solid var(--line); padding:24px 0 60px; }.footer-grid>img { width:190px; }.footer-grid span { display:block; text-transform:uppercase; font:500 9px/1 var(--font-mono); color:var(--muted); margin-bottom:15px; }.footer-grid p { margin:0; font-size:13px; line-height:1.7; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:15px; text-transform:uppercase; font:500 9px/1 var(--font-mono); color:var(--muted); }

@media (max-width: 800px) {
  .site-header { height:72px; grid-template-columns:1fr auto auto; gap:18px; }.brand { width:116px; }.desktop-nav { display:none; }.header-tools { justify-self:auto; gap:13px; }.theme-switch { gap:6px; }.theme-switch button { width:11px;height:11px; }
  .menu-toggle { display:flex; position:relative; z-index:52; width:30px; height:30px; border:0; padding:7px 0; background:transparent; flex-direction:column; justify-content:center; gap:6px; color:inherit; }.menu-toggle>span:not(.sr-only) { display:block; width:28px; height:1px; background:currentColor; transition:transform .3s ease; }.menu-open .menu-toggle>span:first-child { transform:translateY(3.5px) rotate(45deg); }.menu-open .menu-toggle>span:nth-child(2) { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { display:flex; position:fixed; inset:0; background:#111; color:#fff; padding:120px 20px 30px; flex-direction:column; justify-content:space-between; transform:translateY(-100%); transition:transform .55s cubic-bezier(.7,0,.2,1); }.menu-open .mobile-menu { transform:none; }.menu-open { color:#fff; position:fixed; }.menu-open .brand img { filter:invert(1); }
  .mobile-menu nav { display:flex; flex-direction:column; }.mobile-menu nav a { padding:16px 0; border-bottom:1px solid #444; font-size:clamp(34px,11vw,56px); font-weight:440; letter-spacing:-.05em; }.mobile-menu-bottom { display:flex; justify-content:space-between; gap:20px; font:500 9px/1.4 var(--font-mono); }
  .hero-copy { bottom:22px; }.hero-copy h1 { font-size:25vw; margin-bottom:28px; }.hero-copy>p { margin-bottom:16px; max-width:220px; }.hero-index { top:92px; }.scroll-cue { display:none; }.hero-meta span:last-child { display:none; }
  .manifesto { padding-top:90px; padding-bottom:110px; grid-template-columns:1fr; }.manifesto-kicker { margin-bottom:50px; }.manifesto-copy h2 { font-size:12vw; margin-bottom:38px; }
  .section-heading { grid-template-columns:auto 1fr auto; gap:24px; margin-bottom:55px; }
  .selected-projects { padding-bottom:90px; }.project-pair { grid-template-columns:1fr; margin-bottom:90px; gap:62px; }.project-pair .feature { grid-column:auto; margin-top:0; }.pair-1 .feature-1 .feature-image-wrap,.pair-2 .feature-2 .feature-image-wrap,.pair-3 .feature-1 .feature-image-wrap,.pair-1 .feature-2 .feature-image-wrap,.pair-2 .feature-1 .feature-image-wrap,.pair-3 .feature-2 .feature-image-wrap { aspect-ratio:4/5; }.project-pair .feature:nth-child(even) { margin-left:14vw; }.feature-arrow,.archive-image-wrap>span { transform:scale(1); width:34px; height:34px; }.feature-caption { grid-template-columns:1fr auto; }.feature-caption span:nth-of-type(1) { display:none; }
  .studio-cta { min-height:70svh; }.studio-cta-grid { grid-template-columns:1fr; }.cta-number { margin-bottom:60px; }.cta-copy h2 { font-size:13vw; }
  .page-intro { min-height:54svh; padding-top:80px; grid-template-columns:1fr; }.page-intro>span,.page-intro h1,.page-intro>p { grid-column:1; }.page-intro h1 { font-size:21vw; line-height:.8; }.page-intro>p { font-size:20px; margin-top:8px; }
  .project-filters { overflow-x:auto; flex-wrap:nowrap; margin-left:-20px; margin-right:-20px; padding:0 20px 12px; }.project-filters button { flex:0 0 auto; }
  .archive-grid { grid-template-columns:1fr; gap:65px; }.archive-item,.archive-item:nth-child(5n+2),.archive-item:nth-child(5n+3),.archive-item:nth-child(5n+4) { grid-column:auto; }.archive-image-wrap,.archive-item:nth-child(5n+2) .archive-image-wrap,.archive-item:nth-child(5n+4) .archive-image-wrap { aspect-ratio:4/5; }
  .project-detail-head { grid-template-columns:1fr; padding-top:55px; }.project-detail-head>div,.project-detail-head>p { grid-column:1; }.project-detail-head h1 { font-size:18vw; }.project-gallery { grid-template-columns:1fr; padding-bottom:90px; gap:45px; }.gallery-wide,.gallery-narrow { grid-column:1; }.next-project a { align-items:start; flex-direction:column; gap:18px; }
  .about-story { padding-top:85px; padding-bottom:100px; grid-template-columns:1fr; gap:70px; }.about-body p { font-size:8vw; }.team-grid { grid-template-columns:1fr 1fr; }.team-member,.team-member:nth-child(4),.team-member:nth-child(5) { grid-column:auto; }.team-member:nth-child(even) { margin-top:60px; }.reference-strip { align-items:flex-start; flex-direction:column; gap:25px; }
  .contact-grid { grid-template-columns:1fr; gap:95px; }.contact-form label { grid-template-columns:1fr; gap:18px; }.contact-form input,.contact-form textarea { font-size:21px; }.contact-form button { align-self:stretch; }
  .footer-top { padding-bottom:80px; }.footer-top>a { font-size:8vw; }.footer-grid { grid-template-columns:1fr 1fr; gap:55px 24px; }.footer-grid>img { grid-column:1/-1; width:150px; }.footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.hero-media,.hero-copy,.scroll-cue span{animation:none}.reveal{opacity:1;transform:none;transition:none}.feature-image,.archive-image-wrap img{transition:none} }

.hero-slides,.hero-slide { position:absolute; inset:0; }
.hero-slide { opacity:0; pointer-events:none; transition:opacity 1.1s cubic-bezier(.25,.1,.25,1); }
.hero-slide.is-active { opacity:1; pointer-events:auto; }
.has-slider .hero-media { animation:none; transform:scale(1.025); transition:transform 6s linear; }
.has-slider .hero-slide.is-active .hero-media { transform:scale(1); }
.has-slider .hero-shade,.has-slider .hero-index,.has-slider .hero-copy,.has-slider .scroll-cue,.hero-slider-controls { z-index:3; }
.has-slider .hero-shade { pointer-events:none; }
.hero-slider-controls { position:absolute; top:145px; right:clamp(20px,3.4vw,58px); display:flex; gap:7px; }
.hero-slider-controls button { width:34px; height:34px; border:1px solid rgba(255,255,255,.6); border-radius:50%; background:rgba(0,0,0,.1); color:#fff; cursor:pointer; line-height:1; transition:background .25s ease,color .25s ease; }
.hero-slider-controls button:hover,.hero-slider-controls button:focus-visible { background:#fff; color:#111; outline:none; }
@media (max-width:800px) { .hero-slider-controls { top:116px; } .hero-slider-controls button { width:32px;height:32px; } }
@media (prefers-reduced-motion:reduce) { .hero-slide,.has-slider .hero-media { transition:none; } }

.hero-copy .hero-logo-title { width:min(44vw,760px); margin:0 0 38px; line-height:1; letter-spacing:0; }
.hero-logo-title img { display:block; width:100%; height:auto; filter:brightness(0) invert(1); }
@media (max-width:800px) { .hero-copy .hero-logo-title { width:80vw; margin-bottom:28px; } }
