:root{
  --paper:#fff;--ink:#0B1621;--ink-soft:rgba(11,22,33,.66);--ink-muted:rgba(11,22,33,.42);
  --line:rgba(11,22,33,.12);--line-strong:rgba(11,22,33,.24);--accent:#6578ff;--night:#07111b;
  --sans:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Libre Caslon Display",Georgia,serif;--ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(22px,5vw,96px);--section:clamp(96px,11vw,188px)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;padding:0}img{display:block;max-width:100%}.skip-link{position:fixed;top:-80px;left:16px;z-index:9999;background:var(--ink);color:#fff;padding:12px 16px}.skip-link:focus{top:16px}.section-shell{padding:var(--section) var(--pad)}
.faros-progress{position:fixed;left:0;right:0;top:0;height:1px;z-index:2000;pointer-events:none}.faros-progress i{display:block;width:0;height:100%;background:var(--accent)}
.site-header{position:absolute;z-index:1000;top:0;left:0;right:0;height:118px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:36px}.brand{width:clamp(220px,19vw,360px);display:block}.brand img,.brand .custom-logo{width:100%;height:auto;object-fit:contain}.site-nav__list{display:flex;list-style:none;gap:clamp(22px,2.5vw,46px);padding:0;margin:0;align-items:center}.site-nav__list a{font-size:11px;font-weight:500;position:relative}.site-nav__list a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.site-nav__list a:hover:after{transform:scaleX(1);transform-origin:left}.header-cta{justify-self:end;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:500;padding:11px 0 9px;border-bottom:1px solid var(--ink)}.header-cta b{font-weight:400;transition:transform .45s var(--ease)}.header-cta:hover b{transform:translate(4px,-4px)}.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr);grid-template-rows:auto 1fr auto;padding:146px var(--pad) 28px;background:#fff;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(11,22,33,.024) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,22,33,.024) 1px,transparent 1px);background-size:12.5vw 100%,100% 12.5vw;mask-image:linear-gradient(to bottom,transparent 5%,#000 18%,#000 75%,transparent 100%)}.hero-topline{position:relative;z-index:2;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:8px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--ink-muted)}.hero-topline span:nth-child(2){text-align:center}.hero-topline span:last-child{text-align:right}.availability i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(101,120,255,.08);margin-right:10px}
.hero-copy{position:relative;z-index:2;align-self:center;padding-right:4vw}.micro-label{margin:0 0 28px;color:var(--ink-muted);font-size:8px;font-weight:600;letter-spacing:.25em;text-transform:uppercase}.hero-statement{display:block;text-align:left;cursor:pointer;max-width:100%}.hero-serif{display:block;font-family:var(--serif);font-size:clamp(76px,7.55vw,145px);font-weight:400;line-height:.86;letter-spacing:-.048em;white-space:nowrap}.hero-dynamic{position:relative;width:max-content;max-width:100%}.hero-dynamic:after{content:"";position:absolute;left:0;right:0;bottom:.025em;height:1px;background:linear-gradient(90deg,var(--ink),var(--accent),transparent);transform:scaleX(.12);transform-origin:left;opacity:.68;transition:transform .82s var(--ease),opacity .3s}.hero-statement:hover .hero-dynamic:after,.hero-statement.is-active .hero-dynamic:after{transform:scaleX(1);opacity:1}.hero-hint{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:7px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.hero-hint:before{content:"";width:40px;height:1px;background:var(--line-strong)}.hero-lead{max-width:47ch;margin:34px 0 0;color:var(--ink-soft);font-size:clamp(14px,1vw,17px);line-height:1.68}.hero-services{display:flex;flex-wrap:wrap;align-items:center;gap:10px 15px;margin-top:28px;font-size:8px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.hero-services i{width:1px;height:13px;background:var(--line-strong);transform:rotate(17deg)}
.hero-signal{position:relative;z-index:2;align-self:center;justify-self:end;width:min(100%,760px);cursor:crosshair;user-select:none;touch-action:manipulation;transition:transform .24s linear}.hero-signal svg{display:block;width:100%;height:auto;overflow:visible}.mark-line{fill:none;stroke:var(--ink);stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;transition:transform 1s var(--ease),stroke .3s}.mark-main{stroke-width:4}.mark-beam{stroke-width:1.5}.guide{fill:none;stroke:rgba(11,22,33,.08);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.7}.guide.dash{stroke-dasharray:2 5}.service-text{fill:var(--ink);font-family:var(--sans);font-size:7px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;opacity:0;transition:opacity .35s,transform .8s var(--ease);transform-box:fill-box;transform-origin:center}.service-rule{stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transform:scaleX(.2);transition:opacity .35s,transform .8s var(--ease);transform-box:fill-box;transform-origin:center}.hero-signal:hover .sig-roof,.hero-signal.is-open .sig-roof{transform:translateY(-7px)}.hero-signal:hover .sig-cap,.hero-signal.is-open .sig-cap{transform:scaleX(1.16)}.hero-signal:hover .sig-left-leg,.hero-signal.is-open .sig-left-leg{transform:translateX(-4px)}.hero-signal:hover .sig-right-leg,.hero-signal.is-open .sig-right-leg{transform:translateX(4px)}.hero-signal:hover .sig-core,.hero-signal.is-open .sig-core{transform:translateY(6px)}.hero-signal:hover .sig-beam-left,.hero-signal.is-open .sig-beam-left{transform:translateX(-16px) scaleX(1.08);stroke:var(--accent)}.hero-signal:hover .sig-beam-right,.hero-signal.is-open .sig-beam-right{transform:translateX(16px) scaleX(1.08);stroke:var(--accent)}.hero-signal:hover .service-text,.hero-signal.is-open .service-text,.hero-signal:hover .service-rule,.hero-signal.is-open .service-rule{opacity:1}.hero-signal:hover .service-rule,.hero-signal.is-open .service-rule{transform:scaleX(1)}.service-web{transform:translateX(-6px)}.service-commerce{transform:translateX(6px)}.service-performance,.service-systems{transform:translateY(5px)}.hero-signal:hover .service-web,.hero-signal.is-open .service-web{transform:translateX(-14px)}.hero-signal:hover .service-commerce,.hero-signal.is-open .service-commerce{transform:translateX(14px)}.hero-signal:hover .service-performance,.hero-signal.is-open .service-performance,.hero-signal:hover .service-systems,.hero-signal.is-open .service-systems{transform:translateY(12px)}.signal-note{display:block;margin-top:18px;text-align:center;color:var(--ink-muted);font-size:7px;font-weight:600;letter-spacing:.19em;text-transform:uppercase}
.hero-bottom{position:relative;z-index:2;grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:8px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.hero-bottom>a{font-size:10px;letter-spacing:0;text-transform:none;font-weight:500}.hero-bottom>div{display:flex;align-items:center;gap:16px;color:var(--ink-muted)}.hero-bottom i{width:26px;height:1px;background:var(--line-strong)}
.section-kicker{display:grid;grid-template-columns:52px auto;align-items:center;gap:14px;font-size:8px;font-weight:600;letter-spacing:.21em;text-transform:uppercase;color:var(--ink-muted)}.section-kicker p{margin:0}.section-kicker span{color:var(--ink)}.position{border-top:1px solid var(--line)}.position-grid{display:grid;grid-template-columns:minmax(160px,.28fr) 1fr;gap:clamp(42px,8vw,130px);margin-top:clamp(70px,8vw,130px)}.position-note{margin:0;font-size:11px;line-height:1.8;color:var(--ink-muted)}.display-statement{margin:0;max-width:1180px;font-family:var(--sans);font-size:clamp(54px,6.2vw,112px);line-height:.94;letter-spacing:-.062em;font-weight:400}.display-statement em{font-family:var(--serif);font-weight:400}.position-copy{margin-top:clamp(74px,8vw,120px);display:grid;grid-template-columns:minmax(240px,480px) minmax(160px,260px);justify-content:space-between;gap:48px;border-top:1px solid var(--line);padding-top:22px}.position-copy p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.65}.position-copy p:last-child{text-align:right;color:var(--ink);font-weight:500}
.work{border-top:1px solid var(--line)}.work-head{display:grid;grid-template-columns:.28fr 1fr auto;gap:36px;align-items:end;margin-bottom:clamp(76px,9vw,138px)}.work-head h2{margin:0;font-size:clamp(48px,5vw,88px);line-height:.96;letter-spacing:-.055em;font-weight:400}.work-head>a{font-size:10px;border-bottom:1px solid var(--ink);padding-bottom:8px}.work-list{display:flex;flex-direction:column;gap:clamp(92px,11vw,170px)}.work-item{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:clamp(30px,5vw,80px);align-items:stretch}.work-stage{position:relative;min-height:clamp(430px,53vw,780px);background:linear-gradient(180deg,#fff,#fbfcff);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;isolation:isolate}.work-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(11,22,33,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,22,33,.035) 1px,transparent 1px);background-size:14% 100%,100% 16%;opacity:.55}.work-stage:after{content:"";position:absolute;left:-20%;top:50%;width:140%;height:1px;background:linear-gradient(90deg,transparent,rgba(101,120,255,.7),transparent);transform:translateX(-60%);transition:transform 1.2s var(--ease);z-index:1}.work-stage:hover:after{transform:translateX(60%)}.work-stage__meta{position:absolute;z-index:3;left:22px;right:22px;top:20px;display:flex;justify-content:space-between;font-size:7px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--ink-muted)}.client-mark{position:relative;z-index:2;width:min(54%,500px);height:210px;display:grid;place-items:center;transition:transform .9s var(--ease)}.client-mark img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;filter:saturate(.88) contrast(1.04)}.client-mark--text span,.client-mark>span{font-size:clamp(34px,4.3vw,78px);font-weight:500;letter-spacing:.16em;text-align:center}.work-stage:hover .client-mark{transform:scale(1.025)}.work-stage__view{position:absolute;right:22px;bottom:20px;z-index:3;font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.5s var(--ease)}.work-stage:hover .work-stage__view{opacity:1;transform:none}.work-caption{border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column}.work-caption h3{margin:0;font-family:var(--serif);font-size:clamp(46px,4.7vw,84px);line-height:.95;font-weight:400;letter-spacing:-.042em}.work-caption>p{max-width:43ch;margin:28px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.7}.work-caption>div{margin-top:auto;padding-top:50px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:8px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted)}
.capabilities{border-top:1px solid var(--line)}.cap-grid{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(450px,.78fr) minmax(260px,.38fr);gap:clamp(38px,5vw,82px);margin-top:clamp(70px,8vw,120px);align-items:start}.cap-intro h2{margin:0;font-size:clamp(44px,4.4vw,78px);line-height:.98;letter-spacing:-.052em;font-weight:400}.cap-intro p{margin:36px 0 0;max-width:34ch;color:var(--ink-soft);font-size:13px;line-height:1.7}.cap-list{border-top:1px solid var(--ink)}.cap-row{width:100%;display:grid;grid-template-columns:45px 1fr auto;gap:18px;align-items:center;text-align:left;padding:26px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .45s var(--ease),color .35s}.cap-row span{font-size:8px;letter-spacing:.16em;color:var(--ink-muted)}.cap-row strong{font-size:clamp(26px,2.5vw,45px);font-weight:400;letter-spacing:-.035em}.cap-row em{font-style:normal;font-size:18px;transform:translate(-6px,6px);opacity:0;transition:.45s var(--ease)}.cap-row:hover,.cap-row.is-active{padding-left:12px}.cap-row:hover em,.cap-row.is-active em{opacity:1;transform:none}.cap-detail{position:sticky;top:34px;border-top:1px solid var(--ink);padding-top:18px;min-height:390px;display:flex;flex-direction:column}.cap-detail__top{display:flex;justify-content:space-between;gap:18px;font-size:7px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-muted)}.cap-detail h3{font-family:var(--serif);font-size:clamp(36px,3.5vw,62px);line-height:1;letter-spacing:-.04em;font-weight:400;margin:56px 0 22px}.cap-detail p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.7}.cap-detail__rule{height:1px;background:linear-gradient(90deg,var(--ink),var(--accent),transparent);margin:46px 0 18px;transform-origin:left}.cap-detail__tags{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:7px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-muted)}
.signal-break{position:relative;min-height:88svh;background:var(--night);color:#fff;padding:34px var(--pad);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;isolation:isolate}.signal-break:before{content:"";position:absolute;width:min(88vw,1200px);aspect-ratio:1;border:1px solid rgba(255,255,255,.055);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9vw rgba(255,255,255,.016),0 0 0 18vw rgba(255,255,255,.010);z-index:-1}.signal-break__beam{position:absolute;left:50%;top:50%;height:1px;width:66vw;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.28),transparent);transform-origin:left;animation:beamSweep 12s linear infinite;opacity:.82;z-index:-1}.signal-break__top,.signal-break__bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;color:rgba(255,255,255,.48);font-size:7px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.signal-break__center{align-self:center;text-align:center}.signal-break__center p{margin:0;color:rgba(255,255,255,.55);font-size:8px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.signal-break__center h2{margin:24px 0 0;font-size:clamp(66px,8.7vw,165px);line-height:.82;letter-spacing:-.065em;font-weight:400}.signal-break__center h2 em{font-family:var(--serif);font-style:normal;font-weight:400}.signal-break__bottom{justify-content:center}.signal-break__bottom i{width:38px;height:1px;background:rgba(255,255,255,.22)}
.process{border-top:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:.42fr 1fr;gap:clamp(60px,10vw,160px);margin-top:clamp(70px,8vw,120px)}.process-title h2{margin:0;font-size:clamp(48px,5vw,88px);line-height:.96;letter-spacing:-.055em;font-weight:400}.process-title p{margin:34px 0 0;max-width:36ch;color:var(--ink-soft);font-size:13px;line-height:1.7}.process-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}.process-list li{display:grid;grid-template-columns:52px .55fr 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.process-list span{font-size:8px;letter-spacing:.15em;color:var(--ink-muted)}.process-list h3{margin:0;font-family:var(--serif);font-size:clamp(30px,3vw,52px);font-weight:400;line-height:1}.process-list p{margin:4px 0 0;max-width:42ch;color:var(--ink-soft);font-size:13px;line-height:1.6}
.contact{border-top:1px solid var(--line)}.contact-kicker{display:flex;justify-content:space-between;gap:30px;font-size:8px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}.contact-title{margin:clamp(60px,7vw,104px) 0 clamp(80px,9vw,130px);font-size:clamp(78px,9vw,170px);line-height:.82;letter-spacing:-.067em;font-weight:400}.contact-title em{font-family:var(--serif);font-style:normal}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(60px,8vw,140px);border-top:1px solid var(--ink);padding-top:30px}.contact-copy{display:flex;flex-direction:column;justify-content:space-between;gap:80px}.contact-copy p{max-width:38ch;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.7}.contact-copy a{width:max-content;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:7px}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px}.project-form label{display:flex;flex-direction:column;gap:7px}.project-form label.full{grid-column:1/-1}.project-form label span{font-size:7px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-muted)}.project-form input,.project-form select,.project-form textarea{width:100%;border:0;border-bottom:1px solid var(--line-strong);background:transparent;border-radius:0;outline:none;padding:11px 0 14px;font-size:14px;resize:vertical}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--accent)}.hp{position:absolute!important;left:-10000px!important}.submit{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;padding:18px 20px;cursor:pointer;margin-top:6px}.submit b{font-weight:400;transition:transform .45s var(--ease)}.submit:hover b{transform:translate(4px,-4px)}.form-status{grid-column:1/-1;font-size:11px;color:var(--ink-soft);margin:0}
.site-footer{padding:42px var(--pad) 28px}.footer-rule{height:1px;background:var(--line)}.site-footer__main{padding:34px 0 48px;display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-logo{font-size:clamp(32px,4vw,68px);letter-spacing:.27em;font-weight:500}.footer-disciplines{display:flex;align-items:center;gap:16px;font-size:7px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.footer-disciplines i{width:28px;height:1px;background:var(--line-strong)}.site-footer__meta{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:30px;font-size:7px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.generic,.work-archive,.case,.error-page{padding-top:180px;min-height:70vh}.generic h1,.work-archive h1,.case h1,.error-page h1{font-family:var(--serif);font-size:clamp(72px,10vw,190px);line-height:.8;letter-spacing:-.055em;font-weight:400;margin:50px 0 90px}.generic article{border-top:1px solid var(--line);padding:26px 0}.prose{max-width:850px;font-size:17px;line-height:1.75}.case-head{padding-bottom:80px}.case-meta{display:grid;grid-template-columns:1fr .7fr auto;gap:36px;border-top:1px solid var(--ink);padding-top:22px}.case-meta p{margin:0;max-width:52ch;color:var(--ink-soft);line-height:1.6}.case-meta span,.case-meta a{font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.case-logo-stage{min-height:70svh;border:1px solid var(--line);display:grid;place-items:center;background:linear-gradient(180deg,#fff,#fbfcff)}.case-logo-stage img{max-width:46%;max-height:240px;width:auto;height:auto;object-fit:contain}.case-body{margin:100px auto}.error-page p{color:var(--ink-soft)}
@keyframes beamSweep{from{transform:rotate(204deg)}to{transform:rotate(564deg)}}
@media(max-width:1100px){.site-header{grid-template-columns:1fr auto}.site-nav,.header-cta{display:none}.menu-toggle{display:flex;justify-self:end;flex-direction:column;gap:7px;width:30px;cursor:pointer}.menu-toggle span{height:1px;background:var(--ink);width:100%;transition:.45s var(--ease)}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;inset:0;z-index:900;background:#fff;padding:140px var(--pad) 28px;flex-direction:column;justify-content:space-between;transform:translateY(-102%);transition:transform .75s var(--ease)}.mobile-menu.is-open{transform:none}.mobile-menu__nav{display:flex;flex-direction:column}.mobile-menu__nav a{display:grid;grid-template-columns:42px 1fr;align-items:baseline;border-bottom:1px solid var(--line);padding:14px 0;font-family:var(--serif);font-size:clamp(48px,9vw,82px);line-height:1}.mobile-menu__nav a span{font-family:var(--sans);font-size:8px;letter-spacing:.14em;color:var(--ink-muted)}.mobile-menu__foot{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:11vh 0 5vh}.hero-signal{justify-self:center;width:min(86vw,720px);margin:10px auto 70px}.hero-serif{font-size:clamp(68px,13vw,124px)}.position-grid,.work-head,.cap-grid,.process-grid,.contact-grid{grid-template-columns:1fr}.position-grid{gap:42px}.position-copy{grid-template-columns:1fr 220px}.work-head{align-items:start}.work-head>a{width:max-content}.work-item{grid-template-columns:1fr}.work-stage{min-height:62vw}.work-caption>div{margin-top:48px}.cap-grid{gap:60px}.cap-detail{position:relative;top:auto;min-height:0}.signal-break{min-height:760px}.process-grid{gap:72px}.contact-grid{gap:80px}.case-meta{grid-template-columns:1fr;gap:20px}}
@media(max-width:700px){:root{--pad:18px;--section:86px}.site-header{height:92px}.brand{width:215px}.hero{padding:114px 18px 20px}.hero-topline{grid-template-columns:1fr auto;font-size:6.5px}.hero-topline span:nth-child(2){display:none}.hero-topline span:last-child{white-space:nowrap}.hero-copy{padding:11vh 0 4vh}.micro-label{font-size:6.5px;margin-bottom:20px}.hero-serif{font-size:clamp(51px,15vw,78px);white-space:normal;line-height:.9}.hero-hint{font-size:6px}.hero-lead{font-size:13px;line-height:1.6}.hero-services{font-size:6px;gap:8px 9px}.hero-signal{width:100%;margin-bottom:44px}.service-text{font-size:5.8px}.signal-note{font-size:6px}.hero-bottom>div{display:none}.display-statement{font-size:clamp(45px,12vw,66px)}.position-copy{grid-template-columns:1fr;gap:24px}.position-copy p:last-child{text-align:left}.work-head h2{font-size:clamp(42px,11vw,60px)}.work-stage{min-height:82vw}.client-mark{width:68%;height:130px}.client-mark--text span,.client-mark>span{font-size:clamp(25px,8vw,44px)}.work-stage__view{opacity:1;transform:none}.work-caption h3{font-size:clamp(42px,12vw,64px)}.cap-intro h2,.process-title h2{font-size:clamp(42px,11vw,60px)}.cap-row{grid-template-columns:34px 1fr auto;padding:22px 0}.cap-row strong{font-size:27px}.signal-break{min-height:680px;padding:24px 18px}.signal-break__top span:last-child{display:none}.signal-break__center h2{font-size:clamp(61px,17vw,92px)}.signal-break__bottom{gap:7px;flex-wrap:wrap}.signal-break__bottom i{width:16px}.process-list li{grid-template-columns:34px 1fr;gap:18px}.process-list li p{grid-column:2}.contact-kicker span:last-child{display:none}.contact-title{font-size:clamp(68px,19vw,108px)}.project-form{grid-template-columns:1fr}.project-form label.full,.submit,.form-status{grid-column:1}.footer-disciplines{display:none}.site-footer__meta{flex-direction:column;gap:10px}.footer-logo{font-size:36px}.generic,.work-archive,.case,.error-page{padding-top:132px}.case-logo-stage{min-height:52vh}.case-logo-stage img{max-width:70%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* =========================================================
   FAROS BLACKLABEL 2.1 — SIGNATURE LAYER
   Higher restraint, stronger identity, sharper motion.
========================================================= */
::selection{background:var(--accent);color:#fff}
body{background:#fff}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:.17;background-image:radial-gradient(rgba(11,22,33,.09) .45px,transparent .45px);background-size:4px 4px;mix-blend-mode:multiply}
.site-header{position:fixed;height:138px;transition:height .7s var(--ease),background .45s ease,border-color .45s ease,backdrop-filter .45s ease;will-change:height;isolation:isolate}
.site-header:after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
body.is-scrolled .site-header{height:88px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.is-scrolled .site-header:after{transform:scaleX(1)}
.brand{width:clamp(300px,24vw,500px);transition:width .7s var(--ease),transform .7s var(--ease)}
body.is-scrolled .brand{width:clamp(235px,18vw,310px)}
.header-index{position:absolute;left:var(--pad);top:calc(100% - 6px);display:flex;align-items:center;gap:10px;color:var(--ink-muted);font-size:6.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:0;transform:translateY(-8px);transition:opacity .4s ease,transform .6s var(--ease)}
.header-index i{width:24px;height:1px;background:var(--line-strong)}
body.is-scrolled .header-index{opacity:1;transform:translateY(0)}
.site-nav__list a,.header-cta{font-size:10px;letter-spacing:.02em}
.header-cta{padding-bottom:10px}

.hero{padding-top:168px;min-height:100svh;background:radial-gradient(circle at 73% 43%,rgba(101,120,255,.035),transparent 20%),#fff}
.hero:after{content:"";position:absolute;right:-12vw;top:17vh;width:37vw;aspect-ratio:1;border:1px solid rgba(11,22,33,.05);border-radius:50%;box-shadow:0 0 0 7vw rgba(11,22,33,.018),0 0 0 14vw rgba(11,22,33,.012),0 0 0 21vw rgba(11,22,33,.008);pointer-events:none}
.hero-topline{padding-bottom:18px}
.hero-copy{padding-top:2vh}
.micro-label{position:relative;padding-left:56px}
.micro-label:before{content:"";position:absolute;left:0;top:50%;width:38px;height:1px;background:var(--accent)}
.hero-serif{font-size:clamp(82px,7.9vw,154px);letter-spacing:-.054em}
.hero-dynamic{color:var(--ink)}
.hero-lead{font-size:clamp(14px,.95vw,16px);max-width:45ch}
.hero-services{margin-top:31px}
.hero-signal{width:min(100%,790px)}
.hero-signal:before{content:"SIGNAL / 01";position:absolute;left:8%;top:9%;font-size:6px;font-weight:600;letter-spacing:.23em;color:var(--ink-muted)}
.hero-signal:after{content:"FAROS / DIGITAL STUDIO";position:absolute;right:6%;bottom:8%;font-size:6px;font-weight:600;letter-spacing:.21em;color:var(--ink-muted)}
.signal-coordinate{position:absolute;font-size:5.8px;font-weight:600;letter-spacing:.15em;color:var(--ink-muted);opacity:.7}
.signal-coordinate--nw{left:17%;bottom:13%}.signal-coordinate--se{right:17%;top:18%}
.hero-signal svg{filter:drop-shadow(0 22px 48px rgba(11,22,33,.035))}
.mark-line{transition-duration:1.1s}.mark-main{stroke-width:3.4}.mark-beam{stroke-width:1.2}
.hero-bottom{padding-top:16px}

.position{position:relative;overflow:hidden}
.position:after{content:"01";position:absolute;right:var(--pad);top:7%;font-family:var(--serif);font-size:clamp(120px,15vw,280px);line-height:1;color:rgba(11,22,33,.025);letter-spacing:-.08em;pointer-events:none}
.position-grid{position:relative;z-index:1}
.position-note{font-size:9px;letter-spacing:.08em;text-transform:uppercase;line-height:2.1}
.display-statement{max-width:1240px;font-size:clamp(58px,6.55vw,120px)}
.display-statement em{position:relative;white-space:nowrap}
.display-statement em:after{content:"";position:absolute;left:2%;right:-2%;bottom:.08em;height:1px;background:linear-gradient(90deg,var(--accent),rgba(101,120,255,.08));transform-origin:left;transform:scaleX(.25);transition:transform 1.1s var(--ease)}
.display-statement.in em:after{transform:scaleX(1)}

.standard-rail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px var(--pad) 34px;background:#fff;display:grid;grid-template-columns:.22fr 1fr;gap:clamp(36px,6vw,100px)}
.standard-rail__label{display:flex;align-items:flex-start;gap:14px;font-size:7px;font-weight:600;letter-spacing:.2em;color:var(--ink-muted);padding-top:8px}
.standard-rail__label i{display:block;width:34px;height:1px;background:var(--accent);margin-top:4px}
.standard-rail__items{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
.standard-rail__items>div{position:relative;min-height:128px;padding:8px 26px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.standard-rail__items>div:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.standard-rail__items>div:hover:before{transform:scaleX(1)}
.standard-rail__items b{position:absolute;left:25px;top:8px;font-size:7px;font-weight:600;letter-spacing:.16em;color:var(--ink-muted)}
.standard-rail__items span{font-family:var(--serif);font-size:clamp(20px,1.7vw,30px);line-height:1.05}
.standard-rail__items small{margin-top:9px;max-width:23ch;color:var(--ink-soft);font-size:9px;line-height:1.45}

.work{position:relative}
.work-head{grid-template-columns:.23fr 1fr auto}
.work-head h2{font-size:clamp(51px,5.25vw,94px)}
.work-item{grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);gap:clamp(36px,6vw,96px)}
.work-item:nth-child(even){grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.work-item:nth-child(even) .work-stage{order:2}.work-item:nth-child(even) .work-caption{order:1}
.work-stage{min-height:clamp(470px,50vw,760px);background:#fff;border-color:rgba(11,22,33,.13)}
.work-stage:after{content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 38%,rgba(101,120,255,.06) 48%,rgba(101,120,255,.13) 50%,rgba(101,120,255,.05) 52%,transparent 62%);transform:translateX(-55%) rotate(0.001deg);transition:transform 1.2s var(--ease);pointer-events:none}
.work-stage:hover:after{transform:translateX(55%) rotate(0.001deg)}
.work-stage__meta{top:22px;left:22px;right:22px}
.work-stage__view{right:22px;bottom:20px}
.client-mark{width:min(58%,520px);height:180px;transition:transform .9s var(--ease),filter .9s var(--ease)}
.work-stage:hover .client-mark{transform:scale(1.035);filter:drop-shadow(0 14px 24px rgba(11,22,33,.045))}
.work-stage:before{content:"";position:absolute;left:50%;top:50%;width:32%;aspect-ratio:1;border:1px solid rgba(11,22,33,.045);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 8vw rgba(11,22,33,.012),0 0 0 16vw rgba(11,22,33,.007);pointer-events:none}
.work-caption{align-self:end;padding-bottom:4px}
.work-caption h3{font-size:clamp(44px,4.4vw,78px);letter-spacing:-.055em}
.work-caption p{max-width:34ch;font-size:13px;line-height:1.68}
.work-caption>div{border-top:1px solid var(--line);padding-top:14px}

.capabilities{position:relative;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.capabilities:after{content:"03";position:absolute;left:var(--pad);bottom:3%;font-family:var(--serif);font-size:clamp(140px,16vw,300px);color:rgba(11,22,33,.022);letter-spacing:-.08em;pointer-events:none}
.cap-grid{position:relative;z-index:1}
.cap-row{transition:padding-left .55s var(--ease),color .3s ease}
.cap-row:hover,.cap-row.is-active{padding-left:14px}
.cap-row.is-active strong{color:var(--accent)}
.cap-row em{transition:transform .5s var(--ease)}.cap-row:hover em,.cap-row.is-active em{transform:translate(4px,-4px)}
.cap-detail{box-shadow:0 30px 70px rgba(11,22,33,.035);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.cap-detail:before{content:"";position:absolute;inset:22px;border:1px solid rgba(11,22,33,.05);pointer-events:none}
.cap-detail:after{content:"";position:absolute;right:24px;bottom:24px;width:74px;height:74px;border:1px solid rgba(101,120,255,.22);border-radius:50%;box-shadow:0 0 0 18px rgba(101,120,255,.035),0 0 0 36px rgba(101,120,255,.018);pointer-events:none}

.signal-break{overflow:hidden}
.signal-break__word{position:absolute;left:50%;top:50%;transform:translate(-50%,-49%);font-size:clamp(180px,30vw,620px);font-weight:500;letter-spacing:.16em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);z-index:-1;pointer-events:none}
.signal-break__beam{width:72vw;filter:drop-shadow(0 0 16px rgba(101,120,255,.35))}
.signal-break__center h2{font-size:clamp(72px,9vw,170px)}
.signal-break__center h2 em{color:#fff}.signal-break__center h2 em:after{content:"";display:block;width:44%;height:1px;background:linear-gradient(90deg,var(--accent),transparent);margin:22px auto 0}

.process-list li{position:relative;transition:padding-left .55s var(--ease)}
.process-list li:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}
.process-list li:hover{padding-left:14px}.process-list li:hover:after{transform:scaleX(1)}
.process-list h3{transition:color .3s}.process-list li:hover h3{color:var(--accent)}

.contact{position:relative;overflow:hidden}
.contact:after{content:"FAROS";position:absolute;right:-2vw;bottom:-4vw;font-size:clamp(120px,20vw,360px);font-weight:500;letter-spacing:.16em;color:rgba(11,22,33,.018);pointer-events:none;z-index:0}
.contact>*{position:relative;z-index:1}
.contact-title{font-size:clamp(84px,9.5vw,178px)}
.contact-copy a,.work-head>a{position:relative}.contact-copy a:after,.work-head>a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}.contact-copy a:hover:after,.work-head>a:hover:after{transform:scaleX(1);transform-origin:left}
.submit{position:relative;overflow:hidden;background:var(--ink);transition:transform .45s var(--ease)}
.submit:before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-102%);transition:transform .6s var(--ease)}
.submit:hover:before{transform:translateX(0)}.submit:hover{transform:translateY(-2px)}.submit>*{position:relative;z-index:1}

.site-footer{padding-top:54px;padding-bottom:34px;background:#fff}
.site-footer__main{padding:46px 0 58px;align-items:flex-end}
.footer-logo{display:block;width:clamp(300px,28vw,520px);line-height:0}
.footer-logo img{display:block;width:100%;height:auto}
.footer-disciplines{padding-bottom:7px}
.site-footer__meta{padding-top:20px}

.faros-cursor{position:fixed;left:0;top:0;width:8px;height:8px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);opacity:0;transition:width .35s var(--ease),height .35s var(--ease),opacity .2s ease,background .25s ease;mix-blend-mode:multiply}
.faros-cursor.is-visible{opacity:.8}.faros-cursor.is-hover{width:34px;height:34px;background:rgba(101,120,255,.16);border:1px solid rgba(101,120,255,.45)}

@media(max-width:1100px){
  .site-header{height:112px}.brand{width:clamp(265px,32vw,390px)}body.is-scrolled .brand{width:250px}
  .header-index{display:none}.hero{padding-top:136px}.standard-rail{grid-template-columns:1fr}.standard-rail__items{grid-template-columns:1fr 1fr}.standard-rail__items>div:nth-child(2){border-right:0}.standard-rail__items>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .work-item,.work-item:nth-child(even){grid-template-columns:1fr}.work-item:nth-child(even) .work-stage,.work-item:nth-child(even) .work-caption{order:initial}.faros-cursor{display:none}
}
@media(max-width:700px){
  body:before{display:none}.site-header{height:96px}.brand{width:255px}body.is-scrolled .site-header{height:76px}body.is-scrolled .brand{width:215px}.hero{padding-top:118px}.hero:after{display:none}.hero-serif{font-size:clamp(54px,15.7vw,82px)}.hero-signal:before,.hero-signal:after,.signal-coordinate{display:none}
  .standard-rail{padding:24px 18px 28px}.standard-rail__items{grid-template-columns:1fr;border-left:0}.standard-rail__items>div{min-height:108px;border-right:0;border-bottom:1px solid var(--line);padding-left:0;padding-right:0}.standard-rail__items b{left:0}.standard-rail__items>div:last-child{border-bottom:0}.standard-rail__items span{font-size:25px}.standard-rail__items small{font-size:9px}
  .work:before{display:none}.work-stage{min-height:88vw}.client-mark{width:70%;height:130px}.work-caption h3{font-size:clamp(43px,12vw,64px)}
  .signal-break__word{font-size:48vw}.footer-logo{width:min(78vw,360px)}.site-footer__main{align-items:flex-start;padding:34px 0 42px}
}

/* =========================================================
   2.2 — SENIOR EDITION
   Less theatre. More authority, precision and commercial weight.
========================================================= */

/* Header: large brand, clean top-left, safe under the WP admin bar. */
.site-header{
  position:fixed;
  height:136px;
  grid-template-columns:minmax(330px,1fr) auto auto;
  gap:clamp(28px,3.5vw,64px);
  padding-top:6px;
  transition:height .7s var(--ease),background .45s ease,box-shadow .45s ease,padding .45s ease;
}
.brand{width:clamp(305px,22vw,440px);max-width:100%;transition:width .7s var(--ease)}
.brand img,.brand .custom-logo{max-height:96px;width:100%;object-fit:contain;object-position:left center}
.header-index{display:none!important}
body.admin-bar .site-header{top:32px}
body.is-scrolled .site-header{height:92px;padding-top:0;background:rgba(255,255,255,.92);box-shadow:0 1px 0 rgba(11,22,33,.08)}
body.is-scrolled .brand{width:clamp(260px,18vw,340px)}
body.is-scrolled .brand img,body.is-scrolled .brand .custom-logo{max-height:72px}
.site-nav__list a,.header-cta{font-size:10px}

/* Hero keeps the coming-soon DNA, but gains more authority. */
.hero{padding-top:168px;grid-template-columns:minmax(0,1.07fr) minmax(430px,.93fr)}
.hero-topline{padding-bottom:17px}
.hero-copy{padding-right:5vw}
.hero-serif{font-size:clamp(78px,7.8vw,150px);line-height:.855;letter-spacing:-.052em}
.hero-lead{max-width:52ch;font-size:clamp(14px,.95vw,16px)}
.hero-signal{width:min(100%,700px)}

/* Point of view: editorial, commercial, not slogan-heavy. */
.position{padding-bottom:clamp(110px,9vw,150px)}
.position-grid{grid-template-columns:minmax(180px,.25fr) 1fr;gap:clamp(56px,8vw,140px)}
.position-note{font-size:10px;line-height:2.05;letter-spacing:.01em}
.display-statement{max-width:1260px;font-size:clamp(58px,6.25vw,116px);line-height:.945;letter-spacing:-.064em}
.position-copy{max-width:1080px;margin-left:auto}

/* The standard becomes a quiet proof rail, not four cards. */
.standard-rail{padding-top:34px;padding-bottom:38px;background:#fff;grid-template-columns:.2fr 1fr}
.standard-rail__items{border-left:0;gap:0}
.standard-rail__items>div{min-height:144px;border-right:0;border-left:1px solid var(--line);padding:10px 28px 10px}
.standard-rail__items>div:last-child{border-right:1px solid var(--line)}
.standard-rail__items>div:before{height:1px}
.standard-rail__items b{left:28px;top:8px}
.standard-rail__items span{font-size:clamp(20px,1.55vw,28px);line-height:1.08}
.standard-rail__items small{max-width:27ch;line-height:1.55}

/* Work: stronger type hierarchy; let logos breathe. */
.work-head{margin-bottom:clamp(70px,8vw,120px)}
.work-head h2{max-width:1000px;font-size:clamp(49px,4.9vw,88px);line-height:.98}
.work-stage{background:#fff;min-height:clamp(460px,46vw,710px)}
.work-stage:before{opacity:.72}
.client-mark{width:min(52%,480px);height:160px}
.work-caption h3{font-size:clamp(42px,4vw,72px)}
.work-caption p{max-width:40ch}

/* Capabilities: remove the template-card feeling. */
.capabilities{background:#fff;padding-bottom:clamp(100px,9vw,150px)}
.capabilities:after{opacity:.55}
.cap-grid{grid-template-columns:minmax(250px,.34fr) minmax(480px,.78fr) minmax(300px,.40fr);gap:clamp(48px,5.5vw,92px);margin-top:clamp(62px,6.5vw,96px);align-items:start}
.cap-intro h2{font-size:clamp(45px,4.25vw,74px);line-height:.99}
.cap-intro p{max-width:36ch;font-size:12.5px}
.cap-row{padding:28px 0}
.cap-row strong{font-size:clamp(27px,2.35vw,42px)}
.cap-detail{
  position:sticky;top:132px;min-height:0;
  box-shadow:none!important;background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-top:1px solid var(--ink);padding:18px 0 0;
}
.cap-detail:before,.cap-detail:after{display:none!important}
.cap-detail__signal{display:flex;align-items:center;gap:10px;margin-top:42px;font-size:6.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted)}
.cap-detail__signal i{display:block;width:34px;height:1px;background:var(--accent);position:relative}
.cap-detail__signal i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);right:0;top:50%;transform:translate(50%,-50%);box-shadow:0 0 0 5px rgba(101,120,255,.08)}
.cap-detail h3{font-family:var(--serif);font-size:clamp(38px,3.3vw,58px);line-height:1.02;margin:34px 0 20px;letter-spacing:-.045em}
.cap-detail p{max-width:34ch;font-size:12.5px;line-height:1.75}
.cap-detail__rule{margin:38px 0 17px}
.cap-detail__tags{line-height:1.8}

/* Dark signature section: one decisive thought. */
.signal-break{min-height:82svh}
.signal-break__center p{font-size:7px}
.signal-break__center h2{font-size:clamp(74px,8.5vw,160px);line-height:.84}
.signal-break__center h2 em{color:#fff}
.signal-break__center h2 em:after{width:36%}

/* Process: use senior language and slightly tighter rhythm. */
.process{padding-bottom:clamp(110px,9vw,150px)}
.process-grid{grid-template-columns:.38fr 1fr;gap:clamp(72px,9vw,150px)}
.process-title h2{font-size:clamp(48px,4.7vw,84px)}
.process-title p{max-width:39ch}
.process-list li{grid-template-columns:48px .46fr 1fr;padding:28px 0}
.process-list h3{font-size:clamp(30px,2.8vw,48px)}

/* Contact: composed, not oversized. Second line is deliberately offset. */
.contact{padding-top:clamp(110px,9vw,150px);padding-bottom:clamp(100px,8vw,140px)}
.contact:after{font-size:clamp(110px,17vw,300px);opacity:.65}
.contact-title{margin:clamp(56px,6vw,88px) 0 clamp(72px,7vw,106px);font-size:clamp(72px,7.7vw,142px);line-height:.88;letter-spacing:-.065em;max-width:1320px}
.contact-title em{display:block;margin-left:11vw;width:max-content;max-width:calc(100% - 11vw)}
.contact-grid{grid-template-columns:.62fr 1.38fr;gap:clamp(70px,8vw,150px)}
.contact-copy p{max-width:40ch;font-size:13px}
.project-form{gap:26px 34px}
.submit{padding:19px 22px}

/* Footer: same FAROS + AGENCY lockup, deliberately substantial. */
.site-footer{padding-top:44px}
.footer-logo{width:clamp(330px,31vw,560px)}
.site-footer__main{padding:44px 0 62px}

@media(max-width:1100px){
  .site-header{height:118px;grid-template-columns:1fr auto}.brand{width:clamp(300px,35vw,410px)}
  body.admin-bar .site-header{top:32px}.hero{padding-top:150px}
  .cap-grid{grid-template-columns:1fr;gap:54px}.cap-detail{position:relative;top:auto;max-width:700px}.cap-detail__signal{margin-top:28px}
  .standard-rail__items{grid-template-columns:1fr 1fr}.standard-rail__items>div:nth-child(2){border-right:1px solid var(--line)}
  .contact-title em{margin-left:7vw;max-width:calc(100% - 7vw)}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:700px){
  .site-header{height:94px;padding-top:0}.brand{width:min(72vw,300px)}body.is-scrolled .brand{width:min(62vw,245px)}
  .hero{padding-top:118px}.hero-serif{font-size:clamp(52px,15.2vw,80px)}
  .standard-rail__items{grid-template-columns:1fr}.standard-rail__items>div,.standard-rail__items>div:nth-child(2),.standard-rail__items>div:last-child{border-left:0;border-right:0;border-bottom:1px solid var(--line);padding-left:0;padding-right:0}.standard-rail__items b{left:0}
  .work-stage{min-height:84vw}.client-mark{width:68%;height:120px}
  .cap-intro h2{font-size:clamp(42px,11.5vw,60px)}.cap-row strong{font-size:26px}.cap-detail h3{font-size:clamp(38px,11vw,54px)}
  .process-grid{gap:58px}.process-list li{grid-template-columns:34px 1fr}.process-list li p{grid-column:2}
  .contact-title{font-size:clamp(61px,17.5vw,92px);line-height:.9}.contact-title em{margin-left:0;max-width:100%;width:auto}
  .contact-grid{gap:62px}.footer-logo{width:min(82vw,380px)}
}

/* =========================================================
   FAROS BLACKLABEL 2.3 — DIRECTOR'S CUT
   Less decoration. More judgement. More corporate weight.
========================================================= */
.standard-rail__items>div:before,.work-stage:before,.capabilities:after,.position:after{display:none}
.standard-rail{padding-top:34px;padding-bottom:38px}
.standard-rail__items>div{min-height:144px;padding:12px 30px 14px}
.standard-rail__items span{font-size:clamp(19px,1.45vw,26px)}
.standard-rail__items small{font-size:9.5px;max-width:28ch;line-height:1.6}
.position-note{letter-spacing:.12em;color:var(--ink-muted)}
.display-statement{max-width:1180px}
.display-statement em{white-space:normal}
.position-copy p:first-child{max-width:54ch}

.work-head h2{max-width:980px;letter-spacing:-.045em}
.work-list{gap:clamp(120px,12vw,220px)}
.work-stage{isolation:isolate;overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .5s ease,background .5s ease}
.work-stage:after{inset:auto;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}
.work-stage:hover{border-color:rgba(11,22,33,.23);background:#fdfdff}
.work-stage:hover:after{transform:scaleX(1)}
.work-stage__meta{font-size:6.5px;letter-spacing:.2em;color:var(--ink-muted)}
.work-stage__view{font-size:7px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:.55;transform:none;transition:opacity .35s ease,transform .5s var(--ease)}
.work-stage:hover .work-stage__view{opacity:1;transform:translate(3px,-3px)}
.client-mark{width:min(48%,470px);height:160px}
.work-stage:hover .client-mark{transform:scale(1.02);filter:none}
.work-caption{padding-top:4px}
.work-caption h3{font-size:clamp(42px,3.65vw,66px);margin-bottom:22px}
.work-caption p{font-size:13.5px;line-height:1.75;max-width:38ch}
.work-caption>div{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:center;font-size:7px;letter-spacing:.14em;text-transform:uppercase}
.work-case-link{position:relative;white-space:nowrap;color:var(--ink-soft)}
.work-case-link:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.work-case-link:hover:after{transform:scaleX(1);transform-origin:left}
.work-preview{width:min(84%,1040px);aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(11,22,33,.12);background:#f7f8fa;box-shadow:0 24px 60px rgba(11,22,33,.055);transition:transform .9s var(--ease),box-shadow .9s var(--ease)}
.work-preview img{width:100%;height:100%;object-fit:cover;object-position:top center}
.work-stage--preview:hover .work-preview{transform:translateY(-5px);box-shadow:0 34px 86px rgba(11,22,33,.075)}
.work-preview__brand{position:absolute;left:26px;bottom:22px;width:132px;height:44px;display:flex;align-items:flex-end;z-index:2}
.work-preview__brand img{width:100%;height:100%;object-fit:contain;object-position:left bottom}
.work-preview__brand span{font-size:12px;font-weight:600;letter-spacing:.08em}

.capabilities{background:#fff}
.cap-grid{align-items:start}
.cap-intro h2{letter-spacing:-.045em}
.cap-intro p{max-width:34ch;line-height:1.7}
.cap-row{padding:25px 0;border-top:1px solid var(--line)}
.cap-row:last-child{border-bottom:1px solid var(--line)}
.cap-row:hover,.cap-row.is-active{padding-left:0}
.cap-row.is-active strong{color:var(--ink)}
.cap-row.is-active:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:linear-gradient(90deg,var(--accent),transparent 72%)}
.cap-detail{box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-top:1px solid var(--ink);padding:22px 0 0;min-height:430px}
.cap-detail:before,.cap-detail:after{display:none}
.cap-detail__signal{margin-top:52px}
.cap-detail h3{font-size:clamp(42px,3.3vw,60px);line-height:1.02;letter-spacing:-.04em;max-width:9.5ch}
.cap-detail p{font-size:13px;line-height:1.75;max-width:38ch}
.cap-detail__tags{border-top:1px solid var(--line);padding-top:14px}

.signal-break__word{opacity:.6}
.signal-break__center p{letter-spacing:.16em;text-transform:uppercase;font-size:7px;color:rgba(255,255,255,.48)}
.signal-break__center h2{letter-spacing:-.055em}

.process-list li{transition:opacity .3s ease}
.process-list:hover li{opacity:.42}.process-list:hover li:hover{opacity:1}
.process-list li h3{letter-spacing:-.035em}

.contact-title{letter-spacing:-.06em}
.contact-copy p{max-width:42ch;line-height:1.75}
.project-form select{cursor:pointer}

.case-logo-stage{position:relative;color:inherit;text-decoration:none}
.case-logo-stage b{position:absolute;right:22px;bottom:20px;font-family:var(--sans);font-size:7px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;opacity:.5;transition:opacity .35s ease,transform .5s var(--ease)}
a.case-logo-stage:hover b{opacity:1;transform:translate(3px,-3px)}
a.case-logo-stage{transition:border-color .4s ease}a.case-logo-stage:hover{border-color:var(--line-strong)}

@media(max-width:1100px){.work-caption>div{grid-template-columns:1fr auto auto}.cap-detail{min-height:0}.work-preview{width:88%}}
@media(max-width:700px){.work-list{gap:96px}.work-caption>div{grid-template-columns:1fr auto;row-gap:12px}.work-caption>div>span:last-child{grid-column:1/-1}.work-preview{width:92%;aspect-ratio:10/13}.work-preview__brand{left:18px;bottom:18px;width:94px;height:34px}.client-mark{width:62%;height:120px}.cap-detail h3{max-width:12ch}.standard-rail__items small{font-size:9px}}

/* =========================================================
   FAROS BLACKLABEL 2.4 — ULTIMATE RESPONSIVE
   No index theatre. Curated work. Touch-first adaptation.
========================================================= */

/* Precision defaults */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:1px solid var(--accent);outline-offset:5px}
.section-shell{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}

/* No decorative numbering anywhere in the public interface. */
.section-kicker{display:flex;align-items:center;gap:14px;min-height:16px}
.section-kicker:before{content:"";width:34px;height:1px;background:var(--accent);flex:0 0 auto}
.section-kicker p{font-size:8px;font-weight:600;letter-spacing:.21em;text-transform:uppercase;color:var(--ink-muted)}
.standard-rail__items b,.cap-row>span,.process-list li>span{display:none!important}

/* Header: substantial logo, quieter chrome. */
.site-header{padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right));height:126px}
.brand{width:clamp(300px,23vw,430px);transition:width .65s var(--ease),opacity .35s ease}
body.is-scrolled .site-header{height:88px;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body.is-scrolled .brand{width:clamp(245px,17vw,320px)}
.site-nav__list a,.header-cta{font-size:10px}

/* Hero: keep the original FAROS restraint. */
.hero{padding-top:154px}
.hero-topline{font-size:7.5px}
.hero-lead{max-width:49ch}
.hero-services{max-width:680px}

/* Point of view */
.position-grid{grid-template-columns:minmax(180px,.26fr) 1fr}
.display-statement{max-width:1280px;text-wrap:balance}
.position-copy p:last-child{max-width:24ch;justify-self:end}

/* Standard: titles carry the hierarchy, not sequence numbers. */
.standard-rail{grid-template-columns:.2fr 1fr;padding-top:36px;padding-bottom:42px}
.standard-rail__items{border-left:0}
.standard-rail__items>div{min-height:154px;border-left:1px solid var(--line);border-right:0;padding:18px 30px 16px;justify-content:flex-end}
.standard-rail__items>div:last-child{border-right:1px solid var(--line)}
.standard-rail__items span{font-family:var(--serif);font-size:clamp(20px,1.45vw,27px);line-height:1.06;letter-spacing:-.02em}
.standard-rail__items small{font-size:9.5px;line-height:1.58;max-width:27ch;margin-top:10px}

/* Selected work: logo first. Real homepage reveals rather than mockups. */
.work-head{grid-template-columns:.25fr minmax(0,1fr) minmax(260px,.36fr);align-items:end}
.work-head h2{max-width:940px;text-wrap:balance}
.work-head__note{margin:0 0 4px;color:var(--ink-soft);font-size:12px;line-height:1.65;max-width:34ch;justify-self:end}
.work-list{gap:clamp(128px,12vw,220px)}
.work-item{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(38px,5.2vw,88px)}
.work-stage{min-height:clamp(500px,48vw,760px);background:#fff;border:1px solid rgba(11,22,33,.13);overflow:hidden;isolation:isolate}
.work-stage:before{display:none!important}
.work-stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);z-index:6}
.work-stage:hover:after{transform:scaleX(1)}
.work-stage__meta{z-index:8;top:23px;left:24px;right:24px;font-size:6.5px;letter-spacing:.18em;color:var(--ink-muted)}
.work-stage__view{z-index:8;right:24px;bottom:22px;font-size:7px;letter-spacing:.17em;opacity:.58;transform:none}
.work-stage:hover .work-stage__view{opacity:1;transform:translate(3px,-3px)}
.client-mark{position:absolute;z-index:5;left:50%;top:50%;width:min(48%,470px);height:165px;transform:translate(-50%,-50%);transition:left .9s var(--ease),top .9s var(--ease),width .9s var(--ease),height .9s var(--ease),transform .9s var(--ease),opacity .45s ease}
.client-mark img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;filter:none}
.client-mark--text span,.client-mark>span{font-size:clamp(31px,3.8vw,68px);font-weight:500;letter-spacing:.14em;line-height:.95}
.work-stage__preview{position:absolute;z-index:2;top:0;right:0;bottom:0;width:0;opacity:0;overflow:hidden;background:#f5f6f8;border-left:1px solid var(--line);transition:width .95s var(--ease),opacity .5s ease}
.work-stage__preview img{position:absolute;top:0;right:0;width:max(68vw,920px);height:100%;max-width:none;object-fit:cover;object-position:top center;transform:scale(1.018);transition:transform 1.2s var(--ease)}
.work-stage.has-preview:hover .work-stage__preview{width:68%;opacity:1}
.work-stage.has-preview:hover .work-stage__preview img{transform:scale(1)}
.work-stage.has-preview:hover .client-mark{left:17%;top:50%;width:25%;height:115px;transform:translate(-50%,-50%)}
.work-stage.has-preview:hover .work-stage__meta{right:70%}
.work-caption{padding-top:18px}
.work-caption h3{font-size:clamp(44px,3.65vw,68px);line-height:.96}
.work-caption>p{font-size:13px;line-height:1.72;max-width:40ch;margin-top:24px}
.work-caption>div{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:16px 26px;margin-top:auto;padding-top:46px;font-size:7px;letter-spacing:.14em}
.work-caption>div>span:first-child{margin-right:auto}
.work-live-link,.work-case-link{position:relative;white-space:nowrap;color:var(--ink-soft)}
.work-live-link:after,.work-case-link:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.work-live-link:hover:after,.work-case-link:hover:after{transform:scaleX(1);transform-origin:left}

/* Capabilities: no list numbers, no pseudo-dashboard aesthetic. */
.cap-grid{grid-template-columns:.62fr 1.05fr .78fr;gap:clamp(44px,5.7vw,94px)}
.cap-row{grid-template-columns:1fr auto;gap:24px;min-height:76px;padding:23px 0;align-items:center;touch-action:manipulation}
.cap-row strong{font-size:clamp(30px,2.65vw,48px);line-height:1.02;font-weight:400;letter-spacing:-.045em}
.cap-row em{justify-self:end}
.cap-detail__top{font-size:6.5px}
.cap-detail h3{max-width:10.5ch;text-wrap:balance}

/* Dark principle: one sentence, no sequence label. */
.signal-break__top{font-size:7px;letter-spacing:.18em}
.signal-break__center h2{text-wrap:balance}

/* Process: stages are language, not numbers. */
.process-grid{grid-template-columns:.42fr 1fr;gap:clamp(72px,9vw,150px)}
.process-title h2{text-wrap:balance}
.process-list{list-style:none;padding:0;margin:0}
.process-list li{display:grid;grid-template-columns:minmax(180px,.42fr) 1fr;gap:clamp(32px,5vw,88px);align-items:start;padding:30px 0;border-top:1px solid var(--line)}
.process-list li:last-child{border-bottom:1px solid var(--line)}
.process-list li h3{margin:0;font-family:var(--serif);font-size:clamp(31px,2.7vw,49px);font-weight:400;line-height:1;letter-spacing:-.035em}
.process-list li p{margin:3px 0 0;max-width:48ch;color:var(--ink-soft);font-size:12.5px;line-height:1.72}

/* Contact */
.contact-title{text-wrap:balance}
.contact-kicker{font-size:7px}
.project-form input,.project-form select,.project-form textarea{border-radius:0}

/* Archive & case follow the same clean presentation. */
.work-archive .section-kicker{margin-bottom:38px}
.case .section-kicker{grid-template-columns:auto}

/* Tablet landscape / compact desktop */
@media(max-width:1180px){
  :root{--pad:clamp(28px,4.2vw,54px);--section:clamp(92px,10vw,138px)}
  .site-header{height:112px;grid-template-columns:1fr auto}.brand{width:clamp(300px,33vw,390px)}
  .site-nav,.header-cta{display:none}.menu-toggle{display:flex;justify-self:end;flex-direction:column;gap:7px;width:36px;height:44px;justify-content:center;cursor:pointer}.menu-toggle span{height:1px;background:var(--ink);width:100%;transition:.45s var(--ease)}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .mobile-menu{display:flex;position:fixed;inset:0;z-index:900;background:#fff;padding:clamp(130px,16vh,170px) max(var(--pad),env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(var(--pad),env(safe-area-inset-left));flex-direction:column;justify-content:space-between;transform:translateY(-102%);transition:transform .75s var(--ease)}.mobile-menu.is-open{transform:none}.mobile-menu__nav{display:flex;flex-direction:column}.mobile-menu__nav a{display:block;border-bottom:1px solid var(--line);padding:15px 0;font-family:var(--serif);font-size:clamp(52px,8vw,82px);line-height:1;min-height:64px}.mobile-menu__foot{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:140px}.hero-copy{padding:9vh 0 4vh;max-width:940px}.hero-serif{font-size:clamp(72px,12vw,124px)}.hero-signal{justify-self:center;width:min(88vw,740px);margin:20px auto 72px}
  .position-grid{grid-template-columns:1fr;gap:42px}.position-note{max-width:48ch}.position-copy{grid-template-columns:1fr minmax(180px,260px)}
  .standard-rail{grid-template-columns:1fr;gap:28px}.standard-rail__items{grid-template-columns:1fr 1fr}.standard-rail__items>div:nth-child(2){border-right:1px solid var(--line)}.standard-rail__items>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .work-head{grid-template-columns:1fr;gap:24px;align-items:start}.work-head__note{justify-self:start;max-width:55ch}.work-item,.work-item:nth-child(even){grid-template-columns:1fr}.work-item:nth-child(even) .work-stage,.work-item:nth-child(even) .work-caption{order:initial}.work-stage{min-height:min(68vw,700px)}.work-caption>p{max-width:58ch}.work-caption>div{margin-top:34px}
  .cap-grid{grid-template-columns:1fr 1fr;gap:56px}.cap-intro{grid-column:1/-1;max-width:760px}.cap-detail{position:relative;top:auto;min-height:0}.cap-detail__signal{margin-top:30px}
  .process-grid,.contact-grid{grid-template-columns:1fr;gap:64px}.process-title{max-width:760px}.contact-copy{max-width:650px}
  .faros-cursor{display:none!important}
}

/* Touch devices: never hide information behind hover. */
@media(hover:none),(pointer:coarse){
  .work-stage__view{opacity:1;transform:none}
  .work-stage.has-preview{min-height:clamp(560px,72vw,720px)}
  .work-stage.has-preview .client-mark{left:0;top:0;width:100%;height:42%;transform:none;padding:clamp(34px,6vw,64px);border-bottom:1px solid var(--line)}
  .work-stage.has-preview .client-mark img{max-width:46%;max-height:55%}
  .work-stage.has-preview .client-mark--text span,.work-stage.has-preview .client-mark>span{font-size:clamp(32px,5vw,54px)}
  .work-stage.has-preview .work-stage__preview{top:42%;left:0;right:0;bottom:0;width:100%;opacity:1;border-left:0}
  .work-stage.has-preview .work-stage__preview img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:top center;transform:none}
  .work-stage.has-preview .work-stage__meta{top:18px;left:20px;right:20px}
  .work-stage.has-preview .work-stage__view{bottom:18px;right:20px;background:rgba(255,255,255,.9);padding:8px 10px}
  .process-list:hover li{opacity:1}
}

/* Tablet portrait */
@media(max-width:820px){
  :root{--pad:clamp(22px,5vw,38px);--section:clamp(82px,13vw,118px)}
  body.admin-bar .site-header{top:46px}
  .site-header{height:100px}.brand{width:min(52vw,330px)}body.is-scrolled .site-header{height:82px}body.is-scrolled .brand{width:min(45vw,270px)}
  .hero{padding-top:124px}.hero-topline{grid-template-columns:1fr auto;font-size:6.5px}.hero-topline span:nth-child(2){display:none}.hero-copy{padding-top:8vh}.hero-serif{font-size:clamp(62px,13.6vw,94px);line-height:.88;white-space:normal}.hero-lead{font-size:14px}.hero-signal{width:min(94vw,660px);margin-bottom:54px}.hero-bottom>div{display:none}
  .display-statement{font-size:clamp(52px,10.8vw,78px)}.position-copy{grid-template-columns:1fr;gap:24px}.position-copy p:last-child{justify-self:start;text-align:left;max-width:38ch}
  .standard-rail__items>div{min-height:136px;padding:18px 24px}.standard-rail__items span{font-size:clamp(24px,3.8vw,31px)}
  .work-list{gap:112px}.work-stage{min-height:72vw}.work-caption h3{font-size:clamp(48px,9vw,70px)}
  .cap-grid{grid-template-columns:1fr;gap:52px}.cap-intro{grid-column:auto}.cap-list{order:2}.cap-detail{order:3;max-width:680px}.cap-row{min-height:74px}.cap-row strong{font-size:clamp(30px,5.2vw,42px)}.cap-detail h3{font-size:clamp(42px,7vw,58px);max-width:14ch}
  .signal-break{min-height:680px;padding-left:var(--pad);padding-right:var(--pad)}.signal-break__center h2{font-size:clamp(78px,15vw,120px)}
  .process-list li{grid-template-columns:minmax(150px,.38fr) 1fr;gap:38px}.process-list li h3{font-size:clamp(32px,5.5vw,45px)}
  .contact-title{font-size:clamp(72px,13vw,104px)}.contact-title em{margin-left:0;width:auto;max-width:100%}
  .footer-logo{width:min(68vw,430px)}
}

/* Mobile */
@media(max-width:560px){
  :root{--pad:18px;--section:78px}
  .site-header{height:88px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.brand{width:min(69vw,285px)}body.is-scrolled .site-header{height:72px}body.is-scrolled .brand{width:min(59vw,235px)}
  .menu-toggle{width:31px;height:44px}.mobile-menu{padding-top:118px}.mobile-menu__nav a{font-size:clamp(48px,14.5vw,68px);padding:12px 0}.mobile-menu__foot{font-size:6.5px;line-height:1.5}
  .hero{padding:106px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.hero-topline{font-size:6px;gap:10px;padding-bottom:14px}.hero-topline span:last-child{white-space:nowrap}.availability i{width:5px;height:5px;margin-right:7px}.hero-copy{padding:64px 0 36px}.micro-label{font-size:6px;letter-spacing:.2em;margin-bottom:18px}.hero-serif{font-size:clamp(48px,14.8vw,72px);line-height:.9;letter-spacing:-.045em}.hero-hint{font-size:5.8px;margin-top:14px}.hero-lead{font-size:13.5px;line-height:1.62;margin-top:26px;max-width:35ch}.hero-services{font-size:5.8px;gap:8px 9px;margin-top:22px}.hero-services i{height:11px}.hero-signal{width:100%;margin:6px 0 42px}.service-text{font-size:5.5px}.signal-note{font-size:5.8px}.signal-coordinate{display:none}.hero-bottom{font-size:6px;padding-top:14px}.hero-bottom>a{font-size:9px}
  .section-kicker:before{width:26px}.section-kicker p{font-size:6.5px}.position-grid{margin-top:48px}.position-note{font-size:9.5px;line-height:1.7}.display-statement{font-size:clamp(44px,12.3vw,61px);line-height:.96;letter-spacing:-.055em}.position-copy{margin-top:50px;padding-top:18px}.position-copy p{font-size:12.5px}
  .standard-rail{padding:24px max(18px,env(safe-area-inset-right)) 28px max(18px,env(safe-area-inset-left));gap:20px}.standard-rail__label{font-size:6px}.standard-rail__items{grid-template-columns:1fr}.standard-rail__items>div,.standard-rail__items>div:nth-child(2),.standard-rail__items>div:last-child{min-height:112px;border-left:0;border-right:0;border-bottom:1px solid var(--line);padding:16px 0}.standard-rail__items>div:last-child{border-bottom:0}.standard-rail__items span{font-size:25px}.standard-rail__items small{font-size:9px;max-width:34ch}
  .work-head{margin-bottom:64px;gap:20px}.work-head h2{font-size:clamp(42px,11.5vw,58px);line-height:.98}.work-head__note{font-size:11.5px;max-width:39ch}.work-list{gap:90px}.work-stage{min-height:96vw}.work-stage__meta{top:16px;left:16px;right:16px;font-size:5.7px}.client-mark{width:68%;height:118px}.client-mark--text span,.client-mark>span{font-size:clamp(26px,8.2vw,43px);letter-spacing:.11em}.work-stage__view{right:16px;bottom:15px;font-size:6px}.work-stage.has-preview{min-height:128vw}.work-stage.has-preview .client-mark{height:40%;padding:28px 18px}.work-stage.has-preview .client-mark img{max-width:62%;max-height:58%}.work-stage.has-preview .work-stage__preview{top:40%}.work-stage.has-preview .work-stage__view{right:12px;bottom:12px;font-size:5.8px;padding:7px 8px}.work-caption{padding-top:14px}.work-caption h3{font-size:clamp(42px,12vw,58px)}.work-caption>p{font-size:12.5px;margin-top:19px}.work-caption>div{padding-top:28px;margin-top:28px;gap:12px 18px;font-size:6.2px}.work-caption>div>span:first-child{width:100%;margin-right:0}
  .cap-intro h2,.process-title h2{font-size:clamp(42px,11.4vw,58px);line-height:.98}.cap-intro p,.process-title p{font-size:12.5px;line-height:1.68}.cap-row{min-height:68px;padding:18px 0}.cap-row strong{font-size:clamp(27px,7.6vw,36px)}.cap-detail{padding-top:16px}.cap-detail__top{font-size:5.8px}.cap-detail__signal{margin-top:24px}.cap-detail h3{font-size:clamp(38px,10.2vw,51px);max-width:12ch;margin-top:28px}.cap-detail p{font-size:12.5px}.cap-detail__tags{font-size:6.2px;gap:8px 14px}
  .signal-break{min-height:620px;padding:22px max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.signal-break__top{font-size:5.8px}.signal-break__top span:last-child{display:none}.signal-break__center p{font-size:6px}.signal-break__center h2{font-size:clamp(70px,19vw,96px);line-height:.86}.signal-break__bottom{gap:7px;flex-wrap:wrap;font-size:5.8px}.signal-break__bottom i{width:14px}
  .process-grid{gap:46px}.process-list li{grid-template-columns:1fr;gap:10px;padding:22px 0}.process-list li h3{font-size:34px}.process-list li p{font-size:12.5px;margin:0;max-width:39ch}
  .contact{padding-top:82px}.contact-kicker{font-size:6px}.contact-kicker span:last-child{display:none}.contact-title{font-size:clamp(55px,15.5vw,78px);line-height:.91;letter-spacing:-.06em;margin:52px 0 60px}.contact-grid{gap:48px}.contact-copy p{font-size:12.5px}.project-form{grid-template-columns:1fr;gap:22px}.project-form label.full,.submit,.form-status{grid-column:1}.project-form input,.project-form select,.project-form textarea{font-size:16px;min-height:44px}.project-form textarea{min-height:132px}.submit{min-height:52px}
  .site-footer{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.site-footer__main{padding:30px 0 42px}.footer-logo{width:min(82vw,355px)}.footer-disciplines{display:none}.site-footer__meta{flex-direction:column;align-items:flex-start;gap:10px;font-size:6.5px;padding-bottom:max(26px,env(safe-area-inset-bottom))}
  .generic,.work-archive,.case,.error-page{padding-top:118px}.case-logo-stage{min-height:48vh}.case-logo-stage img{max-width:72%}
}

/* Small phones */
@media(max-width:380px){
  :root{--pad:16px;--section:70px}
  .brand{width:230px}body.is-scrolled .brand{width:205px}
  .hero{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.hero-topline span:first-child{max-width:22ch}.hero-serif{font-size:clamp(45px,14.5vw,58px)}.hero-lead{font-size:13px}.hero-services{max-width:320px}
  .display-statement{font-size:clamp(40px,11.8vw,50px)}
  .work-stage.has-preview{min-height:134vw}.work-caption h3{font-size:42px}
  .cap-row strong{font-size:27px}.signal-break__center h2{font-size:68px}.contact-title{font-size:54px}
}

@media(prefers-reduced-motion:reduce){
  .work-stage__preview,.client-mark,.work-stage:after{transition:none!important}
}

/* =========================================================
   FAROS 2.5 — LIVE REVEAL PORTFOLIO
   Closed = client mark. Open = the actual live homepage.
   ========================================================= */
.work:before{content:none!important;display:none!important}
.work-stage.live-reveal{display:block;position:relative;isolation:isolate;overflow:hidden;background:#fff;border:1px solid rgba(11,22,33,.14);min-height:clamp(500px,50vw,760px);cursor:default;transition:min-height .75s var(--ease),border-color .4s ease,box-shadow .6s var(--ease)}
.work-stage.live-reveal:before,.work-stage.live-reveal:after{display:none!important;content:none!important}
.work-stage.live-reveal:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
.work-stage.live-reveal .work-stage__meta{z-index:3;transition:opacity .35s ease;pointer-events:none}
.work-stage.live-reveal .client-mark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(58%,520px);height:190px;display:grid;place-items:center;z-index:2;transition:opacity .45s ease,transform .8s var(--ease),filter .8s var(--ease)}
.work-stage.live-reveal .client-mark img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;filter:none}
.work-stage.live-reveal .client-mark--text span,.work-stage.live-reveal .client-mark>span{font-family:var(--sans);font-size:clamp(34px,4.2vw,72px);font-weight:500;letter-spacing:.13em;text-align:center;color:var(--ink)}
.live-reveal__trigger{position:absolute;right:22px;bottom:20px;z-index:3;display:inline-flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:var(--ink);font:600 8px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.live-reveal__trigger:before{content:"";width:28px;height:1px;background:var(--line-2);transition:width .55s var(--ease),background .3s ease}
.live-reveal__trigger b{font-size:11px;font-weight:400;transition:transform .45s var(--ease)}
.live-reveal__trigger:hover:before{width:44px;background:var(--accent)}
.live-reveal__trigger:hover b{transform:translate(3px,-3px)}

.live-reveal__panel{position:absolute;inset:0;z-index:5;background:#fff;opacity:0;clip-path:inset(100% 0 0 0);pointer-events:none;transition:clip-path .82s var(--ease),opacity .22s ease;will-change:clip-path,opacity}
.live-reveal.is-open .live-reveal__panel{opacity:1;clip-path:inset(0 0 0 0);pointer-events:auto}
.live-reveal.is-open .client-mark{opacity:0;transform:translate(-50%,-50%) scale(.94)}
.live-reveal.is-open>.work-stage__meta,.live-reveal.is-open>.live-reveal__trigger{opacity:0;pointer-events:none}
.live-reveal.is-locked{border-color:rgba(11,22,33,.22);box-shadow:0 24px 70px rgba(11,22,33,.07)}

.live-reveal__bar{height:46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 16px 0 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:relative;z-index:3;font:600 6.5px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--ink-muted)}
.live-reveal__status{justify-self:start;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.live-reveal__status i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(101,120,255,.10)}
.live-reveal__domain{justify-self:center;letter-spacing:.12em;text-transform:none;font-size:8px;color:var(--ink-soft)}
.live-reveal__actions{justify-self:end;display:flex;align-items:center;gap:16px}
.live-reveal__actions button,.live-reveal__actions a{font:600 6.5px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--ink);border:0;background:transparent;padding:8px 0;cursor:pointer;white-space:nowrap}
.live-reveal__actions a{border-bottom:1px solid rgba(11,22,33,.28)}
.live-reveal__actions a:hover{border-color:var(--accent)}
.live-reveal__viewport{position:absolute;left:0;right:0;top:46px;bottom:0;overflow:hidden;background:#f7f8fa}
.live-reveal__fallback{position:absolute;inset:0;z-index:0;background:#f7f8fa;overflow:hidden}
.live-reveal__fallback img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.92)}
.live-reveal__iframe{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:#fff;opacity:0;transition:opacity .45s ease;pointer-events:none}
.live-reveal.is-loaded .live-reveal__iframe{opacity:1}
.live-reveal.is-locked .live-reveal__iframe{pointer-events:auto}
.live-reveal__loader{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:11px;font:600 6.5px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:var(--ink-muted);background:rgba(255,255,255,.9);transition:opacity .35s ease,visibility .35s ease}
.live-reveal__loader i{width:18px;height:18px;border:1px solid rgba(11,22,33,.18);border-top-color:var(--accent);border-radius:50%;animation:farosSpin .85s linear infinite}
.live-reveal.is-loaded .live-reveal__loader{opacity:0;visibility:hidden}
@keyframes farosSpin{to{transform:rotate(360deg)}}

/* Hover is a preview; click/tap locks the live site and enables interaction. */
@media(hover:hover) and (pointer:fine){
  .work-stage.live-reveal:not(.is-open):hover{border-color:rgba(11,22,33,.22)}
  .work-stage.live-reveal:not(.is-open):hover .client-mark{transform:translate(-50%,-50%) scale(1.018)}
}

/* Tablet / touch — reveal becomes a deliberate, full touch surface. */
@media(max-width:1100px){
  .work-stage.live-reveal{min-height:min(70vw,700px)}
  .live-reveal__bar{grid-template-columns:1fr auto;height:48px}
  .live-reveal__domain{display:none}
  .live-reveal__viewport{top:48px}
}

@media(max-width:820px){
  .work-stage.live-reveal{min-height:72vw}
  .work-stage.live-reveal.is-open{min-height:min(76svh,760px)}
  .work-stage.live-reveal .client-mark{width:62%;height:150px}
  .live-reveal__trigger{right:18px;bottom:17px;font-size:7px}
  .live-reveal__bar{padding:0 14px 0 16px}
  .live-reveal__actions{gap:13px}
}

@media(max-width:560px){
  .work-stage.live-reveal{min-height:98vw}
  .work-stage.live-reveal.is-open{min-height:74svh}
  .work-stage.live-reveal .client-mark{width:72%;height:118px}
  .work-stage.live-reveal .client-mark--text span,.work-stage.live-reveal .client-mark>span{font-size:clamp(28px,8.3vw,43px);letter-spacing:.10em}
  .live-reveal__trigger{left:16px;right:16px;bottom:15px;justify-content:flex-end;font-size:6px;letter-spacing:.13em}
  .live-reveal__trigger:before{margin-right:auto;width:22px}
  .live-reveal__bar{height:50px;grid-template-columns:auto 1fr;padding:0 12px 0 14px;gap:10px}
  .live-reveal__viewport{top:50px}
  .live-reveal__status{font-size:5.7px;letter-spacing:.13em}
  .live-reveal__actions{justify-self:end;gap:10px}
  .live-reveal__actions button,.live-reveal__actions a{font-size:5.7px;letter-spacing:.12em;padding:10px 0}
  .live-reveal__actions a{padding-left:2px}
  .live-reveal__loader{font-size:5.7px;letter-spacing:.13em;gap:8px;text-align:center;padding:20px}
  .live-reveal__loader i{width:15px;height:15px}
}

@media(max-width:380px){
  .work-stage.live-reveal{min-height:104vw}
  .work-stage.live-reveal.is-open{min-height:72svh}
  .live-reveal__status{max-width:70px;line-height:1.35}
  .live-reveal__actions{gap:8px}
}

@media(prefers-reduced-motion:reduce){
  .live-reveal__panel{transition:none!important}
  .live-reveal__loader i{animation:none!important}
}


/* FAROS 2.6 — curated Vision Yachts lockup */
.client-mark--vision-yachts .vision-yachts-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;line-height:1;color:var(--ink);text-align:center}
.client-mark--vision-yachts .vision-yachts-lockup strong{font-family:var(--sans);font-size:clamp(38px,4.5vw,76px);font-weight:500;letter-spacing:.16em;line-height:.9;margin-left:.16em}
.client-mark--vision-yachts .vision-yachts-lockup small{font-family:var(--sans);font-size:clamp(8px,.72vw,11px);font-weight:600;letter-spacing:.48em;line-height:1;margin-left:.48em;color:var(--ink-muted)}
@media(max-width:900px){.client-mark--vision-yachts .vision-yachts-lockup strong{font-size:clamp(36px,7vw,60px)}.client-mark--vision-yachts .vision-yachts-lockup small{font-size:8px}}
@media(max-width:700px){.client-mark--vision-yachts .vision-yachts-lockup{gap:8px}.client-mark--vision-yachts .vision-yachts-lockup strong{font-size:clamp(30px,10vw,44px);letter-spacing:.13em;margin-left:.13em}.client-mark--vision-yachts .vision-yachts-lockup small{font-size:7px;letter-spacing:.4em;margin-left:.4em}}

/* =========================================================
   FAROS 2.7 — ARCHITECTURAL LIGHTHOUSE / PERFORMANCE PASS
   Real object, restrained disassembly, no radar-line aesthetic.
   ========================================================= */
.hero:before{background:none!important;mask-image:none!important}
.hero{background:
  radial-gradient(circle at 78% 46%,rgba(11,22,33,.026),transparent 30%),
  #fff}

.hero-lighthouse{
  position:relative;z-index:2;align-self:center;justify-self:end;
  width:min(39vw,540px);min-width:390px;aspect-ratio:520/560;
  display:block;color:var(--ink);cursor:pointer;user-select:none;touch-action:manipulation;
  border:0;background:transparent;padding:0;overflow:visible
}
.lighthouse-svg{display:block;width:100%;height:auto;overflow:visible}
.lighthouse-eyebrow{position:absolute;left:4%;top:5%;font-size:6px;font-weight:600;letter-spacing:.23em;text-transform:uppercase;color:var(--ink-muted)}
.lh-part,.lh-body-left,.lh-body-right,.lh-beam,.lh-light-glow{transform-box:fill-box;transform-origin:center;will-change:transform,opacity}
.lh-part{transition:transform .82s var(--ease)}
.lh-body-left,.lh-body-right{transition:transform .82s var(--ease)}
.lh-beam{opacity:0;transform:scaleX(.025);transform-origin:290px 132px;transition:transform .92s var(--ease),opacity .34s ease}
.lh-light-glow{transition:opacity .4s ease}
.lh-ground{transition:transform .82s var(--ease),opacity .4s ease;transform-origin:center}
.lh-discipline{position:absolute;z-index:3;font-size:6.5px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--ink-muted);opacity:0;transition:opacity .3s ease,transform .72s var(--ease);pointer-events:none;white-space:nowrap}
.lh-discipline--strategy{left:2%;top:29%;transform:translateX(10px)}
.lh-discipline--design{right:1%;top:39%;transform:translateX(-10px)}
.lh-discipline--engineering{left:0;bottom:28%;transform:translateX(10px)}
.lh-discipline--growth{right:7%;bottom:18%;transform:translateX(-10px)}
.hero-lighthouse .signal-note{position:absolute;left:0;right:0;bottom:1%;margin:0;text-align:center;font-size:6.5px;letter-spacing:.18em;color:var(--ink-muted)}

/* Disassembly: architectural, not theatrical. */
.hero-lighthouse.is-open .lh-roof,
.hero-lighthouse.is-intro .lh-roof{transform:translateY(-18px)}
.hero-lighthouse.is-open .lh-lantern,
.hero-lighthouse.is-intro .lh-lantern{transform:translateY(-9px)}
.hero-lighthouse.is-open .lh-gallery,
.hero-lighthouse.is-intro .lh-gallery{transform:translateY(2px) scaleX(1.035)}
.hero-lighthouse.is-open .lh-upper,
.hero-lighthouse.is-intro .lh-upper{transform:translateY(10px)}
.hero-lighthouse.is-open .lh-middle,
.hero-lighthouse.is-intro .lh-middle{transform:translateY(20px)}
.hero-lighthouse.is-open .lh-lower,
.hero-lighthouse.is-intro .lh-lower{transform:translateY(30px)}
.hero-lighthouse.is-open .lh-upper .lh-body-left,
.hero-lighthouse.is-intro .lh-upper .lh-body-left,
.hero-lighthouse.is-open .lh-middle .lh-body-left,
.hero-lighthouse.is-intro .lh-middle .lh-body-left{transform:translateX(-6px)}
.hero-lighthouse.is-open .lh-upper .lh-body-right,
.hero-lighthouse.is-intro .lh-upper .lh-body-right,
.hero-lighthouse.is-open .lh-middle .lh-body-right,
.hero-lighthouse.is-intro .lh-middle .lh-body-right{transform:translateX(6px)}
.hero-lighthouse.is-open .lh-beam,
.hero-lighthouse.is-intro .lh-beam{opacity:1;transform:scaleX(1)}
.hero-lighthouse.is-open .lh-light-glow,
.hero-lighthouse.is-intro .lh-light-glow{opacity:.26}
.hero-lighthouse.is-open .lh-ground,
.hero-lighthouse.is-intro .lh-ground{transform:scaleX(1.12);opacity:.035}
.hero-lighthouse.is-open .lh-discipline,
.hero-lighthouse.is-intro .lh-discipline{opacity:1;transform:none}

@media(hover:hover) and (pointer:fine){
  .hero-lighthouse:hover .lh-roof{transform:translateY(-18px)}
  .hero-lighthouse:hover .lh-lantern{transform:translateY(-9px)}
  .hero-lighthouse:hover .lh-gallery{transform:translateY(2px) scaleX(1.035)}
  .hero-lighthouse:hover .lh-upper{transform:translateY(10px)}
  .hero-lighthouse:hover .lh-middle{transform:translateY(20px)}
  .hero-lighthouse:hover .lh-lower{transform:translateY(30px)}
  .hero-lighthouse:hover .lh-upper .lh-body-left,.hero-lighthouse:hover .lh-middle .lh-body-left{transform:translateX(-6px)}
  .hero-lighthouse:hover .lh-upper .lh-body-right,.hero-lighthouse:hover .lh-middle .lh-body-right{transform:translateX(6px)}
  .hero-lighthouse:hover .lh-beam{opacity:1;transform:scaleX(1)}
  .hero-lighthouse:hover .lh-light-glow{opacity:.26}
  .hero-lighthouse:hover .lh-discipline{opacity:1;transform:none}
}

/* Dark principle: remove the oversized outlined branding and let type carry it. */
.signal-break:before{border:0!important;box-shadow:none!important;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.035),rgba(255,255,255,0) 58%);width:min(82vw,1100px);opacity:.7}
.signal-break__word{display:none!important}
.signal-break__beam{width:62vw!important;opacity:.32!important;filter:none!important;background:linear-gradient(90deg,rgba(101,120,255,.72),rgba(255,255,255,.14),transparent)!important;animation-duration:18s!important}
.signal-break__center h2 em:after{opacity:.55}

/* Rendering efficiency: below-the-fold sections are skipped until needed. */
@supports(content-visibility:auto){
  .position,.standard-rail,.work,.capabilities,.signal-break,.process,.contact,.site-footer{content-visibility:auto;contain-intrinsic-size:1px 900px}
  .work-item{content-visibility:auto;contain-intrinsic-size:1px 760px}
}

/* Tablet / compact desktop */
@media(max-width:1180px){
  .hero-lighthouse{justify-self:center;width:min(72vw,520px);min-width:0;margin:6px auto 70px}
}

/* Tablet portrait */
@media(max-width:820px){
  .hero-lighthouse{width:min(78vw,470px);margin:0 auto 58px}
  .lighthouse-eyebrow{font-size:5.8px}
  .hero-lighthouse .signal-note{font-size:6px}
  .lh-discipline{font-size:6px}
}

/* Phones: the object remains legible and all interaction is tap-first. */
@media(max-width:560px){
  .hero-lighthouse{width:100%;max-width:410px;aspect-ratio:auto;margin:0 auto 42px;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;align-items:center}
  .lighthouse-svg{grid-column:1/-1;width:min(88vw,380px);justify-self:center}
  .lighthouse-eyebrow{position:static;grid-column:1/-1;order:-2;text-align:center;margin-bottom:2px;font-size:5.4px}
  .lh-discipline{position:static;opacity:0;transform:none!important;font-size:5.4px;letter-spacing:.16em;text-align:center;padding:4px 0}
  .hero-lighthouse.is-open .lh-discipline{opacity:1;color:var(--ink)}
  .hero-lighthouse .signal-note{position:static;grid-column:1/-1;margin-top:7px;font-size:5.5px}
  .lh-beam{display:none}
  .hero-lighthouse.is-open .lh-roof{transform:translateY(-12px)}
  .hero-lighthouse.is-open .lh-lantern{transform:translateY(-6px)}
  .hero-lighthouse.is-open .lh-gallery{transform:translateY(1px) scaleX(1.025)}
  .hero-lighthouse.is-open .lh-upper{transform:translateY(7px)}
  .hero-lighthouse.is-open .lh-middle{transform:translateY(13px)}
  .hero-lighthouse.is-open .lh-lower{transform:translateY(19px)}
}

@media(max-width:380px){
  .lighthouse-svg{width:min(92vw,340px)}
  .hero-lighthouse{gap:6px 10px}
}

@media(prefers-reduced-motion:reduce){
  .lh-part,.lh-body-left,.lh-body-right,.lh-beam,.lh-light-glow,.lh-ground,.lh-discipline{transition:none!important;will-change:auto!important}
  .hero-lighthouse .lh-beam{display:none!important}
}
.lh-beam{transform-box:view-box}

/* =========================================================
   FAROS 2.8 — TYPOGRAPHIC MASTERPASS
   Senior scale, cleaner hierarchy, device-specific recut.
   Preserves 2.7 lighthouse, live reveals and performance work.
   ========================================================= */
:root{
  --fs-micro:10px;
  --fs-meta:12px;
  --fs-nav:13px;
  --fs-body:18px;
  --fs-body-sm:16px;
  --fs-cta:14px;
  --fs-section:clamp(36px,4.35vw,64px);
  --fs-capability:clamp(30px,3.7vw,54px);
  --fs-hero-primary:clamp(46px,6.85vw,100px);
  --fs-hero-accent:clamp(54px,7.7vw,112px);
  --fs-statement:clamp(42px,5.55vw,86px);
  --fs-final:clamp(42px,6.4vw,96px);
  --lh-tight:.90;
  --lh-display:.94;
  --lh-body:1.68;
  --ls-display:-.045em;
  --ls-heading:-.035em;
  --ls-nav:-.01em;
  --ls-micro:.22em;
}

/* Header — readable, quiet and deliberate. */
.site-nav__list a,.header-cta{font-size:var(--fs-nav);letter-spacing:var(--ls-nav);font-weight:500}
.site-nav__list{gap:clamp(28px,2.35vw,44px)}
.header-cta{gap:11px;padding-bottom:10px}
.header-index{font-size:9px;letter-spacing:.18em}

/* Hero — large enough to carry authority, restrained enough to feel premium. */
.hero-copy{max-width:720px;padding-right:clamp(24px,4vw,70px)}
.hero-topline{font-size:9px;letter-spacing:.20em}
.micro-label{font-size:var(--fs-micro);letter-spacing:var(--ls-micro);margin-bottom:26px}
.hero-serif{font-weight:400;white-space:normal}
.hero-primary{font-size:var(--fs-hero-primary);line-height:.92;letter-spacing:-.048em}
.hero-accent{font-size:var(--fs-hero-accent);line-height:.88;letter-spacing:-.052em}
.hero-lead{font-size:var(--fs-body);line-height:var(--lh-body);max-width:42ch;margin-top:30px}
.hero-services{font-size:9px;letter-spacing:.15em;margin-top:27px;gap:10px 14px}
.hero-hint{font-size:9px;letter-spacing:.16em;margin-top:16px}
.hero-bottom{font-size:9px;letter-spacing:.16em}.hero-bottom>a{font-size:13px}
.lighthouse-eyebrow,.lh-discipline,.hero-lighthouse .signal-note{font-size:8px;letter-spacing:.18em}

/* Section system — every level has a job. */
.section-kicker{font-size:var(--fs-micro);letter-spacing:var(--ls-micro)}
.position-note{font-size:10px;letter-spacing:.09em;line-height:1.9}
.display-statement{font-size:var(--fs-statement);line-height:.95;letter-spacing:-.052em;max-width:1050px}
.position-copy p{font-size:15px;line-height:1.7}
.standard-rail__label{font-size:9px}
.standard-rail__items span{font-size:clamp(22px,1.55vw,28px)}
.standard-rail__items small{font-size:10px;line-height:1.6}

/* Work — logo/reveal stays the hero; typography supports it. */
.work-head h2{font-size:var(--fs-section);line-height:.96;letter-spacing:-.04em;max-width:760px}
.work-head__note{font-size:14px;line-height:1.68;max-width:36ch}
.work-stage__meta{font-size:8px;letter-spacing:.17em}
.live-reveal__trigger{font-size:9px;letter-spacing:.13em}
.work-caption h3{font-size:clamp(42px,4.2vw,64px);line-height:.96;letter-spacing:-.035em}
.work-caption>p{font-size:15px;line-height:1.7;max-width:40ch}
.work-caption>div{font-size:9px;letter-spacing:.13em}

/* Capabilities — strong hierarchy, no oversized dashboard feel. */
.cap-intro h2{font-size:var(--fs-section);line-height:.97;letter-spacing:-.04em;max-width:11ch}
.cap-intro p{font-size:15px;line-height:1.68;max-width:36ch}
.cap-row{min-height:86px;padding:26px 0}
.cap-row strong{font-size:var(--fs-capability);line-height:1.02;letter-spacing:-.035em}
.cap-row em{font-size:17px}
.cap-detail__top{font-size:9px;letter-spacing:.15em}
.cap-detail h3{font-size:clamp(40px,3.65vw,58px);line-height:1.01;letter-spacing:-.035em}
.cap-detail p{font-size:15px;line-height:1.7}
.cap-detail__tags{font-size:9px;letter-spacing:.12em}

/* Dark statement — one controlled impact moment. */
.signal-break__top,.signal-break__bottom{font-size:9px;letter-spacing:.18em}
.signal-break__center p{font-size:10px;letter-spacing:.18em}
.signal-break__center h2{font-size:var(--fs-final);line-height:.88;letter-spacing:-.052em;max-width:1080px;margin-left:auto;margin-right:auto}

/* Process — senior language deserves readable scale. */
.process-title h2{font-size:var(--fs-section);line-height:.97;letter-spacing:-.04em}
.process-title p{font-size:15px;line-height:1.7;max-width:38ch}
.process-list li{padding:31px 0}
.process-list li h3{font-size:clamp(32px,2.55vw,46px);line-height:1.02;letter-spacing:-.028em}
.process-list li p{font-size:14px;line-height:1.72}

/* Contact — major final gesture without billboard typography. */
.contact-kicker{font-size:9px;letter-spacing:.18em}
.contact-title{font-size:var(--fs-final);line-height:.91;letter-spacing:-.052em;max-width:1020px}
.contact-copy p{font-size:15px;line-height:1.72}
.contact-copy a{font-size:13px}
.project-form label span{font-size:9px;letter-spacing:.15em}
.project-form input,.project-form select,.project-form textarea{font-size:15px;line-height:1.5}
.submit{font-size:14px;min-height:56px}

/* Footer — logo leads; information is legible but subordinate. */
.footer-disciplines{font-size:9px;letter-spacing:.16em}
.site-footer__meta{font-size:9px;letter-spacing:.12em}

/* Tablet landscape: this is a layout recut, not a desktop shrink. */
@media(max-width:1180px){
  :root{
    --fs-micro:9px;--fs-nav:13px;--fs-body:17px;
    --fs-section:clamp(46px,5.5vw,52px);
    --fs-capability:clamp(34px,4.6vw,42px);
    --fs-hero-primary:clamp(64px,8.3vw,76px);
    --fs-hero-accent:clamp(72px,9.4vw,86px);
    --fs-statement:clamp(52px,7vw,68px);
    --fs-final:clamp(58px,7.6vw,74px)
  }
  .hero-copy{max-width:760px;padding-right:0}
  .hero-lead{font-size:var(--fs-body);max-width:43ch}
  .hero-lighthouse{margin-top:10px}
  .work-head__note,.cap-intro p,.cap-detail p,.process-title p,.contact-copy p{font-size:14px}
}

/* Tablet portrait. */
@media(max-width:820px){
  :root{
    --fs-section:clamp(40px,6.8vw,50px);
    --fs-capability:clamp(31px,5.3vw,40px);
    --fs-hero-primary:clamp(56px,9.2vw,64px);
    --fs-hero-accent:clamp(64px,10.4vw,72px);
    --fs-statement:clamp(46px,8vw,60px);
    --fs-final:clamp(50px,9vw,66px)
  }
  .hero-topline{font-size:8px}.hero-lead{font-size:16px}
  .hero-services{font-size:8px}.hero-hint{font-size:8px}
  .work-caption h3{font-size:clamp(40px,6.5vw,52px)}
  .cap-detail h3{font-size:clamp(38px,6.5vw,50px)}
  .process-list li p{font-size:13.5px}
}

/* Phones — bespoke mobile scale; no oversized desktop leftovers. */
@media(max-width:560px){
  :root{
    --fs-micro:9px;--fs-body:15px;
    --fs-section:36px;--fs-capability:30px;
    --fs-hero-primary:clamp(40px,12vw,46px);
    --fs-hero-accent:clamp(46px,14vw,54px);
    --fs-statement:clamp(40px,11vw,46px);
    --fs-final:clamp(42px,12vw,48px)
  }
  .hero-topline{font-size:7px;letter-spacing:.16em}
  .micro-label{font-size:8px;letter-spacing:.18em;margin-bottom:19px;padding-left:42px}.micro-label:before{width:28px}
  .hero-primary{line-height:.94}.hero-accent{line-height:.90}
  .hero-lead{font-size:var(--fs-body);line-height:1.62;max-width:34ch;margin-top:24px}
  .hero-services{font-size:7px;letter-spacing:.12em;line-height:1.45}
  .hero-hint{font-size:7px}.hero-bottom>a{font-size:11px}
  .lighthouse-eyebrow,.lh-discipline,.hero-lighthouse .signal-note{font-size:7px}
  .section-kicker{font-size:8px;letter-spacing:.18em}
  .position-note{font-size:9px}.position-copy p{font-size:13px}
  .work-head h2,.cap-intro h2,.process-title h2{font-size:var(--fs-section)}
  .work-head__note,.cap-intro p,.cap-detail p,.process-title p,.contact-copy p{font-size:13px;line-height:1.65}
  .work-stage__meta{font-size:7px}.live-reveal__trigger{font-size:7px}
  .work-caption h3{font-size:40px}.work-caption>p{font-size:13px}.work-caption>div{font-size:7px}
  .cap-row{min-height:66px;padding:18px 0}.cap-row strong{font-size:var(--fs-capability)}
  .cap-detail__top,.cap-detail__tags{font-size:7px}.cap-detail h3{font-size:38px}
  .signal-break__top,.signal-break__bottom{font-size:7px}.signal-break__center p{font-size:8px}.signal-break__center h2{font-size:var(--fs-final)}
  .process-list li h3{font-size:32px}.process-list li p{font-size:13px}
  .contact-kicker{font-size:8px}.contact-title{font-size:var(--fs-final);line-height:.94;margin-top:52px}
  .project-form label span{font-size:8px}.project-form input,.project-form select,.project-form textarea{font-size:16px}
  .footer-disciplines,.site-footer__meta{font-size:8px}
  .mobile-menu__nav a{font-size:clamp(40px,12vw,54px);line-height:1.02;padding:16px 0}
}

@media(max-width:380px){
  :root{--fs-hero-primary:40px;--fs-hero-accent:46px;--fs-section:34px;--fs-capability:28px;--fs-final:42px}
  .hero-lead{font-size:14.5px}.work-caption h3{font-size:37px}.cap-detail h3{font-size:35px}
}


/* =========================================================
   FAROS 3.0 — ARCHITECTURAL BLUEPRINT / SCROLL DISASSEMBLY
   Clean hero. Signature lighthouse lives deeper in the story.
   Scroll-driven, transform-only, no animation library.
   ========================================================= */
.hero{grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);background:#fff!important}
.hero-copy{max-width:760px}
.hero-precision{position:relative;z-index:2;align-self:center;justify-self:end;width:min(31vw,430px);height:min(52vh,500px);min-height:360px;display:grid;grid-template-rows:1fr auto;align-items:end;color:var(--ink-muted);pointer-events:none}
.hero-precision:before,.hero-precision:after{content:"";position:absolute;background:rgba(11,22,33,.08)}
.hero-precision:before{width:1px;top:0;bottom:0;left:50%}.hero-precision:after{height:1px;left:0;right:0;top:50%}
.hero-precision__axis{position:absolute;inset:8% 10%;border:1px solid rgba(11,22,33,.055);border-radius:50%}
.hero-precision__axis:before,.hero-precision__axis:after{content:"";position:absolute;inset:17%;border:1px solid rgba(11,22,33,.045);border-radius:50%}.hero-precision__axis:after{inset:35%}
.hero-precision__axis i{position:absolute;left:50%;top:10%;bottom:50%;width:1px;background:linear-gradient(var(--accent),rgba(101,120,255,0));transform:translateX(-50%)}
.hero-precision__axis span{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(101,120,255,.07)}
.hero-precision__meta{position:absolute;left:0;top:4%;display:flex;flex-direction:column;gap:8px;font-size:8px;letter-spacing:.17em}.hero-precision__meta b{font-weight:600;color:var(--ink)}.hero-precision__meta small{font-size:7px;letter-spacing:.13em}
.hero-precision__disciplines{grid-row:2;display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:14px;font-size:8px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}

.blueprint-story{position:relative;height:340svh;background:#fbfdff;border-top:1px solid rgba(11,22,33,.1);border-bottom:1px solid rgba(11,22,33,.1);--bp:#0b1621;--bp-blue:#315fdd;--bp-soft:rgba(49,95,221,.18)}
.blueprint-sticky{position:sticky;top:0;height:100svh;min-height:728px;padding:clamp(92px,9vh,128px) var(--pad) clamp(34px,4vh,52px);display:grid;grid-template-columns:minmax(270px,.38fr) minmax(580px,1fr);gap:clamp(40px,6vw,112px);align-items:center;overflow:hidden}
.blueprint-sticky:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(63,103,255,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(63,103,255,.035) 1px,transparent 1px);background-size:8.333vw 100%,100% 8.333vw;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);pointer-events:none}
.blueprint-copy{position:relative;z-index:2;align-self:center;max-width:520px}
.blueprint-kicker{margin:0 0 28px;font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--bp-blue)}
.blueprint-copy h2{margin:0;font-size:clamp(52px,5vw,78px);line-height:.94;letter-spacing:-.047em;font-weight:400}.blueprint-copy h2 em{font-family:var(--serif);font-style:normal;font-weight:400}
.blueprint-lead{margin:30px 0 0;max-width:38ch;color:var(--ink-soft);font-size:15px;line-height:1.72}
.blueprint-disciplines{margin-top:54px;border-top:1px solid rgba(11,22,33,.18);display:flex;flex-direction:column}
.blueprint-disciplines span{position:relative;padding:13px 0;font-size:11px;font-weight:700;letter-spacing:.145em;text-transform:uppercase;color:rgba(11,22,33,.48);transition:color .22s ease,padding-left .35s var(--ease),opacity .25s ease}
.blueprint-disciplines span+span{border-top:1px solid rgba(11,22,33,.07)}.blueprint-disciplines span.is-active{color:var(--ink);padding-left:18px}.blueprint-disciplines span.is-active:before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--bp-blue)}
.blueprint-progress{margin-top:28px;height:1px;background:rgba(11,22,33,.1);overflow:hidden}.blueprint-progress i{display:block;height:100%;width:0;background:var(--bp-blue)}
.blueprint-canvas{position:relative;z-index:2;height:min(89vh,900px);display:grid;place-items:center;min-width:0}
.blueprint-svg{display:block;width:min(70vw,920px);height:100%;max-width:100%;overflow:visible;filter:drop-shadow(0 14px 34px rgba(49,95,221,.05))}
.bp-paper-grid{fill:none;stroke:rgba(63,103,255,.065);stroke-width:1;vector-effect:non-scaling-stroke}.bp-paper-grid circle{stroke-dasharray:3 8}
.bp-datum{fill:none;stroke:rgba(63,103,255,.33);stroke-width:1;vector-effect:non-scaling-stroke}.bp-datum>path:first-child{stroke-dasharray:4 8}.bp-datum text,.bp-notes text,.bp-callouts text{fill:rgba(11,22,33,.62);font-family:var(--sans);font-size:9.5px;letter-spacing:1.45px}
.bp-line{fill:none;stroke:var(--bp);stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:square;stroke-linejoin:miter}.bp-primary{stroke-width:1.9}.bp-secondary{stroke:rgba(11,22,33,.50);stroke-width:1}.bp-accent{stroke:var(--bp-blue);stroke-width:1.15}.bp-window{fill:rgba(49,95,221,.025)}.bp-stair{stroke-dasharray:2 3}
.bp-part{transform-box:fill-box;transform-origin:center;will-change:transform,opacity;transition:filter .4s ease}.bp-beam{opacity:0;visibility:hidden;transform-origin:482px 214px;transform:translate(0px,0px) scaleX(.02);will-change:transform,opacity;transition:visibility 0s linear .28s}.bp-beam.is-on{visibility:visible;transition-delay:0s}
.bp-callouts g{opacity:0;will-change:opacity}.bp-callouts path{fill:none;stroke:rgba(49,95,221,.64);stroke-width:1.1;vector-effect:non-scaling-stroke}.bp-callouts rect{fill:var(--bp-blue)}.bp-callouts text{font-weight:750;fill:rgba(11,22,33,.72)}.bp-callouts circle{fill:var(--bp-blue)}
.blueprint-caption{position:absolute;left:2%;right:2%;bottom:1.5%;display:flex;align-items:center;justify-content:center;gap:16px;font-size:7px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(11,22,33,.52)}.blueprint-caption i{width:42px;height:1px;background:rgba(49,95,221,.62)}

/* The old dark statement is deliberately calmer after the blueprint moment. */
.signal-break{min-height:72svh;background:#07111b!important}.signal-break:before{display:none!important}.signal-break__beam{opacity:.18!important;height:1px!important;filter:none!important}.signal-break__center h2{font-size:clamp(64px,7.2vw,110px)!important}.signal-break__center p{opacity:.62}.signal-break__bottom{opacity:.48}

@media(max-width:1180px){
  .hero{grid-template-columns:1fr}.hero-precision{display:none}
  .blueprint-sticky{grid-template-columns:minmax(230px,.34fr) minmax(470px,1fr);gap:36px;padding-left:clamp(28px,4vw,56px);padding-right:clamp(28px,4vw,56px)}
  .blueprint-copy h2{font-size:clamp(44px,5.7vw,62px)}.blueprint-canvas{height:min(82vh,780px)}.blueprint-svg{width:min(72vw,760px)}
}
@media(max-width:900px){
  .blueprint-story{height:308svh}
  .blueprint-sticky{min-height:640px;padding:106px max(22px,env(safe-area-inset-right)) 26px max(22px,env(safe-area-inset-left));grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:8px;align-items:start}
  .blueprint-copy{max-width:none;display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:end}.blueprint-kicker{grid-column:1/-1;margin-bottom:2px;font-size:8px}.blueprint-copy h2{font-size:clamp(38px,6.6vw,52px);max-width:12ch}.blueprint-lead{display:none}.blueprint-disciplines{margin:0;border-top:0;align-self:end}.blueprint-disciplines span{display:none}.blueprint-disciplines span.is-active{display:block;padding:0 0 6px 0;font-size:9px;color:var(--ink)}.blueprint-disciplines span.is-active:before{display:none}.blueprint-progress{grid-column:1/-1;margin-top:8px}
  .blueprint-canvas{height:auto;min-height:0;align-self:stretch}.blueprint-svg{width:min(95vw,700px);height:min(67svh,660px)}.blueprint-caption{bottom:0;font-size:6px}
}
@media(max-width:560px){
  .blueprint-story{height:278svh}
  .blueprint-sticky{height:100svh;min-height:600px;padding:104px max(16px,env(safe-area-inset-right)) 22px max(16px,env(safe-area-inset-left));grid-template-rows:auto 1fr}
  .blueprint-copy h2{font-size:clamp(34px,10.4vw,43px);line-height:.96}.blueprint-kicker{font-size:7px;letter-spacing:.18em}.blueprint-disciplines span.is-active{font-size:7px;letter-spacing:.14em}
  .blueprint-svg{width:100%;height:min(64svh,590px)}.blueprint-caption{gap:9px;font-size:5.5px;letter-spacing:.14em}.blueprint-caption i{width:20px}
  .bp-datum text,.bp-notes text,.bp-callouts text{font-size:7px;letter-spacing:1.1px}.bp-callouts text{display:none}.bp-callouts path{opacity:.65}
}
@media(max-width:380px){.blueprint-sticky{padding-top:96px}.blueprint-copy h2{font-size:34px}.blueprint-svg{height:min(62svh,540px)}}
@media(prefers-reduced-motion:reduce){.bp-part,.bp-beam,.bp-callouts g{will-change:auto}.blueprint-story{height:auto}.blueprint-sticky{position:relative;height:auto;min-height:0;padding-top:var(--section);padding-bottom:var(--section)}.blueprint-progress,.blueprint-caption{display:none}}

/* =========================================================
   FAROS 3.1 — SIGNAL ENGINE HERO
   A custom-coded optical object: serious, fast, responsive.
   No canvas/WebGL, no animation framework.
   ========================================================= */
.hero{grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);column-gap:clamp(42px,6vw,110px)}
.hero-copy{max-width:760px;padding-right:0}
.hero-statement{position:relative}
.hero-statement:before{content:"";position:absolute;left:-22px;top:7%;width:1px;height:0;background:var(--accent);opacity:.72;animation:farosHeroRule 1.15s .35s var(--ease) forwards}
.hero-topline,.hero-copy,.hero-bottom{animation:farosHeroIn .85s var(--ease) both}
.hero-copy{animation-delay:.08s}.hero-bottom{animation-delay:.16s}
@keyframes farosHeroIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes farosHeroRule{to{height:38%}}

.hero-engine{position:relative;z-index:2;align-self:center;justify-self:end;width:min(40vw,610px);min-width:430px;aspect-ratio:1/1;color:var(--ink);perspective:1500px;isolation:isolate}
.hero-engine__meta{position:absolute;z-index:8;left:3%;right:3%;top:1.5%;display:flex;justify-content:space-between;gap:20px;font-size:7px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--ink-muted);pointer-events:none}
.hero-engine__meta span:last-child{display:flex;align-items:center;gap:8px}.hero-engine__meta span:last-child:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(101,120,255,.07)}
.engine-stage{position:absolute;inset:7% 1% 2%;width:98%;height:91%;display:block;border:0;background:transparent;color:inherit;cursor:crosshair;perspective:1500px;transform-style:preserve-3d;outline:none;--ex:0px;--ey:0px;--rx:0deg;--ry:0deg}
.engine-stage:focus-visible:after{content:"";position:absolute;inset:7%;border:1px solid var(--accent);pointer-events:none}
.engine-stage:before{content:"";position:absolute;inset:8.5%;border:1px solid rgba(11,22,33,.06);background:linear-gradient(rgba(11,22,33,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,22,33,.035) 1px,transparent 1px);background-size:25% 25%;transform:translateZ(-130px);transition:opacity .45s ease;opacity:.62}
.engine-stage:after{content:"";position:absolute;left:50%;top:8.5%;bottom:8.5%;width:1px;background:linear-gradient(transparent,rgba(11,22,33,.12) 18%,rgba(11,22,33,.12) 82%,transparent);transform:translateX(-50%) translateZ(-120px);opacity:.75}

.engine-plane{position:absolute;left:50%;top:50%;width:57%;height:57%;margin:-28.5% 0 0 -28.5%;display:block;border:1px solid rgba(11,22,33,.14);background:rgba(255,255,255,.72);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);box-shadow:0 20px 60px rgba(11,22,33,.025);transform-style:preserve-3d;transform-origin:center;transition:transform .9s var(--ease),border-color .45s ease,background .45s ease,opacity .45s ease;will-change:transform}
.engine-plane:before,.engine-plane:after{content:"";position:absolute;background:rgba(11,22,33,.11)}
.engine-plane:before{left:50%;top:0;bottom:0;width:1px}.engine-plane:after{left:0;right:0;top:50%;height:1px}
.engine-plane i,.engine-plane b{position:absolute;font-style:normal;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.engine-plane i{left:14px;top:12px;font-size:7px;font-weight:600;letter-spacing:.18em;color:var(--ink-muted)}
.engine-plane b{right:13px;bottom:11px;font-size:6px;font-weight:600;letter-spacing:.17em;color:rgba(11,22,33,.35)}
.engine-plane--strategy{transform:translate3d(calc(-29px + var(--ex)),calc(-18px + var(--ey)),-110px) rotateX(calc(1.5deg + var(--rx))) rotateY(calc(-7deg + var(--ry))) rotateZ(-2.2deg)}
.engine-plane--design{transform:translate3d(calc(-11px + var(--ex)),calc(-6px + var(--ey)),-48px) rotateX(calc(.7deg + var(--rx))) rotateY(calc(-3deg + var(--ry))) rotateZ(-.7deg)}
.engine-plane--engineering{transform:translate3d(calc(11px + var(--ex)),calc(7px + var(--ey)),28px) rotateX(calc(-.6deg + var(--rx))) rotateY(calc(2.8deg + var(--ry))) rotateZ(.7deg)}
.engine-plane--search{transform:translate3d(calc(30px + var(--ex)),calc(19px + var(--ey)),92px) rotateX(calc(-1.3deg + var(--rx))) rotateY(calc(6.5deg + var(--ry))) rotateZ(2deg);border-color:rgba(101,120,255,.27)}

.engine-core{position:absolute;z-index:6;left:50%;top:50%;width:116px;height:116px;transform:translate(-50%,-50%) translateZ(150px);transition:transform .9s var(--ease);pointer-events:none}
.engine-core:before,.engine-core:after,.engine-core i,.engine-core b,.engine-core em{content:"";position:absolute;display:block}
.engine-core:before{inset:0;border:1px solid rgba(11,22,33,.2);transform:rotate(45deg)}
.engine-core:after{inset:27px;border:1px solid rgba(11,22,33,.12);transform:rotate(45deg)}
.engine-core i{left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 9px rgba(101,120,255,.075),0 0 35px rgba(101,120,255,.24)}
.engine-core b{left:50%;top:-70px;width:1px;height:70px;background:linear-gradient(transparent,rgba(101,120,255,.52))}
.engine-core em{left:-70px;top:50%;width:70px;height:1px;background:linear-gradient(90deg,transparent,rgba(11,22,33,.16))}
.engine-focus{position:absolute;z-index:7;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ink);transform:translate(var(--focus-x,0px),var(--focus-y,0px)) translateZ(220px);transition:transform .16s linear,background .35s ease,box-shadow .35s ease;pointer-events:none}
.engine-focus i{position:absolute;left:50%;top:50%;width:42px;height:42px;border:1px solid rgba(11,22,33,.08);border-radius:50%;transform:translate(-50%,-50%)}
.engine-beam{position:absolute;z-index:5;left:50%;top:50%;width:48%;height:1px;transform-origin:left center;transform:translateY(-.5px) scaleX(.08) translateZ(100px);background:linear-gradient(90deg,var(--accent),rgba(101,120,255,.13),transparent);opacity:.45;transition:transform .9s var(--ease),opacity .45s ease;pointer-events:none}
.engine-caption{position:absolute;z-index:9;left:10%;right:10%;bottom:6.5%;display:flex;align-items:center;justify-content:center;gap:13px;font-size:6.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-muted);pointer-events:none}
.engine-caption>i{width:34px;height:1px;background:var(--line-strong)}

/* Expanded state — looks engineered, not playful. */
.hero-engine.is-expanded .engine-plane--strategy,.hero-engine.is-intro .engine-plane--strategy{transform:translate3d(calc(-92px + var(--ex)),calc(-54px + var(--ey)),-150px) rotateX(calc(4deg + var(--rx))) rotateY(calc(-15deg + var(--ry))) rotateZ(-5deg)}
.hero-engine.is-expanded .engine-plane--design,.hero-engine.is-intro .engine-plane--design{transform:translate3d(calc(-34px + var(--ex)),calc(-17px + var(--ey)),-58px) rotateX(calc(1.5deg + var(--rx))) rotateY(calc(-7deg + var(--ry))) rotateZ(-1.6deg)}
.hero-engine.is-expanded .engine-plane--engineering,.hero-engine.is-intro .engine-plane--engineering{transform:translate3d(calc(38px + var(--ex)),calc(19px + var(--ey)),56px) rotateX(calc(-1.5deg + var(--rx))) rotateY(calc(7deg + var(--ry))) rotateZ(1.6deg)}
.hero-engine.is-expanded .engine-plane--search,.hero-engine.is-intro .engine-plane--search{transform:translate3d(calc(96px + var(--ex)),calc(57px + var(--ey)),152px) rotateX(calc(-4deg + var(--rx))) rotateY(calc(15deg + var(--ry))) rotateZ(5deg);border-color:rgba(101,120,255,.55);background:rgba(250,251,255,.82)}
.hero-engine.is-expanded .engine-core,.hero-engine.is-intro .engine-core{transform:translate(-50%,-50%) translateZ(205px) scale(1.06)}
.hero-engine.is-expanded .engine-beam,.hero-engine.is-intro .engine-beam{transform:translateY(-.5px) scaleX(1) translateZ(120px);opacity:.92}
.hero-engine.is-expanded .engine-focus,.hero-engine.is-intro .engine-focus{background:var(--accent);box-shadow:0 0 0 8px rgba(101,120,255,.075)}
.hero-engine.is-expanded .engine-stage:before,.hero-engine.is-intro .engine-stage:before{opacity:.32}

@media(hover:hover) and (pointer:fine){
  .hero-engine:not(.is-locked):hover .engine-plane--strategy{transform:translate3d(calc(-68px + var(--ex)),calc(-41px + var(--ey)),-138px) rotateX(calc(3deg + var(--rx))) rotateY(calc(-12deg + var(--ry))) rotateZ(-4deg)}
  .hero-engine:not(.is-locked):hover .engine-plane--design{transform:translate3d(calc(-25px + var(--ex)),calc(-13px + var(--ey)),-56px) rotateX(calc(1deg + var(--rx))) rotateY(calc(-5deg + var(--ry))) rotateZ(-1.2deg)}
  .hero-engine:not(.is-locked):hover .engine-plane--engineering{transform:translate3d(calc(28px + var(--ex)),calc(15px + var(--ey)),48px) rotateX(calc(-1deg + var(--rx))) rotateY(calc(5deg + var(--ry))) rotateZ(1.2deg)}
  .hero-engine:not(.is-locked):hover .engine-plane--search{transform:translate3d(calc(71px + var(--ex)),calc(43px + var(--ey)),136px) rotateX(calc(-3deg + var(--rx))) rotateY(calc(12deg + var(--ry))) rotateZ(4deg)}
  .hero-engine:not(.is-locked):hover .engine-beam{transform:translateY(-.5px) scaleX(.82) translateZ(115px);opacity:.8}
}

/* Tablet — still a designed composition, never a shrunk desktop. */
@media(max-width:1180px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:10vh 0 4vh;max-width:820px}
  .hero-engine{justify-self:center;width:min(74vw,650px);min-width:0;margin:0 auto 58px}
  .hero-engine__meta{font-size:7px}
}
@media(max-width:900px){
  .hero-engine{width:min(82vw,590px);margin-top:4px}
  .engine-stage{inset:5% 0 2%;width:100%;height:93%}
  .engine-plane{width:55%;height:55%;margin:-27.5% 0 0 -27.5%}
  .engine-caption{bottom:4%;font-size:6px}
}
@media(max-width:560px){
  .hero{padding-bottom:22px}
  .hero-copy{padding:58px 0 24px}
  .hero-statement:before{left:-10px}
  .hero-engine{width:100%;max-width:430px;aspect-ratio:1/.92;margin:2px auto 30px}
  .hero-engine__meta{left:1%;right:1%;top:0;font-size:5.8px;letter-spacing:.15em}
  .engine-stage{inset:5% 0 0;height:95%;cursor:pointer}
  .engine-stage:before{inset:11% 5%}
  .engine-plane{width:58%;height:58%;margin:-29% 0 0 -29%}
  .engine-plane i{left:9px;top:8px;font-size:5.5px}.engine-plane b{right:8px;bottom:7px;font-size:4.8px}
  .engine-core{width:84px;height:84px}.engine-core:after{inset:21px}.engine-core b{top:-50px;height:50px}.engine-core em{left:-50px;width:50px}
  .engine-caption{left:3%;right:3%;bottom:2%;font-size:5px;letter-spacing:.13em;gap:8px}.engine-caption>i{width:20px}
  .hero-engine.is-expanded .engine-plane--strategy,.hero-engine.is-intro .engine-plane--strategy{transform:translate3d(calc(-49px + var(--ex)),calc(-34px + var(--ey)),-110px) rotateY(calc(-11deg + var(--ry))) rotateZ(-4deg)}
  .hero-engine.is-expanded .engine-plane--design,.hero-engine.is-intro .engine-plane--design{transform:translate3d(calc(-18px + var(--ex)),calc(-11px + var(--ey)),-42px) rotateY(calc(-5deg + var(--ry))) rotateZ(-1.3deg)}
  .hero-engine.is-expanded .engine-plane--engineering,.hero-engine.is-intro .engine-plane--engineering{transform:translate3d(calc(20px + var(--ex)),calc(12px + var(--ey)),44px) rotateY(calc(5deg + var(--ry))) rotateZ(1.3deg)}
  .hero-engine.is-expanded .engine-plane--search,.hero-engine.is-intro .engine-plane--search{transform:translate3d(calc(52px + var(--ex)),calc(35px + var(--ey)),112px) rotateY(calc(11deg + var(--ry))) rotateZ(4deg)}
}
@media(max-width:380px){.hero-engine{max-width:360px}.engine-caption span:last-child{display:none}.engine-caption>i{display:none}}
@media(prefers-reduced-motion:reduce){
  .hero-topline,.hero-copy,.hero-bottom,.hero-statement:before{animation:none!important}
  .engine-plane,.engine-core,.engine-beam,.engine-focus{transition:none!important;will-change:auto!important}
  .hero-engine.is-intro .engine-plane--strategy,.hero-engine.is-expanded .engine-plane--strategy{transform:translate3d(-34px,-21px,-110px) rotateY(-7deg) rotateZ(-2deg)}
  .hero-engine.is-intro .engine-plane--design,.hero-engine.is-expanded .engine-plane--design{transform:translate3d(-12px,-7px,-48px) rotateY(-3deg)}
  .hero-engine.is-intro .engine-plane--engineering,.hero-engine.is-expanded .engine-plane--engineering{transform:translate3d(12px,7px,28px) rotateY(3deg)}
  .hero-engine.is-intro .engine-plane--search,.hero-engine.is-expanded .engine-plane--search{transform:translate3d(34px,21px,92px) rotateY(7deg) rotateZ(2deg)}
}

/* =========================================================
   FAROS 3.2 — LIVE WORK DECK HERO
   Four real businesses live inside the signal engine.
   Closed = one quiet object. Open = four live windows.
   No animation framework, no continuous render loop.
   ========================================================= */
.hero-engine{width:min(42vw,680px);min-width:470px;aspect-ratio:1/1.02}
.engine-stage{inset:6% 0 1%;width:100%;height:93%;overflow:visible;cursor:pointer;perspective:1700px}
.engine-stage:before{inset:7%;opacity:.42;background:linear-gradient(rgba(11,22,33,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(11,22,33,.025) 1px,transparent 1px);background-size:20% 20%}
.engine-stage:after{opacity:.45}

.engine-plane{
  left:50%;top:50%;width:50%;height:35%;margin:-17.5% 0 0 -25%;
  display:grid;grid-template-rows:28px 1fr 25px;
  overflow:hidden;border:1px solid rgba(11,22,33,.13);background:#fff;
  box-shadow:0 16px 38px rgba(11,22,33,.045);
  transform-style:preserve-3d;backface-visibility:hidden;
  transition:transform .9s var(--ease),border-color .45s ease,box-shadow .65s var(--ease),opacity .35s ease;
  will-change:transform;pointer-events:none;
}
.engine-plane:before,.engine-plane:after{content:none!important}
.engine-plane__head,.engine-plane__foot{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;background:rgba(255,255,255,.95);font-family:var(--sans);text-transform:uppercase;white-space:nowrap}
.engine-plane__head{border-bottom:1px solid rgba(11,22,33,.08)}
.engine-plane__foot{border-top:1px solid rgba(11,22,33,.08)}
.engine-plane__head span{font-size:6.5px;font-weight:600;letter-spacing:.15em;color:var(--ink)}
.engine-plane__head small,.engine-plane__foot span{font-size:5.5px;font-weight:600;letter-spacing:.12em;color:var(--ink-muted)}
.engine-plane__foot a{position:relative;z-index:10;color:var(--ink);font-size:5.8px;font-weight:600;letter-spacing:.12em;text-decoration:none;pointer-events:auto}
.engine-plane__foot a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.engine-plane__foot a:hover:after{transform:scaleX(1);transform-origin:left}

.engine-plane__preview{position:relative;min-height:0;overflow:hidden;background:#f5f7f9;isolation:isolate}
.engine-plane__preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.84) contrast(.98);transform:scale(1.012);transition:filter .55s ease,transform 1.2s var(--ease)}
.engine-plane iframe{position:absolute;z-index:3;left:0;top:0;width:400%;height:400%;border:0;background:#fff;opacity:0;transform:scale(.25);transform-origin:0 0;pointer-events:none;transition:opacity .48s ease}
.engine-plane.is-live iframe{opacity:1}
.engine-plane.is-live .engine-plane__preview>img,.engine-plane.is-live .engine-site-fallback{opacity:0}
.engine-plane__loader{position:absolute;z-index:5;right:8px;bottom:8px;display:flex;align-items:center;gap:5px;padding:5px 7px;background:rgba(255,255,255,.92);border:1px solid rgba(11,22,33,.08);font:600 5px/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted);opacity:0;transition:opacity .25s ease}
.engine-plane__loader i{position:static!important;width:5px!important;height:5px!important;margin:0!important;border-radius:50%;background:var(--accent)!important;box-shadow:0 0 0 3px rgba(101,120,255,.09)!important}
.hero-engine.is-loading .engine-plane:not(.is-live) .engine-plane__loader{opacity:1}
.engine-plane.is-live .engine-plane__loader{opacity:0}

.engine-site-fallback{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;transition:opacity .45s ease}
.engine-site-fallback strong{font-family:var(--sans);font-size:clamp(17px,1.6vw,27px);font-weight:500;letter-spacing:.18em;color:var(--ink)}
.engine-site-fallback small{margin-top:7px;font:600 5px/1.3 var(--sans);letter-spacing:.17em;color:var(--ink-muted)}
.engine-site-fallback>i{position:relative!important;display:block!important;left:auto!important;top:auto!important;width:34px!important;height:1px!important;margin:12px 0 0!important;border-radius:0!important;background:var(--accent)!important;box-shadow:none!important}
.engine-site-fallback--yachts strong{letter-spacing:.24em}.engine-site-fallback--yachts small{font-size:7px;letter-spacing:.38em}
.engine-site-fallback--tide strong{letter-spacing:.09em}

/* Quiet closed object: four cards read as one engineered deck. */
.engine-plane--visionmarine{z-index:2;transform:translate3d(calc(-14px + var(--ex)),calc(-10px + var(--ey)),-90px) rotateX(calc(1deg + var(--rx))) rotateY(calc(-2deg + var(--ry))) rotateZ(-1.7deg)}
.engine-plane--tidesignal{z-index:3;transform:translate3d(calc(-6px + var(--ex)),calc(-4px + var(--ey)),-28px) rotateX(calc(.5deg + var(--rx))) rotateY(calc(-1deg + var(--ry))) rotateZ(-.7deg)}
.engine-plane--petkarma{z-index:4;transform:translate3d(calc(5px + var(--ex)),calc(4px + var(--ey)),28px) rotateX(calc(-.5deg + var(--rx))) rotateY(calc(1deg + var(--ry))) rotateZ(.7deg)}
.engine-plane--visionyachts{z-index:5;transform:translate3d(calc(14px + var(--ex)),calc(10px + var(--ey)),90px) rotateX(calc(-1deg + var(--rx))) rotateY(calc(2deg + var(--ry))) rotateZ(1.7deg);border-color:rgba(101,120,255,.34)}

/* Intro is only a glimpse. It never loads the remote sites. */
.hero-engine.is-intro .engine-plane--visionmarine{transform:translate3d(calc(-44px + var(--ex)),calc(-31px + var(--ey)),-105px) rotateZ(-3deg)}
.hero-engine.is-intro .engine-plane--tidesignal{transform:translate3d(calc(-16px + var(--ex)),calc(-11px + var(--ey)),-38px) rotateZ(-1deg)}
.hero-engine.is-intro .engine-plane--petkarma{transform:translate3d(calc(17px + var(--ex)),calc(12px + var(--ey)),38px) rotateZ(1deg)}
.hero-engine.is-intro .engine-plane--visionyachts{transform:translate3d(calc(45px + var(--ex)),calc(32px + var(--ey)),105px) rotateZ(3deg)}

/* Intentional open state: four live windows, all readable at once. */
.hero-engine.is-expanded .engine-plane{pointer-events:auto;border-color:rgba(11,22,33,.17);box-shadow:0 22px 50px rgba(11,22,33,.075)}
.hero-engine.is-expanded .engine-plane--visionmarine{z-index:6;transform:translate3d(calc(-154px + var(--ex)),calc(-112px + var(--ey)),42px) rotateZ(-2.6deg)}
.hero-engine.is-expanded .engine-plane--tidesignal{z-index:7;transform:translate3d(calc(154px + var(--ex)),calc(-112px + var(--ey)),26px) rotateZ(2.6deg)}
.hero-engine.is-expanded .engine-plane--petkarma{z-index:8;transform:translate3d(calc(-154px + var(--ex)),calc(112px + var(--ey)),18px) rotateZ(2deg)}
.hero-engine.is-expanded .engine-plane--visionyachts{z-index:9;transform:translate3d(calc(154px + var(--ex)),calc(112px + var(--ey)),34px) rotateZ(-2deg)}
.hero-engine.is-expanded .engine-core{opacity:.15;transform:translate(-50%,-50%) translateZ(-150px) scale(.8)}
.hero-engine.is-expanded .engine-focus{opacity:0}
.hero-engine.is-expanded .engine-beam{transform:translateY(-.5px) scaleX(1.05) translateZ(-80px);opacity:.3}
.hero-engine.is-expanded .engine-caption{opacity:0}
.hero-engine.is-expanded .engine-stage:before{opacity:.18}

@media(hover:hover) and (pointer:fine){
  .hero-engine:not(.is-expanded):not(.is-locked):hover .engine-plane--visionmarine{transform:translate3d(calc(-34px + var(--ex)),calc(-25px + var(--ey)),-100px) rotateZ(-2.6deg)}
  .hero-engine:not(.is-expanded):not(.is-locked):hover .engine-plane--tidesignal{transform:translate3d(calc(-13px + var(--ex)),calc(-9px + var(--ey)),-34px) rotateZ(-.9deg)}
  .hero-engine:not(.is-expanded):not(.is-locked):hover .engine-plane--petkarma{transform:translate3d(calc(14px + var(--ex)),calc(10px + var(--ey)),34px) rotateZ(.9deg)}
  .hero-engine:not(.is-expanded):not(.is-locked):hover .engine-plane--visionyachts{transform:translate3d(calc(35px + var(--ex)),calc(26px + var(--ey)),100px) rotateZ(2.6deg)}
  .hero-engine.is-expanded .engine-plane:hover{border-color:rgba(101,120,255,.48);box-shadow:0 28px 65px rgba(11,22,33,.10)}
  .hero-engine.is-expanded .engine-plane:hover .engine-plane__preview>img{transform:scale(1.035);filter:saturate(.94) contrast(1)}
}

@media(max-width:1180px){
  .hero-engine{width:min(82vw,690px);min-width:0;aspect-ratio:1/1;margin-bottom:72px}
  .hero-engine.is-expanded .engine-plane--visionmarine{transform:translate3d(-150px,-108px,36px) rotateZ(-2.2deg)}
  .hero-engine.is-expanded .engine-plane--tidesignal{transform:translate3d(150px,-108px,24px) rotateZ(2.2deg)}
  .hero-engine.is-expanded .engine-plane--petkarma{transform:translate3d(-150px,108px,18px) rotateZ(1.7deg)}
  .hero-engine.is-expanded .engine-plane--visionyachts{transform:translate3d(150px,108px,30px) rotateZ(-1.7deg)}
}
@media(max-width:760px){
  .hero-engine{width:min(92vw,560px);aspect-ratio:1/1.04;margin-bottom:48px}
  .engine-stage{inset:5% 0 0;height:95%}
  .engine-plane{width:47%;height:34%;margin:-17% 0 0 -23.5%;grid-template-rows:25px 1fr 23px}
  .engine-plane__head,.engine-plane__foot{padding:0 7px}
  .engine-plane__head span{font-size:5.8px}.engine-plane__head small{display:none}.engine-plane__foot span{font-size:4.6px}.engine-plane__foot a{font-size:5px}
  .hero-engine.is-expanded .engine-plane--visionmarine{transform:translate3d(-113px,-86px,30px) rotateZ(-2deg)}
  .hero-engine.is-expanded .engine-plane--tidesignal{transform:translate3d(113px,-86px,20px) rotateZ(2deg)}
  .hero-engine.is-expanded .engine-plane--petkarma{transform:translate3d(-113px,86px,14px) rotateZ(1.4deg)}
  .hero-engine.is-expanded .engine-plane--visionyachts{transform:translate3d(113px,86px,24px) rotateZ(-1.4deg)}
}
@media(max-width:560px){
  .hero-engine{max-width:430px;width:100%;aspect-ratio:1/1.08;margin:6px auto 38px}
  .hero-engine__meta{top:0;font-size:5.5px}
  .engine-stage{inset:6% 0 0;height:94%}
  .engine-plane{width:46%;height:31%;margin:-15.5% 0 0 -23%;grid-template-rows:22px 1fr 21px}
  .engine-plane__head span{font-size:5px;letter-spacing:.11em}.engine-plane__foot span{display:none}.engine-plane__foot{justify-content:flex-end}.engine-plane__foot a{font-size:4.7px}
  .engine-site-fallback strong{font-size:12px}.engine-site-fallback small{display:none}
  .engine-plane__loader{right:5px;bottom:5px;padding:4px 5px;font-size:4px}
  .hero-engine.is-expanded .engine-plane--visionmarine{transform:translate3d(-83px,-69px,24px) rotateZ(-1.6deg)}
  .hero-engine.is-expanded .engine-plane--tidesignal{transform:translate3d(83px,-69px,18px) rotateZ(1.6deg)}
  .hero-engine.is-expanded .engine-plane--petkarma{transform:translate3d(-83px,69px,12px) rotateZ(1.2deg)}
  .hero-engine.is-expanded .engine-plane--visionyachts{transform:translate3d(83px,69px,20px) rotateZ(-1.2deg)}
  .engine-caption{font-size:4.8px}.engine-caption span:last-child{display:inline}
}
@media(max-width:390px){
  .hero-engine{max-width:360px;aspect-ratio:1/1.12}
  .hero-engine.is-expanded .engine-plane--visionmarine{transform:translate3d(-69px,-59px,20px) rotateZ(-1.4deg)}
  .hero-engine.is-expanded .engine-plane--tidesignal{transform:translate3d(69px,-59px,16px) rotateZ(1.4deg)}
  .hero-engine.is-expanded .engine-plane--petkarma{transform:translate3d(-69px,59px,10px) rotateZ(1deg)}
  .hero-engine.is-expanded .engine-plane--visionyachts{transform:translate3d(69px,59px,18px) rotateZ(-1deg)}
}
@media(prefers-reduced-motion:reduce){
  .engine-plane{transition:none!important;will-change:auto!important}
  .hero-engine.is-intro .engine-plane--visionmarine{transform:translate3d(-14px,-10px,-90px) rotateZ(-1.7deg)}
  .hero-engine.is-intro .engine-plane--tidesignal{transform:translate3d(-6px,-4px,-28px) rotateZ(-.7deg)}
  .hero-engine.is-intro .engine-plane--petkarma{transform:translate3d(5px,4px,28px) rotateZ(.7deg)}
  .hero-engine.is-intro .engine-plane--visionyachts{transform:translate3d(14px,10px,90px) rotateZ(1.7deg)}
}


/* =========================================================
   FAROS BLACKLABEL 3.3 — COLLABORATIONS / SERVICES
   Live work is open by default, but loaded only near viewport.
========================================================= */
.hero-heading{margin:0;font-size:inherit;font-weight:400;line-height:inherit}
.anchor-alias{position:absolute;top:-100px;left:0;width:1px;height:1px;pointer-events:none}
.services-section{position:relative}

.collaborations{background:#fff}
.collaborations-head{grid-template-columns:.28fr minmax(0,1fr) minmax(250px,.42fr);align-items:end}
.collaborations-head h2 em{font-family:var(--serif);font-style:normal;font-weight:400}
.collaboration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(74px,7vw,126px) clamp(30px,4.6vw,72px)}
.collaboration-card{min-width:0;border-top:1px solid var(--ink);padding-top:clamp(26px,2.5vw,38px)}
.collaboration-brand{text-align:center;display:flex;flex-direction:column;align-items:center;padding:clamp(16px,2vw,30px) 16px clamp(28px,3vw,44px)}
.collaboration-logo{width:min(70%,330px);height:clamp(62px,6vw,92px);display:grid;place-items:center;margin:0 auto clamp(18px,1.8vw,25px)}
.collaboration-logo img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;filter:none}
.collaboration-wordmark{display:block;font-size:clamp(20px,2vw,31px);font-weight:500;letter-spacing:.17em;line-height:1;white-space:nowrap;color:var(--ink)}
.collaboration-wordmark--tide-signal{font-family:var(--serif);font-size:clamp(25px,2.35vw,38px);letter-spacing:.02em}
.collaboration-wordmark--petkarma{letter-spacing:.08em;font-weight:600}
.collaboration-wordmark--vision-yachts{letter-spacing:.22em;font-size:clamp(18px,1.8vw,28px)}
.collaboration-brand h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(35px,3.25vw,56px);line-height:.96;letter-spacing:-.04em}
.collaboration-brand p{margin:15px 0 0;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--ink-muted);font-size:7px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.collaboration-brand p i{width:24px;height:1px;background:var(--line-strong)}

.collaboration-live{position:relative;border:1px solid rgba(11,22,33,.14);background:#f7f8fa;overflow:hidden;box-shadow:0 18px 48px rgba(11,22,33,.045);transition:border-color .45s ease,transform .8s var(--ease),box-shadow .8s var(--ease)}
@media (hover:hover) and (pointer:fine){.collaboration-live:hover{transform:translateY(-3px);border-color:rgba(11,22,33,.24);box-shadow:0 26px 64px rgba(11,22,33,.07)}}
.collaboration-live__bar{height:42px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 14px 0 15px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);font-size:6.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.collaboration-live__status{justify-self:start;display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.collaboration-live__status i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(101,120,255,.10)}
.collaboration-live__domain{justify-self:center;text-transform:none;letter-spacing:.08em;font-size:7.5px;color:var(--ink-soft)}
.collaboration-live__bar>a{justify-self:end;color:var(--ink);padding:6px 0;border-bottom:1px solid rgba(11,22,33,.24)}
.collaboration-live__bar>a:hover{border-color:var(--accent)}
.collaboration-live__viewport{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f5f6f8}
.collaboration-live__fallback,.collaboration-live__iframe,.collaboration-live__loader{position:absolute;inset:0}
.collaboration-live__fallback{z-index:0;overflow:hidden;background:#f5f6f8}
.collaboration-live__fallback img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.94) contrast(1.015)}
.collaboration-live__fallback--brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:linear-gradient(180deg,#fff,#f7f8fb);color:var(--ink)}
.collaboration-live__fallback--brand:before{content:"";position:absolute;inset:10%;border:1px solid rgba(11,22,33,.07);background-image:linear-gradient(to right,rgba(11,22,33,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,22,33,.035) 1px,transparent 1px);background-size:20% 100%,100% 20%}
.collaboration-live__fallback--brand span,.collaboration-live__fallback--brand small{position:relative;z-index:1}
.collaboration-live__fallback--brand span{font-size:clamp(24px,2.8vw,44px);letter-spacing:.16em;font-weight:500}
.collaboration-live__fallback--brand small{font-size:7px;letter-spacing:.14em;color:var(--ink-muted)}
.collaboration-live__iframe{z-index:2;width:100%;height:100%;border:0;background:#fff;opacity:0;transition:opacity .55s ease;pointer-events:auto;-webkit-overflow-scrolling:touch}
.collaboration-live.is-loaded .collaboration-live__iframe{opacity:1}
.collaboration-live__loader{z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.82);color:var(--ink-muted);font-size:6.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:opacity .35s ease,visibility .35s ease}
.collaboration-live__loader i{width:17px;height:17px;border:1px solid rgba(11,22,33,.16);border-top-color:var(--accent);border-radius:50%;animation:farosSpin .85s linear infinite}
.collaboration-live.is-loaded .collaboration-live__loader{opacity:0;visibility:hidden}

.collaboration-foot{padding-top:22px}
.collaboration-foot>p{margin:0;max-width:48ch;color:var(--ink-soft);font-size:12.5px;line-height:1.65}
.collaboration-foot>div{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--ink-muted);font-size:7px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.collaboration-foot nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.collaboration-foot a{color:var(--ink);position:relative}
.collaboration-foot a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.collaboration-foot a:hover:after{transform:scaleX(1);transform-origin:left}

/* Services gets cleaner authority, not another UI card wall. */
.services-section .section-kicker p{color:var(--ink)}
.services-section .cap-intro h2{max-width:12ch}
.services-section .cap-detail{background:transparent}

@media(max-width:1180px){
  .collaborations-head{grid-template-columns:1fr;gap:22px;align-items:start}
  .collaborations-head .work-head__note{max-width:58ch}
  .collaboration-grid{grid-template-columns:1fr;gap:90px}
  .collaboration-card{max-width:900px;width:100%;margin-inline:auto}
  .collaboration-live__viewport{aspect-ratio:16/9}
  .collaboration-logo{width:min(58%,320px)}
}
@media(max-width:760px){
  .collaboration-grid{gap:72px}
  .collaboration-card{padding-top:22px}
  .collaboration-brand{padding:12px 8px 25px}
  .collaboration-logo{height:68px;width:min(72%,280px);margin-bottom:16px}
  .collaboration-brand h3{font-size:clamp(34px,10vw,48px)}
  .collaboration-brand p{font-size:6.5px;margin-top:12px}
  .collaboration-live__bar{height:40px;grid-template-columns:1fr auto;padding:0 11px 0 12px;font-size:6px}
  .collaboration-live__domain{display:none}
  .collaboration-live__viewport{aspect-ratio:4/3}
  .collaboration-foot{padding-top:17px}
  .collaboration-foot>p{font-size:12px;line-height:1.6}
  .collaboration-foot>div{align-items:flex-start;flex-direction:column;margin-top:19px;padding-top:15px;gap:14px;font-size:6.3px}
  .collaboration-foot nav{justify-content:flex-start;gap:20px}
}
@media(max-width:430px){
  .collaboration-live__viewport{aspect-ratio:1/.82}
  .collaboration-live__bar>a{font-size:5.8px}
  .collaboration-wordmark{font-size:20px}
  .collaboration-wordmark--tide-signal{font-size:25px}
  .collaboration-wordmark--vision-yachts{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.collaboration-live{transform:none!important}.collaboration-live__iframe,.collaboration-live__loader{transition:none!important}}

/* =========================================================
   FAROS BLACKLABEL 4.1 — EXECUTIVE PRECISION
   Built from the stronger 3.4 base. No ornamental circles,
   no rate-card language, no glitch aesthetics, no visual noise.
========================================================= */
:root{
  --paper:#fbfbf8;
  --ink:#0a1722;
  --ink-soft:rgba(10,23,34,.68);
  --ink-muted:rgba(10,23,34,.44);
  --line:rgba(10,23,34,.12);
  --line-strong:rgba(10,23,34,.24);
  --accent:#244f6f;
  --night:#07131d;
  --ease:cubic-bezier(.16,1,.3,1);
}
html{background:var(--paper);scroll-padding-top:94px}
body{background:var(--paper)}
body:before{display:none!important}
::selection{background:var(--ink);color:#fff}

/* Header — the logo is now a tightly cropped asset, so size the mark not the transparent canvas. */
.site-header{
  height:104px!important;
  padding:0 var(--pad)!important;
  grid-template-columns:auto 1fr auto!important;
  gap:clamp(28px,4vw,68px)!important;
  background:rgba(251,251,248,.02)!important;
  border-bottom:1px solid transparent;
  transition:height .55s var(--ease),background-color .35s ease,border-color .35s ease!important;
}
.site-header:after{display:none!important}
.brand{width:clamp(166px,12.6vw,214px)!important;line-height:0;transition:width .55s var(--ease),opacity .3s ease!important}
.brand img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.site-nav{justify-self:center}
.site-nav__list{gap:clamp(24px,2.5vw,44px)}
.site-nav__list a,.header-cta{font-size:10.5px!important;letter-spacing:.015em!important}
.site-nav__list a:after{height:1px;background:var(--accent);bottom:-9px}
.header-cta{border-bottom:1px solid rgba(10,23,34,.35)!important;padding:10px 0 8px!important}
.header-cta:hover{border-color:var(--accent)!important}
body.is-scrolled .site-header{height:72px!important;background:rgba(251,251,248,.94)!important;border-bottom-color:var(--line)!important;box-shadow:none!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.is-scrolled .brand{width:148px!important}
.faros-progress{height:1px}.faros-progress i{background:var(--accent)}

/* Hero — architectural, not decorative. */
.hero{
  min-height:100svh;
  padding:132px var(--pad) 28px!important;
  grid-template-columns:minmax(0,1.05fr) minmax(455px,.95fr)!important;
  column-gap:clamp(42px,5vw,86px);
  background:var(--paper)!important;
}
.hero:before{
  opacity:1!important;
  background-image:linear-gradient(to right,rgba(10,23,34,.035) 1px,transparent 1px)!important;
  background-size:12.5vw 100%!important;
  mask-image:linear-gradient(90deg,#000 0,#000 76%,transparent 100%)!important;
}
.hero:after{display:none!important}
.hero-topline{padding-bottom:17px;border-bottom-color:rgba(10,23,34,.17);font-size:7.5px}
.availability i{width:5px;height:5px;border-radius:0!important;box-shadow:none!important;background:var(--accent);transform:rotate(45deg);margin-right:10px}
.hero-copy{padding-right:clamp(18px,3vw,54px)}
.micro-label{padding-left:45px!important;margin-bottom:25px!important;position:relative;color:var(--ink-muted)}
.micro-label:before{width:29px!important;background:var(--accent)!important}
.hero-serif{font-size:clamp(76px,7.25vw,136px)!important;letter-spacing:-.052em!important;line-height:.87!important}
.hero-dynamic:after{background:linear-gradient(90deg,var(--accent),rgba(36,79,111,.20),transparent)!important;height:1px!important;opacity:.8!important}
.hero-statement:hover .hero-dynamic:after,.hero-statement.is-active .hero-dynamic:after{transform:scaleX(.72)!important}
.hero-hint{color:var(--ink-muted);letter-spacing:.18em}
.hero-hint:before{background:var(--line-strong)}
.hero-lead{font-size:clamp(14px,1vw,17px);max-width:46ch;line-height:1.72;color:var(--ink-soft)}
.hero-services{font-size:7.3px;letter-spacing:.15em;color:var(--ink-muted);gap:10px 13px}
.hero-services span{color:rgba(10,23,34,.73)}
.hero-services i{height:11px;transform:none;background:rgba(10,23,34,.20)}
.hero-bottom{border-top-color:rgba(10,23,34,.16);padding-top:16px}
.hero-bottom i{background:rgba(10,23,34,.18)}

/* Live work deck — retain the wow, remove the toy-like targets/circles. */
.hero-engine{width:min(41vw,670px)!important;min-width:470px}
.engine-stage{perspective:1900px;cursor:pointer!important}
.engine-stage:before{opacity:.38!important;background-size:25% 25%!important}
.engine-stage:after{opacity:.40!important}
.engine-core,.engine-focus{display:none!important}
.engine-beam{height:1px!important;opacity:.42!important;background:linear-gradient(90deg,var(--accent),rgba(36,79,111,.08),transparent)!important;filter:none!important}
.engine-plane{border-radius:0!important;box-shadow:0 12px 34px rgba(7,19,29,.045)!important;border-color:rgba(10,23,34,.14)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.engine-plane:before,.engine-plane:after{display:none!important}
.engine-plane__head,.engine-plane__foot{background:rgba(255,255,255,.97)!important}
.engine-plane__preview>img{transition:transform .9s var(--ease),filter .45s ease;filter:saturate(.88) contrast(1.01)}
.hero-engine.is-expanded .engine-plane__preview>img{filter:saturate(1) contrast(1.01)}
.engine-caption{color:var(--ink-muted);letter-spacing:.15em}
.engine-caption>i{background:var(--line-strong)}

/* Remove legacy ornamental circles / template shine across earlier theme layers. */
.work-stage:before,.cap-detail:after,.signal-break:before{display:none!important}
.work-stage:after{display:none!important}
.cap-detail:before{display:none!important}

/* Institutional sections. */
.section-kicker{grid-template-columns:36px auto!important;gap:12px;color:var(--ink-muted)}
.section-kicker:before{content:"";display:block;width:36px;height:1px;background:var(--accent)}
.section-kicker p{grid-column:2;margin:0}
.position{background:#fff}
.position:after{font-size:clamp(100px,12vw,220px)!important;color:rgba(10,23,34,.018)!important}
.display-statement{letter-spacing:-.052em}
.display-statement em:after{background:linear-gradient(90deg,var(--accent),transparent)!important}
.standard-rail{background:var(--paper)}
.standard-rail__items>div:before{height:1px!important;background:var(--accent)!important}

/* Work — clean live proof, no spectacle for spectacle's sake. */
.collaborations{background:#fff}
.collaboration-card{border-top-color:rgba(10,23,34,.32)}
.collaboration-brand{padding-top:12px}
.collaboration-logo{filter:none!important}
.collaboration-live{border-radius:0;box-shadow:0 14px 38px rgba(7,19,29,.04);transition:transform .65s var(--ease),border-color .3s ease,box-shadow .65s var(--ease)}
@media(hover:hover) and (pointer:fine){.collaboration-live:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(7,19,29,.055);border-color:rgba(10,23,34,.25)}}
.collaboration-live__status i{width:5px;height:5px;border-radius:0;box-shadow:none;background:var(--accent);transform:rotate(45deg)}
.collaboration-foot a:after{background:var(--accent)}

/* Blueprint — technical drawing, not tech-art. */
.blueprint-story{--bp-blue:var(--accent)!important;--bp-soft:rgba(36,79,111,.12)!important;background:#f3f5f5!important}
.blueprint-sticky:before{opacity:.48!important}
.bp-paper-grid{stroke:rgba(36,79,111,.045)!important}
.bp-callouts rect{fill:var(--accent)}
.bp-callouts path{stroke:rgba(36,79,111,.38)!important}
.blueprint-kicker{color:var(--accent)!important}
.blueprint-disciplines span.is-active:before{background:var(--accent)!important}

/* Services — consulting leads, indexed disciplines, advisory-firm clarity. */
.services-section{background:#fff}
.cap-grid{grid-template-columns:minmax(230px,.38fr) minmax(430px,.82fr) minmax(300px,.48fr);gap:clamp(42px,5vw,82px)}
.cap-intro h2{max-width:12ch}
.cap-list{border-top-color:rgba(10,23,34,.48)}
.services-section .cap-row{grid-template-columns:minmax(0,1fr) auto auto!important;column-gap:20px;min-height:82px;padding:24px 0!important;position:relative}
.services-section .cap-row:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--accent);transition:width .65s var(--ease)}
.services-section .cap-row:hover:before,.services-section .cap-row.is-active:before{width:100%}
.services-section .cap-row strong{font-size:clamp(27px,2.4vw,42px);color:var(--ink)!important}
.cap-index{justify-self:end!important;font-size:7px!important;font-weight:600!important;letter-spacing:.16em!important;color:var(--ink-muted)!important}
.cap-row:hover,.cap-row.is-active{padding-left:10px!important}
.cap-row em{font-size:16px}
.cap-detail{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-top:1px solid rgba(10,23,34,.48)!important;padding-top:18px!important;min-height:390px}
.cap-detail__signal{margin-top:45px}
.cap-detail__signal i{width:32px;background:var(--accent)}
.cap-detail__signal i:after{width:5px;height:5px;border-radius:0!important;box-shadow:none!important;background:var(--accent);transform:translate(50%,-50%) rotate(45deg)}
.cap-detail h3{margin-top:48px;font-size:clamp(36px,3.25vw,57px);max-width:11ch}
.cap-detail__rule{background:linear-gradient(90deg,var(--accent),rgba(36,79,111,.12),transparent)}
.service-note{margin-top:clamp(64px,7vw,104px);padding-top:20px;border-top:1px solid rgba(10,23,34,.42);display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);gap:34px}
.service-note>span{font-size:8px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}
.service-note p{margin:0;max-width:64ch;font-size:15px;line-height:1.68;color:var(--ink-soft)}

/* Dark statement — one beam, strong type, zero concentric circles. */
.signal-break{min-height:76svh!important;background:var(--night)!important}
.signal-break:after{content:"";position:absolute;left:var(--pad);right:var(--pad);top:50%;height:1px;background:rgba(255,255,255,.07);z-index:-1}
.signal-break__beam{width:58vw!important;height:1px!important;opacity:.32!important;filter:none!important;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.17),transparent)!important;animation-duration:18s!important}
.signal-break__center h2{font-size:clamp(68px,8.4vw,142px)!important}
.signal-break__center h2 em:after{height:1px!important;background:linear-gradient(90deg,var(--accent),transparent)!important}

/* Process / contact — boardroom clarity. */
.process-list li{transition:padding-left .5s var(--ease),opacity .3s ease}
.process-list li:hover{padding-left:8px}
.contact{background:#fff}
.contact-kicker{border-bottom-color:rgba(10,23,34,.34)}
.contact-principle{padding-top:18px;border-top:1px solid var(--line);font-size:11px!important;line-height:1.65!important;color:var(--ink-muted)!important;max-width:46ch!important}
.project-form input,.project-form select,.project-form textarea{border-radius:0!important}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--accent)!important}
.submit{background:var(--ink);transition:transform .4s var(--ease),background .25s ease}
.submit:hover{transform:translateY(-2px);background:#102636}

/* Footer — logo behaves like a wordmark, not a banner. */
.site-footer{background:var(--paper)}
.footer-logo{width:clamp(176px,15vw,238px)!important;line-height:0}
.footer-logo img{width:100%;height:auto}
.footer-disciplines{font-size:7.5px}

@media(max-width:1180px){
  .site-header{height:92px!important}.brand{width:178px!important}body.is-scrolled .brand{width:146px!important}
  .hero{grid-template-columns:1fr!important;padding-top:116px!important;min-height:auto}.hero-copy{max-width:850px;padding:9vh 0 5vh}.hero-engine{width:min(82vw,690px)!important;min-width:0;margin:0 auto 68px}
  .cap-grid{grid-template-columns:1fr 1fr;gap:54px}.cap-intro{grid-column:1/-1;max-width:740px}.cap-detail{position:relative;top:auto;min-height:0}
}
@media(max-width:900px){
  .site-header{height:84px!important}.brand{width:164px!important}body.is-scrolled .site-header{height:68px!important}body.is-scrolled .brand{width:140px!important}
  .mobile-menu{background:var(--night)!important;color:#fff!important;padding-top:112px!important}.mobile-menu__nav a{border-color:rgba(255,255,255,.14)!important;font-family:var(--sans)!important;letter-spacing:-.04em}.mobile-menu__foot{color:rgba(255,255,255,.5)!important}.menu-toggle span{background:var(--ink)}body.menu-open .menu-toggle span{background:#fff}
  .cap-grid{grid-template-columns:1fr}.cap-intro{grid-column:auto}.service-note{grid-template-columns:1fr;gap:12px}
}
@media(max-width:560px){
  :root{--pad:18px;--section:82px}
  .site-header{height:76px!important;padding:0 18px!important}.brand{width:146px!important}body.is-scrolled .site-header{height:62px!important}body.is-scrolled .brand{width:128px!important}
  .hero{padding:94px 18px 20px!important}.hero-topline{font-size:6px}.hero-copy{padding:8vh 0 4vh}.micro-label{padding-left:34px!important}.micro-label:before{width:22px!important}.hero-serif{font-size:clamp(48px,14.5vw,68px)!important}.hero-lead{font-size:13.5px}.hero-services{font-size:5.8px;gap:7px 8px}.hero-engine{width:100%!important;margin-bottom:44px}.engine-caption{font-size:4.7px}
  .collaboration-grid{gap:74px}.collaboration-live{box-shadow:none}
  .cap-row{min-height:68px!important}.services-section .cap-row strong{font-size:clamp(27px,8vw,35px)}.cap-index{font-size:6px!important}.cap-detail{padding-top:15px!important}.cap-detail h3{font-size:clamp(37px,10.4vw,50px);margin-top:30px}.service-note{margin-top:54px}.service-note p{font-size:13px}
  .signal-break{min-height:620px!important}.signal-break__bottom{gap:7px}.signal-break__bottom i{width:15px}
  .footer-logo{width:172px!important}
}
@media(prefers-reduced-motion:reduce){
  .engine-plane,.collaboration-live,.process-list li,.signal-break__beam{transition:none!important;animation:none!important}
}

/* Final micro-polish: all visible status markers use precision geometry, not circular ornaments. */
.hero-engine__meta span:last-child:before{width:5px!important;height:5px!important;border-radius:0!important;box-shadow:none!important;background:var(--accent)!important;transform:rotate(45deg)}
.engine-plane__loader i{width:18px!important;height:1px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--accent)!important;animation:farosLinePulse 1.1s ease-in-out infinite!important}
.collaboration-live__loader i{width:20px!important;height:1px!important;border:0!important;border-radius:0!important;background:var(--accent)!important;animation:farosLinePulse 1.1s ease-in-out infinite!important}
@keyframes farosLinePulse{0%,100%{transform:scaleX(.42);opacity:.38}50%{transform:scaleX(1);opacity:1}}


/* FAROS 4.2 blueprint refinement — larger assembled lighthouse and more authoritative feel. */
.blueprint-copy h2{max-width:11ch}
.bp-beam path{filter:drop-shadow(0 0 12px rgba(49,95,221,.12))}
.bp-part.is-assembled .bp-primary,.bp-part.is-assembled .bp-accent{filter:drop-shadow(0 0 1px rgba(49,95,221,.16))}
.bp-datum text:first-of-type{font-weight:600}


/* FAROS 4.3 blueprint clarity — open first, clearer layer labels, cleaner assembly. */
.blueprint-disciplines span.is-active{font-weight:700;color:var(--ink)}
.bp-callouts g.is-active text{fill:var(--ink)}


/* FAROS 4.4 architectural lighthouse — exact joints, restrained exploded elevation. */
.bp-part.is-assembled .bp-primary{stroke-width:2}
.bp-part.is-assembled .bp-secondary{stroke:rgba(11,22,33,.54)}
.bp-part.is-assembled .bp-accent{stroke:var(--bp-blue)}
.bp-beam.is-on path{filter:drop-shadow(0 0 8px rgba(49,95,221,.11))}


/* FAROS 4.5 blueprint correction — true open state, attached beam, bolder drafting. */
.bp-callouts g.is-active text{fill:var(--ink);font-weight:800}
.bp-callouts g.is-active path{stroke:rgba(49,95,221,.88)}
.bp-callouts g.is-active rect{width:7px;height:7px}
.blueprint-disciplines span{font-size:10.5px}
.blueprint-disciplines span.is-active{padding-left:20px}
.bp-beam path{opacity:.95}
@media(max-width:560px){.bp-datum text,.bp-notes text,.bp-callouts text{font-size:7.5px}}


/* ==========================================================================\n   FAROS 4.7 — SCROLL CAMPAIGN / BRAND FILM\n   A four-act, scroll-directed statement. No gimmicks, no ornamental circles.\n   ========================================================================== */
.signal-film{position:relative;height:310svh;background:#06111b;color:#fff;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(8,20,31,.16);--film-p:0;--film-stage:0;--film-blue:#315fdd}
.signal-film__sticky{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden;isolation:isolate;padding:clamp(26px,3.3vh,40px) var(--pad);display:grid;grid-template-rows:auto 1fr auto;background:linear-gradient(180deg,#06111b 0%,#07131f 52%,#06111b 100%)}
.signal-film__sticky:before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:50%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.07) 14%,rgba(255,255,255,.13) 50%,rgba(255,255,255,.07) 86%,transparent 100%);z-index:-2}
.signal-film__grid{position:absolute;inset:0;pointer-events:none;z-index:-3;background-image:linear-gradient(90deg,transparent calc(25% - .5px),rgba(255,255,255,.022) 25%,transparent calc(25% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.028) 50%,transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(75% - .5px),rgba(255,255,255,.022) 75%,transparent calc(75% + .5px));opacity:.72}
.signal-film__trace{position:absolute;left:50%;top:50%;width:min(45vw,760px);height:1px;transform-origin:0 50%;transform:rotate(27deg);z-index:-1;opacity:.9;pointer-events:none}
.signal-film__trace:before{content:"";position:absolute;inset:-1px 0 auto 0;height:1px;background:rgba(255,255,255,.05)}
.signal-film__trace i{display:block;width:calc(var(--film-p) * 100%);height:1px;background:linear-gradient(90deg,rgba(49,95,221,.95),rgba(162,190,255,.42) 44%,rgba(255,255,255,.05));box-shadow:0 0 20px rgba(49,95,221,.08)}
.signal-film__top,.signal-film__bottom{position:relative;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-size:7px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:rgba(255,255,255,.43)}
.signal-film__top>span:last-child{text-align:right}.signal-film__counter{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.38)}.signal-film__counter b{color:#fff;font-weight:700}
.signal-film__stage{position:relative;z-index:2;align-self:center;display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,1080px) minmax(140px,1fr);align-items:center;gap:clamp(18px,3vw,52px);min-height:0}
.signal-film__core{min-width:0;text-align:center;display:grid;justify-items:center}
.signal-film__eyebrow{margin:0 0 clamp(16px,2.2vh,28px);font-size:8px;font-weight:700;letter-spacing:.21em;text-transform:uppercase;color:rgba(255,255,255,.5);transition:opacity .18s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.signal-film__statement{width:100%;display:grid;justify-items:center;line-height:.79;letter-spacing:-.066em}
.signal-film__be{display:block;font-family:var(--sans);font-size:clamp(82px,10vw,176px);font-weight:500;line-height:.79;letter-spacing:-.072em;color:#fff;transform:translateY(calc(var(--film-p) * -4px));will-change:transform}
.signal-film__window{position:relative;display:block;width:min(100%,1080px);height:clamp(94px,10.6vw,188px);overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%)}
.signal-film__word{--wy:110%;--wo:0;--wb:7px;position:absolute;left:50%;top:50%;width:100%;transform:translate(-50%,calc(-50% + var(--wy))) scale(calc(.985 + var(--wo) * .015));opacity:var(--wo);filter:blur(var(--wb));will-change:transform,opacity,filter;white-space:nowrap;color:#fff}
.signal-film__word--seen,.signal-film__word--trusted{font-family:var(--sans);font-weight:480}
.signal-film__word--understood,.signal-film__word--chosen{font-family:var(--serif);font-style:normal;font-weight:400}
.signal-film__word--seen{font-size:clamp(82px,10.2vw,180px)}
.signal-film__word--understood{font-size:clamp(61px,8.1vw,144px);letter-spacing:-.05em}
.signal-film__word--trusted{font-size:clamp(76px,9.6vw,170px)}
.signal-film__word--chosen{font-size:clamp(80px,10.1vw,178px)}
.signal-film__copy{margin:clamp(20px,3vh,32px) 0 0;max-width:43ch;min-height:3.4em;font-size:clamp(13px,1vw,16px);line-height:1.7;color:rgba(255,255,255,.66);transition:opacity .16s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.signal-film__eyebrow.is-changing,.signal-film__copy.is-changing{opacity:.15;transform:translateY(4px)}
.signal-film__side{display:flex;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.26);font-size:6px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.signal-film__side i{display:block;width:clamp(20px,3vw,46px);height:1px;background:rgba(255,255,255,.09)}
.signal-film__side--left{justify-content:flex-end}.signal-film__side--right{justify-content:flex-start}
.signal-film__bottom{grid-template-columns:1fr auto}.signal-film__steps{display:flex;align-items:center;gap:clamp(14px,2vw,30px);min-width:0}.signal-film__steps span{position:relative;color:rgba(255,255,255,.24);transition:color .28s ease,transform .35s cubic-bezier(.22,1,.36,1);white-space:nowrap}.signal-film__steps span:after{content:"";position:absolute;left:0;bottom:-9px;width:100%;height:1px;background:var(--film-blue);transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.22,1,.36,1)}.signal-film__steps span.is-active{color:rgba(255,255,255,.78);transform:translateY(-1px)}.signal-film__steps span.is-active:after{transform:scaleX(1)}
.signal-film__brandline{text-align:right;white-space:nowrap}

@media(max-width:1180px){
  .signal-film{height:290svh}.signal-film__sticky{min-height:620px}
  .signal-film__stage{grid-template-columns:120px minmax(0,1fr) 120px;gap:18px}
  .signal-film__be{font-size:clamp(78px,11vw,146px)}
  .signal-film__word--seen{font-size:clamp(78px,11.2vw,150px)}.signal-film__word--understood{font-size:clamp(58px,8.7vw,118px)}.signal-film__word--trusted{font-size:clamp(72px,10.5vw,142px)}.signal-film__word--chosen{font-size:clamp(76px,11vw,148px)}
}
@media(max-width:900px){
  .signal-film{height:250svh}.signal-film__sticky{min-height:580px;padding:24px max(22px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}
  .signal-film__stage{grid-template-columns:1fr}.signal-film__side{display:none}.signal-film__top{grid-template-columns:1fr auto}.signal-film__top>span:last-child{display:none}
  .signal-film__be{font-size:clamp(74px,15vw,122px)}.signal-film__window{height:clamp(88px,15.2vw,128px)}
  .signal-film__word--seen{font-size:clamp(72px,15vw,124px)}.signal-film__word--understood{font-size:clamp(54px,11.8vw,98px)}.signal-film__word--trusted{font-size:clamp(68px,14.2vw,116px)}.signal-film__word--chosen{font-size:clamp(72px,15vw,122px)}
  .signal-film__trace{width:min(58vw,480px);transform:rotate(24deg)}
  .signal-film__bottom{grid-template-columns:1fr}.signal-film__brandline{display:none}.signal-film__steps{justify-content:space-between;gap:10px;width:100%}
}
@media(max-width:620px){
  .signal-film{height:225svh}.signal-film__sticky{height:100svh;min-height:540px;padding:20px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  .signal-film__top{font-size:5.7px;letter-spacing:.16em}.signal-film__counter{justify-self:end}
  .signal-film__eyebrow{font-size:6.5px;letter-spacing:.17em;margin-bottom:14px}
  .signal-film__be{font-size:clamp(64px,20vw,92px);line-height:.82}.signal-film__window{height:clamp(78px,21vw,100px)}
  .signal-film__word--seen{font-size:clamp(64px,20vw,94px)}.signal-film__word--understood{font-size:clamp(43px,13.9vw,66px);letter-spacing:-.045em}.signal-film__word--trusted{font-size:clamp(60px,18.8vw,88px)}.signal-film__word--chosen{font-size:clamp(63px,19.8vw,92px)}
  .signal-film__copy{font-size:12.5px;line-height:1.62;max-width:29ch;margin-top:16px}.signal-film__steps{gap:6px}.signal-film__steps span{font-size:5.5px;letter-spacing:.12em}.signal-film__steps span{font-size:0}.signal-film__steps span:before{font-size:6px;content:attr(data-short)}
  .signal-film__trace{width:68vw;opacity:.7}.signal-film__sticky:before{left:18px;right:18px}
}
@media(max-width:380px){.signal-film__be{font-size:61px}.signal-film__word--seen{font-size:62px}.signal-film__word--understood{font-size:42px}.signal-film__word--trusted{font-size:58px}.signal-film__word--chosen{font-size:61px}}
@media(prefers-reduced-motion:reduce){.signal-film{height:auto}.signal-film__sticky{position:relative;height:auto;min-height:620px}.signal-film__trace i{width:100%}.signal-film__word{display:none!important}.signal-film__word--chosen{display:block!important;--wy:0%!important;--wo:1!important;--wb:0px!important}.signal-film__steps span{display:none}.signal-film__steps span:last-child{display:block;color:#fff}.signal-film__be{transform:none}.signal-film__eyebrow,.signal-film__copy{transition:none}}

.signal-film__sticky.is-final .signal-film__trace{opacity:1}
.signal-film__sticky.is-final .signal-film__trace i{box-shadow:0 0 24px rgba(49,95,221,.12)}
.signal-film__sticky.is-final .signal-film__top,.signal-film__sticky.is-final .signal-film__bottom{color:rgba(255,255,255,.52)}
.signal-film__sticky.is-final .signal-film__word--chosen{letter-spacing:-.06em}


/* =========================================================
   FAROS 4.8 — THE OPENING SIGNAL
   A cinematic, restrained brand-film hero. No 3D gimmicks.
========================================================= */
.hero.hero-opening{
  --hero-window:50%;
  --hero-shift:0px;
  --hero-copy-opacity:1;
  --hero-proof-opacity:0;
  --hero-proof-y:24px;
  position:relative!important;
  display:block!important;
  min-height:166svh!important;
  padding:0!important;
  background:#06111b!important;
  color:#f5f7f8!important;
  overflow:clip!important;
  isolation:isolate;
}
.hero.hero-opening:before,.hero.hero-opening:after{display:none!important}
.hero-opening__sticky{position:sticky;top:0;height:100svh;min-height:690px;overflow:hidden;padding:clamp(142px,15vh,176px) var(--pad) 28px;display:grid;grid-template-rows:auto 1fr auto;isolation:isolate;background:linear-gradient(180deg,#05101a 0%,#07131e 100%)}
.hero-opening__grid{position:absolute;inset:0;z-index:-5;pointer-events:none;background-image:linear-gradient(to right,rgba(226,235,242,.038) 1px,transparent 1px),linear-gradient(to bottom,rgba(226,235,242,.032) 1px,transparent 1px);background-size:12.5vw 100%,100% 12.5vh;mask-image:linear-gradient(180deg,transparent 4%,#000 18%,#000 83%,transparent 100%);opacity:.72}
.hero-opening__grid:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,rgba(49,95,221,.09),transparent 48%)}
.hero-opening__topline{position:relative;z-index:8;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding-bottom:17px;border-bottom:1px solid rgba(239,244,247,.16);color:rgba(239,244,247,.56);font-size:7.5px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.hero-opening__topline span:nth-child(2){text-align:center}.hero-opening__topline span:last-child{text-align:right}.hero-opening__topline .availability i{width:5px;height:5px;margin-right:9px;background:#6f8dff;box-shadow:0 0 0 5px rgba(111,141,255,.10)}
.hero-opening__stage{position:relative;z-index:4;align-self:center;display:grid;justify-items:center;text-align:center;margin-top:-1vh;transition:opacity .25s linear;opacity:var(--hero-copy-opacity)}
.hero-opening__eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:clamp(20px,3vh,34px);font-size:7px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,244,247,.5)}
.hero-opening__eyebrow i{display:block;width:48px;height:1px;background:linear-gradient(90deg,rgba(239,244,247,.22),#5578ff)}
.hero-opening__title{margin:0;max-width:min(92vw,1580px);font-weight:400;line-height:.79;letter-spacing:-.058em;text-wrap:balance}
.hero-opening__line{display:block;position:relative;will-change:transform;transform:translate3d(0,0,0)}
.hero-opening__line--top{transform:translate3d(0,calc(var(--hero-shift) * -1),0)}
.hero-opening__line--bottom{transform:translate3d(0,var(--hero-shift),0);margin-top:.08em}
.hero-opening__mask{display:block;overflow:hidden;padding:.04em .04em .08em}
.hero-opening__mask>span,.hero-opening__mask>em{display:block;transform:translateY(112%);opacity:.001;will-change:transform,opacity}
.hero-opening.is-ready .hero-opening__line--top .hero-opening__mask>span{animation:farosHeroReveal 1.18s .18s var(--ease) forwards}
.hero-opening.is-ready .hero-opening__line--bottom .hero-opening__mask>em{animation:farosHeroReveal 1.28s .42s var(--ease) forwards}
@keyframes farosHeroReveal{0%{transform:translateY(112%);opacity:.001}100%{transform:translateY(0);opacity:1}}
.hero-opening__line--top .hero-opening__mask>span{font-family:var(--sans);font-size:clamp(66px,8.85vw,168px);font-weight:560;letter-spacing:-.064em;white-space:nowrap}
.hero-opening__line--bottom .hero-opening__mask>em{font-family:var(--serif);font-size:clamp(72px,9.45vw,182px);font-style:normal;font-weight:400;letter-spacing:-.055em;white-space:nowrap;color:#fff}
.hero-opening__lead{max-width:45ch;margin:clamp(25px,3.4vh,38px) auto 0;color:rgba(239,244,247,.68);font-size:clamp(13px,.95vw,16px);line-height:1.68;opacity:0;transform:translateY(14px)}
.hero-opening.is-ready .hero-opening__lead{animation:farosHeroLead .85s .86s var(--ease) forwards}
@keyframes farosHeroLead{to{opacity:1;transform:none}}
.hero-opening__beam{position:absolute;z-index:6;left:var(--pad);right:var(--pad);top:50%;height:1px;transform:translateY(-.5px);pointer-events:none;overflow:visible}
.hero-opening__beam:before{content:"";position:absolute;inset:0;background:rgba(238,244,248,.11)}
.hero-opening__beam i{display:block;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#5f7eff 0%,rgba(183,201,255,.88) 30%,rgba(255,255,255,.34) 64%,transparent 100%);filter:drop-shadow(0 0 6px rgba(81,116,255,.18))}
.hero-opening.is-ready .hero-opening__beam i{animation:farosOpeningBeam 1.35s .05s var(--ease) forwards}
@keyframes farosOpeningBeam{0%{transform:scaleX(0);opacity:.2}100%{transform:scaleX(1);opacity:.8}}
.hero-opening__proof{position:absolute;z-index:5;left:0;right:0;top:0;bottom:0;background:#f4f3ef;color:#0a1722;clip-path:inset(var(--hero-window) 0 var(--hero-window) 0);display:grid;place-items:center;will-change:clip-path}
.hero-opening__proof:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(10,23,34,.045) 1px,transparent 1px);background-size:12.5vw 100%;pointer-events:none}
.hero-opening__proof-inner{position:relative;width:100%;padding:28px var(--pad);display:grid;grid-template-columns:minmax(180px,.8fr) minmax(320px,1.35fr) minmax(360px,1.6fr) auto;align-items:center;gap:clamp(18px,2.4vw,46px);opacity:var(--hero-proof-opacity);transform:translateY(var(--hero-proof-y));will-change:opacity,transform}
.hero-opening__proof-meta{display:flex;flex-direction:column;gap:8px;font-size:7px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:rgba(10,23,34,.5)}
.hero-opening__proof-title{display:flex;flex-direction:column;line-height:.96}.hero-opening__proof-title strong{font-size:clamp(25px,2.45vw,46px);font-weight:520;letter-spacing:-.04em}.hero-opening__proof-title em{font-family:var(--serif);font-size:clamp(27px,2.6vw,50px);font-style:normal;font-weight:400;letter-spacing:-.04em}
.hero-opening__proof-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(10,23,34,.18);border-bottom:1px solid rgba(10,23,34,.18)}.hero-opening__proof-list span{padding:10px 10px 10px 0;font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.hero-opening__proof-list span:nth-child(even){padding-left:14px;border-left:1px solid rgba(10,23,34,.10)}.hero-opening__proof-list span:nth-child(-n+2){border-bottom:1px solid rgba(10,23,34,.10)}
.hero-opening__proof-link{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #0a1722;font-size:10px;font-weight:650;white-space:nowrap}.hero-opening__proof-link b{font-size:15px;font-weight:400;transition:transform .45s var(--ease)}.hero-opening__proof-link:hover b{transform:translate(4px,4px)}
.hero-opening__bottom{position:relative;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid rgba(239,244,247,.14);padding-top:17px;color:rgba(239,244,247,.58);font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero-opening__bottom>a{font-size:10px;letter-spacing:0;text-transform:none;color:#f4f7f9;font-weight:550}.hero-opening__bottom>a span{display:inline-block;margin-left:7px;transition:transform .4s var(--ease)}.hero-opening__bottom>a:hover span{transform:translateY(4px)}.hero-opening__bottom>div{display:flex;align-items:center;gap:14px}.hero-opening__bottom i{width:25px;height:1px;background:rgba(239,244,247,.20)}

/* Header becomes part of the opening frame, then returns to the light system. */
body.hero-active .site-header{background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.hero-active .site-header:after{background:rgba(239,244,247,.14)!important;transform:scaleX(0)!important}
body.hero-active .brand img{filter:brightness(0) invert(1)}
body.hero-active .site-nav__list a,body.hero-active .header-cta{color:#f4f7f9}
body.hero-active .site-nav__list a:after{background:#f4f7f9}
body.hero-active .header-cta{border-bottom-color:rgba(244,247,249,.7)}
body.hero-active .menu-toggle span{background:#f4f7f9}
body.menu-open .brand img{filter:none!important}body.menu-open .menu-toggle span{background:var(--ink)!important}

@media(max-width:1366px){
  .hero.hero-opening{min-height:154svh!important}
  .hero-opening__sticky{min-height:640px;padding-top:clamp(132px,14vh,158px)}
  .hero-opening__line--top .hero-opening__mask>span{font-size:clamp(62px,8.55vw,122px)}
  .hero-opening__line--bottom .hero-opening__mask>em{font-size:clamp(67px,9.1vw,132px)}
  .hero-opening__proof-inner{grid-template-columns:.75fr 1.25fr 1.45fr auto;gap:24px}
}
@media(max-width:1100px){
  .hero.hero-opening{min-height:146svh!important}
  .hero-opening__sticky{padding:126px var(--pad) 25px;min-height:620px}
  .hero-opening__topline{grid-template-columns:1fr 1fr}.hero-opening__topline span:nth-child(2){display:none}.hero-opening__topline span:last-child{text-align:right}
  .hero-opening__line--top .hero-opening__mask>span{font-size:clamp(58px,8.8vw,98px)}
  .hero-opening__line--bottom .hero-opening__mask>em{font-size:clamp(62px,9.3vw,104px)}
  .hero-opening__proof-inner{grid-template-columns:.85fr 1.25fr 1.6fr}.hero-opening__proof-link{grid-column:1/-1;width:max-content;justify-self:end;margin-top:-2px}
}
@media(max-width:820px){
  .hero.hero-opening{min-height:138svh!important}
  .hero-opening__sticky{min-height:610px;padding:112px max(22px,env(safe-area-inset-right)) 22px max(22px,env(safe-area-inset-left))}
  .hero-opening__stage{margin-top:-2vh}
  .hero-opening__eyebrow span:last-child{display:none}.hero-opening__eyebrow i{width:36px}
  .hero-opening__line--top .hero-opening__mask>span,.hero-opening__line--bottom .hero-opening__mask>em{white-space:normal;text-align:center}
  .hero-opening__line--top .hero-opening__mask>span{font-size:clamp(52px,11vw,84px);line-height:.88}
  .hero-opening__line--bottom .hero-opening__mask>em{font-size:clamp(56px,11.7vw,90px);line-height:.88}
  .hero-opening__lead{max-width:35ch;font-size:13px}
  .hero-opening__proof-inner{grid-template-columns:1fr 1.4fr;gap:18px 28px;padding:20px max(22px,env(safe-area-inset-right))}.hero-opening__proof-title{grid-column:2}.hero-opening__proof-list{grid-column:1/-1}.hero-opening__proof-link{grid-column:1/-1;justify-self:start}.hero-opening__proof-meta{align-self:end}
  .hero-opening__bottom>div{display:none}
}
@media(max-width:560px){
  .hero.hero-opening{min-height:128svh!important}
  .hero-opening__sticky{height:100svh;min-height:570px;padding:104px max(17px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(17px,env(safe-area-inset-left))}
  .hero-opening__topline{font-size:5.8px;letter-spacing:.15em;padding-bottom:13px}.hero-opening__topline span:first-child{max-width:19ch}.hero-opening__topline span:last-child{white-space:nowrap}
  .hero-opening__eyebrow{font-size:6px;letter-spacing:.18em;margin-bottom:20px}.hero-opening__eyebrow i{width:28px}
  .hero-opening__title{max-width:100%}
  .hero-opening__line--top .hero-opening__mask>span{font-size:clamp(48px,14.7vw,75px);line-height:.87;letter-spacing:-.058em}
  .hero-opening__line--bottom .hero-opening__mask>em{font-size:clamp(52px,15.5vw,80px);line-height:.86;letter-spacing:-.052em}
  .hero-opening__lead{font-size:12.5px;line-height:1.6;max-width:28ch;margin-top:22px}
  .hero-opening__beam{left:17px;right:17px}
  .hero-opening__proof-inner{grid-template-columns:1fr;padding:18px 17px;gap:10px}.hero-opening__proof-meta{display:none}.hero-opening__proof-title{grid-column:1}.hero-opening__proof-title strong{font-size:25px}.hero-opening__proof-title em{font-size:28px}.hero-opening__proof-list{grid-column:1}.hero-opening__proof-list span{font-size:7px;padding:8px 6px 8px 0}.hero-opening__proof-link{grid-column:1;font-size:8px;margin-top:2px}
  .hero-opening__bottom{font-size:6px;padding-top:13px}.hero-opening__bottom>a{font-size:9px}
}
@media(max-width:380px){
  .hero-opening__line--top .hero-opening__mask>span{font-size:45px}.hero-opening__line--bottom .hero-opening__mask>em{font-size:49px}.hero-opening__lead{font-size:12px}.hero-opening__topline span:last-child{display:none}.hero-opening__topline{grid-template-columns:1fr}
}
@media(max-height:720px) and (min-width:821px){
  .hero-opening__sticky{padding-top:118px;min-height:610px}.hero-opening__eyebrow{margin-bottom:14px}.hero-opening__lead{margin-top:18px}.hero-opening__line--top .hero-opening__mask>span{font-size:clamp(56px,7.7vw,112px)}.hero-opening__line--bottom .hero-opening__mask>em{font-size:clamp(60px,8.15vw,120px)}
}
@media(prefers-reduced-motion:reduce){
  .hero.hero-opening{min-height:100svh!important}.hero-opening__sticky{position:relative}.hero-opening__mask>span,.hero-opening__mask>em,.hero-opening__lead{animation:none!important;transform:none!important;opacity:1!important}.hero-opening__proof{display:none}.hero-opening__beam i{animation:none!important;transform:scaleX(1);opacity:.45}.hero-opening__line--top,.hero-opening__line--bottom{transform:none!important}
}


/* =========================================================
   4.9 — PREMIUM AGENCY HERO / REAL WORK FIRST
   Ivory editorial canvas + real project showcase. No faux 3D.
========================================================= */
.hero.hero-premium{
  position:relative!important;display:block!important;min-height:100svh!important;padding:0!important;
  background:#f5f3ee!important;color:var(--ink)!important;overflow:hidden!important;isolation:isolate;
}
.hero.hero-premium:before{display:block!important;content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(11,22,33,.035) 1px,transparent 1px);background-size:12.5vw 100%;opacity:.68;mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 90%,transparent 100%)}
.hero.hero-premium:after{display:none!important}
.hero-premium__shell{position:relative;min-height:100svh;padding:clamp(146px,15vh,176px) var(--pad) 28px;display:grid;grid-template-rows:auto 1fr auto;gap:clamp(28px,4vh,54px)}
.hero-premium__meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding-bottom:16px;border-bottom:1px solid rgba(11,22,33,.15);font-size:7.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:rgba(11,22,33,.48)}
.hero-premium__meta span:nth-child(2){text-align:center}.hero-premium__meta span:last-child{text-align:right}.hero-premium__meta .availability i{width:5px;height:5px;margin-right:8px;background:#315fdd;box-shadow:none}
.hero-premium__grid{align-self:center;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(560px,1.18fr);gap:clamp(48px,6vw,112px);align-items:center;min-height:0}
.hero-premium__copy{max-width:720px;padding:clamp(12px,3vh,34px) 0}
.hero-premium__kicker{margin:0 0 24px;font-size:8px;font-weight:750;letter-spacing:.20em;text-transform:uppercase;color:rgba(11,22,33,.48)}
.hero-premium__title{margin:0;font-weight:400;line-height:.88;letter-spacing:-.062em}
.hero-premium__title span{display:block;font-family:var(--sans);font-size:clamp(66px,6.25vw,122px);font-weight:520;white-space:nowrap;animation:farosPremiumTitle .95s .08s var(--ease) both}
.hero-premium__title em{display:block;margin-top:.08em;font-family:var(--serif);font-size:clamp(70px,6.7vw,132px);font-style:normal;font-weight:400;white-space:nowrap;animation:farosPremiumTitle 1.02s .22s var(--ease) both}
@keyframes farosPremiumTitle{from{opacity:0;transform:translateY(36px);clip-path:inset(100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
.hero-premium__lead{max-width:42ch;margin:clamp(26px,3vh,38px) 0 0;color:rgba(11,22,33,.69);font-size:clamp(14px,1vw,17px);line-height:1.72;animation:farosPremiumFade .8s .48s var(--ease) both}
@keyframes farosPremiumFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-premium__actions{display:flex;align-items:center;gap:26px;margin-top:clamp(28px,3.6vh,44px);animation:farosPremiumFade .8s .62s var(--ease) both}
.hero-premium__action{display:inline-flex;align-items:center;gap:12px;padding:11px 0 9px;border-bottom:1px solid rgba(11,22,33,.28);font-size:10px;font-weight:600}.hero-premium__action b{font-size:14px;font-weight:400;transition:transform .42s var(--ease)}.hero-premium__action:hover b{transform:translate(4px,-4px)}.hero-premium__action--primary{border-color:var(--ink)}
.hero-premium__work{min-width:0;animation:farosPremiumStage 1.05s .2s var(--ease) both}
@keyframes farosPremiumStage{from{opacity:0;transform:translateY(24px) scale(.992)}to{opacity:1;transform:none}}
.hero-premium__work-head{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(11,22,33,.16);font-size:7.5px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:rgba(11,22,33,.48)}.hero-premium__work-head b{color:var(--ink);font-weight:750}
.hero-premium__viewport{position:relative;margin-top:14px;aspect-ratio:16/10;background:#fff;border:1px solid rgba(11,22,33,.14);overflow:hidden;box-shadow:0 28px 70px rgba(11,22,33,.065)}
.hero-premium__project-link{position:absolute;inset:0;display:block}
.hero-premium__panel{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transform:translateY(12px) scale(1.006);clip-path:inset(2% 0 0 0);transition:opacity .42s ease,transform .7s var(--ease),clip-path .7s var(--ease),visibility 0s linear .72s;background:#fff}
.hero-premium__panel.is-active{opacity:1;visibility:visible;transform:none;clip-path:inset(0);transition-delay:0s}
.hero-premium__panel img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1.1s var(--ease)}.hero-premium__viewport:hover .hero-premium__panel.is-active img{transform:scale(1.012)}
.hero-premium__panel figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(5,16,26,.88));color:#fff;font-size:9px}.hero-premium__panel figcaption span{font-weight:650}.hero-premium__panel figcaption small{font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.hero-premium__panel--brand{display:grid;place-items:center}.hero-premium__panel--tide{background:#f0ede5;color:#141a20}.hero-premium__panel--yachts{background:#09141e;color:#f5f1e8}
.hero-premium__brand-surface{width:72%;display:grid;gap:12px}.hero-premium__brand-surface small{font-size:8px;font-weight:750;letter-spacing:.22em}.hero-premium__brand-surface strong{font-size:clamp(48px,5.2vw,98px);font-weight:500;line-height:.82;letter-spacing:-.065em}.hero-premium__panel--yachts .hero-premium__brand-surface strong{font-family:var(--serif);font-weight:400}.hero-premium__brand-surface i{width:100%;height:1px;background:currentColor;opacity:.18}.hero-premium__brand-surface>span{font-size:9px;letter-spacing:.08em;opacity:.54}
.hero-premium__live{position:absolute;z-index:5;right:12px;top:12px;padding:7px 9px;background:rgba(245,243,238,.92);border:1px solid rgba(11,22,33,.12);font-size:6.5px;font-weight:750;letter-spacing:.17em;color:var(--ink)}
.hero-premium__project-nav{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(11,22,33,.16)}
.hero-premium__project-nav button{position:relative;text-align:left;padding:14px 14px 13px 0;cursor:pointer;border-right:1px solid rgba(11,22,33,.08);transition:padding .45s var(--ease),background .3s ease}.hero-premium__project-nav button+button{padding-left:14px}.hero-premium__project-nav button:last-child{border-right:0}.hero-premium__project-nav button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#315fdd;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}.hero-premium__project-nav button.is-active:after{transform:scaleX(1);transform-origin:left}.hero-premium__project-nav b{display:block;margin-bottom:8px;color:rgba(11,22,33,.36);font-size:7px;font-weight:750;letter-spacing:.14em}.hero-premium__project-nav span{display:block;font-size:10px;font-weight:650;line-height:1.2}.hero-premium__project-nav small{display:block;margin-top:5px;color:rgba(11,22,33,.48);font-size:7px;line-height:1.3}.hero-premium__project-nav button:hover,.hero-premium__project-nav button.is-active{padding-top:11px;padding-bottom:16px}
.hero-premium__foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding-top:16px;border-top:1px solid rgba(11,22,33,.15);font-size:7px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:rgba(11,22,33,.45)}.hero-premium__foot>a{font-size:10px;font-weight:550;letter-spacing:0;text-transform:none;color:var(--ink)}.hero-premium__foot>a span{display:inline-block;margin-left:6px}.hero-premium__foot p{margin:0;display:flex;align-items:center;gap:12px}.hero-premium__foot p i{width:22px;height:1px;background:rgba(11,22,33,.18)}.hero-premium__foot>span:last-child{text-align:right}

@media(max-width:1366px){
  .hero-premium__shell{padding-top:clamp(132px,14vh,154px)}
  .hero-premium__grid{grid-template-columns:minmax(330px,.78fr) minmax(520px,1.22fr);gap:44px}
  .hero-premium__title span{font-size:clamp(58px,5.7vw,88px)}.hero-premium__title em{font-size:clamp(62px,6.1vw,94px)}
  .hero-premium__brand-surface strong{font-size:clamp(46px,5vw,74px)}
}
@media(max-width:1100px){
  .hero-premium__shell{min-height:auto;padding:132px var(--pad) 28px;gap:36px}
  .hero-premium__meta{grid-template-columns:1fr 1fr}.hero-premium__meta span:nth-child(2){display:none}.hero-premium__meta span:last-child{text-align:right}
  .hero-premium__grid{grid-template-columns:1fr;gap:52px}.hero-premium__copy{max-width:780px}.hero-premium__title span,.hero-premium__title em{white-space:normal}
  .hero-premium__viewport{aspect-ratio:16/8.8}.hero-premium__foot{margin-top:20px}.hero-premium__foot p{display:none}
}
@media(max-width:760px){
  .hero-premium__shell{padding:112px max(18px,env(safe-area-inset-right)) 22px max(18px,env(safe-area-inset-left));gap:30px}
  .hero-premium__meta{font-size:6px;letter-spacing:.14em;padding-bottom:12px}.hero-premium__meta span:first-child{max-width:26ch}.hero-premium__meta span:last-child{white-space:nowrap}
  .hero-premium__grid{gap:36px}.hero-premium__copy{padding-top:6px}.hero-premium__kicker{font-size:6.5px;margin-bottom:17px}
  .hero-premium__title span{font-size:clamp(50px,13.4vw,78px);line-height:.88}.hero-premium__title em{font-size:clamp(54px,14.2vw,84px);line-height:.88}
  .hero-premium__lead{font-size:13px;max-width:34ch;margin-top:22px}.hero-premium__actions{margin-top:24px;gap:20px;flex-wrap:wrap}
  .hero-premium__viewport{aspect-ratio:4/3;margin-top:10px}.hero-premium__panel figcaption{padding:11px 12px}.hero-premium__panel figcaption small{display:none}.hero-premium__live{font-size:5.5px;padding:6px 7px}
  .hero-premium__project-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.hero-premium__project-nav::-webkit-scrollbar{display:none}.hero-premium__project-nav button{flex:0 0 44%;scroll-snap-align:start}.hero-premium__project-nav small{font-size:6.5px}
  .hero-premium__foot{grid-template-columns:1fr auto;font-size:6px}.hero-premium__foot>span:last-child{display:none}
  .hero-premium__brand-surface{width:78%}.hero-premium__brand-surface strong{font-size:clamp(45px,13vw,72px)}
}
@media(max-width:430px){
  .hero-premium__meta span:last-child{display:none}.hero-premium__meta{grid-template-columns:1fr}.hero-premium__title span{font-size:clamp(45px,13.8vw,60px)}.hero-premium__title em{font-size:clamp(49px,14.8vw,65px)}
  .hero-premium__viewport{aspect-ratio:1/1}.hero-premium__project-nav button{flex-basis:58%}.hero-premium__action{font-size:9px}
}
@media(max-height:760px) and (min-width:1101px){
  .hero-premium__shell{padding-top:118px;gap:20px}.hero-premium__meta{padding-bottom:11px}.hero-premium__grid{gap:40px}.hero-premium__title span{font-size:clamp(54px,5.2vw,80px)}.hero-premium__title em{font-size:clamp(58px,5.55vw,86px)}.hero-premium__lead{margin-top:20px}.hero-premium__actions{margin-top:22px}.hero-premium__viewport{max-height:440px}.hero-premium__foot{padding-top:12px}
}
@media(prefers-reduced-motion:reduce){.hero-premium__title span,.hero-premium__title em,.hero-premium__lead,.hero-premium__actions,.hero-premium__work{animation:none!important}.hero-premium__panel{transition:none!important}.hero-premium__panel img{transition:none!important}}


/* =========================================================
   FAROS 5.0 — SIGNAL TRACTION HERO
   Kinetic type driven by scroll. One interaction, zero gimmicks.
========================================================= */
.hero.hero-traction{
  --traction-p:0;
  position:relative!important;
  display:block!important;
  height:340svh!important;
  min-height:0!important;
  padding:0!important;
  background:#06111b!important;
  color:#f2f5f6!important;
  overflow:visible!important;
  isolation:isolate;
}
.hero.hero-traction:before,.hero.hero-traction:after{display:none!important}
.traction-sticky{
  position:sticky;top:0;height:100svh;min-height:680px;
  padding:clamp(138px,15vh,172px) var(--pad) clamp(24px,3.2vh,38px);
  display:grid;grid-template-rows:auto 1fr auto;gap:20px;
  overflow:hidden;isolation:isolate;
  background:
    radial-gradient(900px 460px at calc(50% + var(--traction-mx,0px)) calc(48% + var(--traction-my,0px)),rgba(38,72,114,.13),transparent 64%),
    linear-gradient(180deg,#06111b 0%,#07121c 56%,#061019 100%);
}
.traction-sticky:before{
  content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:12.5vw 100%,100% 12.5vh;
  mask-image:linear-gradient(to bottom,transparent 4%,#000 19%,#000 84%,transparent 100%);
  opacity:.7;
}
.traction-sticky:after{
  content:"";position:absolute;left:var(--pad);right:var(--pad);top:50%;height:1px;z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.05) 15%,rgba(255,255,255,.10) 50%,rgba(255,255,255,.05) 85%,transparent);
}
.traction-meta{
  position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;
  padding-bottom:15px;border-bottom:1px solid rgba(240,245,248,.12);
  color:rgba(240,245,248,.46);font-size:7.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
}
.traction-meta span:nth-child(2){text-align:center}.traction-meta span:last-child{text-align:right}
.traction-field{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.traction-field__line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(80,117,190,.22),transparent);transform-origin:center;will-change:transform,opacity}
.traction-field__line--a{width:58vw;left:-7vw;top:31%;transform:translate3d(calc(var(--traction-p) * 9vw),0,0) rotate(-8deg);opacity:.48}
.traction-field__line--b{width:48vw;right:-5vw;top:61%;transform:translate3d(calc(var(--traction-p) * -10vw),0,0) rotate(11deg);opacity:.34}
.traction-field__line--c{width:38vw;left:31%;bottom:14%;transform:translate3d(0,calc(var(--traction-p) * -3vh),0);opacity:.24}
.traction-stage{
  position:relative;z-index:4;align-self:center;min-width:0;
  display:grid;justify-items:center;text-align:center;
  transform:translate3d(var(--traction-mx,0px),var(--traction-my,0px),0);
  transition:transform .18s ease-out;
}
.traction-kicker{
  margin:0 0 clamp(22px,3.2vh,36px);color:rgba(240,245,248,.54);
  font-size:8px;font-weight:750;letter-spacing:.21em;text-transform:uppercase;
}
.traction-title{
  position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;justify-content:center;
  column-gap:clamp(22px,2.4vw,46px);width:min(94vw,1580px);margin:0;
  line-height:.78;letter-spacing:-.07em;font-weight:500;text-align:left;
}
.traction-be{
  display:block;font-family:var(--sans);font-size:clamp(92px,12.2vw,238px);font-weight:520;
  color:#f4f7f8;white-space:nowrap;transform:translateZ(0);
}
.traction-word-window{
  position:relative;display:block;width:7.9ch;height:.92em;
  font-family:var(--sans);font-size:clamp(92px,12.2vw,238px);font-weight:520;
  white-space:nowrap;overflow:visible;
}
.traction-word{position:absolute;inset:0;opacity:0;will-change:opacity,filter}
.traction-slice{position:absolute;inset:0;overflow:hidden;will-change:transform;transform:translate3d(0,0,0)}
.traction-slice>span{position:absolute;inset:0;display:block;color:#f4f7f8;white-space:nowrap}
.traction-slice--1{clip-path:inset(0 0 74% 0)}
.traction-slice--2{clip-path:inset(25% 0 49% 0)}
.traction-slice--3{clip-path:inset(50% 0 24% 0)}
.traction-slice--4{clip-path:inset(75% 0 0 0)}
.traction-word--chosen .traction-slice>span{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}
.traction-signal{
  position:relative;width:min(72vw,1120px);height:18px;margin-top:clamp(28px,4vh,48px);pointer-events:none
}
.traction-signal__base,.traction-signal__fill{position:absolute;left:0;top:8px;height:1px;display:block}
.traction-signal__base{right:0;background:rgba(240,245,248,.11)}
.traction-signal__fill{width:var(--traction-signal,0%);background:linear-gradient(90deg,rgba(67,105,190,.35),rgba(105,144,234,.9),rgba(214,228,255,.88));box-shadow:0 0 16px rgba(70,111,210,.12)}
.traction-signal__head{
  position:absolute;left:var(--traction-signal,0%);top:5px;width:7px;height:7px;margin-left:-3px;
  background:#dce7ff;box-shadow:0 0 0 1px rgba(105,144,234,.45),0 0 16px rgba(105,144,234,.32);
  transform:rotate(45deg);transition:box-shadow .2s ease
}
.traction-copy{position:relative;width:min(72vw,1120px);min-height:27px;margin-top:13px;text-align:right}
.traction-copy p{
  position:absolute;right:0;top:0;margin:0;color:rgba(240,245,248,.58);font-size:11px;line-height:1.5;
  opacity:0;transform:translateY(8px);transition:opacity .22s linear,transform .42s var(--ease)
}
.traction-copy p.is-active{opacity:1;transform:none}
.traction-footer{
  position:relative;z-index:5;display:grid;grid-template-columns:minmax(170px,.8fr) 1.8fr minmax(170px,.8fr);align-items:end;gap:28px;
  padding-top:15px;border-top:1px solid rgba(240,245,248,.12)
}
.traction-progress{align-self:center;height:1px;background:rgba(240,245,248,.11);overflow:hidden}.traction-progress i{display:block;width:0;height:100%;background:#6688dc;will-change:width}
.traction-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;color:rgba(240,245,248,.30);font-size:7px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.traction-steps span{display:flex;gap:9px;align-items:center;transition:color .25s ease}.traction-steps b{font-weight:750;color:inherit}.traction-steps span.is-active{color:rgba(240,245,248,.78)}
.traction-scroll{justify-self:end;display:flex;align-items:center;gap:12px;color:rgba(240,245,248,.72);font-size:9px;font-weight:600}.traction-scroll b{font-size:13px;font-weight:400;animation:tractionNudge 1.8s ease-in-out infinite}
@keyframes tractionNudge{0%,100%{transform:translateY(-1px)}50%{transform:translateY(4px)}}

body.hero-active .site-header{background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.hero-active .site-header:after{background:rgba(240,245,248,.12)!important;transform:scaleX(0)!important}
body.hero-active .brand img{filter:brightness(0) invert(1)!important}
body.hero-active .site-nav__list a,body.hero-active .header-cta{color:#f4f7f8!important}
body.hero-active .site-nav__list a:after{background:#f4f7f8!important}
body.hero-active .header-cta{border-bottom-color:rgba(244,247,248,.68)!important}
body.hero-active .menu-toggle span{background:#f4f7f8!important}
body.menu-open .brand img{filter:none!important}body.menu-open .menu-toggle span{background:var(--ink)!important}

@media(max-width:1366px){
  .hero.hero-traction{height:325svh!important}.traction-sticky{min-height:620px;padding-top:clamp(124px,14vh,148px)}
  .traction-title{width:min(92vw,1220px);column-gap:28px}.traction-be,.traction-word-window{font-size:clamp(82px,11.6vw,166px)}
}
@media(max-width:1100px){
  .hero.hero-traction{height:305svh!important}.traction-sticky{padding:118px var(--pad) 26px;min-height:600px}
  .traction-meta{grid-template-columns:1fr 1fr}.traction-meta span:nth-child(2){display:none}.traction-meta span:last-child{text-align:right}
  .traction-title{width:min(94vw,970px);column-gap:22px}.traction-be,.traction-word-window{font-size:clamp(76px,12.1vw,138px)}
  .traction-footer{grid-template-columns:150px 1fr 160px;gap:20px}.traction-steps{gap:9px}.traction-steps span{gap:6px}
}
@media(max-width:820px){
  .hero.hero-traction{height:285svh!important}.traction-sticky{min-height:570px;padding:108px max(22px,env(safe-area-inset-right)) 22px max(22px,env(safe-area-inset-left))}
  .traction-title{grid-template-columns:1fr;width:100%;row-gap:6px;text-align:center;justify-items:center;line-height:.82}
  .traction-be,.traction-word-window{font-size:clamp(78px,17vw,130px)}.traction-word-window{width:7.9ch;height:.94em}
  .traction-kicker{margin-bottom:20px;font-size:7px}.traction-signal{width:min(84vw,620px);margin-top:28px}.traction-copy{width:min(84vw,620px);text-align:center}.traction-copy p{left:0;right:0;text-align:center}
  .traction-footer{grid-template-columns:1fr auto}.traction-progress{grid-column:1/-1;grid-row:1}.traction-steps{grid-column:1;grid-row:2}.traction-scroll{grid-column:2;grid-row:2}.traction-steps span{font-size:6px}.traction-steps span{display:block}.traction-steps b{display:block;margin-bottom:3px}
  .traction-field__line--a{width:75vw}.traction-field__line--b{width:70vw}
}
@media(max-width:560px){
  .hero.hero-traction{height:265svh!important}.traction-sticky{height:100svh;min-height:530px;padding:100px max(17px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(17px,env(safe-area-inset-left));gap:14px}
  .traction-meta{font-size:5.8px;letter-spacing:.145em;padding-bottom:12px}.traction-meta span:last-child{display:none}.traction-meta{grid-template-columns:1fr}
  .traction-kicker{font-size:6px;letter-spacing:.17em;margin-bottom:17px}
  .traction-title{row-gap:2px}.traction-be,.traction-word-window{font-size:clamp(64px,20vw,100px)}.traction-word-window{width:7.85ch}
  .traction-signal{width:88vw;max-width:390px;margin-top:22px}.traction-copy{width:88vw;max-width:390px;min-height:38px;margin-top:9px}.traction-copy p{font-size:9.5px}
  .traction-footer{grid-template-columns:1fr;gap:11px;padding-top:12px}.traction-progress{grid-column:1;grid-row:1}.traction-steps{grid-column:1;grid-row:2;gap:5px}.traction-scroll{grid-column:1;grid-row:3;justify-self:start;font-size:8px}.traction-steps span{font-size:5.6px;letter-spacing:.12em}
  .traction-field__line--a{top:28%}.traction-field__line--b{top:67%}.traction-sticky:after{top:48%}
}
@media(max-width:380px){.traction-be,.traction-word-window{font-size:61px}.traction-copy p{font-size:9px}.traction-sticky{padding-top:94px}}
@media(max-height:720px) and (min-width:821px){
  .traction-sticky{padding-top:108px;min-height:590px}.traction-kicker{margin-bottom:18px}.traction-be,.traction-word-window{font-size:clamp(74px,10.3vw,140px)}.traction-signal{margin-top:26px}
}
@media(prefers-reduced-motion:reduce){
  .hero.hero-traction{height:100svh!important}.traction-sticky{position:relative}.traction-word{display:none!important}.traction-word--chosen{display:block!important;opacity:1!important}.traction-word--chosen .traction-slice{transform:none!important}.traction-copy p{display:none!important}.traction-copy p:last-child{display:block!important;position:relative!important;opacity:1!important;transform:none!important}.traction-progress i{width:100%!important}.traction-signal__fill{width:100%!important}.traction-signal__head{left:100%!important}.traction-scroll b{animation:none!important}
}


/* FAROS 5.1 — CINEMATIC APERTURE HERO. Visual-first, scroll-directed, no slogan gimmick. */
.hero.hero-cinematic{
  --cine-p:0;
  --cine-open:0;
  --cine-pan:0px;
  --cine-lift:0px;
  --cine-scale:1.025;
  --cine-beam:0;
  position:relative!important;
  display:block!important;
  height:205svh!important;
  min-height:0!important;
  padding:0!important;
  background:#020910!important;
  color:#f3f6f7;
  overflow:visible!important;
  isolation:isolate;
}
.hero.hero-cinematic:before,.hero.hero-cinematic:after{display:none!important}
.cine-sticky{
  position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;
  background:#020910;isolation:isolate;
}
.cine-scene{position:absolute;inset:-2.5%;z-index:-8;overflow:hidden}
.cine-scene img{
  width:105%;height:105%;object-fit:cover;object-position:50% 50%;display:block;
  transform:translate3d(var(--cine-pan),var(--cine-lift),0) scale(var(--cine-scale));
  filter:saturate(.84) contrast(1.035) brightness(.89);
  will-change:transform,filter;
}
.cine-vignette{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(90deg,rgba(2,9,16,.34) 0%,rgba(2,9,16,.04) 38%,rgba(2,9,16,.06) 70%,rgba(2,9,16,.30) 100%),
  linear-gradient(180deg,rgba(2,9,16,.34),transparent 24%,transparent 69%,rgba(2,9,16,.48));}
.cine-depth{position:absolute;inset:-8%;z-index:-5;pointer-events:none;will-change:transform,opacity}
.cine-depth--a{background:radial-gradient(circle at 24% 14%,rgba(255,226,177,.10),transparent 17%);transform:translate3d(calc(var(--cine-p) * 12px),calc(var(--cine-p) * -6px),0)}
.cine-depth--b{background:linear-gradient(118deg,transparent 0 38%,rgba(120,161,213,.035) 46%,transparent 57%);transform:translate3d(calc(var(--cine-p) * -18px),0,0)}

/* Two dark architectural shutters leave the beam corridor visible first, then move away on scroll. */
.cine-shutter{position:absolute;inset:-5%;z-index:-3;background:rgba(1,7,12,.70);pointer-events:none;will-change:transform,opacity;backdrop-filter:saturate(.78);-webkit-backdrop-filter:saturate(.78)}
.cine-shutter--top{
  clip-path:polygon(0 0,100% 0,100% 29%,22% 10%,0 17%);
  transform:translate3d(0,calc(var(--cine-open) * -31vh),0);
  opacity:calc(.92 - var(--cine-open) * .72);
}
.cine-shutter--bottom{
  clip-path:polygon(0 16%,22% 12%,100% 61%,100% 100%,0 100%);
  transform:translate3d(0,calc(var(--cine-open) * 34vh),0);
  opacity:calc(.94 - var(--cine-open) * .74);
}

/* Dynamic optical light layered over the photographed beam. */
.cine-live-beam{
  position:absolute;left:21.2%;top:8.5%;z-index:-2;width:86vw;height:54vh;pointer-events:none;
  transform-origin:0 13%;
  transform:rotate(calc(-1.4deg + var(--cine-p) * 3.5deg)) scaleX(calc(.88 + var(--cine-beam) * .12));
  clip-path:polygon(0 12%,100% 28%,100% 75%,0 21%);
  background:linear-gradient(90deg,rgba(255,236,201,.16),rgba(255,228,174,.075) 42%,rgba(193,214,240,.025) 72%,transparent 100%);
  filter:blur(8px);mix-blend-mode:screen;opacity:calc(.12 + var(--cine-beam) * .32);will-change:transform,opacity;
}
.cine-lens{
  position:absolute;z-index:1;left:20.75%;top:7.4%;width:1px;height:42%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(255,242,216,.82) 13%,rgba(255,234,194,.44) 58%,transparent 100%);
  box-shadow:0 0 16px rgba(255,226,174,.20);opacity:calc(.38 + var(--cine-beam) * .48);
  transform:translateX(calc(var(--cine-p) * 6px));
}
.cine-lens i{position:absolute;left:50%;top:12%;width:5px;height:5px;border:1px solid rgba(255,246,228,.75);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 14px rgba(255,231,190,.42)}

.cine-meta{position:absolute;z-index:4;top:clamp(144px,16vh,176px);display:flex;align-items:center;gap:13px;font-size:7px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:rgba(242,246,248,.68)}
.cine-meta i{width:34px;height:1px;background:rgba(242,246,248,.24)}
.cine-meta--left{left:var(--pad)}.cine-meta--right{right:var(--pad)}
.cine-disciplines{position:absolute;z-index:4;left:var(--pad);top:50%;transform:translateY(-25%);display:flex;flex-direction:column;gap:12px;font-size:8px;font-weight:700;letter-spacing:.24em;color:rgba(242,246,248,.70)}
.cine-disciplines:before{content:"";width:28px;height:1px;background:rgba(242,246,248,.56);margin-bottom:9px}
.cine-scroll{position:absolute;z-index:4;left:var(--pad);bottom:clamp(28px,4vh,46px);display:grid;grid-template-columns:1px auto auto;align-items:end;gap:13px;color:rgba(242,246,248,.78);font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.cine-scroll i{display:block;width:1px;height:52px;background:linear-gradient(180deg,rgba(242,246,248,.62),rgba(242,246,248,.08));position:relative}
.cine-scroll i:after{content:"";position:absolute;left:-3px;bottom:-1px;width:7px;height:7px;border:1px solid rgba(242,246,248,.68);border-radius:50%}
.cine-scroll b{font-size:12px;font-weight:400;animation:cineNudge 1.9s ease-in-out infinite}
@keyframes cineNudge{0%,100%{transform:translateY(-1px)}50%{transform:translateY(4px)}}
.cine-index{position:absolute;z-index:4;right:var(--pad);bottom:clamp(30px,4vh,48px);display:flex;align-items:center;gap:11px;color:rgba(242,246,248,.55);font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.cine-index i{width:64px;height:1px;background:rgba(242,246,248,.22)}

/* Dark header only while the cinematic stage is active. */
body.hero-active .site-header{background:linear-gradient(180deg,rgba(2,9,16,.34),transparent)!important;border-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.hero-active .brand img{filter:brightness(0) invert(1)!important}
body.hero-active .site-nav__list a,body.hero-active .header-cta{color:#f4f7f8!important}
body.hero-active .site-nav__list a:after{background:#f4f7f8!important}
body.hero-active .header-cta{border-bottom-color:rgba(244,247,248,.64)!important}
body.hero-active .menu-toggle span{background:#f4f7f8!important}

@media(max-width:1366px){
  .hero.hero-cinematic{height:195svh!important}.cine-sticky{min-height:580px}
  .cine-meta{top:126px}.cine-live-beam{left:21%;top:9%;width:90vw}
}
@media(max-width:1100px){
  .hero.hero-cinematic{height:185svh!important}.cine-sticky{min-height:560px}
  .cine-scene img{object-position:42% 50%}
  .cine-meta--right{display:none}.cine-meta{top:112px}
  .cine-disciplines{top:auto;bottom:112px;flex-direction:row;gap:13px;flex-wrap:wrap;max-width:72vw}.cine-disciplines:before{width:20px;margin:0 2px 0 0;align-self:center}
  .cine-live-beam{left:25%;top:8%;width:95vw;height:46vh}
  .cine-lens{left:24.6%;top:7.3%;height:36%}
}
@media(max-width:760px){
  .hero.hero-cinematic{height:168svh!important}.cine-sticky{height:100svh;min-height:520px}
  .cine-scene{inset:-2%}.cine-scene img{width:104%;height:104%;object-position:35% 50%;filter:saturate(.82) contrast(1.05) brightness(.86)}
  .cine-meta{left:18px;right:18px;top:98px;font-size:5.8px;letter-spacing:.15em}.cine-meta i{width:18px}.cine-meta span:last-child{display:none}
  .cine-shutter--top{clip-path:polygon(0 0,100% 0,100% 29%,28% 8%,0 18%);transform:translate3d(0,calc(var(--cine-open) * -24vh),0)}
  .cine-shutter--bottom{clip-path:polygon(0 18%,28% 11%,100% 58%,100% 100%,0 100%);transform:translate3d(0,calc(var(--cine-open) * 27vh),0)}
  .cine-live-beam{left:30%;top:7%;width:120vw;height:45vh;transform:rotate(calc(-3deg + var(--cine-p) * 3deg)) scaleX(calc(.88 + var(--cine-beam) * .12));opacity:calc(.10 + var(--cine-beam) * .24)}
  .cine-lens{left:29.5%;top:6.5%;height:35%}
  .cine-disciplines{left:18px;bottom:86px;max-width:82vw;gap:8px 11px;font-size:5.8px;letter-spacing:.16em}.cine-disciplines:before{display:none}
  .cine-scroll{left:18px;bottom:24px;font-size:5.8px;gap:10px}.cine-scroll i{height:34px}
  .cine-index{right:18px;bottom:25px;font-size:5.5px}.cine-index i{width:28px}.cine-index span:last-child{display:none}
}
@media(max-width:430px){
  .hero.hero-cinematic{height:160svh!important}.cine-scene img{object-position:31% 50%}
  .cine-live-beam{left:31%;top:8%;width:135vw;height:40vh}.cine-lens{left:30.2%;height:32%}
  .cine-disciplines span{opacity:.78}.cine-scroll span{max-width:70px;line-height:1.5}
}
@media(max-height:700px) and (min-width:761px){.cine-meta{top:108px}.cine-disciplines{top:54%}.cine-scroll i{height:38px}}
@media(prefers-reduced-motion:reduce){
  .hero.hero-cinematic{height:100svh!important}.cine-sticky{position:relative}.cine-scene img{transform:none!important}.cine-shutter{display:none}.cine-live-beam{opacity:.18;transform:none}.cine-scroll b{animation:none}
}


/* FAROS 5.2 — MONOCHROME FIELD. Gallery-grade, architectural, scroll-composed. */
.hero.hero-monochrome{
  --mono-p:0;
  --mono-e:0;
  --mono-x:0px;
  --mono-y:0px;
  position:relative!important;display:block!important;height:205svh!important;min-height:0!important;padding:0!important;
  background:#f4f4f1!important;color:#101214;overflow:visible!important;isolation:isolate;
}
.hero.hero-monochrome:before,.hero.hero-monochrome:after{display:none!important}
.mono-sticky{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:#f4f4f1;isolation:isolate}
.mono-grid{position:absolute;inset:0;z-index:-9;pointer-events:none;background-image:linear-gradient(to right,rgba(16,18,20,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(16,18,20,.035) 1px,transparent 1px);background-size:12.5vw 100%,100% 12.5vh;opacity:calc(.18 + var(--mono-e)*.5)}
.mono-stage{position:absolute;inset:0;z-index:-4;overflow:hidden;transform:translate3d(var(--mono-x),var(--mono-y),0)}
.mono-plane{position:absolute;background:#080a0c;will-change:transform,clip-path;backface-visibility:hidden}
.mono-plane--a{inset:-6% 51% -6% -8%;transform:translate3d(calc(var(--mono-e)*-27vw),0,0) skewX(calc(var(--mono-e)*-1.8deg))}
.mono-plane--b{left:41%;right:-7%;top:-8%;height:54%;clip-path:polygon(10% 0,100% 0,100% 100%,0 74%);transform:translate3d(calc(var(--mono-e)*20vw),calc(var(--mono-e)*-34vh),0)}
.mono-plane--c{left:48%;right:-9%;bottom:-10%;height:58%;clip-path:polygon(0 23%,100% 0,100% 100%,8% 100%);transform:translate3d(calc(var(--mono-e)*24vw),calc(var(--mono-e)*36vh),0)}
.mono-plane--d{left:44%;top:-5%;bottom:-5%;width:10.8vw;min-width:108px;transform-origin:50% 50%;transform:translate3d(calc(var(--mono-e)*-4vw),0,0) scaleX(calc(1 - var(--mono-e)*.68));background:#0d1013}
.mono-cut{position:absolute;left:42.8%;top:-10%;width:1.2vw;min-width:12px;height:120%;background:#fff;transform-origin:center;transform:translateX(calc(var(--mono-e)*15vw)) rotate(calc(-8deg + var(--mono-e)*8deg)) scaleX(calc(1 + var(--mono-e)*4.8));box-shadow:0 0 0 1px rgba(255,255,255,.12);will-change:transform}
.mono-rule{position:absolute;background:rgba(255,255,255,.38);mix-blend-mode:difference;will-change:transform}
.mono-rule--h{left:5%;right:5%;top:50%;height:1px;transform:scaleX(calc(.25 + var(--mono-e)*.75));transform-origin:left}
.mono-rule--v{top:7%;bottom:7%;left:50%;width:1px;transform:translateX(calc((var(--mono-e) - .5)*18vw));opacity:.72}
.mono-cross{position:absolute;left:calc(50% + var(--mono-e)*15vw);top:50%;width:38px;height:38px;transform:translate(-50%,-50%) rotate(calc(var(--mono-e)*90deg));mix-blend-mode:difference}
.mono-cross i,.mono-cross b{position:absolute;display:block;background:#fff}.mono-cross i{left:0;right:0;top:50%;height:1px}.mono-cross b{top:0;bottom:0;left:50%;width:1px}
.mono-frame{position:absolute;right:6.4%;bottom:10.5%;width:min(23vw,360px);aspect-ratio:1.45/1;border:1px solid rgba(255,255,255,.34);mix-blend-mode:difference;transform:translate3d(calc(var(--mono-e)*-4vw),calc(var(--mono-e)*2vh),0);opacity:calc(.30 + var(--mono-e)*.64)}
.mono-frame:before,.mono-frame:after{content:"";position:absolute;background:rgba(255,255,255,.34)}.mono-frame:before{left:14%;right:14%;top:29%;height:1px}.mono-frame:after{top:14%;bottom:14%;left:38%;width:1px}.mono-frame span,.mono-frame i,.mono-frame b{position:absolute;display:block;height:1px;background:rgba(255,255,255,.34);transform-origin:left}.mono-frame span{left:14%;top:52%;width:72%;transform:rotate(-12deg)}.mono-frame i{left:14%;top:66%;width:54%;transform:rotate(7deg)}.mono-frame b{left:38%;top:14%;width:46%;transform:rotate(90deg)}

.mono-meta{position:absolute;z-index:5;top:clamp(142px,15vh,174px);display:flex;align-items:center;gap:12px;font-size:7px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;mix-blend-mode:difference;color:#fff}
.mono-meta i{width:34px;height:1px;background:currentColor;opacity:.38}.mono-meta--left{left:var(--pad)}.mono-meta--right{right:var(--pad)}
.mono-mark{position:absolute;z-index:3;left:var(--pad);right:var(--pad);top:50%;display:flex;justify-content:space-between;align-items:center;transform:translateY(-53%);pointer-events:none;mix-blend-mode:difference;color:#fff;overflow:hidden}
.mono-mark span{font-family:var(--sans);font-size:clamp(150px,20.2vw,390px);font-weight:420;line-height:.72;letter-spacing:-.08em;transform:translate3d(calc((var(--mono-e) - .5)*var(--mono-letter-shift,0px)),calc((var(--mono-p) - .5)*var(--mono-letter-y,0px)),0);transition:font-weight .2s linear;will-change:transform}
.mono-mark span:nth-child(1){--mono-letter-shift:-38px;--mono-letter-y:18px}.mono-mark span:nth-child(2){--mono-letter-shift:24px;--mono-letter-y:-12px}.mono-mark span:nth-child(3){--mono-letter-shift:-18px;--mono-letter-y:14px}.mono-mark span:nth-child(4){--mono-letter-shift:34px;--mono-letter-y:-10px}.mono-mark span:nth-child(5){--mono-letter-shift:-26px;--mono-letter-y:16px}
.mono-caption{position:absolute;z-index:5;left:var(--pad);bottom:clamp(84px,11vh,126px);display:grid;gap:12px;mix-blend-mode:difference;color:#fff}
.mono-caption span{font-size:7px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;opacity:.6}.mono-caption strong{font-family:var(--serif);font-size:clamp(22px,2.1vw,38px);font-weight:400;line-height:1.05;letter-spacing:-.025em;max-width:15ch}
.mono-scroll{position:absolute;z-index:5;left:var(--pad);bottom:clamp(28px,4vh,44px);display:flex;align-items:center;gap:12px;mix-blend-mode:difference;color:#fff;font-size:7px;font-weight:750;letter-spacing:.18em;text-transform:uppercase}.mono-scroll i{width:46px;height:1px;background:currentColor;opacity:.42}.mono-scroll b{font-size:12px;font-weight:400;animation:monoNudge 1.8s ease-in-out infinite}@keyframes monoNudge{0%,100%{transform:translateY(-1px)}50%{transform:translateY(4px)}}
.mono-index{position:absolute;z-index:5;right:var(--pad);bottom:clamp(30px,4vh,46px);display:flex;align-items:center;gap:10px;mix-blend-mode:difference;color:#fff;font-size:7px;font-weight:750;letter-spacing:.18em}.mono-index i{width:58px;height:1px;background:currentColor;opacity:.38}

/* Header flips automatically as the monochrome composition resolves toward white. */
body.hero-active .site-header{background:transparent!important;border-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.hero-active .brand img{filter:brightness(0) invert(1)!important}
body.hero-active .site-nav__list a,body.hero-active .header-cta{color:#fff!important}
body.hero-active .site-nav__list a:after{background:#fff!important}body.hero-active .header-cta{border-bottom-color:rgba(255,255,255,.62)!important}body.hero-active .menu-toggle span{background:#fff!important}
body.hero-active.hero-mono-light .brand img{filter:none!important}
body.hero-active.hero-mono-light .site-nav__list a,body.hero-active.hero-mono-light .header-cta{color:#111417!important}
body.hero-active.hero-mono-light .site-nav__list a:after{background:#111417!important}body.hero-active.hero-mono-light .header-cta{border-bottom-color:rgba(17,20,23,.55)!important}body.hero-active.hero-mono-light .menu-toggle span{background:#111417!important}

@media(max-width:1366px){.hero.hero-monochrome{height:195svh!important}.mono-sticky{min-height:580px}.mono-meta{top:126px}.mono-mark span{font-size:clamp(126px,20vw,280px)}.mono-caption{bottom:98px}}
@media(max-width:1100px){.hero.hero-monochrome{height:185svh!important}.mono-sticky{min-height:560px}.mono-meta{top:112px}.mono-meta--right{display:none}.mono-mark{left:22px;right:22px}.mono-mark span{font-size:clamp(118px,21.5vw,238px)}.mono-caption{left:22px}.mono-scroll{left:22px}.mono-index{right:22px}.mono-plane--d{min-width:84px}.mono-frame{width:min(29vw,300px)}}
@media(max-width:760px){
  .hero.hero-monochrome{height:172svh!important}.mono-sticky{height:100svh;min-height:520px}
  .mono-grid{background-size:25vw 100%,100% 16.666vh;opacity:.34}
  .mono-plane--a{right:46%;transform:translate3d(calc(var(--mono-e)*-34vw),0,0)}
  .mono-plane--b{left:37%;height:49%;transform:translate3d(calc(var(--mono-e)*28vw),calc(var(--mono-e)*-30vh),0)}
  .mono-plane--c{left:43%;height:54%;transform:translate3d(calc(var(--mono-e)*30vw),calc(var(--mono-e)*31vh),0)}
  .mono-plane--d{left:42%;width:17vw;min-width:70px}.mono-cut{left:41.2%;width:2vw;min-width:9px;transform:translateX(calc(var(--mono-e)*18vw)) rotate(calc(-6deg + var(--mono-e)*6deg)) scaleX(calc(1 + var(--mono-e)*4))}
  .mono-meta{left:18px;right:18px;top:98px;font-size:5.7px;letter-spacing:.15em}.mono-meta span:last-child,.mono-meta i{display:none}
  .mono-mark{left:16px;right:16px;top:49%;gap:1px}.mono-mark span{font-size:clamp(72px,22.5vw,116px);font-weight:470;letter-spacing:-.09em}
  .mono-caption{left:18px;bottom:88px;gap:9px}.mono-caption span{font-size:5.8px}.mono-caption strong{font-size:clamp(20px,6vw,28px)}
  .mono-scroll{left:18px;bottom:25px;font-size:5.8px}.mono-scroll i{width:26px}.mono-index{right:18px;bottom:26px;font-size:5.6px}.mono-index i{width:28px}
  .mono-frame{right:7%;bottom:17%;width:40vw;opacity:calc(.20 + var(--mono-e)*.54)}.mono-cross{width:26px;height:26px}
}
@media(max-width:430px){.hero.hero-monochrome{height:164svh!important}.mono-mark span{font-size:clamp(64px,21.8vw,92px)}.mono-caption strong{font-size:21px}.mono-frame{display:none}.mono-index span:last-child{display:none}}
@media(max-height:700px) and (min-width:761px){.mono-meta{top:106px}.mono-caption{bottom:72px}.mono-mark span{font-size:clamp(120px,18vw,245px)}}
@media(prefers-reduced-motion:reduce){.hero.hero-monochrome{height:100svh!important}.mono-sticky{position:relative}.mono-plane--a{transform:translateX(-18vw)}.mono-plane--b{transform:translate(14vw,-22vh)}.mono-plane--c{transform:translate(16vw,24vh)}.mono-plane--d{transform:scaleX(.42)}.mono-cut{transform:translateX(12vw) rotate(0) scaleX(3.4)}.mono-mark span{transform:none!important}.mono-scroll b{animation:none!important}}


/* FAROS 5.3 — LINEAR DRAFT. Swiss-grid precision, technical linework, scroll-resolved composition. */
.hero.hero-drafting{
  --draft-p:0;--draft-resolve:0;--draft-ink:0%;--draft-x:0px;--draft-y:0px;--draft-grid-opacity:.72;--draft-vshift:6.5vw;--draft-hscale:.46;--draft-node-opacity:.16;--draft-node-scale:.65;
  position:relative!important;display:block!important;height:218svh!important;min-height:0!important;padding:0!important;
  background:#f1f0ec!important;color:#0b0e11;overflow:visible!important;isolation:isolate;
}
.hero.hero-drafting:before,.hero.hero-drafting:after{display:none!important}
.draft-sticky{position:sticky;top:0;height:100svh;min-height:640px;overflow:hidden;background:#f1f0ec;isolation:isolate}
.draft-grid{position:absolute;inset:0;z-index:-7;pointer-events:none;background-image:linear-gradient(to right,rgba(11,14,17,.075) 1px,transparent 1px),linear-gradient(to bottom,rgba(11,14,17,.042) 1px,transparent 1px);background-size:8.333333vw 100%,100% 11.111111vh;opacity:var(--draft-grid-opacity)}
.draft-grid:before,.draft-grid:after{content:"";position:absolute;background:#0b0e11;opacity:.09}
.draft-grid:before{left:0;right:0;top:50%;height:1px}.draft-grid:after{top:0;bottom:0;left:50%;width:1px}

.draft-register{position:absolute;inset:0;z-index:-4;pointer-events:none;transform:translate3d(var(--draft-x),var(--draft-y),0)}
.draft-register__v,.draft-register__h{position:absolute;display:block;background:#0b0e11;opacity:calc(.26 - var(--draft-resolve)*.16);will-change:transform}
.draft-register__v{left:50%;top:9%;bottom:9%;width:1px;transform:translateX(var(--draft-vshift))}
.draft-register__h{left:6%;right:6%;top:50%;height:1px;transform:scaleX(var(--draft-hscale));transform-origin:left}
.draft-register__cross{position:absolute;left:calc(50% + var(--draft-vshift));top:50%;width:34px;height:34px;transform:translate(-50%,-50%)}
.draft-register__cross:before,.draft-register__cross:after{content:"";position:absolute;background:#0b0e11;opacity:.58}.draft-register__cross:before{left:0;right:0;top:50%;height:1px}.draft-register__cross:after{top:0;bottom:0;left:50%;width:1px}

.draft-signal{position:absolute;z-index:-2;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform:translate3d(var(--draft-x),var(--draft-y),0)}
.draft-signal__ghost,.draft-signal__live{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:square;stroke-linejoin:miter}
.draft-signal__ghost{stroke:rgba(11,14,17,.12);stroke-width:1}.draft-signal__live{stroke:#111417;stroke-width:1.35;stroke-dasharray:1;stroke-dashoffset:1}
.draft-signal__nodes circle{fill:#111417;opacity:var(--draft-node-opacity);transform-origin:center;transform-box:fill-box;transform:scale(var(--draft-node-scale))}

.draft-meta{position:absolute;z-index:6;top:clamp(142px,15vh,172px);display:flex;align-items:center;gap:12px;color:#111417;font-size:7px;font-weight:760;letter-spacing:.18em;text-transform:uppercase}
.draft-meta i{display:block;width:36px;height:1px;background:#111417;opacity:.34}.draft-meta--left{left:var(--pad)}.draft-meta--right{right:var(--pad)}

.draft-word{position:absolute;z-index:4;left:var(--pad);right:var(--pad);top:50%;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:0;transform:translateY(-55%);pointer-events:none}
.draft-word span{position:relative;display:block;font-family:var(--sans);font-size:clamp(132px,19.4vw,360px);font-weight:420;line-height:.72;letter-spacing:-.085em;color:transparent;-webkit-text-stroke:1px rgba(11,14,17,.58);text-align:center;overflow:hidden}
.draft-word span:after{content:attr(data-letter);position:absolute;inset:0;color:#0a0d10;-webkit-text-stroke:0 transparent;clip-path:inset(0 calc(100% - var(--draft-ink)) 0 0);transition:clip-path .06s linear}


.draft-ruler{position:absolute;z-index:5;color:rgba(11,14,17,.42);font-size:6px;font-weight:720;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.draft-ruler--top{left:var(--pad);right:var(--pad);top:calc(clamp(142px,15vh,172px) + 34px);display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:8px}.draft-ruler--top i{height:1px;background:rgba(11,14,17,.13)}
.draft-ruler--side{right:var(--pad);top:29%;bottom:20%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.draft-ruler--side i{display:block;width:24px;height:1px;background:rgba(11,14,17,.18)}

.draft-disciplines{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:clamp(134px,15vh,170px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(11,14,17,.22);border-bottom:1px solid rgba(11,14,17,.12)}
.draft-disciplines span{display:flex;align-items:center;gap:12px;padding:13px 0;color:rgba(11,14,17,.72);font-size:8px;font-weight:720;letter-spacing:.16em;text-transform:uppercase}.draft-disciplines span+span{border-left:1px solid rgba(11,14,17,.12);padding-left:18px}.draft-disciplines b{font-size:6px;font-weight:760;color:rgba(11,14,17,.36)}

.draft-caption{position:absolute;z-index:5;left:var(--pad);bottom:clamp(62px,7.2vh,82px);display:grid;gap:8px}.draft-caption span{font-size:6.5px;font-weight:760;letter-spacing:.18em;text-transform:uppercase;color:rgba(11,14,17,.45)}.draft-caption strong{font-family:var(--serif);font-size:clamp(19px,1.55vw,28px);font-weight:400;line-height:1.03;letter-spacing:-.02em;color:#111417}
.draft-scroll{position:absolute;z-index:6;right:var(--pad);bottom:clamp(62px,7.2vh,82px);display:flex;align-items:center;gap:12px;color:#111417;font-size:7px;font-weight:760;letter-spacing:.17em;text-transform:uppercase}.draft-scroll i{width:42px;height:1px;background:#111417;opacity:.28}.draft-scroll b{font-size:12px;font-weight:400;animation:draftNudge 1.8s ease-in-out infinite}@keyframes draftNudge{0%,100%{transform:translateY(-1px)}50%{transform:translateY(4px)}}
.draft-progress{position:absolute;z-index:5;left:50%;bottom:clamp(30px,3.5vh,40px);transform:translateX(-50%);display:flex;align-items:center;gap:9px;color:rgba(11,14,17,.5);font-size:6px;font-weight:760;letter-spacing:.15em}.draft-progress>i{display:block;width:min(18vw,210px);height:1px;background:rgba(11,14,17,.12);overflow:hidden}.draft-progress>i>b{display:block;width:0;height:100%;background:#111417}

body.hero-drafting-active .site-header{background:rgba(241,240,236,.88)!important;border-color:transparent!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
body.hero-drafting-active .brand img{filter:none!important}body.hero-drafting-active .site-nav__list a,body.hero-drafting-active .header-cta{color:#111417!important}body.hero-drafting-active .site-nav__list a:after{background:#111417!important}body.hero-drafting-active .header-cta{border-bottom-color:rgba(17,20,23,.48)!important}body.hero-drafting-active .menu-toggle span{background:#111417!important}

@media(max-width:1366px){
  .hero.hero-drafting{height:205svh!important}.draft-sticky{min-height:590px}.draft-meta{top:126px}.draft-ruler--top{top:160px}.draft-word span{font-size:clamp(118px,19.7vw,280px)}.draft-disciplines{bottom:128px}.draft-caption,.draft-scroll{bottom:58px}
}
@media(max-width:1100px){
  .hero.hero-drafting{height:194svh!important}.draft-sticky{min-height:560px}.draft-meta{top:112px}.draft-meta--right{display:none}.draft-ruler--top{top:148px}.draft-ruler--side{display:none}.draft-word{left:22px;right:22px}.draft-word span{font-size:clamp(105px,20.2vw,228px)}.draft-disciplines{left:22px;right:22px}.draft-caption{left:22px}.draft-scroll{right:22px}
}
@media(max-width:760px){
  .hero.hero-drafting{height:178svh!important}.draft-sticky{height:100svh;min-height:520px}.draft-grid{background-size:20vw 100%,100% 14.285vh;opacity:calc(.58 - var(--draft-resolve)*.36)}
  .draft-meta{left:18px;right:18px;top:98px;font-size:5.8px;letter-spacing:.15em}.draft-meta i,.draft-meta span:last-child{display:none}.draft-ruler--top{left:18px;right:18px;top:128px;font-size:5px}.draft-ruler--top b:nth-of-type(2),.draft-ruler--top b:nth-of-type(4){display:none}
  .draft-word{left:12px;right:12px;top:47%;gap:0}.draft-word span{font-size:clamp(66px,20.8vw,112px);font-weight:470;-webkit-text-stroke-width:.8px}
  .draft-disciplines{left:18px;right:18px;bottom:122px;grid-template-columns:1fr 1fr}.draft-disciplines span{padding:10px 0;font-size:6.5px}.draft-disciplines span+span{padding-left:10px}.draft-disciplines span:nth-child(3){border-left:0;border-top:1px solid rgba(11,14,17,.12)}.draft-disciplines span:nth-child(4){border-top:1px solid rgba(11,14,17,.12)}
  .draft-caption{left:18px;bottom:56px}.draft-caption strong{font-size:20px}.draft-caption span{font-size:5.5px}.draft-scroll{right:18px;bottom:58px;font-size:5.7px}.draft-scroll span{display:none}.draft-scroll i{width:26px}.draft-progress{bottom:24px}.draft-progress>i{width:34vw}
}
@media(max-width:430px){
  .hero.hero-drafting{height:169svh!important}.draft-word{top:45%}.draft-word span{font-size:clamp(58px,20vw,86px)}.draft-caption strong{font-size:18px}.draft-disciplines b{display:none}.draft-disciplines span{font-size:6px;letter-spacing:.13em}.draft-ruler--top{display:none}
}
@media(max-height:700px) and (min-width:761px){.draft-meta{top:104px}.draft-ruler--top{top:138px}.draft-disciplines{bottom:106px}.draft-caption,.draft-scroll{bottom:42px}.draft-word span{font-size:clamp(100px,17.2vw,235px)}}
@media(prefers-reduced-motion:reduce){.hero.hero-drafting{height:100svh!important}.draft-sticky{position:relative}.draft-signal__live{stroke-dashoffset:0!important}.draft-word span:after{clip-path:inset(0 0 0 0)!important}.draft-scroll b{animation:none!important}}


/* FAROS 5.3.2 — The FAROS Standard / continuous editorial system. */
.standard-rail{
  --std-progress:0;
  position:relative;
  overflow:hidden;
  background:var(--paper)!important;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:clamp(42px,5vw,72px) var(--pad) clamp(48px,5.8vw,82px)!important;
  display:grid!important;
  grid-template-columns:minmax(170px,.2fr) minmax(0,1fr)!important;
  gap:clamp(42px,6.5vw,112px)!important;
}
.standard-rail:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0,transparent calc(25% - .5px),rgba(16,31,44,.025) 25%,transparent calc(25% + .5px),transparent 50%,rgba(16,31,44,.025) calc(50% + .5px),transparent calc(50% + 1px),transparent 75%,rgba(16,31,44,.025) calc(75% + .5px),transparent calc(75% + 1px));
  opacity:.7;
}
.standard-rail__head{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.standard-rail__label{display:flex!important;align-items:center!important;gap:16px!important;padding:6px 0 0!important;color:var(--ink-muted)!important;font-size:8px!important;font-weight:700!important;letter-spacing:.20em!important;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.standard-rail__label i{display:block!important;flex:0 0 38px;width:38px!important;height:1px!important;margin:0!important;background:var(--accent)!important;transform-origin:left;transform:scaleX(calc(.38 + (var(--std-progress) * .62)));transition:transform .16s linear}
.standard-rail__closing{margin:0;max-width:17ch;color:var(--ink-muted);font-size:9px;line-height:1.55;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.standard-rail__system{position:relative;z-index:2;min-width:0;padding-top:20px}
.standard-rail__track{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(15,30,43,.12);overflow:hidden}
.standard-rail__track i{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left center;transform:scaleX(var(--std-progress));will-change:transform}
.standard-rail__items{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border:0!important;min-width:0}
.standard-rail__items>article{
  position:relative;
  min-height:clamp(180px,14vw,228px)!important;
  padding:clamp(30px,2.5vw,42px) clamp(24px,2.25vw,38px) 20px!important;
  border:0!important;
  border-left:1px solid var(--line)!important;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start!important;
  overflow:visible!important;
  opacity:.58;
  transform:translate3d(0,8px,0);
  transition:opacity .55s var(--ease),transform .65s var(--ease),padding .55s var(--ease),border-color .4s ease;
}
.standard-rail__items>article:last-child{border-right:1px solid var(--line)!important}
.standard-rail__items>article:before{content:"";position:absolute!important;left:-1px!important;top:0!important;bottom:auto!important;width:1px!important;height:0!important;background:var(--accent)!important;transform:none!important;transition:height .62s var(--ease)!important}
.standard-rail__items>article:after{content:"";position:absolute;left:clamp(24px,2.25vw,38px);right:clamp(24px,2.25vw,38px);bottom:18px;height:1px;background:var(--line);transform-origin:left center;transform:scaleX(.22);transition:transform .6s var(--ease),background .45s ease}
.standard-rail__items>article.is-active{opacity:1;transform:translate3d(0,0,0)}
.standard-rail__items>article.is-active:before{height:34px!important}
.standard-rail__items>article.is-active:after{transform:scaleX(.62);background:rgba(36,79,111,.28)}
.standard-rail__items h3{margin:0;max-width:13ch;font-family:var(--serif);font-size:clamp(23px,1.75vw,32px);font-weight:400;line-height:1.06;letter-spacing:-.027em;color:var(--ink)}
.standard-rail__items p{margin:12px 0 0;max-width:29ch;color:var(--ink-soft);font-size:10px;line-height:1.62}
.standard-rail__descriptor{margin-top:auto;padding-top:34px!important;font-family:var(--sans)!important;font-size:7.5px!important;font-weight:700!important;line-height:1!important;letter-spacing:.20em!important;text-transform:uppercase;color:var(--ink-muted)!important;opacity:.74;transition:color .4s ease,opacity .4s ease,transform .45s var(--ease)}
.standard-rail__items>article.is-active .standard-rail__descriptor{color:var(--accent)!important;opacity:1;transform:translateX(2px)}
@media (hover:hover) and (pointer:fine){
  .standard-rail__items:hover>article{opacity:.46}
  .standard-rail__items>article:hover{opacity:1;transform:translate3d(0,-5px,0);padding-top:calc(clamp(30px,2.5vw,42px) - 3px)!important}
  .standard-rail__items>article:hover:before{height:54px!important}
  .standard-rail__items>article:hover:after{transform:scaleX(1);background:var(--accent)}
  .standard-rail__items>article:hover .standard-rail__descriptor{color:var(--accent)!important;opacity:1;transform:translateX(3px)}
}

/* Tablet: editorial 2×2, same system — not a squeezed desktop. */
@media(max-width:1100px){
  .standard-rail{grid-template-columns:1fr!important;gap:30px!important;padding-top:42px!important;padding-bottom:54px!important}
  .standard-rail__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px}
  .standard-rail__closing{max-width:none;text-align:right}
  .standard-rail__system{padding-top:18px}
  .standard-rail__items{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .standard-rail__items>article{min-height:190px!important;padding:30px 28px 22px!important;border-bottom:1px solid var(--line)!important}
  .standard-rail__items>article:nth-child(2n){border-right:1px solid var(--line)!important}
  .standard-rail__items>article:nth-child(n+3){border-bottom:0!important}
  .standard-rail__items h3{font-size:clamp(26px,3vw,34px);max-width:15ch}
  .standard-rail__items p{font-size:10px;max-width:34ch}
  .standard-rail__items>article:after{left:28px;right:28px;bottom:20px}
  .standard-rail:after{background:linear-gradient(90deg,transparent 0,transparent calc(50% - .5px),rgba(16,31,44,.028) 50%,transparent calc(50% + .5px))}
}

/* Mobile: vertical standard. The line follows the user's scroll through the principles. */
@media(max-width:700px){
  .standard-rail{display:block!important;padding:32px max(18px,env(safe-area-inset-right)) 38px max(18px,env(safe-area-inset-left))!important}
  .standard-rail:after{display:none}
  .standard-rail__head{display:block}
  .standard-rail__label{font-size:6.5px!important;letter-spacing:.19em!important}
  .standard-rail__label i{flex-basis:28px;width:28px!important}
  .standard-rail__closing{margin-top:12px;max-width:none;text-align:left;font-size:7px;letter-spacing:.13em}
  .standard-rail__system{margin-top:28px;padding:0 0 0 25px}
  .standard-rail__track{left:0;right:auto;top:0;bottom:0;width:1px;height:auto;background:rgba(15,30,43,.13)}
  .standard-rail__track i{width:1px;height:100%;transform-origin:center top;transform:scaleY(var(--std-progress))}
  .standard-rail__items{display:block!important}
  .standard-rail__items>article,
  .standard-rail__items>article:nth-child(2n),
  .standard-rail__items>article:nth-child(n+3){
    min-height:0!important;
    padding:26px 0 28px 19px!important;
    border:0!important;
    border-bottom:1px solid var(--line)!important;
    opacity:.46;
    transform:translate3d(0,10px,0);
  }
  .standard-rail__items>article:last-child{border-bottom:0!important}
  .standard-rail__items>article:before{left:-26px!important;top:31px!important;width:7px!important;height:7px!important;border:1px solid var(--accent);background:var(--paper)!important;transform:translateX(-3px)!important;transition:background .35s ease,transform .45s var(--ease)!important}
  .standard-rail__items>article:after{display:none}
  .standard-rail__items>article.is-active{opacity:1;transform:none}
  .standard-rail__items>article.is-active:before{height:7px!important;background:var(--accent)!important;transform:translateX(-3px) scale(1.12)!important}
  .standard-rail__items h3{font-size:clamp(28px,8.8vw,40px);line-height:1.02;max-width:11.5ch}
  .standard-rail__items p{margin-top:12px;font-size:10px;line-height:1.65;max-width:34ch}
  .standard-rail__descriptor{margin-top:22px;padding-top:0!important;font-size:7px!important;letter-spacing:.18em!important}
}
@media(max-width:380px){
  .standard-rail__system{padding-left:21px}
  .standard-rail__items>article{padding-left:16px!important}
  .standard-rail__items>article:before{left:-22px!important}
  .standard-rail__items h3{font-size:28px}
}
@media(prefers-reduced-motion:reduce){
  .standard-rail__track i{transform:scaleX(1)!important}
  .standard-rail__items>article{opacity:1!important;transform:none!important;transition:none!important}
  .standard-rail__items>article:before{height:28px!important}
}


/* FAROS 5.3.3 — Collaborations Live Gateway. Editorial scanner + scroll-directed reveal. */
.collaborations{position:relative;background:#fff!important;padding-top:0!important}
.collaborations-intro{
  --ci-p:0;--ci-built-clip:100%;--ci-live-clip:100%;--ci-scan:6%;
  position:relative;height:162svh;min-height:980px;margin-bottom:clamp(78px,8vw,124px)
}
.collaborations-intro__sticky{
  position:sticky;top:0;height:100svh;min-height:720px;display:grid;grid-template-rows:auto 1fr auto auto;
  padding:clamp(118px,13vh,158px) 0 clamp(34px,5vh,58px);overflow:hidden;isolation:isolate
}
.collaborations-intro__sticky:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-2;
  background:linear-gradient(to right,rgba(11,22,33,.025) 1px,transparent 1px);background-size:12.5% 100%;opacity:.58
}
.collaborations-intro__sticky:after{
  content:"";position:absolute;left:0;right:0;top:55%;height:1px;background:rgba(11,22,33,.085);z-index:-1
}
.collaborations-intro__top{display:grid;grid-template-columns:minmax(170px,.24fr) minmax(260px,36ch);justify-content:space-between;align-items:start;gap:36px}
.collaborations-intro__top .section-kicker{margin:0}.collaborations-intro__top>p{margin:0;justify-self:end;color:var(--ink-soft);font-size:12.5px;line-height:1.7;max-width:36ch}
.collaborations-intro__stage{position:relative;align-self:center;min-height:0;display:grid;align-content:center;padding:3vh 0 1vh}
.collaborations-intro__stage h2{margin:0;display:grid;gap:0;line-height:.82;letter-spacing:-.064em;font-weight:400;max-width:1500px}
.collab-word{position:relative;display:block;width:max-content;max-width:100%;white-space:nowrap}
.collab-word>span{display:block;color:transparent;-webkit-text-stroke:1px rgba(11,22,33,.20);text-stroke:1px rgba(11,22,33,.20)}
.collab-word:after{content:attr(data-text);position:absolute;inset:0;color:var(--ink);-webkit-text-stroke:0;clip-path:inset(0 var(--ci-built-clip) 0 0);will-change:clip-path}
.collab-word--built{font-family:var(--sans);font-size:clamp(72px,8.8vw,164px);font-style:normal;font-weight:450}
.collab-word--live{justify-self:end;margin-top:-.03em;font-family:var(--serif);font-size:clamp(86px,10.6vw,198px);font-style:normal;font-weight:400;letter-spacing:-.055em}
.collab-word--live:after{clip-path:inset(0 var(--ci-live-clip) 0 0)}
.collaborations-intro__scanner{position:absolute;left:var(--ci-scan);top:8%;bottom:8%;width:1px;background:linear-gradient(180deg,transparent 0,rgba(36,79,111,.16) 12%,var(--accent) 48%,rgba(36,79,111,.16) 86%,transparent 100%);will-change:left;z-index:3}
.collaborations-intro__scanner:before{content:"";position:absolute;left:-3px;top:49.5%;width:7px;height:7px;background:#fff;border:1px solid var(--accent);transform:rotate(45deg)}
.collaborations-intro__scanner span{position:absolute;left:12px;top:calc(50% - 8px);font-size:6px;font-weight:800;letter-spacing:.22em;color:var(--accent)}
.collaborations-intro__sub{margin:clamp(24px,3vh,40px) 0 0;max-width:34ch;color:var(--ink-soft);font-size:13px;line-height:1.66;opacity:calc(.42 + var(--ci-p)*.58);transform:translateY(calc((1 - var(--ci-p))*8px));will-change:opacity,transform}
.collaborations-intro__rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(11,22,33,.16);border-bottom:1px solid rgba(11,22,33,.10);min-width:0}
.collaborations-intro__rail span{position:relative;padding:17px 16px 16px;color:rgba(11,22,33,.36);font-size:8px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;border-left:1px solid rgba(11,22,33,.08);transition:color .35s ease,transform .5s var(--ease),background .35s ease}
.collaborations-intro__rail span:first-child{border-left:0;padding-left:0}.collaborations-intro__rail span:last-child{padding-right:0}
.collaborations-intro__rail span:before{content:"";position:absolute;left:16px;right:16px;top:-1px;height:1px;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .45s var(--ease)}
.collaborations-intro__rail span:first-child:before{left:0}.collaborations-intro__rail span.is-active{color:var(--ink);transform:translateY(-2px)}.collaborations-intro__rail span.is-active:before{transform:scaleX(1)}
.collaborations-intro__progress{height:1px;background:rgba(11,22,33,.08);overflow:hidden}.collaborations-intro__progress i{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--ci-p));will-change:transform}

/* The actual live work now starts immediately after the gateway, with no redundant headline gap. */
.collaboration-grid{margin-top:0!important}

@media(max-width:1180px){
  .collaborations-intro{height:148svh;min-height:900px}
  .collaborations-intro__sticky{min-height:660px;padding-top:112px}
  .collaborations-intro__top{grid-template-columns:1fr minmax(250px,34ch)}
  .collab-word--built{font-size:clamp(66px,9.5vw,124px)}.collab-word--live{font-size:clamp(80px,11.4vw,148px)}
}

/* Tablet: same idea, re-composed rather than squeezed. */
@media(max-width:900px){
  .collaborations-intro{height:132svh;min-height:800px;margin-bottom:72px}
  .collaborations-intro__sticky{min-height:620px;padding:108px 0 32px;grid-template-rows:auto 1fr auto auto}
  .collaborations-intro__top{grid-template-columns:1fr;gap:16px}.collaborations-intro__top>p{justify-self:start;max-width:52ch;font-size:12px}
  .collaborations-intro__stage{padding:2vh 0}
  .collab-word--built{font-size:clamp(58px,10.8vw,94px)}.collab-word--live{font-size:clamp(70px,13vw,112px);justify-self:start;margin-left:9vw;margin-top:.02em}
  .collaborations-intro__scanner{top:5%;bottom:5%}
  .collaborations-intro__rail{grid-template-columns:repeat(2,minmax(0,1fr))}.collaborations-intro__rail span{border-bottom:1px solid rgba(11,22,33,.08)}.collaborations-intro__rail span:nth-child(odd){border-left:0;padding-left:0}.collaborations-intro__rail span:nth-child(3),.collaborations-intro__rail span:nth-child(4){border-bottom:0}.collaborations-intro__rail span:nth-child(odd):before{left:0}
}

/* Mobile: vertical editorial reveal, shorter travel and larger type. */
@media(max-width:700px){
  .collaborations{padding-left:max(18px,env(safe-area-inset-left))!important;padding-right:max(18px,env(safe-area-inset-right))!important}
  .collaborations-intro{height:118svh;min-height:690px;margin-bottom:56px}
  .collaborations-intro__sticky{height:100svh;min-height:590px;padding:98px 0 max(22px,env(safe-area-inset-bottom))}
  .collaborations-intro__sticky:before{background-size:25% 100%;opacity:.44}.collaborations-intro__sticky:after{top:53%}
  .collaborations-intro__top>p{font-size:10.5px;line-height:1.62;max-width:36ch}
  .collaborations-intro__stage{padding:1vh 0;align-content:center}
  .collaborations-intro__stage h2{line-height:.86;letter-spacing:-.052em}
  .collab-word--built{font-size:clamp(44px,13.25vw,64px)}.collab-word--live{font-size:clamp(58px,17vw,82px);margin-left:0;justify-self:start}
  .collab-word{max-width:calc(100vw - 36px)}
  .collaborations-intro__scanner{top:2%;bottom:2%}.collaborations-intro__scanner span{display:none}
  .collaborations-intro__rail{display:flex;overflow:hidden;border-bottom:0}.collaborations-intro__rail span{flex:0 0 auto;border-left:0;border-right:1px solid rgba(11,22,33,.08);border-bottom:0!important;padding:13px 16px 13px 0;margin-right:16px;font-size:6.4px}.collaborations-intro__rail span:before{left:0;right:16px}
}
@media(max-width:390px){.collaborations-intro{height:112svh}.collab-word--built{font-size:clamp(42px,12.9vw,48px)}.collab-word--live{font-size:clamp(54px,16.2vw,62px)}.collaborations-intro__top>p{font-size:10px}}
@media(max-height:700px) and (min-width:701px){.collaborations-intro__sticky{padding-top:98px}.collab-word--built{font-size:clamp(58px,8vw,112px)}.collab-word--live{font-size:clamp(70px,9.6vw,134px)}}
@media(prefers-reduced-motion:reduce){
  .collaborations-intro{height:auto;min-height:0;margin-bottom:72px}.collaborations-intro__sticky{position:relative;height:auto;min-height:0;padding-top:var(--section)}
  .collab-word:after{clip-path:inset(0 0 0 0)!important}.collaborations-intro__scanner{display:none}.collaborations-intro__sub{opacity:1;transform:none}.collaborations-intro__progress i{transform:scaleX(1)!important}.collaborations-intro__rail span{color:var(--ink)}
}


/* FAROS 5.4.9 — premium blueprint Signal Tower, refined proportions and cleaner drafting. */
.faros-scroll-tower{
  --tower-accent:#315f89;
  position:fixed;right:clamp(18px,2.1vw,30px);bottom:clamp(16px,2.3vw,26px);left:auto;z-index:72;
  width:94px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#0b1621;pointer-events:none;
  transition:opacity .24s ease,transform .42s cubic-bezier(.16,1,.3,1);
}
.faros-scroll-tower__meta,.faros-scroll-tower__foot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border:0;padding:0;margin:0;color:rgba(11,22,33,.40);font-size:5.2px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.faros-scroll-tower__meta{margin-bottom:5px}
.faros-scroll-tower__meta span,.faros-scroll-tower__foot span{white-space:nowrap}
.faros-scroll-tower__meta b{font-size:5.2px;font-weight:800;letter-spacing:.1em;color:var(--tower-accent)}
.faros-scroll-tower__svg{display:block;width:100%;height:auto;aspect-ratio:120/232;margin:0;overflow:visible}
.faros-scroll-tower__svg path,.faros-scroll-tower__svg circle{vector-effect:non-scaling-stroke;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tower-guides path{stroke:rgba(49,95,137,.16);stroke-width:.72}
.tower-guides .tower-datum{stroke:rgba(49,95,137,.24);stroke-dasharray:2 4}
.tower-form path,.tower-form circle{stroke:rgba(11,22,33,.13);stroke-width:.84}
.tower-active path{stroke:#0b1621;stroke-width:1.04;stroke-dasharray:1;stroke-dashoffset:1}
.tower-active .tower-lamp{stroke:var(--tower-accent);stroke-width:.96;fill:rgba(49,95,137,0);transition:fill .24s ease,filter .24s ease}
.tower-beam{opacity:0;transition:opacity .24s ease}
.tower-beam path{stroke:var(--tower-accent);stroke-width:.86;stroke-dasharray:1;stroke-dashoffset:1;filter:none}
.tower-beam .tower-beam__soft{stroke-width:.46;opacity:.24}
.faros-scroll-tower.is-complete .tower-active .tower-lamp{fill:var(--tower-accent);filter:drop-shadow(0 0 2px rgba(49,95,137,.18))}
.faros-scroll-tower.is-complete .tower-beam{opacity:1}
.faros-scroll-tower__foot{grid-template-columns:auto 1fr;margin-top:6px;color:rgba(11,22,33,.38)}
.faros-scroll-tower__foot i{height:1px;background:linear-gradient(90deg,var(--tower-accent),rgba(49,95,137,.06));transform-origin:left;transform:scaleX(var(--tower-progress,0))}
body.menu-open .faros-scroll-tower{opacity:0;transform:translateY(7px)}

@media(min-width:1800px){.faros-scroll-tower{width:102px;right:36px;bottom:30px}}
@media(max-width:1100px){.faros-scroll-tower{width:86px;right:16px;bottom:16px}.faros-scroll-tower__meta,.faros-scroll-tower__foot{font-size:4.9px}}
@media(max-width:700px){
  .faros-scroll-tower{width:70px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px))}
  .faros-scroll-tower__meta,.faros-scroll-tower__foot{display:none}
  .tower-guides path{stroke:rgba(49,95,137,.18)}
  .tower-form path,.tower-form circle{stroke:rgba(11,22,33,.15)}
  .tower-active path{stroke-width:1.12}
}
@media(max-width:390px){.faros-scroll-tower{width:66px;right:10px;bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px))}}
@media(prefers-reduced-motion:reduce){.faros-scroll-tower{transition:none}.tower-beam,.tower-active .tower-lamp{transition:none}}


/* FAROS 5.5.3 — restored premium manifesto visual. Core scroll animations elsewhere remain active. */
.closing-manifesto{position:relative;background:#07111a;color:#fff;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(8,20,31,.16);overflow:hidden;isolation:isolate}
.closing-manifesto:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.02) 1px,transparent 1px);background-size:12.5% 100%,100% 25%;opacity:.42;pointer-events:none}
.closing-manifesto:after{content:"";position:absolute;left:var(--pad);right:var(--pad);top:50%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 18%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.08) 82%,transparent 100%);pointer-events:none}
.closing-manifesto__inner{position:relative;z-index:1;padding-top:clamp(88px,10vh,132px);padding-bottom:clamp(88px,10vh,132px)}
.closing-manifesto__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:clamp(34px,5vw,96px);align-items:end;margin-top:24px}
.closing-manifesto__statement{min-width:0}
.closing-manifesto__eyebrow{margin:0 0 18px;font-size:8px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.46)}
.closing-manifesto__statement h2{margin:0;font-size:clamp(68px,7.8vw,136px);line-height:.82;letter-spacing:-.06em;font-weight:400;color:#fff}
.closing-manifesto__detail{justify-self:end;max-width:40ch}
.closing-manifesto__detail>p{margin:0 0 26px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.75}
.closing-manifesto__rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11)}
.closing-manifesto__rail span{padding:15px 16px 14px 0;border-right:1px solid rgba(255,255,255,.08);font-size:7px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.54)}
.closing-manifesto__rail span:last-child{border-right:0}
.closing-manifesto__signal{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:16px;color:rgba(255,255,255,.5);font-size:7px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.closing-manifesto__signal i{display:block;height:1px;background:linear-gradient(90deg,#3c76aa,rgba(255,255,255,.08));transform-origin:left;transform:scaleX(1)}
@media(max-width:900px){.closing-manifesto__grid{grid-template-columns:1fr;gap:28px}.closing-manifesto__detail{justify-self:start;max-width:44ch}}
@media(max-width:700px){.closing-manifesto__inner{padding-top:72px;padding-bottom:72px}.closing-manifesto__eyebrow{font-size:6.4px;margin-bottom:14px}.closing-manifesto__statement h2{font-size:clamp(46px,13vw,72px);line-height:.86}.closing-manifesto__detail>p{font-size:13px;line-height:1.68;margin-bottom:18px;max-width:30ch}.closing-manifesto__rail{grid-template-columns:repeat(2,minmax(0,1fr))}.closing-manifesto__rail span{padding:12px 12px 12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.closing-manifesto__rail span:nth-child(2n){border-right:0}.closing-manifesto__rail span:nth-last-child(-n+2){border-bottom:0}.closing-manifesto__signal{font-size:6px;letter-spacing:.16em}}
@media(max-width:390px){.closing-manifesto__statement h2{font-size:42px}}



/* =========================================================
   FAROS 5.5.5 — surgical mobile typography + nav cleanup
   - Removes redundant Contact nav item where fallback/menu is theme-driven
   - Keeps the current layout, but enlarges micro-type and indices on mobile
   - Makes collaboration rail / service metadata feel more premium on phones
========================================================= */

@media(max-width:760px){
  .section-kicker p{font-size:7.6px!important;letter-spacing:.17em!important}

  .collaborations-intro__rail span{font-size:7.9px!important;letter-spacing:.12em!important;padding-top:14px!important;padding-bottom:14px!important}
  .collaboration-brand p{font-size:7.9px!important;letter-spacing:.14em!important;gap:12px!important}
  .collaboration-live__bar{font-size:7px!important;letter-spacing:.12em!important}
  .collaboration-live__domain{font-size:7.4px!important}
  .collaboration-live__bar>a{font-size:7px!important}
  .collaboration-foot>div{font-size:7.7px!important;letter-spacing:.12em!important;gap:15px!important}

  .standard-rail__label{font-size:7.6px!important;letter-spacing:.17em!important}
  .standard-rail__closing{font-size:8px!important;letter-spacing:.11em!important}
  .standard-rail__descriptor{font-size:8px!important;letter-spacing:.16em!important}

  .blueprint-kicker{font-size:7.8px!important;letter-spacing:.17em!important}
  .blueprint-disciplines span.is-active{font-size:8.1px!important;letter-spacing:.13em!important}

  .services-section .cap-row{min-height:74px!important;padding:20px 0!important;column-gap:16px!important}
  .services-section .cap-row strong{font-size:clamp(28px,8.3vw,37px)!important}
  .cap-index{font-size:8px!important;letter-spacing:.10em!important;color:rgba(11,22,33,.66)!important}

  .contact-kicker{font-size:8px!important;letter-spacing:.16em!important}
}

@media(max-width:560px){
  .collaborations-intro__top>p{font-size:11px!important;line-height:1.6!important}
  .collab-word--built{font-size:clamp(46px,13vw,66px)!important}
  .collab-word--live{font-size:clamp(60px,17.3vw,84px)!important}

  .collaborations-intro__rail{gap:0!important}
  .collaborations-intro__rail span{font-size:8.3px!important;letter-spacing:.11em!important;padding:14px 16px 14px 0!important;margin-right:14px!important}

  .collaboration-brand{padding:14px 8px 24px!important}
  .collaboration-brand h3{font-size:clamp(37px,11vw,50px)!important}
  .collaboration-brand p{font-size:8.1px!important;letter-spacing:.13em!important}
  .collaboration-live__bar{height:42px!important;font-size:7.2px!important}
  .collaboration-live__bar>a{font-size:7.2px!important;padding-bottom:5px!important}
  .collaboration-foot>div{font-size:8px!important;letter-spacing:.115em!important}
  .collaboration-foot nav{gap:18px!important}

  .standard-rail__label{font-size:7.8px!important;letter-spacing:.16em!important}
  .standard-rail__closing{font-size:8.2px!important;line-height:1.45!important}
  .standard-rail__items h3{font-size:clamp(30px,9vw,42px)!important}
  .standard-rail__items p{font-size:11px!important;line-height:1.66!important}
  .standard-rail__descriptor{font-size:8.2px!important}

  .section-kicker p{font-size:7.8px!important}
  .blueprint-kicker{font-size:8px!important;letter-spacing:.16em!important}
  .blueprint-disciplines span.is-active{font-size:8.4px!important}

  .services-section .cap-row{min-height:76px!important;padding:22px 0!important}
  .services-section .cap-row strong{font-size:clamp(29px,8.6vw,38px)!important}
  .cap-index{font-size:8.5px!important;letter-spacing:.08em!important}

  .site-footer__meta{font-size:7.6px!important}
}

@media(max-width:430px){
  .collaborations-intro__rail span{font-size:8.1px!important}
  .collaboration-brand p,.collaboration-foot>div,.standard-rail__descriptor,.blueprint-disciplines span.is-active,.cap-index{font-size:8px!important}
}


/* =========================================================
   FAROS 5.5.8 — final mobile menu
   Quiet-luxury composition: no numbering, no visual clutter.
========================================================= */
@media(max-width:1100px){
  .mobile-menu{
    background:var(--night)!important;
    color:#fff!important;
    padding:clamp(118px,15vh,150px) max(28px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left))!important;
  }
  .mobile-menu__nav{border-top:1px solid rgba(255,255,255,.13)}
  .mobile-menu__nav a{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:20px!important;
    min-height:0!important;
    padding:clamp(20px,3vh,30px) 0!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
    font-family:var(--sans)!important;
    font-size:clamp(44px,7vw,66px)!important;
    font-weight:400!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
    color:#fff!important;
    transition:padding-left .45s var(--ease),color .3s ease,border-color .3s ease!important;
  }
  .mobile-menu__nav a>span{display:block!important;font:inherit!important;letter-spacing:inherit!important;color:inherit!important}
  .mobile-menu__nav a>i{
    font-style:normal;
    font-size:15px;
    font-weight:400;
    line-height:1;
    opacity:0;
    transform:translate(-7px,7px);
    transition:opacity .35s ease,transform .45s var(--ease);
  }
  .mobile-menu__nav a:hover,.mobile-menu__nav a:focus-visible{padding-left:8px!important;border-color:rgba(255,255,255,.25)!important}
  .mobile-menu__nav a:hover>i,.mobile-menu__nav a:focus-visible>i{opacity:.86;transform:none}

  .mobile-menu__bottom{display:grid;gap:clamp(24px,4vh,38px)}
  .mobile-menu__project{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    padding:18px 0 17px;
    border-top:1px solid rgba(255,255,255,.13);
    border-bottom:1px solid rgba(255,255,255,.13);
    color:#fff;
  }
  .mobile-menu__project small{
    display:block;
    max-width:18ch;
    color:rgba(255,255,255,.48);
    font-size:8px;
    font-weight:600;
    line-height:1.45;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .mobile-menu__project strong{
    display:flex;
    align-items:center;
    gap:11px;
    font-size:clamp(18px,2.2vw,24px);
    font-weight:450;
    letter-spacing:-.02em;
    white-space:nowrap;
  }
  .mobile-menu__project b{font-size:14px;font-weight:400;transition:transform .4s var(--ease)}
  .mobile-menu__project:hover b,.mobile-menu__project:focus-visible b{transform:translate(4px,-4px)}

  .mobile-menu__foot{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:20px!important;
    color:rgba(255,255,255,.48)!important;
    font-size:8px!important;
    font-weight:600!important;
    line-height:1.35!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
  }
}

@media(max-width:560px){
  .mobile-menu{
    padding:104px max(18px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))!important;
  }
  .mobile-menu__nav a{
    padding:21px 0!important;
    font-size:clamp(46px,13vw,58px)!important;
    line-height:.98!important;
  }
  .mobile-menu__nav a>i{font-size:13px}
  .mobile-menu__project{padding:16px 0 15px;align-items:center}
  .mobile-menu__project small{font-size:7.2px;letter-spacing:.12em}
  .mobile-menu__project strong{font-size:18px;gap:9px}
  .mobile-menu__foot{font-size:7.2px!important;letter-spacing:.13em!important}
}

@media(max-width:390px){
  .mobile-menu__nav a{font-size:44px!important;padding:19px 0!important}
  .mobile-menu__project small{max-width:15ch}
  .mobile-menu__project strong{font-size:17px}
}

@media(hover:none){
  .mobile-menu__nav a>i{opacity:.42;transform:none}
}


/* =========================================================
   FAROS 5.5.9 — concealed anchor navigation / page transition
   One-page architecture, multi-page perception.
========================================================= */
.faros-page-transition{
  position:fixed;
  inset:0;
  z-index:1400;
  display:grid;
  place-items:center;
  background:var(--night);
  color:#f7f8f7;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .34s cubic-bezier(.4,0,.2,1),visibility 0s linear .34s;
}
.faros-page-transition.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .32s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s;
}
.faros-page-transition.is-leaving{
  opacity:0;
  transition:opacity .46s cubic-bezier(.16,1,.3,1);
}
.faros-page-transition__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  transform:translateY(7px);
  opacity:0;
  transition:transform .42s var(--ease),opacity .28s ease;
}
.faros-page-transition.is-entering .faros-page-transition__inner{
  transform:none;
  opacity:1;
}
.faros-page-transition.is-leaving .faros-page-transition__inner{
  transform:translateY(-5px);
  opacity:0;
  transition-duration:.25s;
}
.faros-page-transition__inner span,
.faros-page-transition__inner strong{
  font-size:8px;
  font-weight:650;
  line-height:1;
  letter-spacing:.20em;
  text-transform:uppercase;
  white-space:nowrap;
}
.faros-page-transition__inner span{color:rgba(247,248,247,.48)}
.faros-page-transition__inner strong{color:#f7f8f7}
.faros-page-transition__inner i{
  display:block;
  width:36px;
  height:1px;
  background:var(--accent);
  transform-origin:left center;
  transform:scaleX(.25);
  transition:transform .42s var(--ease);
}
.faros-page-transition.is-entering .faros-page-transition__inner i{transform:scaleX(1)}

@media(max-width:560px){
  .faros-page-transition__inner{gap:11px}
  .faros-page-transition__inner span,.faros-page-transition__inner strong{font-size:7.2px;letter-spacing:.17em}
  .faros-page-transition__inner i{width:28px}
}

@media(prefers-reduced-motion:reduce){
  .faros-page-transition,.faros-page-transition__inner,.faros-page-transition__inner i{transition-duration:.08s!important}
}



/* =========================================================
   FAROS 5.6.1 — Selected Work / uniform live presentation
   All projects share one visual system on mobile and desktop.
   Live previews remain scrollable; no special GOLDHIVE treatment.
========================================================= */
.collaborations-intro__top>p{max-width:40ch}
.collaboration-live__iframe{overscroll-behavior:contain}

@media(max-width:900px){
  .collaborations-intro__rail{display:flex!important;overflow-x:auto!important;scrollbar-width:none;-ms-overflow-style:none}
  .collaborations-intro__rail::-webkit-scrollbar{display:none}
  .collaborations-intro__rail span{flex:0 0 auto!important}
}

@media(max-width:560px){
  .collaboration-card--goldhive{
    margin-left:0!important;
    margin-right:0!important;
    padding:22px 0 0!important;
    background:transparent!important;
    border-top:1px solid var(--ink)!important;
  }
  .collaboration-card--goldhive:before{display:none!important}
  .collaboration-card--goldhive .collaboration-brand{padding:12px 8px 25px!important}
  .collaboration-card--goldhive .collaboration-brand h3{
    margin:0!important;
    font-family:var(--serif)!important;
    font-weight:400!important;
    font-size:clamp(37px,11vw,50px)!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
  }
  .collaboration-card--goldhive .collaboration-live{
    background:#f7f8fa!important;
    border-color:rgba(11,22,33,.14)!important;
    box-shadow:none!important;
  }
  .collaboration-card--goldhive .collaboration-live__fallback{background:#f5f6f8!important}
  .collaboration-card--goldhive .collaboration-live__viewport{aspect-ratio:1/.82!important}
  .collaboration-card--goldhive .collaboration-foot{padding-top:17px!important}
  .collaboration-card--goldhive .collaboration-foot>p{font-size:12px!important;line-height:1.6!important}
  .collaboration-card--goldhive .collaboration-foot>div{
    border-top-color:var(--line)!important;
    align-items:flex-start!important;
    flex-direction:column!important;
    margin-top:19px!important;
    padding-top:15px!important;
    gap:14px!important;
    font-size:8px!important;
  }
}
