@font-face{font-family:'Nimbus Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/nimbussans-regular-latin.woff2') format('woff2')}
@font-face{font-family:'Nimbus Sans';font-style:normal;font-weight:500 900;font-display:swap;src:url('assets/fonts/nimbussans-bold-latin.woff2') format('woff2')}
@font-face{font-family:'Nimbus Sans Fallback';src:local('Arial');size-adjust:100%}
@font-face{font-family:'P052';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/p052-italic-latin.woff2') format('woff2')}
/* MARCELL Engenharia & Construção: folha única. Antes eram 7 arquivos (style, premium, construction,
   gallery, reviews, copy, typography), mantidos aqui na mesma ordem de cascata. */

/* ---- style.css ---- */

:root{--paper:#f5f2ea;--ink:#0e1d30;--muted:#5c6772;--gold:#b69558;--line:#dcd7ca;--dark:#0a1624}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #856939;outline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}.brand{display:flex;gap:13px;align-items:center}.brand img{border-radius:0;width:auto;height:48px;flex:none}.brand>span{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-weight:400;font-size:24px;line-height:1.1;letter-spacing:.24em}.brand small{display:block;font-size:8px;letter-spacing:2.6px;margin-top:6px}nav{display:flex;align-items:center;gap:36px;font-size:13px}nav a:hover{color:#6b552e}.nav-cta{border:1px solid var(--ink);padding:14px 18px;display:flex;gap:24px;align-items:center}.nav-cta span{font-size:21px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.hero-text{padding:64px 8% 34px 10%;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;line-height:1.7}.eyebrow i{display:inline-block;width:7px;height:7px;background:#866a39;margin-right:10px;border-radius:50%}h1,h2,h3,p{margin:0}h1,h2{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:-3px;line-height:1.08}h1{font-size:clamp(42px,4.2vw,72px);margin:30px 0 33px}em{font-family:'P052','Palatino Linotype',Palatino,Georgia,serif;font-weight:400}h1 em{white-space:nowrap}p{line-height:1.7;color:var(--muted);font-size:14px}.hero-bottom p{font-size:13px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:var(--gold);padding:19px 22px;font-weight:600;font-size:13px;border:0;transition:background .2s,transform .2s}.button:hover{background:#b29051;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.hero-bottom .button{margin-top:27px}.explore{display:flex;gap:20px;font-size:9px;letter-spacing:1.6px;align-items:center;margin-top:auto;padding-top:36px}.explore span{font-size:24px}.hero-photo{position:relative;overflow:hidden;background:#6b7987}.hero-photo>picture>img,.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% center;position:absolute}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#050a10b3);pointer-events:none}.photo-caption{position:absolute;bottom:35px;left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;color:white;z-index:1;font-size:10px;letter-spacing:1.5px;line-height:1.8}.photo-caption a{display:grid;place-items:center;border:1px solid #ffffff6b;width:52px;height:52px;border-radius:50%;font-size:28px}.vertical{position:absolute;right:20px;top:25px;writing-mode:vertical-rl;letter-spacing:2px;font-size:8px;color:white}.credentials{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;margin:0 5%;padding:33px 0;align-items:center;border-bottom:1px solid var(--line)}.credentials>div{border-left:1px solid var(--line);padding-left:18%}.credentials strong{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:45px;font-weight:500;line-height:1}.credentials strong span{font-size:28px;color:#6f5830}.credentials small{display:block;font-size:11px;color:var(--muted);margin-top:10px}.credentials p,.signature{font-size:13px;line-height:1.6}.section{padding:100px 5%}h2{font-size:clamp(35px,3.5vw,54px)}.about{display:grid;grid-template-columns:1fr 2fr 1fr;gap:5%;border-bottom:1px solid var(--line)}.about h2{margin-bottom:30px}.about .lead{font-size:18px;color:var(--ink);max-width:410px;margin-bottom:18px}.about p{max-width:470px}.text-link{display:inline-flex;justify-content:space-between;gap:32px;font-size:12px;border-bottom:1px solid currentColor;padding:8px 0}.about .text-link{margin-top:27px}.about-note{display:flex;flex-direction:column;justify-content:flex-end;position:relative;padding-top:60px}.about-note>span{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:32px;letter-spacing:7px;margin-bottom:14px}.about-note p{font-size:11px}.line-art{height:170px;width:125px;border:1px solid #959fa9;position:absolute;top:0;right:10px;opacity:.5;z-index:-1}.line-art:before,.line-art:after{content:'';position:absolute;inset:20px -20px -20px 20px;border:1px solid #959fa9}.line-art:after{inset:40px -40px -40px 40px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px;gap:30px}.section-top .eyebrow{margin-bottom:20px}.section-top>p{font-size:13px}.filters{display:flex;gap:9px;margin:40px 0 30px;flex-wrap:wrap}.filters button{border:1px solid var(--line);padding:11px 17px;background:transparent;font-size:11px;border-radius:2px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.projects{display:grid;grid-template-columns:1.45fr 1fr;gap:40px 28px;align-items:start}.project{border:0;background:transparent;color:inherit;text-align:left;padding:0;width:100%}.project[hidden]{display:none}.project.featured{grid-row:span 2}.project-image{position:relative;overflow:hidden}.project img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .6s}.project.featured img{height:690px;object-position:50%}.project:not(.featured) img{object-position:center 54%}.project:hover img{transform:scale(1.035)}.project-arrow{position:absolute;top:18px;right:18px;border-radius:50%;background:var(--paper);width:40px;height:40px;display:grid;place-items:center;font-size:25px}.tag{position:absolute;bottom:18px;left:18px;background:var(--paper);padding:9px 12px;font-size:8px;letter-spacing:1px}.project-info{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:17px}.project h3,.project .project-title{font-size:16px;font-weight:500}.project-info>span{font-size:10px;color:var(--muted)}.portfolio-footer{display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.portfolio-footer p{font-size:12px}.solutions{background:var(--dark);color:var(--paper)}.solutions p{color:#a7afb8}.solutions .eyebrow{color:#d3ccbd}.solutions .section-top{margin-bottom:55px}.service{display:grid;grid-template-columns:.25fr 1.2fr 1fr .15fr;gap:30px;align-items:center;padding:34px 0;border-top:1px solid #213652}.service:hover{padding-left:12px}.service>span{font-size:10px;color:#a5adb6}.service h3{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:23px;font-weight:400;letter-spacing:-.7px}.service p{font-size:12px}.service b{color:var(--gold);font-weight:400;font-size:32px;text-align:right}.places{border-top:1px solid #213652;padding-top:37px;margin-top:20px}.places>span{font-size:8px;letter-spacing:1.5px;color:#99a2ac}.places p{font-size:19px;margin-top:24px;line-height:1.9}.places i{font-style:normal;color:var(--gold);margin:0 15px}.journey{display:grid;grid-template-columns:1fr 1fr;gap:12%}.journey h2{margin:23px 0 35px}.journey ol{padding:0;margin:0;list-style:none}.journey li{display:flex;gap:28px;border-top:1px solid var(--line);padding:25px 0}.journey li>span{font-size:11px;color:#6f5830;margin-top:5px}.journey h3{font-size:17px;font-weight:500;margin-bottom:8px}.journey p{font-size:12px}.testimonial{display:grid;grid-template-columns:.8fr 1.2fr;background:#e7e4dc;min-height:430px}.testimonial>picture>img,.testimonial>img{width:100%;height:430px;object-fit:cover;object-position:center 35%}.testimonial>div{padding:65px 10%;display:flex;flex-direction:column;align-items:start;justify-content:center}.testimonial h2{font-size:38px;margin:24px 0 20px}.testimonial .button{margin-top:28px}.outline{background:transparent;border:1px solid #525c66}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:120px;padding-bottom:110px}.contact h2{margin:24px 0 28px;font-size:clamp(36px,3.7vw,58px)}.contact p{font-size:13px}.phone{display:block;font-size:24px;letter-spacing:-1px;margin-top:36px}.instagram{display:inline-block;font-size:11px;margin-top:14px;border-bottom:1px solid var(--line);padding-bottom:4px}form{padding:35px;background:#ebe8e0}form>label{display:block;font-size:11px;font-weight:500;margin-bottom:10px}label span{font-weight:400;color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;border:0;border-bottom:1px solid #aeb6be;background:transparent;padding:12px 0 16px;color:var(--ink);border-radius:0;font-size:13px;margin-bottom:26px}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:7px;font-size:10px;line-height:1.6;margin-bottom:22px}.consent input{accent-color:var(--ink)}form>.button{width:100%}form>small{font-size:9px;color:var(--muted);line-height:1.6;display:block;margin-top:15px}#form-status{margin-top:12px;font-size:11px}.faq{display:grid;grid-template-columns:.75fr 1fr 1.7fr;gap:35px;border-top:1px solid var(--line);padding-top:70px;padding-bottom:80px}.faq h2{font-size:35px;letter-spacing:-1.6px}.faq details{border-bottom:1px solid var(--line);padding:0 0 19px;margin-bottom:20px}.faq summary{cursor:pointer;font-size:13px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:20px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:12px;margin-top:15px}footer{background:var(--dark);color:var(--paper);padding:45px 5% 24px}.footer-top{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:38px}.footer-top p{font-size:12px;color:#a7afb8}.footer-top>a:not(.brand){font-size:9px;letter-spacing:1.5px}.footer-bottom{padding-top:25px;border-top:1px solid #213652;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#9fa8b1}.footer-bottom small{font-size:8px;max-width:360px;line-height:1.6}.footer-bottom button{background:transparent;border:0;color:inherit;font-size:10px}.floating{position:fixed;bottom:22px;right:24px;z-index:12;background:var(--gold);padding:13px 18px;border-radius:30px;display:flex;align-items:center;gap:9px;box-shadow:0 4px 22px #08111c24;font-size:11px;font-weight:600}.floating svg{width:24px;height:24px}dialog{padding:0;border:0;max-width:900px;width:90%;max-height:90vh;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#070f1ae0;backdrop-filter:blur(5px)}#project-dialog[open]{display:grid;grid-template-columns:1fr 1fr}#dialog-image{width:100%;height:100%;min-height:440px;max-height:75vh;object-fit:cover}.dialog-copy{padding:46px 32px}.dialog-copy h2{font-size:34px;letter-spacing:-1.5px;margin:20px 0}.dialog-copy p{margin-bottom:20px}.dialog-copy .button{margin-top:28px;font-size:11px}.close{position:absolute;right:10px;top:10px;width:36px;height:36px;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:26px;z-index:1}#privacy-dialog{max-width:650px}.skip{position:absolute;top:-70px;left:20px;z-index:50;background:var(--gold);padding:14px}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:780px}}@media(max-width:1000px){header{height:85px}nav{gap:20px}.hero{min-height:620px}.hero-text{padding-top:40px}.eyebrow{font-size:8px}h1{letter-spacing:-2px}.hero-bottom .button{font-size:11px;padding:16px;gap:14px}.about{grid-template-columns:.7fr 2fr}.about-note{display:none}.project-info{display:block}.project-info>span{display:block;margin-top:6px}.project.featured img{height:670px}.service h3{font-size:20px}.faq{grid-template-columns:1fr 2fr}.faq>.eyebrow{grid-column:span 2}.testimonial h2{font-size:31px}.footer-bottom small{max-width:240px}}@media(max-width:700px){html{scroll-padding-top:30px}header{height:82px;padding:0 6%}.brand img{height:38px;width:auto}.brand>span{font-size:21px}.brand small{font-size:6px}.menu{display:block;border:1px solid var(--line);background:transparent;width:40px;height:40px;font-size:21px}nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);align-items:stretch;gap:22px}nav.open{display:flex;flex-direction:column}.nav-cta{justify-content:space-between}.hero{display:flex;flex-direction:column;min-height:0}.hero-text{padding:37px 6% 24px}.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:45px;letter-spacing:-2.3px;line-height:1.1;margin:24px 0}.hero-bottom p{font-size:12px}.hero-bottom{display:flex;flex-direction:column;align-items:start}.hero-bottom .button{font-size:12px;padding:17px 19px;margin-top:23px}.explore{padding-top:24px;font-size:8px}.hero-photo{height:355px;min-height:355px}.hero-photo>picture>img,.hero-photo>img{object-position:center}.photo-caption{bottom:23px;left:23px;right:23px;font-size:8px}.vertical{font-size:7px}.credentials{grid-template-columns:1fr 1fr;padding:25px 0;gap:25px 15px;margin:0 6%}.credentials>p{font-size:12px}.credentials>div{padding-left:18px}.credentials>div:nth-child(3){border-left:0;padding-left:0}.credentials strong{font-size:36px}.credentials small{font-size:10px}.signature{font-size:11px}.section{padding:65px 6%}.about{display:block}.about>.eyebrow{margin-bottom:24px}h2{font-size:37px;letter-spacing:-1.8px}.about .lead{font-size:16px}.about p{font-size:13px}.section-top{display:block;margin-bottom:27px}.section-top>p{margin-top:20px;font-size:12px}.section-top .eyebrow{margin-bottom:20px}.filters{gap:6px;margin:25px 0}.filters button{font-size:10px;padding:9px 11px}.projects{grid-template-columns:1fr;gap:28px}.project.featured{grid-row:auto}.project.featured img{height:350px}.project img{height:340px}.project-info{display:flex;align-items:start}.project h3,.project .project-title{font-size:15px}.project-info>span{font-size:9px;margin-top:3px}.portfolio-footer{display:block;margin-top:25px}.portfolio-footer .text-link{margin-top:12px}.service{grid-template-columns:20px 1fr 20px;gap:16px;padding:26px 0}.service h3{font-size:20px}.service p{grid-column:2;grid-row:2;font-size:12px}.service b{grid-column:3;grid-row:1}.places p{font-size:15px}.places i{margin:0 8px}.journey{display:block}.journey ol{margin-top:35px}.testimonial{grid-template-columns:1fr}.testimonial>picture>img,.testimonial>img{height:300px;object-position:center 30%}.testimonial>div{padding:40px 6%}.testimonial h2{font-size:32px}.testimonial p{font-size:12px}.contact{display:block}.contact h2{font-size:42px}.contact form{margin-top:35px;padding:25px}.phone{font-size:22px}.faq{display:block}.faq h2{margin:22px 0 35px}.faq summary{font-size:12px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-top p{font-size:10px}.footer-bottom{display:flex;flex-wrap:wrap;align-items:start}.footer-bottom small{max-width:100%;order:3}.floating{right:15px;bottom:15px;padding:12px}.floating span{display:none}.floating svg{width:26px;height:26px}#project-dialog[open]{display:block}#dialog-image{height:270px;min-height:0}.dialog-copy{padding:30px 24px}.dialog-copy h2{font-size:30px}.dialog-copy p{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.dialog-copy .text-link{display:table}.dialog-copy .button{display:flex}

.footer-credit{margin-top:22px;padding-top:18px;border-top:1px solid #213652;text-align:center;font-size:11px;color:#d6d0c1}.footer-credit a{display:inline-block;padding:6px 0;text-decoration:underline;text-underline-offset:4px}.footer-credit a:hover{color:var(--gold)}

.service{grid-template-columns:1.2fr 1fr .15fr}@media(max-width:700px){.service{grid-template-columns:1fr 20px}.service p{grid-column:1}.service b{grid-column:2}}

/* ---- premium.css ---- */
/* Architectural editorial direction: warm stone, deep olive, light and space. */
:root{--paper:#f3f0e9;--ink:#0d1b2e;--muted:#5d6670;--gold:#b9985b;--gold-light:#d4bd8f;--slate:#78818b;--dark:#0d1b2e;--line:#dcd6c9;--ease:cubic-bezier(.22,1,.36,1)}
body{max-width:none;overflow-x:clip}::selection{background:#bc9d65;color:#0c192a}.page-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:#b99a61;z-index:100;pointer-events:none}header{position:absolute;top:0;left:0;width:100%;height:112px;border:0;background:transparent;color:white;padding:0 5.5%;transition:background .45s,box-shadow .45s,transform .45s;color:white}header .brand img{height:49px;width:auto}header .brand>span{font-size:25px;letter-spacing:4px}header nav{gap:34px}header nav a:hover{color:#bea16c}.nav-cta{border-color:#ffffff5c;border-radius:12px;padding:12px 22px;background:#ffffff08;backdrop-filter:blur(10px);font-size:11px;letter-spacing:.3px}.nav-cta:hover{background:#ffffff18}header.is-scrolled{position:fixed;top:14px;left:3%;width:94%;height:76px;border-radius:20px;background:#0c192bf0;box-shadow:0 6px 35px #070f191a;backdrop-filter:blur(18px);animation:header-appear .5s var(--ease) both}header.is-scrolled .brand img{height:39px;width:auto}header.is-scrolled .brand>span{font-size:21px}
.hero{position:relative;display:block;min-height:820px;height:100svh;max-height:1100px;background:#102138;isolation:isolate;color:white;overflow:hidden;border-radius:0}.hero-photo{position:absolute;inset:0;z-index:-2;background:#102138}.hero-photo>picture>img,.hero-photo>img{width:100%;height:112%;top:-6%;object-fit:cover;object-position:50% 54%;will-change:transform;animation:hero-image 1.8s var(--ease) both}.hero-photo:after{inset:0;background:linear-gradient(90deg,#070f1ac9 0%,#0a162475 45%,#09142115 85%),linear-gradient(0deg,#08101bc4,transparent 30%,transparent 75%,#09132070);z-index:1}.hero-text{padding:190px 5.5% 55px;position:relative;z-index:2;min-height:100%;width:100%;pointer-events:none}.hero-text>*{pointer-events:auto;align-self:flex-start}.hero .eyebrow{color:#ded9ce;letter-spacing:3px;font-size:9px}.hero .eyebrow i{background:#ba9c63;box-shadow:0 0 18px #bda06a70}.hero h1{font-size:clamp(64px,6.5vw,105px);letter-spacing:-5px;line-height:1.02;font-weight:400;margin:34px 0 30px;max-width:1000px;text-shadow:0 2px 50px #08121e30}.hero h1 em{color:#c0a470;font-weight:400}.hero-bottom{display:flex;align-items:center;gap:45px}.hero-bottom p{color:#e6e2da;font-size:12px;line-height:1.8}.hero-bottom .button{margin-top:0}.button{border-radius:12px;position:relative;overflow:hidden;font-size:12px;padding:18px 24px;transition:background .35s,box-shadow .35s,transform .35s;color:#0f2035;box-shadow:0 0 0 0 #ba9b6125}.button:hover{background:#bfa36e;transform:translateY(-3px);box-shadow:0 7px 30px #b7975b20}.button span{display:grid;place-items:center;border:1px solid #10223930;border-radius:50%;height:28px;width:28px;font-size:18px;transition:transform .4s var(--ease)}.button:hover span{transform:rotate(45deg)}.explore{margin-top:auto;padding-top:42px;font-size:8px;letter-spacing:2px;gap:18px}.explore span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dcd7cb55;border-radius:50%;font-size:17px;animation:arrow-float 3s ease-in-out infinite}.hero .photo-caption{left:auto;right:5.5%;bottom:53px;gap:35px;font-size:8px;letter-spacing:2px}.hero .photo-caption a{width:70px;height:70px;border-color:#ebe0cd7a;transition:background .4s,transform .4s}.hero .photo-caption a:hover{background:#ba9b612a;transform:rotate(45deg)}.vertical{top:45%;right:28px;font-size:7px;letter-spacing:3px;color:#f0e9db}.hero .photo-caption{z-index:3}.hero-seal{position:absolute;right:8%;top:28%;width:112px;height:112px;border:1px solid #ffffff4a;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#eee6d6;z-index:3;backdrop-filter:blur(4px);background:#0f203610;transform:rotate(10deg);pointer-events:none}.hero-seal span{font-family:'P052','Palatino Linotype',Palatino,Georgia,serif;font-style:italic;font-size:24px}.hero-seal small{font-size:7px;letter-spacing:2px;margin-top:8px}.credentials{padding:42px 2%;margin:0 5.5%;border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr 1fr 1.2fr}.credentials strong{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:60px;letter-spacing:-2px;font-weight:400}.credentials strong span{font-size:35px;color:#697785}.credentials>div{padding-left:22%;border-color:#d9d3c5}.credentials small{font-size:10px;letter-spacing:.4px}.credentials p,.signature{font-size:12px}
.section{padding:120px 7%}h2{font-size:clamp(38px,4vw,64px);letter-spacing:-2.9px;line-height:1.12}h2 em{color:#6f7d8c}.eyebrow{font-size:8px;letter-spacing:2.5px;font-weight:500}.about{grid-template-columns:.6fr 1.45fr 1fr;gap:6%;align-items:center;border:0;padding-top:140px;padding-bottom:150px;position:relative}.about>.eyebrow{align-self:start;padding-top:10px}.about h2{margin-bottom:32px}.about .lead{font-size:18px;line-height:1.6}.about p{font-size:13px}.text-link{font-size:11px;border-bottom-color:#8995a1;padding-bottom:12px;transition:gap .35s,color .35s}.text-link:hover{gap:45px;color:#5a6571}.about-note{padding:0;display:block;align-self:stretch;position:relative}.about-note>span,.about-note>p,.about-note .line-art{display:none}.about-portrait{display:block;position:relative;height:100%;min-height:360px;overflow:hidden;border-radius:12px;transform:none;box-shadow:12px 15px 0 #e6e2d9}.about-portrait img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 48%;transition:transform 1s var(--ease)}.about-portrait:hover img{transform:scale(1.05)}.about-portrait figcaption{position:absolute;bottom:22px;left:20px;right:20px;color:white;font-size:8px;line-height:1.8;letter-spacing:1.5px;background:#0c192b85;border-radius:12px;padding:15px 17px;backdrop-filter:blur(10px)}.about:after{content:'ARCD';font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;position:absolute;font-size:20vw;letter-spacing:-1.5vw;font-weight:500;bottom:-70px;left:3%;color:#e0dcd131;pointer-events:none;z-index:-1}.material-band{display:flex;align-items:center;justify-content:center;gap:4vw;padding:35px 4%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:'P052','Palatino Linotype',Palatino,Georgia,serif;font-style:italic;font-size:clamp(19px,2.3vw,36px);color:#6f7e8d;overflow:hidden}.material-band i{font-size:16px;font-style:normal;color:#959faa}.material-band span{white-space:nowrap}.portfolio{padding-top:125px;background:#ece9e2;border-radius:0;margin-top:75px}.section-top{margin-bottom:50px}.section-top>p{line-height:1.8;font-size:12px}.filters{gap:8px;margin:35px 0 44px}.filters button{border-radius:30px;padding:12px 20px;font-size:10px;transition:background .3s,color .3s,border .3s}.filters button:hover{border-color:#717f8e}.filters button.active{background:var(--dark)}.projects{grid-template-columns:1.25fr 1fr;gap:65px 55px}.project.featured{grid-row:span 2}.project-image{border-radius:8px}.project.featured .project-image{border-radius:8px}.project.featured img{height:820px}.project:not(.featured) img{height:350px}.project img{transition:transform 1.2s var(--ease),filter .7s;filter:saturate(.85)}.project:hover img{transform:scale(1.065);filter:saturate(1)}.project-arrow{width:48px;height:48px;top:20px;right:20px;background:#f4f1e9ec;font-size:24px;transition:transform .4s,background .4s}.project:hover .project-arrow{transform:rotate(45deg);background:var(--gold)}.project.featured .project-arrow{top:auto;bottom:22px}.tag{border-radius:20px;padding:11px 15px;bottom:22px;left:22px;background:#f4f1e9e0;backdrop-filter:blur(5px);font-size:7px;letter-spacing:1.5px}.project.featured .tag{bottom:29px;left:25px;max-width:65%}.project-info{padding:3px 2px}.project h3,.project .project-title{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:18px;letter-spacing:-.5px}.project-info>span{font-size:9px}.portfolio-footer{margin-top:55px;padding-top:30px}.portfolio-footer p{font-size:11px}.solutions{border-radius:0;position:relative;overflow:hidden}.solutions:before{content:'';position:absolute;width:650px;height:650px;border:1px solid #84909d30;border-radius:50%;top:-230px;right:-300px;pointer-events:none}.solutions:after{content:'';position:absolute;width:850px;height:850px;border:1px solid #84909d1c;border-radius:50%;top:-330px;right:-400px;pointer-events:none}.solutions .section-top{position:relative;z-index:1;margin-bottom:70px}.solutions h2 em{color:#9fa8b2}.solutions .eyebrow{color:#b4bac1}.service{position:relative;padding:38px 0;gap:40px;border-color:#ffffff21;border-radius:0;isolation:isolate}.service:before{content:'';position:absolute;inset:7px -24px;background:#ffffff06;border-radius:18px;opacity:0;transform:scale(.98);transition:opacity .4s,transform .4s;z-index:-1}.service:hover{padding-left:0}.service:hover:before{opacity:1;transform:scale(1)}.service h3{font-size:27px;transition:transform .4s var(--ease)}.service:hover h3{transform:translateX(10px)}.service p{max-width:350px;font-size:12px}.service b{border:1px solid #adb5bd50;width:48px;height:48px;border-radius:50%;font-size:24px;display:grid;place-items:center;transition:background .4s,transform .4s}.service:hover b{background:#85919e20;transform:rotate(45deg)}.places{border-color:#ffffff21;margin-top:28px}.places p{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:24px;font-weight:400;color:#d5cebf}.places i{color:#7c8997;margin:0 20px}.journey{padding-top:145px;padding-bottom:145px}.journey ol{border-left:1px solid #b6bdc4;padding-left:35px;margin-left:10px}.journey li{border:0;position:relative;padding:8px 0 38px}.journey li:last-child{padding-bottom:0}.journey li:before{content:'';width:9px;height:9px;border-radius:50%;background:#768493;position:absolute;left:-40px;top:15px;box-shadow:0 0 0 7px var(--paper)}.journey h3{font-size:19px}.journey p{max-width:360px;font-size:13px}.testimonial{margin:0 5%;border-radius:14px;overflow:hidden;min-height:520px;background:#e3ded4;grid-template-columns:1fr 1.2fr}.testimonial>picture>img,.testimonial>img{height:520px;object-position:center 35%;border-radius:0}.testimonial>div{padding:70px 12%}.testimonial h2{font-size:43px;letter-spacing:-1.8px}.testimonial h2 em{color:#63707d}.testimonial .outline{background:transparent;color:#19283c;border-color:#919ca7;padding:15px 20px}.testimonial .outline:hover{background:#f4f1e970}.testimonial p{font-size:12px}.contact{position:relative;padding-top:150px;padding-bottom:130px;gap:10%}.contact h2{font-size:clamp(40px,4.6vw,70px);line-height:1.1}.contact h2 em{color:#6f7d8c}.contact .phone{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;letter-spacing:-.5px;font-size:28px}.contact form{background:#f0e9dbb3;border:1px solid #dfdacf;border-radius:16px;padding:45px;box-shadow:0 25px 80px #10223908;position:relative}.contact form:before{content:'';position:absolute;top:-12px;left:45px;width:65px;height:3px;border-radius:3px;background:#86929e}.contact input:not([type=checkbox]),.contact select,.contact textarea{border-color:#d9d4c7;padding-bottom:16px;font-size:12px;transition:border-color .25s}.contact input:focus,.contact select:focus,.contact textarea:focus{outline:none;border-bottom-color:#64707d}.contact label{font-size:10px}.contact .consent{font-size:9px}.contact .button{padding:17px 22px}.contact .instagram{font-size:10px}.faq{background:#ebe8e2;border:0;border-radius:0;padding-top:90px;padding-bottom:95px}.faq h2{font-size:38px}.faq summary{font-size:12px;padding:2px 0}.faq summary:after{color:#66727f;font-size:22px;transition:transform .3s}.faq details{border-color:#d6d0c1}footer{background:var(--dark);padding:55px 6% 25px;border-radius:0}footer .brand>span{font-size:23px}.footer-top{padding-bottom:45px}.footer-bottom{padding-top:27px}.footer-credit{margin-top:27px;padding-top:20px}.footer-credit a{text-decoration-color:#7c8997;color:#bec4ca;font-size:10px}.floating{background:#bd9f68;color:#172537;bottom:25px;right:26px;box-shadow:0 6px 35px #0d1b2d24;transition:transform .3s,background .3s;padding:13px 19px}.floating:hover{transform:translateY(-4px);background:#c2a673}dialog{border-radius:24px;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#091321cf;backdrop-filter:blur(12px)}.dialog-copy{padding:55px 35px}.close{border:0;width:38px;height:38px;background:#f0e9dbed}.dialog-copy .button{margin-top:30px}.dialog-copy h2{line-height:1.1}.menu{border-radius:50%;border-color:#ffffff50;color:inherit}.reveal-media{overflow:hidden}
@keyframes hero-image{from{transform:scale(1.1);opacity:.45}to{transform:scale(1);opacity:1}}@keyframes header-appear{from{opacity:0;transform:translateY(-25px)}to{opacity:1;transform:translateY(0)}}@keyframes arrow-float{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:1600px){.hero-text{padding-top:210px}.section{padding-left:max(7%,calc((100vw - 1500px)/2));padding-right:max(7%,calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.hero{min-height:800px}.hero h1{font-size:82px}.hero-seal{right:7%;top:27%;width:95px;height:95px}.about{grid-template-columns:1.5fr 1fr;gap:8%}.about>.eyebrow{grid-column:span 2;padding:0}.about-note{display:block}.about-portrait{min-height:360px;margin:0}.projects{gap:45px 30px}.project.featured img{height:770px}.project:not(.featured) img{height:320px}.project-info{display:block}.project-info>span{display:block;margin-top:6px}.testimonial h2{font-size:35px}.contact form{padding:30px}.service h3{font-size:23px}}
@media(max-width:700px){header{height:90px;padding:0 6%}header .brand img{height:38px;width:auto}header .brand>span{font-size:20px}.menu{background:#ffffff0a;backdrop-filter:blur(8px)}nav{top:83px;background:#0f1f34f5;border:1px solid #ffffff20;left:5%;right:5%;border-radius:24px;padding:26px;color:white;box-shadow:0 15px 40px #070f1830;backdrop-filter:blur(15px)}header.is-scrolled{height:67px;top:9px;left:3%;width:94%;padding:0 5%}header.is-scrolled .brand img{height:34px;width:auto}header.is-scrolled .brand>span{font-size:18px}header.is-scrolled nav{top:75px;left:0;right:0}.hero{height:92svh;min-height:730px;max-height:900px;border-radius:0}.hero-text{padding:155px 6% 35px;min-height:100%}.hero h1{font-size:clamp(44px,11.8vw,72px);letter-spacing:-2.5px;line-height:1.08;margin:28px 0}.hero .eyebrow{font-size:7px;letter-spacing:1.6px}.hero-photo{height:100%;min-height:0}.hero-photo>picture>img,.hero-photo>img{object-position:59% 50%;height:110%;top:-5%}.hero-photo:after{background:linear-gradient(90deg,#09121ebd,#0a162535),linear-gradient(0deg,#08111cd9,transparent 36%,#0b182840)}.hero-bottom{display:flex;flex-direction:column;align-items:start;gap:24px}.hero-bottom p{color:#e6e2da;font-size:12px}.hero-bottom .button{margin:0;padding:15px 20px;font-size:11px}.hero-seal{display:none}.hero .photo-caption{bottom:31px;right:6%;left:auto}.hero .photo-caption span{display:none}.hero .photo-caption a{width:46px;height:46px;font-size:22px}.vertical{display:none}.explore{padding-top:35px;letter-spacing:1px;font-size:7px;gap:12px;max-width:70%}.explore span{width:30px;height:30px;flex:none}.credentials{margin:0 6%;padding:30px 0;gap:24px 18px}.credentials>div{padding-left:22px}.credentials strong{font-size:46px}.credentials strong span{font-size:25px}.credentials small{font-size:9px}.credentials p,.signature{font-size:10px}.section{padding:75px 6%}h2{font-size:39px;letter-spacing:-1.8px}.about{display:grid;grid-template-columns:1fr;gap:28px;padding-top:85px;padding-bottom:85px}.about>.eyebrow{grid-column:auto;margin:0}.about h2{margin-bottom:25px}.about .lead{font-size:16px}.about p{font-size:12px}.about-note{display:block;margin-top:15px}.about-portrait{height:350px;min-height:0;width:75%;max-width:330px;margin:0 auto;transform:rotate(2deg);border-radius:10px;box-shadow:14px 15px 0 #e4e0d7}.about-portrait img{object-position:50% 42%}.about:after{font-size:38vw;bottom:0;left:6%}.material-band{padding:26px 6%;gap:18px;justify-content:space-between;font-size:19px}.material-band span:last-child,.material-band i:last-of-type{display:none}.material-band i{font-size:12px}.portfolio{border-radius:0;margin-top:40px;padding-top:70px}.section-top{margin-bottom:28px}.filters{gap:7px;margin:30px 0}.filters button{font-size:9px;padding:10px 12px}.projects{grid-template-columns:1fr;gap:35px}.project.featured .project-image{border-radius:8px}.project.featured img{height:430px}.project:not(.featured) img{height:340px}.project-info{display:flex;gap:12px}.project h3,.project .project-title{font-size:15px}.project-info>span{font-size:9px;max-width:110px;text-align:right}.tag{font-size:7px;left:17px;bottom:17px;padding:9px 12px}.project-arrow{width:40px;height:40px;font-size:20px;top:16px;right:16px}.project.featured .tag{left:17px;bottom:23px}.project.featured .project-arrow{bottom:17px}.portfolio-footer{margin-top:35px}.portfolio-footer p{font-size:10px}.solutions{border-radius:0}.solutions .section-top{margin-bottom:40px}.solutions:before{width:450px;height:450px;right:-320px;top:-130px}.solutions:after{width:600px;height:600px;right:-400px;top:-200px}.service{grid-template-columns:1fr 38px;padding:28px 0;gap:13px 15px}.service h3{font-size:21px;line-height:1.3}.service b{height:36px;width:36px;font-size:20px}.service p{font-size:11px;line-height:1.8;padding-right:10px;grid-column:1}.service:before{inset:6px -12px}.places{padding-top:28px;margin-top:20px}.places>span{font-size:7px}.places p{font-size:20px;line-height:1.8}.places i{margin:0 8px}.journey{padding-top:85px;padding-bottom:85px}.journey ol{padding-left:28px;margin-top:38px}.journey li:before{left:-33px}.journey h3{font-size:17px}.journey p{font-size:12px}.testimonial{margin:0 5%;border-radius:12px;display:flex;flex-direction:column}.testimonial>picture>img,.testimonial>img{height:330px;border-radius:0;object-position:center 34%}.testimonial>div{padding:38px 7% 45px}.testimonial h2{font-size:32px;letter-spacing:-1.3px}.testimonial .eyebrow{font-size:7px}.testimonial .button{font-size:10px;padding:14px 17px;gap:15px}.contact{padding-top:90px;padding-bottom:75px}.contact h2{font-size:43px}.contact .phone{font-size:25px}.contact p{font-size:12px}.contact form{margin-top:40px;border-radius:14px;padding:28px 24px}.contact .consent{font-size:9px}.faq{border-radius:0;padding-top:65px;padding-bottom:65px}.faq h2{font-size:35px}.faq summary{font-size:11px}.footer-top{gap:30px 15px}footer{padding-top:40px}.footer-top .brand img{height:37px;width:auto}.footer-top .brand>span{font-size:19px}.footer-top p{font-size:9px}.footer-top>a:not(.brand){font-size:8px}.footer-bottom{font-size:9px}.footer-credit a{font-size:9px}.floating{bottom:16px;right:16px;padding:12px;background:#bd9f68}.floating span{display:none}.dialog-copy{padding:32px 25px}#project-dialog{border-radius:22px}#dialog-image{height:300px}.dialog-copy h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.hero-photo>picture>img,.hero-photo>img{will-change:auto;animation:none}.explore span{animation:none}header.is-scrolled{animation:none}}

.hero-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.hero-line>span{display:block}.about-portrait{margin:0}.projects.is-filtered{grid-template-columns:1fr;max-width:900px;margin-inline:auto}.projects.is-filtered .project.featured{grid-row:auto}.projects.is-filtered .project img{height:530px}.projects.is-filtered .project-image{border-radius:8px}@media(max-width:700px){.projects.is-filtered .project img{height:380px}.about-portrait{margin-inline:auto}}

.hero-seal{background:#0d1b2e60}.hero-seal span{font-size:21px;white-space:nowrap}.about p{font-size:14px}.about .lead{font-size:18px}@media(max-width:700px){html{overflow-x:clip}.hero h1{font-size:clamp(32px,10.4vw,70px)}.hero-line>span{white-space:nowrap}.about p{font-size:13px}.about .lead{font-size:16px}.material-band{font-size:17px;gap:14px}.material-band span{min-width:0;white-space:normal}.material-band i{flex:none}}

.about{overflow:clip}@media(max-width:700px){.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filters button{font-size:10px;padding:12px}.hero .photo-caption a{margin-bottom:3px}}

@media(max-width:700px){.floating.form-visible{opacity:0;pointer-events:none;transform:translateY(12px)}}

/* ---- construction.css ---- */
.construction{background:#e9e6df;padding-top:110px;padding-bottom:105px}.construction .section-top{align-items:end}.construction .section-top>p{max-width:330px}.build-experience{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.75fr);gap:0;background:#0c192b;color:#f4f1e9;border-radius:10px;overflow:hidden}.build-visual{position:relative;isolation:isolate;min-width:0;background:#6b7987;aspect-ratio:3/2;overflow:hidden}.construction-frame{position:absolute;inset:0;opacity:0;transition:opacity 1.3s cubic-bezier(.4,0,.2,1);background-image:url('assets/construction-stages.webp');background-size:200% 200%;background-repeat:no-repeat;transform:translateZ(0)}.construction-frame.is-active{opacity:1}.construction-frame:nth-child(1){background-position:0 0}.construction-frame:nth-child(2){background-position:100% 0}.construction-frame:nth-child(3){background-position:0 100%}.construction-frame:nth-child(4){background-position:100% 100%}.build-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0b18288c);pointer-events:none}.build-visual-tag{position:absolute;bottom:24px;left:26px;z-index:2;font-size:8px;letter-spacing:2px;color:white}.build-player{display:flex;flex-direction:column;padding:35px 30px;justify-content:center}.build-player>.eyebrow{color:#aeb5bd;font-size:7px;margin-bottom:25px}.build-steps{display:flex;flex-direction:column;gap:0}.build-steps button{border:0;border-left:1px solid #959faa33;background:transparent;color:#8994a0;text-align:left;padding:13px 0 13px 20px;font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:18px;font-weight:400;letter-spacing:-.5px;transition:color .3s,border .3s,padding .3s}.build-steps button[aria-pressed=true]{color:#c0a46f;border-color:#c0a46f;padding-left:25px}.build-steps button:hover{color:#f0e9db}.build-description{font-size:11px;color:#bec4ca;line-height:1.8;min-height:65px;margin-top:20px}.build-play{border:1px solid #a7afb84f;color:#e8e5dd;background:transparent;border-radius:7px;padding:12px 14px;font-size:10px;display:flex;align-items:center;gap:11px;margin-top:20px;align-self:start}.build-play:hover{background:#ffffff0a}.build-play svg{width:14px;height:14px}.build-timeline{margin-top:25px}.build-timeline label{display:block;font-size:8px;letter-spacing:.4px;color:#b1b8c0;margin-bottom:12px}.build-timeline input{accent-color:#bea16c;width:100%;margin:0;cursor:pointer}.build-disclosure{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-top:22px}.build-disclosure p{font-size:10px;max-width:660px}.build-disclosure .text-link{flex:none;font-size:10px}.construction .build-source{display:none}@media(max-width:1100px){.build-experience{grid-template-columns:1.5fr 1fr}.build-player{padding:28px 24px}.build-visual{aspect-ratio:auto;min-height:420px}.construction-frame{background-size:auto 200%;background-size:200% 200%}.build-steps button{font-size:17px;padding-block:10px}.build-player>.eyebrow{margin-bottom:18px}.build-description{margin-top:16px}.build-timeline{margin-top:20px}}@media(max-width:700px){.construction{padding-top:75px;padding-bottom:70px}.construction .section-top>p{max-width:290px}.build-experience{grid-template-columns:1fr;border-radius:8px}.build-visual{aspect-ratio:3/2;min-height:0}.build-player{padding:27px 22px 25px}.build-player>.eyebrow{margin-bottom:18px}.build-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.build-steps button{border:1px solid #a8b0b830;padding:12px 10px;border-radius:5px;font-size:13px}.build-steps button[aria-pressed=true]{padding-left:10px;background:#e3d4b90a}.build-description{font-size:11px;min-height:40px;margin-top:20px}.build-play{margin-top:17px;font-size:10px}.build-visual-tag{bottom:16px;left:17px;font-size:7px;letter-spacing:1px}.build-timeline{margin-top:22px}.build-disclosure{display:block;margin-top:18px}.build-disclosure p{font-size:9px}.build-disclosure .text-link{margin-top:12px;font-size:9px}}@media(prefers-reduced-motion:reduce){.construction-frame{transition:none}}

.floating.build-visible{opacity:0;pointer-events:none}

/* ---- gallery.css ---- */
/* Vector arrows use strokes rather than font glyphs, including on iOS. */
.icon-arrow{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.button .icon-arrow{width:18px;height:18px}.button span .icon-arrow{width:16px;height:16px}.nav-cta .icon-arrow{width:18px;height:18px}.project-arrow .icon-arrow{width:21px;height:21px}.service b .icon-arrow{width:22px;height:22px}.photo-caption .icon-arrow{width:24px;height:24px}.explore .icon-arrow{width:16px;height:16px}.text-link .icon-arrow{width:16px;height:16px}.phone .icon-arrow{width:21px;height:21px}.instagram .icon-arrow,footer .icon-arrow{width:12px;height:12px;margin-left:5px}
.projects,.projects.is-filtered{position:relative;display:flex;align-items:flex-start;gap:28px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#86929f #ddd8cd;padding:8px 0 24px;margin:0;width:100%;max-width:none;cursor:grab}
.projects::-webkit-scrollbar{height:3px}.projects::-webkit-scrollbar-track{background:#ddd8cd}.projects::-webkit-scrollbar-thumb{background:#86929f;border-radius:3px}
.projects .project,.projects.is-filtered .project{flex:0 0 46%;min-width:0;width:auto;scroll-snap-align:start;scroll-snap-stop:normal;grid-row:auto;user-select:none;-webkit-user-select:none;cursor:pointer}
.projects .project-image,.projects .project.featured .project-image,.projects.is-filtered .project-image{border-radius:8px}
.projects .project img,.projects .project.featured img,.projects .project:not(.featured) img,.projects.is-filtered .project img{height:440px;width:100%;object-fit:cover;-webkit-user-drag:none;pointer-events:none}
.projects .project.featured img{object-position:50% 50%}.projects .project.featured .project-arrow{top:20px;bottom:auto}.projects .project.featured .tag{bottom:22px;left:22px;max-width:75%}.projects .project-info{display:block;min-height:48px}.projects .project-info>span{display:block;margin-top:8px;text-align:left;max-width:none;font-size:10px}.projects .project h3,.projects .project .project-title{font-size:19px}
.projects.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.projects.is-dragging .project{cursor:grabbing}.projects.is-dragging .project img{transform:none}
.gallery-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.gallery-hint{display:flex;align-items:center;gap:12px;font-size:10px;color:#66727f;letter-spacing:.2px}.gallery-hint .icon-arrow{width:30px;height:16px;stroke-width:1.25}.gallery-buttons{display:flex;gap:10px}.gallery-buttons button{border:1px solid #b5bcc3;background:transparent;color:var(--ink);border-radius:7px;width:46px;height:44px;display:grid;place-items:center;transition:background .25s,opacity .25s}.gallery-buttons button:hover:enabled{background:#dfdacf}.gallery-buttons button:disabled{opacity:.3;cursor:default}.gallery-buttons .icon-arrow{width:21px;height:21px}.portfolio-footer{margin-top:30px}
@media(max-width:1100px){.projects .project,.projects.is-filtered .project{flex-basis:62%}.projects .project img,.projects .project.featured img,.projects .project:not(.featured) img,.projects.is-filtered .project img{height:420px}}
@media(max-width:700px){.projects,.projects.is-filtered{gap:16px;padding:4px 0 20px}.projects .project,.projects.is-filtered .project{flex-basis:86%}.projects .project img,.projects .project.featured img,.projects .project:not(.featured) img,.projects.is-filtered .project img{height:350px}.projects .project h3,.projects .project .project-title{font-size:16px;line-height:1.5}.projects .project-info>span{font-size:9px;margin-top:5px}.projects .project-info{margin-top:16px;min-height:55px}.projects .project.featured .project-arrow{top:16px;bottom:auto}.projects .project.featured .tag{left:13px;bottom:17px;padding:9px 10px;font-size:6px;max-width:75%}.projects .tag{left:13px;bottom:17px;padding:9px 10px;font-size:6px}.project-arrow .icon-arrow{width:19px;height:19px}.gallery-nav{margin-top:18px;gap:10px}.gallery-hint{font-size:9px;gap:8px;max-width:190px;line-height:1.6}.gallery-hint .icon-arrow{width:23px}.gallery-buttons button{width:40px;height:40px}.gallery-buttons{gap:8px}.portfolio-footer{margin-top:25px}}

/* ---- reviews.css ---- */
.reviews{padding-top:115px;padding-bottom:115px}.reviews .section-top{align-items:center;margin-bottom:35px}.reviews .section-top>p{font-size:12px;max-width:300px}.reviews-demo{display:inline-flex;align-items:center;gap:8px;border:1px solid #c1c6cc;color:#6a7886;border-radius:4px;padding:7px 10px;font-size:8px;letter-spacing:1px;margin-bottom:24px}.reviews-demo:before{content:'';height:5px;width:5px;border-radius:50%;background:#798795}.review-board{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;border-top:1px solid var(--line);padding-top:35px}.review-summary{padding-top:5px}.google-wordmark{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:25px;font-weight:550;letter-spacing:-1px;display:inline-flex;line-height:1.3}.google-wordmark span:nth-child(1),.google-wordmark span:nth-child(4){color:#4285f4}.google-wordmark span:nth-child(2),.google-wordmark span:nth-child(6){color:#ea4335}.google-wordmark span:nth-child(3){color:#fbbc05}.google-wordmark span:nth-child(5){color:#34a853}.review-score{display:flex;align-items:baseline;gap:9px;margin-top:23px}.review-score strong{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:64px;letter-spacing:-4px;font-weight:500;line-height:1.1}.review-score>span{font-size:15px;color:#838f9c}.review-stars{display:flex;gap:3px;color:#b59356}.review-stars svg{width:15px;height:15px;fill:currentColor}.review-summary>.review-stars{margin-top:13px;gap:4px}.review-summary>.review-stars svg{height:19px;width:19px}.review-score-label{font-size:10px;color:#6c7a89;display:block;margin-top:10px}.review-summary .text-link{margin-top:25px;font-size:10px;gap:13px}.review-summary>.button{margin-top:18px;font-size:10px;padding:14px 16px;gap:18px}.review-summary>.button .icon-arrow{height:15px;width:15px}.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.review-card{margin:0;background:#f0e9db;border:1px solid #e3dfd6;border-radius:9px;padding:25px 21px;display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 20px #10223a03;transition:transform .35s,box-shadow .35s}.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #10223a09}.review-author{display:flex;align-items:center;gap:11px;margin-bottom:22px}.review-avatar{height:44px;width:44px;flex:none;border-radius:50%;background-image:url('assets/review-avatars.jpg');background-size:300% 100%;background-repeat:no-repeat;background-position:0 50%;box-shadow:0 0 0 2px #ece9e3}.review-avatar.avatar-2{background-position:50% 50%}.review-avatar.avatar-3{background-position:100% 50%}.review-author h3{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:-.15px;font-weight:550;line-height:1.4}.review-author time{display:block;font-size:9px;color:#84909c;margin-top:4px}.review-card blockquote{font-size:12px;line-height:1.9;color:#5d6873;margin:17px 0 24px}.review-card-footer{margin-top:auto;padding-top:16px;border-top:1px solid #e9e5dd;display:flex;align-items:center;justify-content:space-between;gap:10px}.review-card-footer span{font-size:8px;letter-spacing:.5px;color:#7f8c99}.review-card-footer a{font-size:9px;display:inline-flex;align-items:center;gap:7px}.review-card-footer .icon-arrow{width:12px;height:12px}.reviews-notice{font-size:10px;line-height:1.8;color:#707e8d;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;max-width:none}.reviews-notice strong{font-weight:550;color:#596470}.reviews+.contact{padding-top:45px}@media(max-width:1100px){.review-board{grid-template-columns:1fr;gap:30px}.review-summary{display:grid;grid-template-columns:auto 1fr auto;column-gap:25px;align-items:center}.google-wordmark{grid-column:1}.review-score{grid-column:1;grid-row:2 / span 2;margin-top:12px}.review-summary>.review-stars{grid-column:2;grid-row:2;margin-top:12px}.review-score-label{grid-column:2;grid-row:3;margin:0}.review-summary .text-link{grid-column:3;grid-row:2;margin:0}.review-summary>.button{grid-column:3;grid-row:3;margin:12px 0 0}.review-card{padding:24px 20px}}@media(max-width:700px){.reviews{padding-top:80px;padding-bottom:70px}.reviews .section-top{margin-bottom:28px}.reviews .section-top>p{margin-top:20px;font-size:11px}.reviews-demo{font-size:7px;margin-bottom:20px;padding:7px 9px}.review-board{padding-top:28px;gap:28px}.review-summary{grid-template-columns:auto 1fr;gap:0 24px}.google-wordmark{font-size:24px;grid-column:1;grid-row:1}.review-score{grid-column:1;grid-row:2 / span 2;margin-top:14px}.review-score strong{font-size:58px}.review-summary>.review-stars{grid-column:2;grid-row:2;margin-top:16px}.review-score-label{grid-column:2;grid-row:3;margin:4px 0 0}.review-summary .text-link{grid-column:1 / span 2;grid-row:4;justify-self:start;margin-top:23px;font-size:10px}.review-summary>.button{grid-column:1 / span 2;grid-row:5;justify-self:start;margin-top:17px;font-size:11px;padding:15px 20px}.review-cards{grid-template-columns:1fr;gap:15px}.review-card{padding:24px}.review-author{margin-bottom:17px}.review-author h3{font-size:13px}.review-author time{font-size:10px}.review-avatar{width:46px;height:46px}.review-card blockquote{font-size:12px;line-height:1.9;margin:16px 0 23px}.review-card-footer span{font-size:8px}.review-card-footer a{font-size:10px}.reviews-notice{font-size:9px;line-height:1.9;margin-top:25px}.reviews+.contact{padding-top:35px}}

/* ---- copy.css ---- */
.credentials>div>strong{font-size:clamp(24px,3vw,40px);letter-spacing:-1px}.review-board-live{grid-template-columns:1fr 1fr;align-items:start}.review-invitation h3{font-size:20px;margin-bottom:12px}.review-invitation p{font-size:14px;line-height:1.8;max-width:440px}.review-invitation .text-link{margin-top:20px}@media(max-width:700px){.review-board-live{grid-template-columns:1fr}.credentials>div>strong{font-size:27px}}

/* Keep anchors and validation targets clear of the floating header. */
html{scroll-padding-top:110px}
input,select,textarea{scroll-margin-block:120px}
.menu,.close,.filters button,.gallery-buttons button{min-width:44px;min-height:44px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #6f7d8c;outline-offset:5px}
header :focus-visible,.hero :focus-visible,.solutions :focus-visible{outline-color:#ba9b61}
#form-status .text-link{max-width:100%;white-space:normal;line-height:1.6}
@media(max-width:700px){
  .contact input:not([type=checkbox]),.contact select,.contact textarea{font-size:16px}
  .contact .consent{font-size:12px;gap:10px}
  .consent input{width:20px;height:20px;flex:none;margin-top:2px}
  .contact form>label{font-size:13px}form>small{font-size:11px}
  .credentials{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .credentials>div{min-width:0;padding-left:14px}
  .credentials small{line-height:1.6}
  .hero .photo-caption{display:none}
}

@media(min-width:701px){.hero .photo-caption{bottom:110px}}

.contact :is(input,select,textarea):focus-visible{outline:2px solid #6f7d8c;outline-offset:4px}

/* Editorial refinement: keep the original palette and composition. */
.hero-line-final{font-size:.72em;letter-spacing:-.035em;line-height:1.25}
.hero-bottom p{font-size:14px;line-height:1.8}
.credentials .credential-link{display:block;padding:10px 0;min-height:64px}
.credentials .credential-link:hover strong{color:#525c66}
.credentials strong{font-size:clamp(24px,2.5vw,36px);letter-spacing:-1px;transition:color .2s}
.credentials small{font-size:12px}
.material-band{padding-block:24px}
.about{padding-bottom:100px}
.portfolio{margin-top:40px}
.project-info{align-items:flex-start}
.project-info>span{font-size:12px;line-height:1.6;max-width:230px}
.places .places-note{font-family:'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;font-size:13px;max-width:600px;margin-top:14px}
.about p,.service p,.journey p,.testimonial p,.contact p,.faq details p{font-size:14px;line-height:1.8}
.faq summary{font-size:14px;line-height:1.6;min-height:44px;align-items:center}
.review-invitation p{font-size:14px}
.build-description{font-size:13px;min-height:75px}
.build-disclosure p{font-size:12px}
.build-timeline label{font-size:11px}
.build-play{font-size:12px;min-height:44px}
.build-timeline input{min-height:32px}
.contact .field-help{margin:-14px 0 24px;font-size:12px;line-height:1.6}
.contact label{font-size:13px}
.contact .consent{font-size:12px;min-height:44px;align-items:flex-start}
.contact input:not([type=checkbox]),.contact select,.contact textarea{font-size:16px}
.contact form>small:not(.field-help){font-size:12px}
.contact select{background-color:#f0e9db;color:#0e1d30}
.contact .instagram{font-size:13px;padding-block:12px}
.project-facts{margin:24px 0 0;border-top:1px solid var(--line)}
.project-facts>div{padding:12px 0;border-bottom:1px solid var(--line)}
.project-facts dt{font-size:11px;color:var(--muted);margin-bottom:4px}
.project-facts dd{margin:0;font-size:13px;line-height:1.5}
.dialog-copy .button{white-space:normal;line-height:1.5}
dialog{overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
a,button,summary{touch-action:manipulation}
.floating{bottom:max(22px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}
.footer-bottom button{min-height:44px;min-width:64px}
.floating.form-visible{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:700px){
 .hero-line-final{font-size:.66em;letter-spacing:-.035em}
 .hero-bottom p{font-size:13px}
 .credentials .credential-link{padding-block:8px}
 .credentials>div>strong,.credentials strong{font-size:24px}
 .credentials small{font-size:11px}
 .material-band{padding-block:20px;gap:20px;font-size:16px}
 .about{padding-bottom:65px}
 .portfolio{margin-top:0}
 .project-info>span{font-size:12px;max-width:none}
 .build-disclosure p{font-size:12px}
 .build-description{font-size:13px;min-height:65px}
 .build-timeline label{font-size:11px}
 .build-steps button{min-height:44px}
 #project-dialog{max-height:88dvh}
 #dialog-image{min-height:0;height:220px;max-height:32dvh}
 .dialog-copy{padding:30px 24px}
 .dialog-copy h2{font-size:29px}
 .close{display:block;position:sticky;top:10px;margin:10px 10px -54px auto;grid-column:1/-1;justify-self:end;right:auto}
 .contact{padding-top:80px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Verified public information, preserving the existing palette and layout. */
.image-disclosure{position:absolute;bottom:14px;left:22px;right:22px;z-index:2;color:#fff;background:#0a1624d9;padding:8px 12px;font-size:11px;line-height:1.5;max-width:390px}
.team-evidence{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.team-evidence h3,.contact-location h3{font-size:17px;font-weight:500;line-height:1.5}
.team-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
.team-members h4{font-size:15px;font-weight:500;margin:0 0 6px}
.team-members p{font-size:12px}.team-members .text-link{font-size:12px;line-height:1.6;margin-top:8px;min-height:44px;align-items:center}
.contact-location{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.contact-location p{margin-top:12px;font-size:13px}.contact-location small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px;max-width:390px}
.contact-location .text-link{min-height:44px;align-items:center;margin-top:10px}
@media(max-width:700px){.team-members{grid-template-columns:1fr;gap:20px}.image-disclosure{font-size:10px;bottom:12px;left:16px;right:16px}.testimonial h2{font-size:30px}}

.verified-comment{margin:0 0 30px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.verified-comment blockquote{margin:0 0 14px;font-family:'P052','Palatino Linotype',Palatino,Georgia,serif;font-style:italic;font-size:26px;line-height:1.4;color:var(--ink)}
.verified-comment figcaption{font-size:12px;line-height:1.7;color:var(--muted)}
.verified-comment .text-link{margin-top:8px;min-height:44px;align-items:center}
.places-note a,.build-disclosure p a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-block:8px}
.footer-bottom>span{line-height:1.8}

.team-members{grid-template-columns:1fr}
.service p strong{display:block;color:var(--paper);font-weight:500;margin-bottom:8px}
.service-next{display:block;margin-top:12px;font-size:12px;color:#bdc3c9}
.service-sources{margin:24px 0;font-size:12px!important;line-height:1.9}
.service-sources a{display:inline-block;text-decoration:underline;text-underline-offset:4px;padding-block:8px}
.case-story{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}
.case-story h3{font-size:15px;line-height:1.5;font-weight:600;margin-bottom:8px}
.case-story p{font-size:13px;line-height:1.8;margin-bottom:22px}

/* ---- typography.css ---- */
/* Shared editorial scale. Loaded last to unify legacy section-specific sizes. */
:root {
  --font-body: 'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;
  --font-heading: 'Nimbus Sans','Nimbus Sans Fallback',Helvetica,Arial,sans-serif;
  --font-editorial: 'P052','Palatino Linotype',Palatino,Georgia,serif;
  --type-body: 1rem;
  --type-support: .875rem;
  --type-caption: .75rem;
  --muted: #56616c;
}
body {font-family:var(--font-body);font-size:var(--type-body);line-height:1.65}
h1,h2,h3,h4 {font-family:var(--font-heading);text-wrap:balance}
p {text-wrap:pretty}
:is(.section,.testimonial) h2 {font-size:clamp(2.25rem,3.8vw,3.5rem);line-height:1.15;letter-spacing:-.035em;font-weight:500}
:is(.section,.testimonial) h2 em {font-family:var(--font-editorial);color:#56616c}
.solutions h2 em {color:#b1b8c0}
.section p,.testimonial p,.dialog-copy p,.case-story p,.about p,.service p,.journey p,.contact p,.faq details p,.review-invitation p,.reviews .section-top>p {font-size:var(--type-body);line-height:1.75}
.about .lead {font-size:1.125rem;line-height:1.7}
.hero-bottom p {font-size:var(--type-body);line-height:1.75;max-width:44ch}
.hero .eyebrow,.section .eyebrow,.testimonial .eyebrow,.build-player>.eyebrow {font-size:.6875rem;line-height:1.6;letter-spacing:.14em;font-weight:600}
.section-top>p,.journey p,.about p {max-width:52ch}
.service p {max-width:46ch}
.service h3 {font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.35;letter-spacing:-.025em}
.journey h3,.review-invitation h3,.team-evidence h3,.contact-location h3 {font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;font-weight:500}
.team-members h4,.case-story h3 {font-size:1rem;line-height:1.5}
.service-next {font-size:var(--type-support);line-height:1.7}
.service-sources {font-size:var(--type-support)!important}
.button,.hero-bottom .button,.testimonial .button,.dialog-copy .button,.review-summary>.button {font-size:var(--type-support);line-height:1.5;font-weight:600;min-height:48px;white-space:normal}
header nav,.nav-cta {font-size:var(--type-support);line-height:1.5}
.text-link,:is(.about,.team-members,.build-disclosure,.review-invitation,.verified-comment,.contact-location) .text-link {font-size:var(--type-support);line-height:1.6;min-height:44px;align-items:center;white-space:normal}
.filters button {font-size:var(--type-support);line-height:1.5}
.projects .project h3,.projects .project .project-title {font-size:1.25rem;line-height:1.4;letter-spacing:-.02em}
.projects .project-info>span {font-size:var(--type-support);line-height:1.65;color:var(--muted)}
.projects .tag,.projects .project.featured .tag {font-size:.6875rem;line-height:1.5;letter-spacing:.07em;padding:9px 12px;max-width:75%}
.gallery-hint,.portfolio-footer p,.credentials small,.team-members p,.contact-location p {font-size:var(--type-support);line-height:1.7}
.credentials p {font-size:var(--type-support)}
.credentials strong {letter-spacing:-.025em}
.places .places-note,.build-disclosure p {font-size:var(--type-support);line-height:1.75}
.places>span,.build-visual-tag,.about-portrait figcaption {font-size:var(--type-caption);line-height:1.7;letter-spacing:.08em}
.build-description {font-size:var(--type-support);line-height:1.75}
.build-timeline label,.build-play {font-size:var(--type-support);line-height:1.6}
.build-steps button {font-size:1rem;line-height:1.5}
.faq summary {font-size:var(--type-body);line-height:1.6}
.contact label,.contact .consent,.contact .field-help,.contact form>small:not(.field-help),.contact .instagram,#form-status {font-size:var(--type-support);line-height:1.65}
.contact input:not([type=checkbox]),.contact select,.contact textarea {font-size:var(--type-body);line-height:1.6}
.project-facts dt {font-size:var(--type-caption);line-height:1.6}
.project-facts dd {font-size:var(--type-support);line-height:1.7}
.dialog-copy h2 {font-size:2rem;letter-spacing:-.03em;line-height:1.2}
.verified-comment blockquote {font-family:var(--font-editorial);font-size:clamp(1.5rem,2.2vw,1.875rem);line-height:1.5}
.verified-comment figcaption,.contact-location small,.image-disclosure {font-size:var(--type-caption);line-height:1.7}
.footer-top p,.footer-top>a:not(.brand),.footer-bottom,.footer-bottom small,.footer-bottom button,.footer-credit a {font-size:var(--type-caption);line-height:1.7}
.footer-top>a:not(.brand) {letter-spacing:.07em;min-height:44px;display:inline-flex;align-items:center}
.footer-bottom small {max-width:42ch}
.explore {font-size:var(--type-caption);line-height:1.6;letter-spacing:.1em}
.floating {font-size:var(--type-support)}
.image-disclosure {max-width:430px}
@media(max-width:700px) {
  .hero {height:auto;min-height:800px;max-height:none}
  .hero-text {min-height:800px;padding-bottom:90px}
  .hero-bottom p br {display:none}
  .hero-bottom p {max-width:34ch}
  .explore {max-width:100%}
  .hero .eyebrow {font-size:.6875rem;letter-spacing:.09em;max-width:100%}
  .projects .project h3,.projects .project .project-title {font-size:1.125rem}
  .gallery-nav {flex-wrap:wrap}
  .gallery-hint {max-width:100%;flex:1 1 180px}
  .credentials small {font-size:.8125rem}
  .credentials strong {font-size:1.5rem}
  .build-player {padding-inline:18px}
  .build-steps button {font-size:var(--type-support)}
  .dialog-copy {padding-inline:22px}
  .dialog-copy h2 {font-size:1.875rem}
  .testimonial .button {gap:12px}
  .contact form {padding-inline:20px}
  .image-disclosure {bottom:14px}
}
.dialog-copy .eyebrow,.hero .vertical {font-size:.6875rem;line-height:1.6;letter-spacing:.1em}

/* Keep the verified professional bio readable within the existing team area. */
.team-members {grid-template-columns:minmax(0,1fr)}
.team-members article {max-width:52ch}
.verified-comment figcaption {overflow-wrap:anywhere}

.testimonial-video{margin-bottom:28px;max-width:540px;min-width:0}
.testimonial-video h3{font-size:24px;line-height:1.4;font-weight:500}
.testimonial-video>p{font-size:14px;margin:8px 0 18px}
.instagram-player{padding:22px;background:#e8e5dd;border:1px solid var(--line);border-radius:12px;min-width:0}
.instagram-player .video-notice{font-size:12px;line-height:1.7;margin:14px 0 0}
.instagram-mount{max-width:100%;overflow:hidden}
.instagram-mount:not(:empty){margin-top:16px}
.instagram-mount .instagram-media,.instagram-mount iframe{min-width:0!important;max-width:100%!important;width:100%!important;margin:0!important}
.testimonial-video .text-link{margin-top:12px}
@media(max-width:700px){.instagram-player{padding:10px}.testimonial-video{max-width:100%}.testimonial-video h3{font-size:22px}}

/* ---- ajustes de SEO/performance ---- */
.construction-frame{background-image:url('assets/img/construction-stages.webp');background-image:image-set(url('assets/img/construction-stages.avif') type('image/avif'),url('assets/img/construction-stages.webp') type('image/webp'))}
picture{display:contents}
@media(max-width:700px){.image-disclosure{right:88px}}

/* ---- páginas internas (estudo de caso e 404) ---- */
.case-page header{position:relative;background:var(--dark);color:#fff;height:96px}
.case-cta{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.4px;border:1px solid #ffffff40;border-radius:30px;padding:12px 18px}
.case-cta .icon-arrow{width:14px;height:14px}
.case-breadcrumb{padding:28px 5.5% 0}
.case-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:12px;color:var(--muted)}
.case-breadcrumb li+li:before{content:'/';margin-right:8px;color:var(--line)}
.case-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.case-article{padding:0 5.5% 100px}
.case-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;padding:48px 0 70px;border-bottom:1px solid var(--line)}
.case-hero h1{font-family:var(--font-heading);font-weight:500;letter-spacing:-3px;line-height:1;font-size:clamp(46px,6vw,92px);margin:0 0 28px}
.case-hero .lead{font-size:clamp(18px,1.6vw,22px);line-height:1.55;max-width:560px;margin:0 0 18px}
.case-hero p{max-width:560px;line-height:1.75}
.case-photo{margin:0}
.case-photo img{width:100%;height:auto;max-height:640px;object-fit:cover;border-radius:12px}
.case-photo figcaption{font-size:11px;color:var(--muted);margin-top:10px}
.case-facts{padding:70px 0;border-bottom:1px solid var(--line)}
.case-facts h2,.case-story h2{font-size:clamp(28px,2.6vw,40px);letter-spacing:-1.5px;margin:0 0 26px}
.case-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:0}
.case-facts dl div{background:var(--paper);padding:22px}
.case-facts dt{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:650;margin-bottom:8px}
.case-facts dd{margin:0;line-height:1.6}
.case-story{max-width:760px;padding-top:70px}
.case-story h2{margin-top:48px}
.case-story h2:first-child{margin-top:0}
.case-story p{line-height:1.8}
.case-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:36px}
.case-page footer{padding:50px 5.5% 40px;flex-direction:column;align-items:stretch;gap:24px}
.notfound{min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:80px 5.5%}
.notfound h1{font-family:var(--font-heading);font-weight:500;letter-spacing:-2.5px;font-size:clamp(40px,5vw,72px);line-height:1.05;margin:0 0 22px}
.notfound p{max-width:520px;line-height:1.75}
.notfound-links{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:20px}
@media(max-width:700px){.case-page header{height:78px}.case-cta{padding:10px 14px;font-size:11px}.case-hero{grid-template-columns:1fr;gap:36px;padding:30px 0 50px}.case-photo img{max-height:520px}.case-facts{padding:50px 0}.case-story{padding-top:50px}}
.team-links{display:flex;flex-wrap:wrap;gap:0 28px}

/* ---- barra fixa compacta: menor ao rolar e recolhida enquanto o visitante desce a página ---- */
header.is-scrolled{height:54px;top:8px;left:50%;width:min(94%,1180px);translate:-50% 0;border-radius:14px;padding:0 18px 0 14px;transition:translate .35s var(--ease),visibility .35s}
header.is-scrolled .brand{gap:10px}
header.is-scrolled .brand img{height:28px;width:auto}
header.is-scrolled .brand>span{font-size:15px;letter-spacing:2.4px}
header.is-scrolled .brand small{font-size:6px;margin-top:3px}
header.is-scrolled nav{gap:26px}
header.is-scrolled .nav-cta{padding:8px 14px;gap:14px;border-radius:10px}
header.is-scrolled .nav-cta .icon-arrow{width:14px;height:14px}
header.is-scrolled.is-tucked{translate:-50% calc(-100% - 12px);visibility:hidden;pointer-events:none}
@media(max-width:700px){header.is-scrolled{height:52px;top:6px;width:calc(100% - 16px);padding:0 10px 0 12px}header.is-scrolled .menu{width:36px;height:36px;font-size:18px}header.is-scrolled nav{top:60px}}
@media(prefers-reduced-motion:reduce){header.is-scrolled{transition:none}}

/* ---- ajustes da auditoria v2 (contraste, legibilidade, toque) ---- */
.material-band{color:#515b65}
.gallery-hint{color:#505963}
.testimonial>div>p{color:#454d56}
body .eyebrow{font-size:.75rem}
.case-facts dt,.case-photo figcaption,.about-portrait figcaption{font-size:.75rem}
.hero-seal{width:120px;height:120px;background:#0d1b2ea8}
.hero-seal small{display:none}
.image-disclosure{font-size:.8125rem}
@media(max-width:700px){.image-disclosure{right:96px}}
.case-hero .button{margin-top:24px}
.case-hero h1 .case-h1-place{display:block;font-size:.42em;letter-spacing:-.5px;line-height:1.25;margin-top:12px;color:var(--muted)}
.case-updated{font-size:.8125rem;color:var(--muted)}
.project-info .project-title{display:block}
a.project{display:block}
.text-link,.phone,.instagram,.footer-top>a,.footer-credit a,.case-breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:700px){#nav a{min-height:44px;display:flex;align-items:center}}

/* ---- MARCELL: assinatura (manual, p. 28) ---- */
.brand small{font-weight:700;letter-spacing:.22em}
header .brand small,footer .brand small{color:var(--gold-light)}
