/* Astro UI 1.0 — tokens / layout / components / responsive */
:root{--red:#d8202b;--red-dark:#b91620;--ink:#191d20;--muted:#62686c;--paper:#f6f6f3;--line:#dadcd9;--white:#fff;--radius:4px;--space:clamp(20px,5vw,80px);--max:1320px;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #538cbd;outline-offset:4px}button{border:0;background:none}svg{width:24px;height:24px;flex-shrink:0}img{max-width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.04em}h2{font-size:clamp(30px,3.1vw,46px);margin-bottom:24px}h3{font-size:23px;letter-spacing:-.025em}em{font-style:normal;color:var(--red)}.container{max-width:var(--max);margin-inline:auto;width:calc(100% - var(--space)*2)}.section{padding:100px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--red);margin-bottom:20px}.light{color:#f67379}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-align:center;padding:0;display:flex;flex-direction:column;line-height:1;flex-shrink:0}.brand strong{font-size:32px;color:var(--red);letter-spacing:.13em;font-weight:700}.brand>span{font-size:23px;color:#737879;letter-spacing:.32em;margin-right:-.32em}.brand small{font-size:8px;letter-spacing:.18em;margin-top:9px}.desktop-nav{display:flex;gap:20px;align-items:center}.desktop-nav button{padding:34px 0;font-size:11px;font-weight:700;position:relative}.desktop-nav button:after{content:'';position:absolute;bottom:19px;left:0;width:0;height:2px;background:var(--red);transition:width .2s}.desktop-nav button:hover:after,.desktop-nav button.is-active:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 23px;background:var(--red);color:white;font-size:12px;font-weight:700;border:1px solid var(--red);border-radius:var(--radius);text-decoration:none;min-height:48px;transition:background .2s,transform .2s}.button svg{width:19px}.button:hover{background:var(--red-dark);transform:translateY(-2px)}.header-cta{font-size:11px;gap:16px;padding:12px 18px}.button-outline{background:transparent;border-color:#b3b8ba}.button-outline:hover{background:rgba(255,255,255,.12)}.menu-toggle{display:none;min-width:44px;min-height:44px}.mobile-nav{padding:10px var(--space) 24px;background:white}.mobile-nav button{display:block;text-align:left;width:100%;padding:14px 0;border-bottom:1px solid var(--line)}.hero{min-height:660px;color:white;position:relative;overflow:hidden;background:#22282b}.hero-photo{position:absolute;inset:0;background:url('hero.webp') center 55%/cover no-repeat}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,23,.94),rgba(14,20,23,.55) 55%,rgba(14,20,23,.08)),linear-gradient(0deg,rgba(14,20,23,.6),transparent 45%)}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#ffffff09 50%,transparent 50.1%);background-size:25% 100%;pointer-events:none}.hero-content{position:relative;padding-top:100px}.hero .eyebrow{display:flex;align-items:center;gap:14px}.red-line{width:34px;height:2px;background:var(--red)}h1{font-size:clamp(45px,5.5vw,78px);max-width:940px;font-weight:700;letter-spacing:-.052em;margin-bottom:28px}.hero h1 em{color:#fff;font-weight:400}.hero-copy{font-size:17px;max-width:460px;color:#e1e5e5;line-height:1.8}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.hero-bottom{margin-top:80px;padding:27px 0 24px;border-top:1px solid #ffffff36;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:.14em;color:#d0d3d4}.hero-bottom button{border:1px solid #ffffff60;border-radius:50%;width:36px;height:36px;color:white;font-size:20px}.photo-caption{position:absolute;right:12px;bottom:5px;font-size:9px;color:#ddd}.trust-strip{background:white;border-bottom:1px solid var(--line)}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0}.trust-inner>div{display:flex;align-items:center;gap:20px;padding:0 26px;border-left:1px solid var(--line)}.trust-inner>div:first-child{padding-left:0;border-left:0}.trust-inner strong{font-size:48px;line-height:1;letter-spacing:-.06em}.trust-inner strong span{color:var(--red)}.trust-inner svg{color:var(--red);width:32px;height:32px}.trust-inner p{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}.trust-inner b{color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:36px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:320px;color:var(--muted);font-size:14px;margin-bottom:4px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid var(--line);border-radius:2px;padding:10px 18px;font-size:11px;font-weight:700;background:transparent;min-height:44px}.filters button[aria-pressed=true]{color:white;background:var(--ink);border-color:var(--ink)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{padding:30px;background:white;border:1px solid #e0e2df;display:flex;flex-direction:column;min-height:320px;transition:border-color .2s,box-shadow .2s}.service-card:hover{border-color:var(--red);box-shadow:0 14px 28px #1920240a}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.service-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background:#fae9e9;color:var(--red);border-radius:4px}.number{font-size:12px;font-weight:700;color:#8b9092}.service-card .eyebrow{font-size:9px;margin-bottom:10px}.service-card h3{font-size:23px;margin-bottom:16px}.service-card>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:24px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;color:var(--red);font-size:11px;font-weight:700;padding:6px 0;min-height:36px;text-align:left;text-decoration:none}.text-link svg{width:18px}.service-card .text-link{margin-top:auto;align-self:flex-start}.advice{border-top:1px solid var(--line);margin-top:30px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:30px}.advice>div{display:flex;align-items:center;gap:18px}.advice svg{color:var(--red);width:32px;height:32px}.advice p{margin:0;font-size:13px;color:var(--muted)}.advice b{color:var(--ink)}.statement{padding:100px 0;background:#1b2124;color:white}.statement-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.statement h2{font-size:clamp(34px,3.8vw,54px)}.statement h2 em{color:#ef555d}.statement p:not(.eyebrow){font-size:14px;color:#bfc5c8;max-width:560px}.statement .button{margin-top:15px}.manifesto{padding:20px 0 10px 60px;border-left:1px solid #ffffff30;align-self:center}.big-quote{font-size:100px;color:var(--red);line-height:.7}.manifesto h3{font-size:clamp(26px,3vw,40px);line-height:1.3;margin-top:20px}.manifesto h3 span{color:#a2acae;font-weight:400}.manifesto-rule{height:3px;width:46px;background:var(--red);margin:30px 0}.manifesto p{font-size:9px!important;letter-spacing:.18em}.projects{background:white}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{border:1px solid var(--line)}.project-art{height:200px;background-color:#343f44;background-image:repeating-linear-gradient(90deg,transparent 0 17%,#aab8b522 17% 18%),linear-gradient(155deg,#697f7e55,transparent);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-art:after{content:'';position:absolute;left:-10%;bottom:-30%;width:120%;height:95%;background:repeating-linear-gradient(0deg,transparent 0 24px,#bbc5c555 24px 25px),repeating-linear-gradient(90deg,transparent 0 55px,#bbc5c555 55px 56px);transform:perspective(200px) rotateX(55deg)}.project-art svg{width:60px;height:60px;color:#ffffff66;position:relative;top:-20px}.art-1{background-color:#76796c}.art-2{background-color:#46606a}.art-3{background-color:#464e41}.art-4{background-color:#695b4d}.project-info{padding:25px}.project-info .eyebrow{font-size:9px;margin-bottom:12px}.project-info h3{margin-bottom:8px}.project-info p{font-size:12px;color:var(--muted);margin-bottom:16px}.editorial-note{font-size:11px;color:var(--muted);margin:20px 0 0}.technology{background:#efefeb}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bfc3c0;margin-top:50px}.process-grid article{padding:28px 26px 0 0}.step{font-size:12px;color:var(--red);display:block;margin-bottom:28px;font-weight:700}.process-grid h3{font-size:23px}.process-grid p{font-size:13px;color:var(--muted)}.sustainability{margin-top:45px;background:#e3e6df;padding:35px;display:flex;gap:26px;align-items:flex-start}.sustainability .service-icon{background:#d3dacc;color:#4a6540;flex-shrink:0}.sustainability .eyebrow{color:#4a6540;margin-bottom:12px}.sustainability h3{margin-bottom:12px}.sustainability p:last-child{font-size:14px;max-width:840px;color:#525e50;margin-bottom:0}.recognitions{margin-top:50px;padding-top:35px;border-top:1px solid #c9ccc6}.recognitions h3{font-size:25px}.awards{display:flex;gap:60px;flex-wrap:wrap}.awards p{font-size:12px}.awards strong{display:block;font-size:30px;color:var(--red);letter-spacing:-.04em}.resources-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.resources-grid>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:350px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:15px;font-weight:700;list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:25px;padding:24px 0;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--red);font-size:24px;line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;color:var(--muted);padding-right:25px}.contact{background:#20272a;color:white}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.contact h2{font-size:clamp(34px,3.6vw,52px)}.contact h2 em{color:#ef555d}.contact-grid>div>p:not(.eyebrow){max-width:370px;color:#c0c7c9;font-size:14px}.contact-promise{display:flex;gap:18px;align-items:center;border-top:1px solid #ffffff25;padding-top:28px;margin-top:36px;max-width:350px}.contact-promise svg{color:#ee535d;width:34px;height:34px}.contact-promise p{font-size:13px;color:#c0c7c9;margin:0}.contact-form{background:white;color:var(--ink);padding:36px;position:relative}.contact-form h3{font-size:24px;margin-bottom:10px}.contact-form>p{font-size:11px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:block;font-size:11px;font-weight:700;margin-bottom:17px}.contact-form label>span{font-weight:400}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #cdd1cf;border-radius:2px;background:#fbfcfa;padding:12px;font-size:14px;line-height:1.4;margin-top:7px;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form .checkbox{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.7;font-weight:400}.checkbox input{margin-top:4px;accent-color:var(--red);width:17px;height:17px;flex-shrink:0}.inline-link{text-decoration:underline;color:var(--red);padding:0;font-size:inherit}.contact-form>.button{width:100%}.form-note{margin:14px 0 0;font-size:10px!important}.notice{background:#fbeacb;color:#553b0f;padding:14px;font-size:13px;margin-bottom:20px}.honey{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}footer{background:#141a1d;color:#b6bec0;padding:50px 0 0}.footer-top{display:grid;grid-template-columns:170px 1fr 1fr;gap:60px;align-items:center;padding-bottom:40px}.footer-brand{align-items:flex-start}.footer-brand>span{color:#c5cdcf}.footer-top p{font-size:13px;margin:0}.footer-top nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.footer-top nav button{font-size:11px;color:#c5cdcf;text-align:left;padding:5px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff24;padding:22px 0;font-size:10px}.footer-bottom button{color:#b6bec0;font-size:10px}.assistant-button{position:fixed;bottom:22px;right:22px;z-index:25;display:flex;gap:10px;align-items:center;background:var(--red);color:white;padding:15px 18px;border-radius:40px;box-shadow:0 7px 25px #0003;font-size:11px;font-weight:700;min-height:50px}.detail-dialog{width:min(620px,calc(100% - 32px));border:0;border-top:4px solid var(--red);padding:45px;color:var(--ink);max-height:85dvh;overflow:auto;overscroll-behavior:contain;border-radius:3px;box-shadow:0 20px 80px #0005}.detail-dialog::backdrop{background:#10191cbb;backdrop-filter:blur(4px)}.detail-dialog .close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center}.detail-dialog .service-icon{margin-bottom:22px}.detail-dialog h2{font-size:36px}.detail-dialog>p{font-size:14px;color:var(--muted)}.detail-dialog .lead{font-size:20px;color:var(--ink)}.benefits{list-style:none;padding:20px 0;border-block:1px solid var(--line);margin:25px 0}.benefits li{display:flex;gap:14px;font-size:13px;margin:10px 0}.benefits svg{width:18px;color:var(--red)}.assistant-options{display:grid;gap:10px}.assistant-options button{padding:16px;background:var(--paper);display:flex;justify-content:space-between;gap:18px;font-size:13px;text-align:left}.assistant-options button:hover{background:#fae9e9}.assistant-options svg{width:18px;color:var(--red)}.skip-link{position:fixed;left:10px;top:-100px;z-index:100;background:white;padding:12px;color:var(--ink)}.skip-link:focus{top:10px}.noscript{background:#fbeacb;padding:15px;text-align:center;color:#553b0f;font-size:12px}
@media(min-width:1500px){.hero{min-height:740px}.hero-content{padding-top:125px}.hero-bottom{margin-top:110px}}
@media(max-width:1150px){.desktop-nav{gap:14px}.header-cta{display:none}.trust-inner>div{padding:0 15px;gap:12px}.trust-inner strong{font-size:40px}.statement-grid,.contact-grid{gap:45px}.resources-grid{gap:50px}.footer-top{gap:30px}}
@media(max-width:850px){:root{--space:28px}.section{padding:70px 0}.header-inner{height:80px}.desktop-nav{display:none}.menu-toggle{display:block}.header-cta{display:flex;margin-left:auto}.hero{min-height:630px}.hero-content{padding-top:80px}.hero-bottom{margin-top:70px}.hero-bottom span:last-child{display:none}.trust-inner{grid-template-columns:1fr 1fr;gap:24px}.trust-inner>div:nth-child(3){border-left:0;padding-left:0}.services-grid{grid-template-columns:repeat(2,1fr)}.section-heading{gap:30px}.section-heading>p{max-width:230px}.statement-grid{grid-template-columns:1fr;gap:40px}.manifesto{padding-left:30px}.manifesto h3{font-size:34px}.projects-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.resources-grid,.contact-grid{grid-template-columns:1fr}.contact-grid{gap:40px}.contact-grid>div>p:not(.eyebrow){max-width:540px}.contact-promise{display:none}.footer-top{grid-template-columns:150px 1fr}.footer-top nav{grid-column:1/-1;grid-template-columns:repeat(6,1fr)}.footer-bottom{padding-bottom:90px}}
@media(max-width:540px){:root{--space:20px}.section{padding:56px 0}html{scroll-padding-top:86px}.header-inner{height:76px;gap:10px}.brand strong{font-size:26px}.brand>span{font-size:18px}.brand small{font-size:6px;margin-top:7px}.header-cta{font-size:10px;padding:8px 10px;gap:8px;min-height:40px}.header-cta svg{display:none}.hero{min-height:650px}.hero-content{padding-top:68px}.hero-photo{background-position:64% center}.hero-photo:after{background:linear-gradient(90deg,#0e1417e8,#0e141779),linear-gradient(0deg,#0e1417a6,transparent)}h1{font-size:46px}.hero .eyebrow{font-size:9px}.hero-copy{font-size:15px}.actions{flex-direction:column;align-items:stretch;margin-top:27px;gap:10px;max-width:330px}.hero-bottom{margin-top:55px;font-size:8px;padding-top:20px}.trust-inner{gap:22px 16px;padding:25px 0}.trust-inner>div{padding:0 0 0 14px;gap:10px}.trust-inner strong{font-size:36px}.trust-inner p{font-size:10px}.trust-inner svg{width:25px;height:25px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:20px}.eyebrow{font-size:10px;margin-bottom:16px}.filters{gap:6px}.filters button{padding:9px 12px;font-size:10px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{padding:25px;min-height:285px}.service-top{margin-bottom:20px}.advice{display:block}.advice .text-link{margin-top:20px}.advice p{font-size:12px}.statement{padding:60px 0}.statement h2{font-size:35px}.manifesto h3{font-size:30px}.projects-grid{grid-template-columns:1fr}.project-art{height:180px}.process-grid{gap:0 22px;margin-top:30px}.process-grid article{padding-right:0}.process-grid h3{font-size:20px}.process-grid p{font-size:12px}.step{margin-bottom:20px}.sustainability{padding:24px;display:block}.sustainability .service-icon{margin-bottom:20px}.sustainability h3{font-size:24px}.sustainability p:last-child{font-size:13px}.awards{gap:20px}.awards p{font-size:10px}.awards strong{font-size:26px}.resources-grid{gap:30px}.faq summary{font-size:14px}.contact h2{font-size:36px}.contact-form{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}.contact-form h3{font-size:23px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:16px}.footer-top{grid-template-columns:1fr;gap:26px}.footer-top nav{grid-template-columns:repeat(3,1fr);gap:12px}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom>span{width:100%}.assistant-button{right:14px;bottom:14px;padding:13px}.assistant-button>span{display:none}.detail-dialog{padding:42px 25px 30px}.detail-dialog h2{font-size:30px}.detail-dialog .eyebrow{padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.header,.assistant-button,.filters,.contact,dialog,.actions,.text-link{display:none!important}.hero{min-height:0;background:white;color:black}.hero-photo,.hero-grid,.hero-bottom{display:none}.hero-content{padding:30px 0}.hero h1 em{color:black}.hero-copy{color:black}.section,.statement{padding:25px 0}.service-card,.project-card{break-inside:avoid}.statement{background:white;color:black}.statement p{color:black!important}.container{width:100%}}
