@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:Plex Mono;src:url('/assets/fonts/plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#212121;--muted:#616460;--gold:#f1b300;--paper:#fff;--line:#dcded8;--soft:#f2f3ef;--mono:'Plex Mono',monospace;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.1;letter-spacing:-.045em}p{color:var(--muted)}h1{font-size:clamp(48px,6.5vw,94px)}h2{font-size:clamp(32px,3.5vw,50px)}h3{font-size:clamp(28px,3.1vw,44px)}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:3px solid #966900;outline-offset:5px}[hidden]{display:none!important}.container{width:min(1280px,calc(100% - 96px));margin-inline:auto}.eyebrow,.cap-number,.cap-category,.scene-index,.scene-kicker,.map-label,.integration-line,.preview-notice>span{font-family:var(--mono);font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.035em;color:var(--ink)}.eyebrow{margin-bottom:25px}.gold-dot{color:var(--gold)}.skip{position:absolute;top:-100px;left:24px;padding:12px 20px;background:var(--ink);color:white;z-index:10}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:white}.header-inner{width:min(1376px,calc(100% - 64px));height:105px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-block;flex-shrink:0}.brand img{width:114px;height:57px;object-fit:contain}.desktop-nav{display:flex;gap:36px;margin-left:auto;margin-right:36px;align-items:center}.desktop-nav a{font-size:14px;position:relative;padding:10px 0}.desktop-nav a::after{content:'';position:absolute;bottom:3px;left:0;width:0;height:2px;background:var(--gold);transition:width .2s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{width:100%}.header-actions{display:flex;align-items:center;gap:20px}.button{min-height:49px;padding:13px 20px;display:inline-flex;gap:34px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.5;font-weight:600;border:1px solid var(--ink);background:transparent;color:var(--ink);transition:background .2s,color .2s}.button .link-arrow,.text-link .link-arrow,.quiet-link .link-arrow{font-size:20px;line-height:1;transition:transform .2s}.button:hover .link-arrow,.text-link:hover .link-arrow,.quiet-link:hover .link-arrow{transform:translate(2px,-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#3a3d35}.menu-toggle{display:none;background:none;border:0;padding:10px 0;font-size:14px;align-items:center;gap:14px}.mobile-nav{padding:16px 24px 28px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:20px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:58px;padding-bottom:60px}.hero-copy{padding-block:25px}.hero-copy>.eyebrow{font-size:11px;margin-bottom:36px}.hero h1{font-size:clamp(64px,7.2vw,104px);line-height:1.02;letter-spacing:-.062em}.hero h1 span{color:#8a8e83}.hero-description{font-size:17px;line-height:1.75;margin-top:30px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.quiet-link{font-size:14px;display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding-block:12px}.hero-footnote{margin-top:53px;display:flex;align-items:center;gap:13px;font-size:12px}.small-line{width:28px;height:2px;background:var(--gold)}
.scene-panel{background:var(--soft);border:1px solid #e6e7e1;padding:26px 28px 17px;position:relative;overflow:hidden;transition:background .7s}.scene-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.scene-top .eyebrow{font-size:10px;margin:0}.scene-index{font-size:10px;color:var(--muted)}.system-map{position:relative;height:263px;max-width:420px;margin:18px auto 6px;isolation:isolate}.map-core{width:126px;height:136px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:var(--soft);padding:12px;z-index:2;transition:background .7s}.power-mark{height:112px;width:101px;overflow:hidden}.map-ring{position:absolute;width:213px;height:213px;border:1px solid #d8dbd2;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.map-ring:after{content:'';position:absolute;inset:20px;border:1px solid #e1e3da;border-radius:50%}.map-axis{position:absolute;background:#cdd1c4;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0}.map-axis-x{height:1px;width:calc(100% - 75px)}.map-axis-y{width:1px;height:calc(100% - 30px)}.map-label{font-size:9px;background:var(--soft);position:absolute;z-index:1;padding:5px;transition:background .7s}.map-label-top{top:0;left:50%;transform:translateX(-50%)}.map-label-bottom{bottom:0;left:50%;transform:translateX(-50%)}.map-label-right{right:0;top:50%;transform:translateY(-50%)}.map-label-left{left:0;top:50%;transform:translateY(-50%)}.scene-kicker{font-size:10px;margin-bottom:8px}.scene-summary{font-size:20px;line-height:1.4;letter-spacing:-.025em;color:var(--ink);min-height:57px}.scene-controls{display:flex;border-top:1px solid #d7d9d0;border-bottom:1px solid #d7d9d0;margin-top:23px}.scene-controls button{flex:1;font-size:12px;padding:12px 8px;border:0;background:none;color:var(--muted);position:relative}.scene-controls button+button{border-left:1px solid #d7d9d0}.scene-controls button[aria-pressed=true]{color:var(--ink);background:#e5e8db}.scene-controls button[aria-pressed=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gold)}.scene-controls button:hover{color:var(--ink);background:#e4e6df}.scene-note{font-size:10px;margin-top:12px;line-height:1.5}.scene-panel[data-scene=morning]{--soft:#f6f2e7}.scene-panel[data-scene=away]{--soft:#edf1f2}.dox-power-part{animation:power-on .9s ease-out both;transform-box:fill-box;transform-origin:center}#power-stem{animation-delay:.05s}#power-upper-right{animation-delay:.15s}#power-right-upper{animation-delay:.25s}#power-right-accent{animation-delay:.35s}#power-lower-right{animation-delay:.45s}#power-bottom-right-accent{animation-delay:.55s}#power-bottom-left{animation-delay:.65s}#power-left-arc{animation-delay:.75s}.scene-activated .dox-power-part{animation-name:power-reactivate}.scene-activated .scene-summary{animation:copy-in .4s ease-out both}@keyframes power-on{from{opacity:.12}to{opacity:1}}@keyframes power-reactivate{0%{opacity:.2}100%{opacity:1}}@keyframes copy-in{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.intro-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}.intro-grid{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:45px;align-items:start}.intro-grid .eyebrow{font-size:10px;margin-top:7px}.intro-grid h2{font-size:34px;line-height:1.22}.intro-grid>p:last-child{font-size:15px;line-height:1.8;max-width:360px}.services-section{padding-top:87px;padding-bottom:94px}.section-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:36px}.section-heading>p:last-child{font-size:14px;line-height:1.5;max-width:260px}.capability{display:grid;grid-template-columns:80px 1fr 210px;gap:30px;padding:40px 0 42px;border-top:1px solid var(--line)}.capability:last-child{border-bottom:1px solid var(--line)}.cap-number{color:#777c6c;padding-top:6px}.capability h2{font-size:clamp(28px,3.1vw,44px);margin-bottom:18px}.capability p{max-width:555px;font-size:16px;line-height:1.75}.cap-links{display:flex;flex-wrap:wrap;gap:12px 29px;margin-top:23px}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:600;padding:6px 0;border-bottom:1px solid #b7bcaf}.text-link:hover{border-color:var(--ink)}.text-link .link-arrow{font-size:19px}.cap-category{font-size:10px;justify-self:end;padding-top:10px;color:var(--muted)}.integration{background:#242721;color:#f8f9f6;padding:88px 0 57px}.integration-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:50px 95px}.integration .eyebrow{color:#c0c8b1;font-size:11px}.integration h2{font-size:clamp(38px,4vw,55px);line-height:1.12}.integration-copy p{color:#c5c9bf;font-size:16px;margin-bottom:20px}.integration .text-link{color:#f8f9f6;border-color:#737c67;margin-top:4px}.integration-line{grid-column:1/-1;display:flex;align-items:center;gap:25px;font-size:10px;color:#c0c8b1;margin-top:15px}.integration-line i{flex:1;background:#52594a;height:1px;position:relative}.integration-line i:after{content:'';width:5px;height:5px;background:var(--gold);position:absolute;right:0;top:-2px}.brands{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-top:91px;padding-bottom:94px}.brands .eyebrow{font-size:10px;margin-bottom:19px}.brands h2{font-size:29px;line-height:1.3}.brand-names{list-style:none;padding:0;margin:0;display:flex;justify-content:space-between;gap:32px;align-items:center}.brand-names li{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.04em;font-weight:600}.cta{background:var(--gold);padding:66px 0 72px}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:80px}.cta .eyebrow{font-size:11px;margin-bottom:22px}.cta h2{font-size:clamp(40px,4.5vw,64px)}.cta-inner>div:last-child{min-width:240px;margin-right:60px}.cta p{color:#393526;font-size:16px;line-height:1.65;margin-bottom:25px}.site-footer{padding:55px 0 24px}.footer-main{display:grid;grid-template-columns:130px 1fr 1fr;gap:35px;align-items:center;padding-bottom:42px}.footer-main p{font-size:14px}.footer-main nav{display:flex;justify-content:flex-end;gap:23px;flex-wrap:wrap;font-size:12px}.footer-main nav a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}
.page-hero{padding-top:70px;padding-bottom:73px}.page-hero h1{font-size:clamp(45px,5.8vw,82px);line-height:1.13;max-width:1050px}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:40px}.back-link:hover{color:var(--ink)}.page-lead{font-size:19px;max-width:650px;margin-top:31px;line-height:1.75}.page-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:48px;max-width:1110px}.page-intro h2{font-size:30px;line-height:1.3;max-width:370px}.page-intro p{font-size:17px}.tag-list{list-style:none;padding:0;display:flex;gap:13px;flex-wrap:wrap;margin:32px 0 0}.tag-list li{padding:7px 13px;background:var(--soft);font-size:11px;font-family:var(--mono)}.page-hero+.services-section{padding-top:0}.service-demo{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-bottom:80px}.service-demo h2{margin-bottom:25px}.service-demo>div:first-child>p:last-child{max-width:400px;font-size:17px}.detail-list{padding-bottom:65px}.detail-list article{display:grid;grid-template-columns:70px 1fr 1fr;gap:38px;border-top:1px solid var(--line);padding:37px 0}.detail-list h2{font-size:28px;line-height:1.35;max-width:380px}.detail-list article p{font-size:16px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:95px}.faq h2{font-size:35px}.faq .eyebrow{font-size:11px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;cursor:pointer;padding:22px 0;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 35px 25px 0;font-size:15px}.project-feature{padding-bottom:95px}.project-image{display:block;overflow:hidden}.project-image img{width:100%;height:560px;object-fit:cover;transition:transform .8s}.project-image:hover img{transform:scale(1.02)}.project-caption{padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:20px 80px}.project-caption .eyebrow{grid-column:1/-1;margin:0;font-size:11px}.project-caption h2{grid-column:1}.project-caption>p{grid-column:2;grid-row:2/4}.project-caption .text-link{justify-self:start;grid-column:1}.case-hero{width:100%;height:580px;object-fit:cover}.case-copy{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:65px;padding-bottom:65px}.case-copy h2{font-size:36px}.case-copy p+p{margin-top:20px}.case-detail{width:100%;height:630px;object-fit:cover;margin-bottom:90px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding-top:65px;padding-bottom:20px}.about-grid h2{font-size:38px}.about-grid p+p{margin-top:22px}.narrow{max-width:900px}.prose{margin-top:50px;max-width:650px}.prose h2{font-size:27px;margin:35px 0 15px}.prose p+p{margin-top:15px}
.request-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;padding-top:72px;padding-bottom:90px}.request-copy{padding-top:16px}.request-copy h1{font-size:clamp(40px,4.5vw,62px);line-height:1.15}.request-copy>p:not(.eyebrow){font-size:17px;margin-top:28px;max-width:410px}.what-next{border-top:1px solid var(--line);margin-top:52px;padding-top:25px}.what-next h2{font-size:20px;letter-spacing:-.025em}.what-next ol{padding-left:18px;margin-top:19px;font-size:14px;color:var(--muted)}.what-next li{padding-left:6px;margin-block:11px}.form-wrap{background:var(--soft);padding:28px 32px 32px}.preview-notice{border-left:2px solid var(--gold);padding-left:15px;margin-bottom:30px}.preview-notice>span{font-size:10px}.preview-notice p{font-size:12px;line-height:1.6;margin-top:5px}.form-title{margin-bottom:24px}.form-title h2{font-size:29px}.form-title p{font-size:11px;margin-top:8px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px;line-height:1.5}.field label span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid #c9cdc1;border-radius:0;padding:11px 12px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;min-height:47px}textarea{resize:vertical;min-height:106px}input::placeholder,textarea::placeholder{font-size:12px;color:#777b71;opacity:1}select{padding-right:25px}.form-note{font-size:11px;line-height:1.7;margin:6px 0 22px}.form-note a{text-decoration:underline;text-underline-offset:3px}#form-status{font-size:13px;color:var(--ink);margin-top:20px}#form-status:empty{display:none}
@media(min-width:1500px){.hero{gap:95px;padding-block:70px}.hero h1{font-size:106px}.scene-panel{padding-inline:32px}.system-map{height:290px}.hero-copy{padding-block:40px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px);gap:20px}.desktop-nav{gap:24px;margin-right:8px}.hero{gap:35px}.hero h1{font-size:76px}.hero-copy>.eyebrow{font-size:9px}.hero-description{font-size:15px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-footnote{margin-top:35px;font-size:11px}.scene-panel{padding-inline:21px}.scene-summary{font-size:18px;min-height:56px}.system-map{height:248px}.intro-grid{grid-template-columns:.8fr 1.1fr 1fr;gap:25px}.intro-grid h2{font-size:29px}.intro-grid>p:last-child{font-size:14px}.capability{grid-template-columns:55px 1fr 170px;gap:25px}.integration-grid{gap:45px}.brands{gap:40px}.brand-names{gap:23px}.cta-inner>div:last-child{margin-right:0}.footer-main{grid-template-columns:115px 1fr;gap:30px}.footer-main nav{grid-column:1/-1;justify-content:flex-start;gap:35px}.request-layout{gap:40px}.form-wrap{padding:24px}.request-copy h1{font-size:48px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-inner{height:92px}.header-actions{margin-left:auto}.hero{gap:28px;grid-template-columns:1fr 1fr;padding-top:40px;padding-bottom:45px}.hero h1{font-size:64px}.hero-copy>.eyebrow{max-width:210px;line-height:1.7;margin-bottom:26px}.hero-description br{display:none}.hero-actions{gap:13px}.hero-actions .button{font-size:12px;gap:20px}.hero-footnote{max-width:225px;line-height:1.6}.system-map{height:225px}.map-ring{width:179px;height:179px}.map-core{width:110px;height:125px}.power-mark{height:101px;width:86px}.scene-summary{font-size:17px;min-height:73px}.scene-top{align-items:start}.scene-top .eyebrow{max-width:140px}.scene-index{white-space:nowrap}.scene-controls{margin-top:15px}.scene-note{font-size:9px}.intro-grid{grid-template-columns:1fr 1fr;gap:22px 45px}.intro-grid>.eyebrow{grid-column:1/-1;margin:0}.intro-grid h2{font-size:32px}.capability{grid-template-columns:45px 1fr;gap:25px}.cap-category{display:none}.integration-grid{gap:40px}.integration h2{font-size:38px}.brands{grid-template-columns:1fr;gap:34px;padding-block:65px}.brand-names{justify-content:start;gap:65px}.brand-names li{font-size:32px}.cta-inner{gap:45px}.cta-inner>div:last-child{min-width:215px}.cta h2{font-size:43px}.page-intro{gap:40px}.service-demo{gap:45px}.detail-list article{grid-template-columns:40px 1fr 1fr;gap:24px}.detail-list h2{font-size:24px}.faq{gap:45px}.request-layout{grid-template-columns:1fr;gap:40px;max-width:700px}.request-copy{padding:0}.request-copy h1{font-size:60px}.request-copy>p:not(.eyebrow){max-width:550px}.what-next{margin-top:30px}.form-wrap{padding:30px}.project-image img,.case-hero{height:440px}.case-detail{height:490px}}
@media(max-width:650px){.container{width:calc(100% - 40px)}.header-inner{height:81px;width:calc(100% - 40px);gap:10px}.brand img{width:96px;height:49px}.header-actions>.button{display:none}.menu-toggle{min-height:44px;font-size:13px}.hero{display:block;padding-top:32px;padding-bottom:32px}.hero-copy{padding:6px 0 35px}.hero-copy>.eyebrow{max-width:none;font-size:9px;margin-bottom:26px}.hero h1{font-size:clamp(62px,15vw,90px);line-height:1.03}.hero-description{font-size:16px;line-height:1.7;max-width:390px;margin-top:24px}.hero-actions{gap:28px;margin-top:27px}.hero-actions .button{font-size:13px;gap:24px}.hero-footnote{margin-top:25px;max-width:none;font-size:10px}.scene-panel{padding:22px 23px 17px}.scene-top .eyebrow{max-width:none;font-size:9px}.scene-index{font-size:9px}.system-map{height:224px;max-width:330px;margin-top:12px;margin-bottom:12px}.map-ring{width:186px;height:186px}.map-core{width:114px;height:129px}.power-mark{width:90px;height:105px}.map-label{font-size:8px}.scene-summary{font-size:20px;min-height:56px}.scene-kicker{font-size:9px}.scene-controls{margin-top:20px}.scene-controls button{padding-block:14px;font-size:12px}.scene-note{font-size:9px}.intro-band{padding:38px 0 42px}.intro-grid{display:block}.intro-grid>.eyebrow{margin:0 0 23px;font-size:9px}.intro-grid h2{font-size:33px;line-height:1.2}.intro-grid>p:last-child{font-size:15px;line-height:1.75;margin-top:22px;max-width:none}.services-section{padding-top:47px;padding-bottom:49px}.section-heading{gap:20px;margin-bottom:25px}.section-heading .eyebrow{font-size:9px;white-space:nowrap}.section-heading>p:last-child{font-size:11px}.capability{grid-template-columns:24px 1fr;gap:13px;padding:29px 0 31px}.cap-number{font-size:10px;padding-top:8px}.capability h2{font-size:31px;margin-bottom:15px}.capability p{font-size:15px;line-height:1.75}.cap-links{gap:11px 20px;margin-top:16px}.text-link{font-size:12px;gap:17px}.text-link .link-arrow{font-size:18px}.integration{padding:47px 0 35px}.integration-grid{display:block}.integration .eyebrow{font-size:9px}.integration h2{font-size:37px}.integration-copy{margin-top:27px}.integration-copy p{font-size:15px}.integration-line{margin-top:38px;gap:10px;font-size:8px}.brands{padding-block:48px;gap:29px}.brands .eyebrow{font-size:9px;margin-bottom:19px}.brands h2{font-size:27px}.brand-names{gap:30px;justify-content:space-between}.brand-names li{font-size:25px}.cta{padding:42px 0 46px}.cta-inner{display:block}.cta .eyebrow{font-size:9px;margin-bottom:23px}.cta h2{font-size:43px}.cta-inner>div:last-child{margin-top:27px}.cta p{font-size:15px;margin-bottom:20px}.site-footer{padding:35px 0 23px}.footer-main{display:block;padding-bottom:31px}.footer-main p{font-size:13px;margin-top:21px}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px;font-size:13px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:13px;font-size:9px;padding-top:21px}.footer-bottom span:nth-child(2){grid-column:1;grid-row:2}.footer-bottom>a{grid-row:1;grid-column:2}.page-hero{padding-top:42px;padding-bottom:42px}.page-hero .eyebrow{font-size:10px;margin-bottom:23px}.page-hero h1{font-size:clamp(39px,10.5vw,60px);line-height:1.14;overflow-wrap:normal}.back-link{margin-bottom:26px;font-size:12px}.page-lead{font-size:16px;line-height:1.75;margin-top:24px}.page-intro{display:block;margin-top:28px}.page-intro h2{font-size:26px;max-width:330px}.page-intro p{font-size:16px;margin-top:20px}.tag-list{gap:8px;margin-top:24px}.tag-list li{font-size:10px;padding:7px 10px}.service-demo{display:block;padding-bottom:45px}.service-demo>div:first-child{margin-bottom:28px}.service-demo .eyebrow{font-size:9px}.service-demo h2{font-size:34px}.service-demo>div:first-child>p:last-child{font-size:15px}.detail-list{padding-bottom:30px}.detail-list article{grid-template-columns:24px 1fr;gap:13px;padding-block:29px}.detail-list h2{font-size:25px}.detail-list article>p{grid-column:2;font-size:15px}.faq{display:block;padding-bottom:50px}.faq>div:first-child{margin-bottom:25px}.faq .eyebrow{font-size:9px;margin-bottom:18px}.faq h2{font-size:32px}.faq summary{font-size:14px;padding-block:20px}.faq details p{font-size:14px}.project-feature{padding-bottom:45px}.project-image img,.case-hero{height:300px}.project-caption{display:block;padding-top:25px}.project-caption .eyebrow{font-size:9px;margin-bottom:16px}.project-caption h2{font-size:34px}.project-caption>p{margin-top:18px;font-size:15px}.project-caption .text-link{margin-top:15px}.case-copy{display:block;padding-block:38px}.case-copy h2{font-size:32px;margin-bottom:22px}.case-copy p{font-size:15px}.case-detail{height:360px;margin-bottom:44px}.about-grid{display:block;padding-top:38px}.about-grid h2{font-size:32px;margin-bottom:25px}.about-grid p{font-size:15px}.request-layout{padding-top:38px;padding-bottom:45px;gap:26px}.request-copy .eyebrow{font-size:9px}.request-copy h1{font-size:clamp(39px,10.8vw,57px)}.request-copy>p:not(.eyebrow){font-size:16px;margin-top:24px}.what-next{margin-top:26px;padding-top:23px}.what-next h2{font-size:18px}.what-next ol{font-size:13px}.form-wrap{padding:22px 18px}.field-row{grid-template-columns:1fr;gap:0}.field label{font-size:12px}.field{margin-bottom:17px}.field input,.field select,.field textarea{min-height:48px}.form-title h2{font-size:27px}.form-note{font-size:11px}.form-wrap .button{width:100%}.prose{margin-top:32px}.prose h2{font-size:24px}.prose p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-image:hover img{transform:none}}

fieldset{border:0;padding:0;margin:0;min-width:0}
.brands>*{min-width:0}
@media(max-width:350px){.brand-names{gap:17px}.brand-names li{font-size:23px}}

/* Manufacturer artwork stays static, in its supplied colors and proportions. */
.brands { display:block; padding-block:78px; }
.brands-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; }
.brands-intro>p { font-size:15px; line-height:1.75; max-width:370px; padding-bottom:3px; }
.brands .eyebrow { margin-bottom:20px; }
.brands h2 { font-size:34px; line-height:1.25; }
.brand-grid { padding:0; margin:36px 0 0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); background:white; }
.brand-tile { min-width:0; padding:36px 0; border-bottom:1px solid var(--line); background:#fff; }
.brand-tile:not(:nth-child(3n)) { border-right:1px solid var(--line); }
.brand-art { width:100%; min-height:70px; display:flex; align-items:center; justify-content:center; }
.brand-art img { width:var(--logo-width); height:auto; max-width:66%; max-height:70px; object-fit:contain; flex-shrink:1; }
.brands-end { margin-top:27px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.brands-end>span { color:var(--muted); font-size:12px; }
.brand-jump-links { display:flex; flex-wrap:wrap; gap:16px 30px; margin-top:35px; }
.brand-jump-links a { display:inline-flex; gap:16px; align-items:center; padding-block:8px; font-size:12px; border-bottom:1px solid var(--line); }
.brand-jump-links a:hover { border-color:var(--ink); }
.brands-page-hero { padding-bottom:60px; }
.brand-directory { padding-bottom:45px; }
.brand-group { margin-bottom:65px; scroll-margin-top:40px; }
.brand-group-heading { display:grid; grid-template-columns:50px 1.3fr 1fr; align-items:start; gap:25px; }
.brand-group-heading h2 { font-size:31px; line-height:1.25; }
.brand-group-heading>p { font-size:14px; max-width:320px; justify-self:end; }
.brand-grid-directory { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:30px; }
.brand-grid-directory .brand-tile { padding:32px 0 22px; }
.brand-grid-directory .brand-tile:not(:nth-child(3n)) { border-right:0; }
.brand-grid-directory .brand-tile:not(:nth-child(4n)) { border-right:1px solid var(--line); }
.brand-caption { padding:27px 15px 0; text-align:center; font-size:12px; }
.brand-caption>p { font-size:11px; line-height:1.5; margin-top:4px; }
.trademark-credit { padding-top:20px; font-size:10px; line-height:1.7; color:var(--muted); }

/* Consistent vector icons and a touch-friendly mobile navigation disclosure. */
.link-arrow { display:block; width:20px; height:20px; flex:0 0 20px; }
.menu-toggle { appearance:none; -webkit-appearance:none; width:48px; height:48px; min-height:48px; padding:9px; justify-content:center; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:50%; transition:background .2s,border-color .2s; }
.menu-toggle:hover { background:var(--soft); border-color:#aeb4a4; }
.menu-toggle[aria-expanded="true"] { background:var(--gold); border-color:var(--gold); }
.menu-icon { width:28px; height:28px; flex:none; }
.menu-line { transition:transform .25s ease,opacity .2s ease; }
.menu-line-top { transform-origin:14px 7px; }
.menu-line-middle { transform-origin:14px 14px; }
.menu-line-bottom { transform-origin:14px 21px; }
.menu-toggle[aria-expanded="true"] .menu-line-top { transform:translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-line-middle { opacity:0; transform:translateX(5px); }
.menu-toggle[aria-expanded="true"] .menu-line-bottom { transform:translateY(-7px) rotate(-45deg); }
.mobile-nav { padding:10px 24px 26px; background:var(--paper); }
.mobile-nav:not([hidden]) { animation:mobile-nav-reveal .22s ease-out; }
.mobile-nav a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:15px 0; min-height:53px; font-size:24px; line-height:1.25; letter-spacing:-.035em; }
.mobile-nav a .link-arrow { color:var(--muted); transition:transform .2s; }
.mobile-nav a:hover .link-arrow { transform:translate(2px,-2px); }
.mobile-nav a:last-child { margin-top:16px; padding:16px 18px; border:0; background:var(--ink); color:#fff; font-size:16px; letter-spacing:normal; }
.mobile-nav a:last-child .link-arrow { color:inherit; }
@keyframes mobile-nav-reveal { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:650px) { .mobile-nav { padding-inline:20px; } }
@media(min-width:901px) { .mobile-nav { display:none; } }

/* Outdoor stories: original manufacturer photos, with visible source credits. */
.outdoor-photo { margin:0; min-width:0; }
.outdoor-photo picture { display:block; overflow:hidden; background:var(--soft); }
.outdoor-photo img { width:100%; height:100%; object-fit:cover; }
.outdoor-photo figcaption { font-size:10px; color:var(--muted); line-height:1.6; padding-top:9px; }
.outdoor-feature { display:grid; grid-template-columns:1fr 1.08fr; background:#f0f1eb; margin-bottom:90px; }
.outdoor-feature-copy { padding:55px; align-self:center; }
.outdoor-feature-copy .eyebrow { font-size:10px; }
.outdoor-feature-copy h2 { font-size:clamp(39px,4.5vw,62px); line-height:1.08; }
.outdoor-feature-copy>p:not(.eyebrow) { font-size:16px; line-height:1.85; margin-top:28px; max-width:365px; }
.outdoor-feature-links { display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-top:26px; }
.outdoor-feature-image { display:flex; flex-direction:column; }
.outdoor-feature-image picture { flex:1; min-height:550px; position:relative; }
.outdoor-feature-image img { position:absolute; inset:0; object-position:50% 58%; }
.outdoor-feature-image figcaption { padding:10px 16px 12px; }
.outdoor-hero { padding-top:48px; }
.outdoor-hero .back-link { margin-bottom:34px; }
.outdoor-hero-copy { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:end; padding-bottom:42px; }
.outdoor-hero-copy .eyebrow { font-size:11px; margin-bottom:22px; }
.outdoor-hero h1 { font-size:clamp(46px,5.4vw,76px); line-height:1.08; }
.outdoor-hero-copy>div:last-child { max-width:440px; padding-bottom:4px; }
.outdoor-hero-copy>div:last-child>p { font-size:17px; line-height:1.8; }
.outdoor-hero-copy .text-link { margin-top:23px; }
.outdoor-hero-image picture { aspect-ratio:2/1; }
.audio-hero-image img { object-position:50% 60%; }
.lighting-hero-image img { object-position:50% 54%; }
.outdoor-intro { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding-block:86px; }
.outdoor-intro .eyebrow,.outdoor-section-heading .eyebrow { font-size:10px; }
.outdoor-intro h2 { font-size:clamp(35px,4vw,53px); line-height:1.13; }
.outdoor-intro>div:last-child { max-width:505px; padding-top:7px; }
.outdoor-intro p+p { margin-top:22px; }
.outdoor-options { padding-bottom:90px; }
.outdoor-section-heading { border-top:1px solid var(--line); padding-top:37px; margin-bottom:35px; }
.outdoor-section-heading h2 { font-size:clamp(32px,3.5vw,48px); }
.outdoor-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.outdoor-card-image picture { aspect-ratio:4/3; }
.outdoor-card-copy { padding-top:26px; }
.outdoor-card-copy .eyebrow { font-size:10px; margin-bottom:15px; }
.outdoor-card-copy h3 { font-size:28px; line-height:1.2; }
.outdoor-card-copy>p:last-child { font-size:15px; margin-top:18px; line-height:1.8; }
.lighting-card-grid .outdoor-card-image picture { aspect-ratio:3/4; }
.outdoor-plan { background:#242721; color:#fff; padding-block:73px 80px; }
.outdoor-plan .eyebrow,.outdoor-plan .cap-number { color:#c0c8b1; font-size:10px; }
.outdoor-plan-heading { display:flex; align-items:start; justify-content:space-between; gap:40px; padding-bottom:48px; }
.outdoor-plan-heading h2 { width:66%; font-size:clamp(37px,4vw,54px); }
.outdoor-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.outdoor-plan-grid article { border-top:1px solid #606859; padding-top:25px; }
.outdoor-plan-grid h3 { font-size:26px; line-height:1.25; margin-top:24px; max-width:320px; }
.outdoor-plan-grid p { color:#c5c9bf; font-size:15px; line-height:1.85; margin-top:20px; }
.outdoor-faq { padding-top:82px; padding-bottom:68px; }
.outdoor-related { display:flex; align-items:center; justify-content:space-between; gap:70px; border-top:1px solid var(--line); padding-block:45px 72px; }
.outdoor-related .eyebrow { font-size:10px; }
.outdoor-related h2 { font-size:37px; }
.outdoor-related p:not(.eyebrow) { max-width:620px; margin-top:19px; }
.outdoor-related .button { flex-shrink:0; }
.outdoor-service-link { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:70px; padding-bottom:75px; }
.outdoor-service-image picture { aspect-ratio:3/2; }
.outdoor-service-link>div>.eyebrow { font-size:10px; }
.outdoor-service-link h2 { font-size:37px; }
.outdoor-service-link>div>p:not(.eyebrow) { margin-top:22px; }
.outdoor-service-link .text-link { margin-top:23px; }
@media(max-width:1000px) {
  .outdoor-feature-copy { padding:36px; }
  .outdoor-feature-image picture { min-height:530px; }
  .outdoor-hero-copy { gap:35px; }
  .outdoor-hero-copy>div:last-child>p { font-size:15px; }
  .outdoor-intro { gap:50px; }
  .outdoor-card-grid { gap:22px; }
  .outdoor-card-copy h3 { font-size:24px; }
  .outdoor-card-copy>p:last-child { font-size:14px; }
  .outdoor-plan-grid { gap:25px; }
  .outdoor-plan-grid h3 { font-size:24px; }
  .outdoor-related { gap:30px; }
  .outdoor-service-link { gap:40px; }
}
@media(max-width:650px) {
  .outdoor-feature { display:flex; flex-direction:column; margin-bottom:45px; }
  .outdoor-feature-copy { padding:30px 25px 33px; }
  .outdoor-feature-copy h2 { font-size:41px; }
  .outdoor-feature-copy>p:not(.eyebrow) { font-size:15px; margin-top:22px; }
  .outdoor-feature-image { order:-1; }
  .outdoor-feature-image picture { flex:auto; min-height:0; aspect-ratio:1/1; }
  .outdoor-feature-image img { object-position:50% 64%; }
  .outdoor-photo figcaption { font-size:9px; }
  .outdoor-feature-image figcaption { padding-inline:15px; }
  .outdoor-feature-links { margin-top:22px; gap:12px; }
  .outdoor-hero { padding-top:30px; }
  .outdoor-hero .back-link { margin-bottom:28px; }
  .outdoor-hero-copy { display:block; padding-bottom:28px; }
  .outdoor-hero-copy .eyebrow { font-size:9px; margin-bottom:20px; }
  .outdoor-hero h1 { font-size:clamp(38px,11.4vw,60px); line-height:1.1; }
  .outdoor-hero-copy>div:last-child { max-width:none; margin-top:23px; padding:0; }
  .outdoor-hero-copy>div:last-child>p { font-size:16px; line-height:1.75; }
  .outdoor-hero-copy .text-link { margin-top:18px; }
  .outdoor-hero-image picture { aspect-ratio:4/3; }
  .outdoor-intro { display:block; padding-block:43px; }
  .outdoor-intro .eyebrow,.outdoor-section-heading .eyebrow { font-size:9px; }
  .outdoor-intro h2 { font-size:35px; }
  .outdoor-intro>div:last-child { padding-top:23px; font-size:15px; }
  .outdoor-intro p+p { margin-top:17px; }
  .outdoor-options { padding-bottom:45px; }
  .outdoor-section-heading { padding-top:28px; margin-bottom:28px; }
  .outdoor-section-heading h2 { font-size:32px; }
  .outdoor-card-grid { grid-template-columns:1fr; gap:38px; }
  .outdoor-card-copy { padding-top:20px; }
  .outdoor-card-copy .eyebrow { font-size:9px; margin-bottom:13px; }
  .outdoor-card-copy h3 { font-size:29px; }
  .outdoor-card-copy>p:last-child { font-size:15px; margin-top:16px; }
  .lighting-card-grid .outdoor-card-image picture { aspect-ratio:4/5; }
  .outdoor-plan { padding-block:42px 46px; }
  .outdoor-plan-heading { display:block; padding-bottom:33px; }
  .outdoor-plan-heading h2 { font-size:37px; width:auto; }
  .outdoor-plan .eyebrow,.outdoor-plan .cap-number { font-size:9px; }
  .outdoor-plan-grid { grid-template-columns:1fr; gap:31px; }
  .outdoor-plan-grid article { padding-top:20px; }
  .outdoor-plan-grid h3 { font-size:27px; margin-top:18px; }
  .outdoor-plan-grid p { font-size:15px; margin-top:17px; }
  .outdoor-faq { padding-top:44px; padding-bottom:40px; }
  .outdoor-related { display:block; padding-block:30px 45px; }
  .outdoor-related .eyebrow { font-size:9px; }
  .outdoor-related h2 { font-size:33px; }
  .outdoor-related p:not(.eyebrow) { font-size:15px; }
  .outdoor-related .button { margin-top:24px; }
  .outdoor-service-link { display:block; padding-bottom:45px; }
  .outdoor-service-link>div { margin-top:28px; }
  .outdoor-service-link h2 { font-size:33px; }
  .outdoor-service-link>div>p:not(.eyebrow) { font-size:15px; margin-top:19px; }
}
@media(max-width:1000px) {
  .brand-grid-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-grid-directory .brand-tile:not(:nth-child(4n)) { border-right:0; }
  .brand-grid-directory .brand-tile:nth-child(odd) { border-right:1px solid var(--line); }
  .brand-group-heading { grid-template-columns:35px 1.3fr 1fr; gap:18px; }
  .brand-group-heading h2 { font-size:29px; }
  .brands-intro { align-items:start; gap:40px; }
  .brands h2 { font-size:31px; }
}
@media(max-width:650px) {
  .brands { padding-block:46px; }
  .brands-intro { display:block; }
  .brands-intro>p { font-size:14px; margin-top:20px; max-width:350px; }
  .brands-intro>p br { display:none; }
  .brands h2 { font-size:28px; }
  .brand-grid,.brand-grid-directory { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:27px; }
  .brand-tile,.brand-grid-directory .brand-tile { padding:25px 0; }
  .brand-tile:not(:nth-child(3n)),.brand-grid-directory .brand-tile:not(:nth-child(3n)),.brand-grid-directory .brand-tile:not(:nth-child(4n)) { border-right:0; }
  .brand-tile:nth-child(odd),.brand-grid-directory .brand-tile:nth-child(odd) { border-right:1px solid var(--line); }
  .brand-art { min-height:58px; }
  .brand-art img { max-height:54px; }
  .brands-end { align-items:start; flex-direction:column; gap:15px; margin-top:20px; }
  .brands-end>span { font-size:11px; }
  .brand-jump-links { gap:8px 22px; margin-top:26px; }
  .brand-jump-links a { font-size:11px; }
  .brands-page-hero { padding-bottom:40px; }
  .brand-group { margin-bottom:45px; }
  .brand-group-heading { grid-template-columns:24px 1fr; gap:12px; }
  .brand-group-heading h2 { font-size:28px; }
  .brand-group-heading>p { grid-column:2; justify-self:start; font-size:14px; }
  .brand-caption { padding:20px 10px 0; font-size:11px; }
  .brand-caption>p { font-size:10px; }
  .brand-directory { padding-bottom:10px; }
  .trademark-credit { font-size:9px; }
}
