:root{--orange:#f47b20;--black:#101010;--graphite:#282828;--cream:#f4f1ea;--steel:#a7adb2;--white:#fff;--page:clamp(1.25rem,4vw,4.5rem);--display:"Archivo Black",Impact,sans-serif;--body:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--black);font-family:var(--body);font-size:1rem;line-height:1.55;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;background:var(--white);padding:.75rem 1rem;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{height:74px;position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page);border-bottom:1px solid rgba(255,255,255,.18);color:var(--white);transition:background .25s,color .25s}
.site-header.scrolled{background:rgba(16,16,16,.96);backdrop-filter:blur(14px)}
.site-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.site-progress span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;text-transform:uppercase;font-size:.76rem;line-height:1.05;letter-spacing:.04em}
.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid var(--orange)}
.menu-toggle{width:44px;height:44px;background:none;border:0;display:grid;place-content:center;gap:5px;color:inherit;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;width:24px;height:2px;background:currentColor;transition:.25s}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-nav{position:fixed;inset:74px 0 auto;padding:1.2rem var(--page) 1.8rem;background:var(--black);display:grid;gap:1rem;transform:translateY(-130%);transition:transform .3s;z-index:-1;border-bottom:1px solid #444}
.site-nav.open{transform:none}
.site-nav a{font-weight:700;font-size:1.05rem}
.site-nav a[aria-current=true]{color:var(--orange)}
.nav-call{color:var(--orange)}
.hero{position:relative;min-height:780px;background:var(--black);color:var(--white);padding:clamp(8.5rem,16vw,12rem) var(--page) 6.5rem;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 86%)}
.hero:before{content:"FD";position:absolute;right:-.08em;top:.38em;font-family:var(--display);font-size:clamp(15rem,45vw,46rem);line-height:.8;color:rgba(244,241,234,.025);letter-spacing:-.09em}
.hero-content,.hero-side{position:relative;z-index:1}
.eyebrow,.kicker{font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:.65rem;color:var(--steel)}
.eyebrow span{width:24px;height:3px;background:var(--orange)}
.hero h1{font-family:var(--display);font-size:clamp(4.5rem,22vw,12rem);line-height:.78;letter-spacing:-.075em;margin:2.8rem 0 2rem}
.hero h1 span,.footer-brand span{color:var(--orange)}
.hero-lead{max-width:36rem;font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.5;color:#d5d5d3;margin:0}
.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-top:2.2rem}
.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid #3d3d3d;max-width:36rem}
.hero-proof>div{display:flex;align-items:center;gap:.8rem}
.hero-proof strong{font:clamp(1.5rem,5vw,2.3rem)/1 var(--display);color:var(--orange)}
.hero-proof span{font-size:.66rem;line-height:1.35;text-transform:uppercase;letter-spacing:.08em;color:var(--steel)}
.button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:.8rem 1.15rem;border:1px solid #555;text-transform:uppercase;font-size:.76rem;font-weight:800;letter-spacing:.08em;transition:.2s}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button-primary{background:var(--orange);color:var(--black);border-color:var(--orange)}
.button-ghost{background:rgba(255,255,255,.03)}
.hero-side{margin-top:3rem;display:grid;grid-template-columns:1fr auto;align-items:end;gap:.8rem}
.hero-photo{position:relative;height:240px;overflow:hidden;border:1px solid #444}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:53% 43%;filter:saturate(.76) contrast(1.12) brightness(.82);image-rendering:auto}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(30deg,rgba(16,16,16,.55),transparent 65%)}
.photo-index{position:absolute;z-index:1;bottom:1rem;left:1rem;font:700 .7rem var(--body);letter-spacing:.15em}
.hero-seal{width:72px;height:156px;background:var(--orange);color:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;font-weight:800;font-size:.68rem;writing-mode:vertical-rl;letter-spacing:.08em}
.hero-seal i{height:28px;width:1px;background:var(--black)}
.ticker{position:absolute;z-index:2;inset:auto 0 0;background:var(--orange);color:var(--black);overflow:hidden;padding:.75rem 0;white-space:nowrap}
.ticker .ticker-track{display:flex;width:max-content;animation:ticker 22s linear infinite;font-family:var(--display);font-size:.82rem;letter-spacing:.06em}
.ticker .ticker-group{display:flex;gap:1.5rem;align-items:center;min-width:100vw;justify-content:space-around;padding:0 .75rem}
.ticker i{font-style:normal;font-size:1.2rem}
@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:clamp(5rem,9vw,9rem) var(--page)}
.section-heading{display:grid;gap:1.5rem;margin-bottom:3rem}
.kicker{color:#5d6265;margin:0}
.section h2,.section-dark h2,.contact h2{font-family:var(--display);font-size:clamp(2.7rem,8vw,6.8rem);line-height:.94;letter-spacing:-.055em;text-transform:uppercase;margin:0}
.section h2 span{color:#74797c}
.universe-list{border-top:1px solid #b9b7b1}
.universe-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;padding:1.7rem 0;border-bottom:1px solid #b9b7b1}
.row-number{font-size:.68rem;font-weight:800;color:#6d7174;padding-top:.45rem}
.universe-row h3{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.65rem,5vw,3.7rem);line-height:1;margin:0 0 .65rem}
.universe-row p{margin:0;color:#585b5e;max-width:35rem;font-size:.92rem}
.row-arrow{width:36px;height:36px;display:grid;place-items:center;border:1px solid #b9b7b1;border-radius:50%;font-weight:800;transition:.2s}
.universe-row:hover .row-arrow{background:var(--orange);border-color:var(--orange);transform:rotate(45deg)}
.section-dark{background:var(--black);color:var(--white);padding:clamp(5rem,9vw,9rem) var(--page)}
.audiences{position:relative;display:grid;gap:0;padding-block:0}
.audience-panel{padding:5rem 0;min-height:370px;display:flex;flex-direction:column;justify-content:flex-end}
.audience-panel strong{font-family:var(--display);font-size:clamp(4rem,15vw,9rem);line-height:.85;letter-spacing:-.07em}
.audience-panel p{max-width:26rem;color:#b9b9b5;margin:1.5rem 0 0}
.audience-panel{transition:background .25s,color .25s}
.audience-panel:hover,.audience-panel:focus-visible{background:#1b1b1b}
.audience-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.1rem;border-top:1px solid #444;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.audience-action i{font-style:normal;color:var(--orange);font-size:1.2rem}
.panel-label{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--steel);margin-bottom:auto}
.audience-divider{height:1px;background:#444;position:relative}
.audience-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--orange);color:var(--black);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:.66rem;font-weight:900}
.audience-part strong{color:var(--orange);font-size:clamp(2.9rem,11vw,7.5rem)}
.catalogue{background:#eae7df}
.catalogue-heading{display:grid;gap:2rem;margin-bottom:3rem}
.catalogue-heading>p{max-width:34rem;color:#575b5e;margin:0}
.product-grid{display:grid;gap:1rem}
.product-card{background:var(--white);border:1px solid #d0cdc5;display:grid;overflow:hidden;transition:transform .25s,box-shadow .25s}
.product-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(16,16,16,.1)}
.product-visual{position:relative;aspect-ratio:1/1;overflow:hidden;background:#ddd9d0}
.product-visual img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.product-card:hover .product-visual img{transform:scale(1.035)}
.product-visual span{position:absolute;top:1rem;left:1rem;background:var(--orange);padding:.45rem .65rem;font-size:.6rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.product-copy{padding:1.4rem;display:flex;flex-direction:column}
.product-copy>p{margin:0 0 .55rem;color:#707477;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.product-copy h3{font-family:var(--display);font-size:clamp(1.35rem,4vw,2rem);line-height:1.03;text-transform:uppercase;margin:0}
.product-copy ul{list-style:none;padding:0;margin:1.3rem 0 1.5rem;color:#5a5d60;font-size:.82rem}
.product-copy li{padding:.45rem 0;border-bottom:1px solid #dedbd5}
.product-copy li:before{content:"+";color:var(--orange);font-weight:900;margin-right:.55rem}
.product-copy a{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;border-top:2px solid var(--black);font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.product-copy a span{color:var(--orange);font-size:1.1rem}
.catalogue-note{margin-top:1rem;background:var(--orange);display:grid;gap:.6rem;padding:1.5rem;align-items:center}
.catalogue-note strong{font-family:var(--display);font-size:1.3rem;text-transform:uppercase}
.catalogue-note span{font-size:.8rem}
.button-dark{background:var(--black);color:var(--white);border-color:var(--black);margin-top:.5rem}
.locations{display:grid;gap:3rem}
.location-intro>p:last-child{max-width:28rem;color:#5b5f61;margin:1.5rem 0 0}
.location-stack{display:grid;gap:.75rem}
.location-card{position:relative;min-height:260px;background:var(--graphite);color:var(--white);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.location-card:before{content:"";position:absolute;width:250px;height:250px;border:60px solid rgba(255,255,255,.035);border-radius:50%;right:-110px;bottom:-125px}
.location-number{font-size:.7rem;font-weight:800;color:var(--steel)}
.location-city{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:var(--steel);margin:0 0 .7rem}
.location-card h3{font-family:var(--display);font-size:clamp(1.8rem,5vw,3.4rem);line-height:1;text-transform:uppercase;margin:0}
.location-card h3 span{font-family:var(--body);font-size:.7rem;letter-spacing:.14em;color:var(--steel)}
.location-orange{background:var(--orange);color:var(--black)}
.location-orange .location-number,.location-orange .location-city,.location-orange h3 span{color:#3a2417}
.location-mark{position:absolute;top:1.5rem;right:1.5rem;width:18px;height:18px;border:5px solid currentColor;border-radius:50%}
.product-wall{overflow:hidden}
.wall-heading{display:grid;gap:2rem;margin-bottom:3rem}
.kicker-light{color:var(--steel)}
.text-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #4a4a4a;border-bottom:1px solid #4a4a4a;padding:1rem 0;font-size:.78rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em}
.text-link span{color:var(--orange);font-size:1.3rem}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:210px;gap:.65rem}
.tile{position:relative;margin:0;overflow:hidden;background:#222}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s;filter:saturate(.86) contrast(1.03)}
.tile:nth-child(1) img{transform:scale(1.28);transform-origin:60% 42%}
.tile:nth-child(2) img{transform:scale(1.24);transform-origin:52% 39%}
.tile:nth-child(3) img{transform:scale(1.7);transform-origin:50% 50%}
.tile:nth-child(4) img{transform:scale(1.4);transform-origin:52% 58%}
.tile:hover img{filter:saturate(1) contrast(1.08)}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,16,16,.78),transparent 55%)}
.tile-tall{grid-row:span 2}
.tile-wide{grid-column:span 2}
.tile figcaption{position:absolute;z-index:1;bottom:1rem;left:1rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.wall-note,.observed{font-size:.68rem;color:var(--steel);margin:1.2rem 0 0}
.social{display:grid;gap:3rem}
.social-statement h2{font-size:clamp(2.2rem,7vw,5.5rem)}
.social-cards{display:grid;gap:.75rem}
.social-card{min-height:235px;border:1px solid #b9b7b1;padding:1.5rem;display:flex;flex-direction:column;position:relative;transition:.25s}
.social-card:hover{background:var(--orange);border-color:var(--orange);transform:translateY(-4px)}
.social-card span{font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.14em}
.social-card strong{font-family:var(--display);font-size:clamp(3.6rem,12vw,6.5rem);line-height:1;margin:auto 0 .2rem;letter-spacing:-.06em}
.social-card small{color:#65696c}
.social-card i{position:absolute;right:1.5rem;top:1.5rem;font-style:normal;font-size:1.3rem}
.contact{background:var(--orange);color:var(--black);padding:clamp(5rem,9vw,9rem) var(--page) 0}
.contact-top p{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.contact h2{font-size:clamp(3.4rem,13vw,10.5rem);line-height:.82;margin-top:2rem}
.contact h2 span{color:var(--cream)}
.contact-grid{margin-top:4rem;border-top:1px solid rgba(16,16,16,.4);display:grid}
.contact-call,.contact-note{min-height:190px;padding:1.5rem 0;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid rgba(16,16,16,.4);position:relative}
.contact-call span,.contact-note span{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:800}
.contact-call strong,.contact-note strong{font-size:clamp(1.6rem,6vw,3rem);margin-top:.5rem}
.contact-call i{position:absolute;right:0;font-style:normal;font-size:2rem}
.contact-note p{max-width:27rem;font-size:.78rem;margin:.5rem 0 0}
.site-footer{background:var(--black);color:var(--white);padding:3rem var(--page);display:grid;gap:1.5rem}
.footer-brand{font-family:var(--display);font-size:clamp(1.45rem,5vw,3rem);letter-spacing:-.04em}
.site-footer>div{display:flex;gap:1.5rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.site-footer p{font-size:.68rem;color:var(--steel);margin:0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.reveal.visible{opacity:1;transform:none}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker .ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}}
@media (min-width:760px){
  .hero-actions{flex-direction:row;align-items:center}.button{padding-inline:1.5rem}.hero-side{width:min(43vw,560px);margin-left:auto;margin-top:-2rem}.hero-photo{height:330px}
  .section-heading{grid-template-columns:1fr 2fr;align-items:start}.universe-row{grid-template-columns:1fr auto;padding:2rem 0}.universe-row div{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr;align-items:start;gap:2rem}.universe-row p{font-size:1rem}
  .catalogue-heading{grid-template-columns:1.25fr .75fr;align-items:end}.product-grid{grid-template-columns:1fr 1fr}.catalogue-note{grid-template-columns:1fr 1fr auto;padding:1.5rem 2rem}.catalogue-note .button{margin:0}
  .locations{grid-template-columns:.8fr 1.2fr}.location-stack{grid-template-columns:1fr 1fr}.location-card{min-height:420px}
  .wall-heading{grid-template-columns:1fr minmax(240px,.42fr);align-items:end}.mosaic{grid-template-columns:1.25fr .75fr 1fr;grid-auto-rows:270px}.tile-wide{grid-column:span 1}.tile:nth-child(4){grid-column:span 2}
  .social{grid-template-columns:.9fr 1.1fr}.social-cards{grid-template-columns:1fr 1fr}.observed{grid-column:2}.contact-grid{grid-template-columns:1fr 1fr}.contact-call{border-right:1px solid rgba(16,16,16,.4);padding-right:2rem}.contact-note{padding-left:2rem}.site-footer{grid-template-columns:1fr auto;align-items:center}.site-footer p{grid-column:1/-1}
}
@media (min-width:1024px){
  .site-header{height:88px}.brand img{width:50px;height:50px}.menu-toggle{display:none}.site-nav{position:static;transform:none;background:none;padding:0;display:flex;align-items:center;gap:2.2rem;border:0}.site-nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.nav-call{border-left:1px solid #666;padding-left:2.2rem}
  .hero{min-height:900px;padding-top:11rem;display:grid;grid-template-columns:1.1fr .72fr;align-items:center;gap:4rem}.hero h1{font-size:clamp(7.5rem,13.2vw,13rem);margin-block:3rem 2.5rem}.hero-side{width:100%;margin:0}.hero-photo{height:520px}.hero-seal{width:82px;height:190px}.hero-lead{font-size:1.2rem}.ticker .ticker-track{font-size:.9rem}
  .product-grid{grid-template-columns:repeat(4,1fr)}.product-card-featured{grid-column:span 2;grid-row:span 2}.product-card-featured .product-visual{aspect-ratio:1.18/1}.product-card-featured .product-copy{padding:2rem}.product-card-featured .product-copy h3{font-size:clamp(2rem,3vw,3.25rem)}
  .audiences{grid-template-columns:1fr 1px 1fr;padding-inline:var(--page)}.audience-divider{width:1px;height:auto}.audience-panel{padding:8rem clamp(2rem,6vw,7rem);min-height:600px}.audience-divider span{left:50%;top:50%}.audience-part strong{font-size:clamp(3.5rem,6vw,7rem)}
  .location-card{padding:2rem}.mosaic{grid-auto-rows:340px;gap:1rem}.contact-call,.contact-note{min-height:260px}.site-footer{padding-block:4rem}
}
