:root{
  --olive:#4A5342;
  --olive-dark:#343B2F;
  --olive-soft:#747C6C;
  --terracotta:#C97A57;
  --terracotta-dark:#A85F43;
  --wood:#695747;
  --paper:#F4F1E9;
  --paper-soft:#ECE6DC;
  --surface:#FFFDF9;
  --ink:#2F2D29;
  --muted:#69665F;
  --line:#D8D0C5;
  --line-dark:rgba(45,46,42,.18);
  --white:#fff;
  --shadow:0 16px 42px rgba(45,46,42,.075);
  --max:1280px;
  --gutter:40px;
  --header:88px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:clamp(16px,calc(15.4px + .10vw),17px);-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
main,section,header,footer,nav,div,article,figure{min-width:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-60px;z-index:10000;background:var(--olive-dark);color:#fff;padding:12px 16px}.skip-link:focus{top:16px}

/* Layout system: max 1280 incl. gutters => ~1200 px useful on desktop */
.section-shell{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.section-pad{padding-top:clamp(72px,7vw,112px);padding-bottom:clamp(72px,7vw,112px)}
.section-intro{max-width:760px;margin-bottom:42px}.section-intro>p:not(.eyebrow){color:var(--muted);max-width:690px}.section-intro.compact{margin-bottom:30px}
.eyebrow{margin:0 0 14px;color:var(--terracotta-dark);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow-light{color:#e3b9a8}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:-.025em;color:var(--olive-dark);text-wrap:balance}
h1{font-size:clamp(42px,4.2vw,62px);line-height:1.03;margin-bottom:24px;font-weight:680}
h2{font-size:clamp(30px,2.9vw,42px);line-height:1.09;margin-bottom:18px;font-weight:650}
h3{font-size:clamp(21px,1.7vw,27px);line-height:1.2;margin-bottom:13px;font-weight:630}
p{line-height:1.68}.lead{max-width:680px;color:var(--muted);font-size:clamp(17px,calc(16px + .18vw),19px);line-height:1.65}

.button,.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s}
.button:hover,.header-cta:hover{transform:translateY(-1px)}
.button-primary,.header-cta{background:var(--olive);border-color:var(--olive);color:#fff}.button-primary:hover,.header-cta:hover{background:var(--olive-dark);border-color:var(--olive-dark)}
.button-secondary{background:transparent;border-color:var(--line-dark);color:var(--olive-dark)}.button-secondary:hover{border-color:var(--terracotta);color:var(--terracotta-dark)}
.button-on-dark{background:#fff;color:var(--olive-dark);border-color:#fff}.button.full{width:100%}
.text-link{appearance:none;border:0;background:none;padding:0;color:var(--olive-dark);font-size:14px;font-weight:750;cursor:pointer;text-align:left}.text-link b{color:var(--terracotta);margin-left:5px}.text-link:hover{color:var(--terracotta-dark)}

/* Header */
.site-header{height:var(--header);position:sticky;top:0;z-index:100;display:grid;grid-template-columns:216px minmax(0,1fr) auto;align-items:center;gap:24px;padding:0 max(32px,calc((100vw - 1280px)/2 + 40px));background:rgba(245,241,233,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(45,46,42,.10)}
.brand{display:flex;align-items:center;width:auto}.brand img{height:76px;width:auto;max-width:210px}
.main-nav{display:flex;justify-content:center;align-items:center;gap:clamp(16px,1.6vw,25px)}
.main-nav a{position:relative;padding:8px 0;color:#4d4e49;font-size:12px;font-weight:680;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .2s}.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;padding:10px;cursor:pointer}.menu-toggle>span:not(.sr-only){display:block;height:1px;background:var(--olive-dark);margin:5px 0}
.simple-header{grid-template-columns:176px minmax(0,1fr)}.simple-header .link-cta{justify-self:end;text-decoration:none}

/* Home hero: structured grid, no overlapping cards */
.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(44px,5vw,70px);align-items:center;padding-top:clamp(56px,5.5vw,84px);padding-bottom:clamp(68px,6.5vw,104px)}
.hero-copy{max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:38px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-facts>div{padding:16px 16px 16px 0}.hero-facts>div+div{padding-left:16px;border-left:1px solid var(--line)}.hero-facts dt{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta-dark)}.hero-facts dd{margin:6px 0 0;color:var(--olive-dark);font-size:13px;font-weight:650;line-height:1.5}
.hero-visual{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(145px,.95fr);grid-template-rows:1fr auto;gap:12px;height:clamp(500px,43vw,600px);align-items:stretch}
.hero-photo{position:static;overflow:hidden;background:#ddd;border-radius:4px;box-shadow:var(--shadow)}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo-main{grid-column:1;grid-row:1}.hero-photo-secondary{grid-column:2;grid-row:1;align-self:center;border:0;width:100%;height:auto;aspect-ratio:4/5}.hero-signature{position:static;grid-column:1/-1;justify-self:end;padding:8px 0 0;background:transparent;color:var(--terracotta-dark);font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;writing-mode:horizontal-tb;transform:none}

/* Intent */
.intent-section{border-top:1px solid var(--line)}
.intent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--line);gap:1px}
.intent-card{min-height:300px;padding:30px 26px;background:var(--surface);display:flex;flex-direction:column;align-items:flex-start}.intent-card>span{color:var(--terracotta);font-size:12px;font-weight:800}.intent-card h3{margin-top:44px;font-size:clamp(21px,1.7vw,26px)}.intent-card p{color:var(--muted);font-size:15px;line-height:1.72}.intent-card .text-link{margin-top:auto}.intent-card-accent{background:var(--olive-dark)}.intent-card-accent h3,.intent-card-accent .text-link{color:#fff}.intent-card-accent p{color:#d8d5cd}.intent-card-accent>span{color:#df9a7c}

/* Feature sections */
.feature-section{background:var(--olive-dark);color:#fff}.feature-section-light{background:#fff;color:var(--ink)}
.feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(44px,6vw,80px);align-items:center}.feature-grid-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.feature-copy h2{color:#fff}.feature-section-light .feature-copy h2{color:var(--olive-dark)}.feature-copy>p:not(.eyebrow){color:#d3d1cb;max-width:600px;font-size:17px;line-height:1.72}.feature-section-light .feature-copy>p:not(.eyebrow){color:var(--muted)}
.feature-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}.feature-section:not(.feature-section-light) .text-link{color:#fff}.feature-section:not(.feature-section-light) .button-primary{background:#fff;color:var(--olive-dark);border-color:#fff}
.feature-image{position:relative;min-width:0}.feature-image>img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:4px}
.image-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}.image-pair img:first-child,.image-pair img:last-child{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;transform:none}

/* Lists + process */
.solutions-section{background:var(--paper)}.solution-list{border-top:1px solid var(--line)}.solution-list>div{display:grid;grid-template-columns:72px minmax(0,1fr);padding:21px 0;border-bottom:1px solid var(--line);align-items:center}.solution-list span{color:var(--terracotta);font-size:12px;font-weight:800}.solution-list strong{font-size:clamp(21px,1.8vw,28px);font-weight:630;color:var(--olive-dark)}
.process-section{background:var(--paper-soft)}.process-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(44px,6vw,80px);align-items:start}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.process-list li>span{color:var(--terracotta);font-size:12px;font-weight:800}.process-list strong{display:block;font-size:19px;color:var(--olive-dark);margin-bottom:5px}.process-list p{margin:0;color:var(--muted);font-size:15px;line-height:1.68}

/* Portfolio preview on home */
.portfolio-preview{background:#fff}.section-head-row{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:34px}.section-head-row>div{max-width:760px}.section-head-row h2{margin-bottom:0}
.portfolio-preview-grid{display:grid;grid-template-columns:1.35fr .825fr .825fr;gap:12px}.portfolio-preview-grid figure{overflow:hidden;height:clamp(320px,30vw,430px);background:#ddd}.portfolio-preview-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.portfolio-preview-grid figure:hover img{transform:scale(1.015)}
.professional-section{background:var(--wood);color:#fff}.professional-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(44px,7vw,90px);align-items:start}.professional-grid h2{color:#fff}.professional-grid p{color:#f1dfd7;font-size:17px;line-height:1.72;max-width:580px}.professional-grid .button{margin-top:18px}
.contact-section{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:clamp(44px,7vw,90px);align-items:start}.contact-grid>div:first-child>p:not(.eyebrow){color:var(--muted);max-width:650px}.contact-panel{background:var(--surface);border:1px solid var(--line);padding:26px}.contact-panel>a:not(.button){display:block;padding:17px 0;border-bottom:1px solid var(--line)}.contact-panel a span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.contact-panel a strong{display:block;margin-top:5px;color:var(--olive-dark);font-size:17px}.contact-panel .button{margin-top:20px;text-align:center;justify-content:center}

/* Footer */
.site-footer{background:#f9f6f0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr 1.05fr;gap:clamp(32px,4vw,58px);padding-top:64px;padding-bottom:54px}.footer-brand img{width:224px}.footer-brand>p{color:var(--muted);font-size:14px;margin-top:13px}.site-footer h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;color:var(--olive-dark)}.site-footer .footer-grid>div:not(.footer-brand)>a,.site-footer .footer-grid>div:not(.footer-brand)>p,.footer-action{display:block;margin:0 0 10px;color:var(--muted);font-size:14px;background:none;border:0;padding:0;text-align:left;cursor:pointer}.site-footer a:hover,.footer-action:hover{color:var(--terracotta-dark)}.social-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px}.social-links a,.social-links button{appearance:none;border:0;background:none;padding:0;color:var(--olive-dark);font-size:13px;font-weight:750;cursor:pointer}.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.footer-bottom p{margin:0}.footer-bottom div{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}.mini-footer{margin-top:70px}

/* Assistant + WhatsApp */
.assistant{position:fixed;right:22px;bottom:90px;z-index:1000;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 118px);overflow:auto;padding:24px;background:#fff;box-shadow:0 24px 80px rgba(36,40,34,.24);border:1px solid var(--line);border-radius:5px;opacity:0;transform:translateY(12px);transition:opacity .18s,transform .18s}.assistant.is-open{opacity:1;transform:none}.assistant-close{position:absolute;right:12px;top:9px;width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:26px;cursor:pointer}.assistant-heading{padding-right:24px}.assistant-kicker{display:block;color:var(--terracotta-dark);font-size:10px;font-weight:850;letter-spacing:.16em;margin-bottom:9px}.assistant-heading strong{display:block;font-size:22px;line-height:1.15;color:var(--olive-dark)}.assistant-heading p{margin:8px 0 18px;color:var(--muted);font-size:14px;line-height:1.55}.assistant-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.assistant-options button{min-height:48px;background:var(--paper);border:1px solid var(--line);border-radius:3px;color:var(--olive-dark);font-size:13px;font-weight:700;cursor:pointer}.assistant-options button:hover{border-color:var(--terracotta);background:#fff}.assistant-note{margin:15px 0 0;color:#81817b;font-size:11px;line-height:1.5}
.assistant-details{display:grid;gap:13px}.assistant-details[hidden],.assistant-options[hidden]{display:none!important}.assistant-selected{padding:11px 12px;background:var(--paper);border:1px solid var(--line)}.assistant-selected span,.assistant-details label>span{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px}.assistant-selected strong{color:var(--olive-dark);font-size:14px}.assistant-identify{margin:0;color:var(--olive-dark);font-size:14px;font-weight:750;line-height:1.45}.assistant-details select,.assistant-details input,.assistant-details textarea{width:100%;border:1px solid var(--line);border-radius:3px;background:#fff;padding:0 11px;color:var(--ink);outline:none}.assistant-details select,.assistant-details input{min-height:44px}.assistant-details textarea{min-height:82px;padding:10px 11px;resize:vertical;font:inherit}.assistant-details select:focus,.assistant-details input:focus,.assistant-details textarea:focus{border-color:var(--olive)}.assistant-detail-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin-top:2px}.assistant-back,.assistant-send{min-height:44px;border-radius:3px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.assistant-back{background:transparent;border:1px solid var(--line);color:var(--olive-dark)}.assistant-send{background:var(--olive);border:1px solid var(--olive);color:#fff}.assistant-send:hover{background:var(--olive-dark)}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:900;height:54px;display:flex;align-items:center;gap:10px;padding:0 18px 0 8px;border:0;border-radius:28px;background:#215f3d;color:#fff;box-shadow:0 12px 34px rgba(30,80,50,.28);font-size:13px;font-weight:800;cursor:pointer}.wa-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#215f3d;font-size:11px;font-weight:900;letter-spacing:.03em}

/* Portfolio */
.portfolio-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(44px,5.5vw,72px);align-items:center;padding-top:clamp(58px,6vw,92px);padding-bottom:clamp(70px,7vw,110px)}.portfolio-hero-copy h1{font-size:clamp(46px,5.1vw,76px)}.portfolio-hero-visual{position:relative;min-width:0}.portfolio-hero-visual>img{width:100%;height:clamp(470px,46vw,620px);object-fit:cover;border-radius:4px}.portfolio-stamp{position:absolute;left:18px;bottom:18px;background:var(--terracotta);color:#fff;padding:13px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.portfolio-intro{background:var(--paper-soft)}.portfolio-process li{padding:24px 0}.portfolio-gallery-section{background:#fff}.portfolio-gallery-alt{background:var(--paper)}.portfolio-heading>p{max-width:500px;color:var(--muted);font-size:15px;line-height:1.72}
.masonry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.gallery-card{grid-column:span 1;background:var(--surface);border:1px solid var(--line);overflow:hidden}.gallery-card-wide{grid-column:1/-1}.gallery-card-tall img{aspect-ratio:3/4}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.gallery-card-wide img{aspect-ratio:16/8.5}.gallery-card:hover img{transform:scale(1.015)}.gallery-card figcaption{padding:15px 16px 17px}.gallery-card figcaption strong{display:block;color:var(--olive-dark);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.gallery-card figcaption span{display:block;color:var(--muted);font-size:13px;margin-top:5px;line-height:1.5}.curtains-grid .gallery-card-wide:nth-child(1) img{object-position:center}.gallery-cta{margin-top:28px;padding:25px;border:1px solid var(--line);display:flex;justify-content:space-between;gap:28px;align-items:center}.gallery-cta .eyebrow{margin-bottom:6px}.gallery-cta h3{font-size:24px;margin:0}.portfolio-proof{background:var(--olive-dark);color:#fff}.portfolio-proof h2{color:#fff}.portfolio-proof .section-intro>p:not(.eyebrow){color:#d2d0c9}.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.22)}.proof-grid>div{padding:27px 24px 8px 0}.proof-grid>div+div{border-left:1px solid rgba(255,255,255,.18);padding-left:24px}.proof-grid span{color:#df9a7c;font-size:11px;font-weight:800}.proof-grid strong{display:block;margin:15px 0 8px;color:#fff;font-size:19px}.proof-grid p{color:#cfcfc8;font-size:14px;line-height:1.68}

/* Legal + sitemap */
.legal-page{padding-top:80px;padding-bottom:40px;max-width:1030px}.legal-page h1{font-size:clamp(38px,4vw,58px)}.legal-page section{padding:28px 0;border-top:1px solid var(--line)}.legal-page section h2{font-size:26px}.legal-page section p{color:var(--muted);font-size:16px;line-height:1.72}.legal-updated{color:var(--muted);font-size:13px;margin-bottom:52px}.sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}.sitemap-grid section{border:1px solid var(--line);padding:24px;background:var(--surface)}.sitemap-grid section h2{font-size:19px;margin-bottom:17px}.sitemap-grid a{display:block;padding:8px 0;color:var(--muted);font-size:15px}.sitemap-grid a:hover{color:var(--terracotta-dark)}.not-found{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:820px}.not-found>img{width:200px;margin-bottom:48px}.not-found h1{font-size:clamp(38px,4vw,58px)}.not-found>p:not(.eyebrow){color:var(--muted)}

/* Header switches before labels begin to crowd */
@media(max-width:1060px){
  :root{--header:80px;--gutter:32px}
  .site-header{height:var(--header);grid-template-columns:184px minmax(0,1fr) auto;padding:0 28px}.brand img{height:68px;max-width:178px}.menu-toggle{display:block;justify-self:end}.site-header>.header-cta{display:none}
  .main-nav{position:absolute;left:0;right:0;top:var(--header);display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 28px 18px;box-shadow:0 14px 35px rgba(45,46,42,.08)}.main-nav.is-open{display:flex}.main-nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}
  .intent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intent-card{min-height:260px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}
}

/* Tablet / compact laptop: all major 2-col sections become one clean column */
@media(max-width:992px){
  :root{--gutter:24px}
  .hero,.portfolio-hero,.feature-grid,.feature-grid-reverse,.process-grid,.professional-grid,.contact-grid{grid-template-columns:1fr}
  .hero{gap:42px;padding-top:54px}.hero-copy{max-width:760px}.hero-visual{height:520px;grid-template-columns:minmax(0,2.1fr) minmax(170px,.9fr)}
  .feature-grid,.feature-grid-reverse{gap:38px}.feature-image{order:2}.feature-copy{order:1}.image-pair{max-width:720px}
  .process-grid{gap:38px}.professional-grid,.contact-grid{gap:34px}.contact-panel{max-width:680px}
  .section-head-row{align-items:flex-start}.portfolio-preview-grid{grid-template-columns:1fr 1fr}.portfolio-preview-grid .preview-wide{grid-column:1/-1}.portfolio-preview-grid figure{height:330px}
  .portfolio-hero{gap:38px}.portfolio-hero-copy{max-width:760px}.portfolio-hero-visual>img{height:520px}.portfolio-stamp{left:16px;bottom:16px}
  .proof-grid{grid-template-columns:1fr 1fr}.proof-grid>div:nth-child(3){border-left:0;padding-left:0}.proof-grid>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:auto}
}

/* Mobile */
@media(max-width:640px){
  :root{--gutter:18px;--header:74px}
  .section-pad{padding-top:64px;padding-bottom:64px}.section-shell{padding-inline:var(--gutter)}
  .site-header{height:var(--header);padding-inline:18px;grid-template-columns:160px minmax(0,1fr) auto;gap:10px}.brand img{height:62px;max-width:158px}.main-nav{top:var(--header);padding:8px 18px 16px}.simple-header{grid-template-columns:138px minmax(0,1fr)}.simple-header .link-cta{font-size:11px;text-align:right}
  h1{font-size:clamp(36px,9.6vw,41px);line-height:1.06}h2{font-size:clamp(28px,7.6vw,33px);line-height:1.12}h3{font-size:22px;line-height:1.22}.lead{font-size:16.5px;line-height:1.62}
  .hero{padding-top:42px;padding-bottom:68px;gap:34px}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px}.hero-actions .button{width:100%}.hero-facts{grid-template-columns:1fr;margin-top:30px}.hero-facts>div{padding:12px 0}.hero-facts>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .hero-visual{display:block;height:auto}.hero-photo-main{display:block;aspect-ratio:4/5}.hero-photo-secondary,.hero-signature{display:none}
  .intent-grid{grid-template-columns:1fr}.intent-card{min-height:auto;padding:25px 22px}.intent-card h3{margin-top:28px}.feature-links{align-items:stretch;gap:12px}.feature-links .button{width:100%}.feature-links .text-link{width:100%}
  .image-pair{gap:8px}.solution-list>div{grid-template-columns:48px minmax(0,1fr)}.process-list li{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .section-head-row{display:block;margin-bottom:26px}.section-head-row .button{margin-top:20px;width:100%}.portfolio-preview-grid{grid-template-columns:1fr;gap:10px}.portfolio-preview-grid .preview-wide{grid-column:auto}.portfolio-preview-grid figure{height:auto;aspect-ratio:4/3}
  .professional-grid{gap:24px}.contact-panel{padding:20px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-top:52px;padding-bottom:44px}.footer-bottom{display:block}.footer-bottom div{justify-content:flex-start;margin-top:12px;gap:14px}
  .assistant{left:12px;right:12px;bottom:78px;width:auto;max-height:calc(100dvh - 98px);padding:20px}.assistant-options{grid-template-columns:1fr}.assistant-detail-actions{grid-template-columns:1fr 1.25fr}.whatsapp-float{right:14px;bottom:14px;width:54px;padding:8px}.whatsapp-float>span:last-child{display:none}.wa-icon{width:38px}
  .portfolio-hero{padding-top:44px;padding-bottom:68px}.portfolio-hero-visual>img{height:auto;aspect-ratio:4/5}.portfolio-stamp{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:10px}.portfolio-heading>p{margin-top:18px}.masonry-grid{grid-template-columns:1fr;gap:12px}.gallery-card,.gallery-card-wide{grid-column:1}.gallery-card-wide img,.gallery-card img,.gallery-card-tall img{aspect-ratio:4/3}.gallery-cta{display:block;padding:21px}.gallery-cta .button{margin-top:18px;width:100%}.proof-grid{grid-template-columns:1fr}.proof-grid>div+div{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.18)}.sitemap-grid{grid-template-columns:1fr}
}

@media(max-width:390px){
  :root{--gutter:16px}.site-header{padding-inline:16px;grid-template-columns:150px minmax(0,1fr) auto}.brand img{height:58px;max-width:148px}.simple-header{grid-template-columns:128px minmax(0,1fr)}
  .button,.header-cta{font-size:12px;padding-inline:15px}.gallery-card figcaption{padding:13px 14px 15px}.assistant{left:10px;right:10px;padding:18px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* =========================================================
   V0.6 — Portfólio imersivo / identidade Miraji
   A marca permanece no arquivo oficial de logo. A tipografia
   abaixo é de interface e não substitui o lettering Miraji.
   ========================================================= */
.portfolio-index{position:sticky;top:var(--header);z-index:80;background:rgba(244,241,233,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.portfolio-index-inner{min-height:52px;display:flex;align-items:center;gap:24px;overflow-x:auto;scrollbar-width:none}.portfolio-index-inner::-webkit-scrollbar{display:none}.portfolio-index-inner>span{color:var(--terracotta-dark);font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;padding-right:7px;border-right:1px solid var(--line)}.portfolio-index a{white-space:nowrap;color:var(--olive-dark);font-size:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.portfolio-index a:hover{color:var(--terracotta-dark)}
body[data-page="portfolio"] .portfolio-hero{min-height:calc(100vh - var(--header));padding-top:clamp(50px,5.5vw,86px);padding-bottom:clamp(58px,6vw,92px)}
body[data-page="portfolio"] .portfolio-hero-copy{max-width:650px}
body[data-page="portfolio"] .portfolio-hero-copy .lead{max-width:620px}
body[data-page="portfolio"] .portfolio-hero-visual::before{content:"";position:absolute;inset:-14px 18px 18px -14px;border:1px solid rgba(105,87,71,.32);z-index:-1}
body[data-page="portfolio"] .portfolio-hero-visual>img{border-radius:2px;box-shadow:0 20px 46px rgba(74,83,66,.09)}
body[data-page="portfolio"] .portfolio-stamp{background:var(--olive);padding:12px 15px;letter-spacing:.12em}
body[data-page="portfolio"] .portfolio-intro{background:linear-gradient(135deg,var(--paper-soft) 0%,var(--paper) 100%)}
body[data-page="portfolio"] .portfolio-heading{align-items:flex-start}
body[data-page="portfolio"] .portfolio-heading>div{max-width:735px}
body[data-page="portfolio"] .portfolio-heading>p{max-width:485px;font-size:15px;line-height:1.72}
body[data-page="portfolio"] .gallery-card{border:0;background:var(--surface);box-shadow:0 1px 0 var(--line);transition:transform .25s ease,box-shadow .25s ease}
body[data-page="portfolio"] .gallery-card:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(74,83,66,.07)}
body[data-page="portfolio"] .gallery-card figcaption{padding:19px 20px 22px;border-top:1px solid var(--line)}
body[data-page="portfolio"] .gallery-card figcaption strong{font-size:16px;line-height:1.3;letter-spacing:.01em;text-transform:none;color:var(--olive-dark)}
body[data-page="portfolio"] .gallery-card figcaption span{font-size:14px;line-height:1.65;margin-top:8px;max-width:760px}
body[data-page="portfolio"] .gallery-card-wide figcaption{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:26px;align-items:start}
body[data-page="portfolio"] .gallery-card-wide figcaption span{margin-top:0}
body[data-page="portfolio"] .gallery-cta{margin-top:38px;padding:30px 32px;border:1px solid var(--line);border-left:4px solid var(--terracotta);background:var(--paper)}
body[data-page="portfolio"] .gallery-cta>div{max-width:760px}
body[data-page="portfolio"] .gallery-cta h3{font-size:clamp(22px,1.9vw,28px);margin:0 0 8px}
body[data-page="portfolio"] .gallery-cta>div>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.65}
body[data-page="portfolio"] .portfolio-proof{background:var(--olive);position:relative;overflow:hidden}
body[data-page="portfolio"] .portfolio-proof::after{content:"";position:absolute;right:-130px;top:-130px;width:360px;height:360px;border:1px solid rgba(244,241,233,.12);border-radius:50%;pointer-events:none}
body[data-page="portfolio"] .proof-grid span{color:#F0B093}
body[data-page="portfolio"] .contact-section{background:var(--paper)}
body[data-page="portfolio"] .contact-panel{border-top:3px solid var(--wood);box-shadow:0 12px 32px rgba(74,83,66,.055)}

@media(max-width:700px){
  .portfolio-index{top:var(--header)}.portfolio-index-inner{gap:18px;min-height:48px}.portfolio-index-inner>span{display:none}
  body[data-page="portfolio"] .portfolio-hero{min-height:0}
  body[data-page="portfolio"] .portfolio-hero-visual::before{inset:-8px 10px 10px -8px}
  body[data-page="portfolio"] .gallery-card-wide figcaption{display:block}.gallery-card-wide figcaption span{margin-top:8px}
  body[data-page="portfolio"] .gallery-cta{padding:23px 20px}
}

/* V0.8.1 — atendimento guiado */
.assistant-flow{display:grid;gap:13px}
.assistant-flow[hidden],.assistant-details[hidden],.assistant-options[hidden]{display:none!important}
.assistant-progress{display:flex;align-items:center;gap:8px;margin-top:-2px;color:var(--terracotta-dark);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.assistant-progress::before{content:"";width:26px;height:2px;background:var(--terracotta);border-radius:2px}
.assistant-question{padding:2px 0 1px}
.assistant-question strong{display:block;color:var(--olive-dark);font-size:16px;line-height:1.35}
.assistant-question p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.assistant-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.assistant-choice-grid button{min-height:48px;padding:10px 11px;background:var(--paper);border:1px solid var(--line);border-radius:3px;color:var(--olive-dark);font-size:13px;font-weight:650;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.assistant-choice-grid button:hover,.assistant-choice-grid button:focus-visible,.assistant-choice-grid button.is-selected{border-color:var(--terracotta);background:#fff;outline:none;transform:translateY(-1px)}
.assistant-flow-actions{display:flex;justify-content:flex-start;margin-top:1px}
.assistant-flow-actions .assistant-back{min-width:96px;padding-inline:14px}
.assistant-summary{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--line);background:#fff}
.assistant-summary:empty{display:none}
.assistant-summary>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:6px;border-bottom:1px solid rgba(74,83,66,.1)}
.assistant-summary>div:last-child{padding-bottom:0;border-bottom:0}
.assistant-summary span{color:var(--muted);font-size:11px}
.assistant-summary strong{color:var(--olive-dark);font-size:11px;text-align:right}

@media(max-width:640px){
  .assistant-choice-grid{grid-template-columns:1fr}
  .assistant-choice-grid button{min-height:46px}
}


/* V0.8.2 — tipografia proporcional e legibilidade
   Escala revisada para leitura confortável em desktop, notebook e mobile,
   preservando hierarquia, espaçamento e identidade visual. */


/* V0.8.3 — leveza visual + ênfase discreta na marca
   Mantém a escala de leitura da V0.8.2, reduz pesos e sombras
   e amplia a logomarca de forma moderada no header/footer. */


/* V0.8.4 — hierarquia tipográfica equilibrada + logo com maior presença
   Títulos reduzidos para leitura mais editorial/consultiva em desktop e mobile;
   texto-base preservado e marca ampliada sem alterar o arquivo oficial da logo. */


/* =========================================================
   V0.9 — parceiros / Graddus
   Parceria pública separada do portfólio de execução e da futura área B2B.
   ========================================================= */
.partner-teaser{background:var(--paper-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partner-teaser-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,7vw,90px);align-items:center}
.partner-teaser-copy{max-width:760px}.partner-teaser-copy>p:not(.eyebrow){max-width:700px;color:var(--muted);font-size:16px}
.partner-badge-card{aspect-ratio:1/1;background:#fff;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:transform .2s,border-color .2s,box-shadow .2s}
.partner-badge-card:hover{transform:translateY(-2px);border-color:rgba(201,122,87,.6);box-shadow:0 16px 34px rgba(45,46,42,.06)}
.partner-badge-card>span{font-size:10px;font-weight:850;letter-spacing:.16em;color:var(--terracotta-dark)}
.partner-badge-card img{width:100%;height:auto;max-height:95px;object-fit:contain}
.partner-badge-card strong{font-size:18px;color:var(--olive-dark);line-height:1.3}
.partner-badge-card small{font-size:12px;font-weight:750;color:var(--terracotta-dark)}

.partner-hub-hero{max-width:980px}.partner-hub-grid{padding-top:0}.partner-hub-card{display:block;max-width:620px;border:1px solid var(--line);background:#fff;padding:30px;transition:transform .2s,border-color .2s}.partner-hub-card:hover{transform:translateY(-2px);border-color:var(--terracotta)}
.partner-hub-logo{height:160px;display:flex;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid var(--line);margin:-30px -30px 28px;padding:26px}.partner-hub-logo img{max-height:92px;width:auto}.partner-hub-card h2{margin-bottom:10px}.partner-hub-card>p:not(.eyebrow){color:var(--muted)}

.partner-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(46px,6vw,82px);align-items:center;padding-top:clamp(58px,6vw,90px);padding-bottom:clamp(70px,7vw,108px)}
.partner-hero-copy{max-width:650px}.partner-hero-visual{position:relative}.partner-hero-visual>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;box-shadow:var(--shadow)}
.partner-logo-panel{position:absolute;left:24px;bottom:24px;width:min(330px,58%);background:rgba(255,255,255,.96);padding:16px 20px;border:1px solid rgba(45,46,42,.12)}.partner-logo-panel img{width:100%;height:auto}
.partner-intro{background:#fff}.partner-intro-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(44px,7vw,96px)}.partner-intro-grid>div:last-child{max-width:730px}.partner-intro-grid p{color:var(--muted);font-size:16px}
.partner-families{background:var(--paper)}.partner-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.partner-product-card{background:#fff;border:1px solid var(--line);overflow:hidden}.partner-product-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.partner-product-card>div{padding:22px 22px 24px}.partner-product-card span{color:var(--terracotta);font-size:11px;font-weight:850}.partner-product-card h3{margin:10px 0 8px;font-size:23px}.partner-product-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.partner-tech{background:var(--olive-dark);color:#fff}.partner-tech h2{color:#fff}.partner-tech .section-intro>p:not(.eyebrow){color:#d8d5cf}.partner-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}.partner-tech-grid article{background:var(--olive-dark);padding:26px}.partner-tech-grid span{display:block;color:#efb49a;font-size:10px;font-weight:850;letter-spacing:.14em;margin-bottom:13px}.partner-tech-grid strong{display:block;color:#fff;font-size:20px;line-height:1.35;margin-bottom:8px}.partner-tech-grid p{margin:0;color:#d8d5cf;font-size:14px;line-height:1.65}.partner-source-note{margin:20px 0 0;color:#c9c7c1;font-size:12px;line-height:1.6}
.partner-operation{background:var(--paper-soft)}
.partner-cta{background:var(--wood);color:#fff}.partner-cta-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}.partner-cta h2{color:#fff;max-width:800px}.partner-cta p:not(.eyebrow){color:#eee7df;max-width:760px}.partner-cta .button{white-space:nowrap}

@media(max-width:992px){
  .partner-teaser-grid{grid-template-columns:1fr 240px}.partner-hero,.partner-intro-grid{grid-template-columns:1fr}.partner-hero-copy{max-width:760px}.partner-hero-visual{max-width:860px}.partner-cta-grid{grid-template-columns:1fr}.partner-cta .button{justify-self:start}
}
@media(max-width:700px){
  .partner-teaser-grid{grid-template-columns:1fr}.partner-badge-card{width:min(100%,320px)}.partner-product-grid,.partner-tech-grid{grid-template-columns:1fr}.partner-logo-panel{left:12px;bottom:12px;padding:12px 15px}.partner-hero{padding-top:44px;padding-bottom:68px}.partner-hero-visual>img{aspect-ratio:4/3}.partner-cta .button{width:100%}
}

/* =========================================================
   V0.9.1 — Home copy/SEO + presença de marca + parceria Graddus
   ========================================================= */
:root{--header:96px}
.site-header{grid-template-columns:260px minmax(0,1fr) auto;gap:22px}
.brand{height:var(--header);overflow:hidden;align-items:center}
.brand img{height:auto;width:248px;max-width:none}
.footer-brand img{width:250px;max-width:100%}

.miraji-intro{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.miraji-intro-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(44px,6vw,86px);align-items:start}
.miraji-intro-grid>div:last-child{max-width:720px}
.miraji-intro-grid>div:last-child p{color:var(--muted);font-size:16px;line-height:1.72}
.miraji-intro-grid>div:last-child p:last-child{margin-bottom:0}

.solution-list>div{align-items:start}
.solution-list>div>div{min-width:0}
.solution-list>div p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.6;max-width:780px}
.section-head-copy{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.65;max-width:730px}

.partner-teaser-copy h2{max-width:820px}
.partner-badge-card span{letter-spacing:.12em}

/* The approved logo asset contains transparent canvas; the trimmed derivative
   preserves the visible mark exactly and gives it proper visual presence. */
@media(max-width:1120px){
  .site-header{grid-template-columns:230px minmax(0,1fr) auto}
  .brand img{width:220px}
}
@media(max-width:1060px){
  :root{--header:88px}
  .site-header{grid-template-columns:230px minmax(0,1fr) auto}
  .brand img{width:220px;max-width:none;height:auto}
}
@media(max-width:992px){
  .miraji-intro-grid{grid-template-columns:1fr;gap:24px}
}
@media(max-width:640px){
  :root{--header:82px}
  .site-header{grid-template-columns:205px minmax(0,1fr) auto}
  .brand img{width:198px;max-width:none;height:auto}
  .footer-brand img{width:228px}
  .miraji-intro-grid>div:last-child p{font-size:15.5px}
  .solution-list>div{grid-template-columns:44px minmax(0,1fr)}
}
@media(max-width:390px){
  .site-header{grid-template-columns:188px minmax(0,1fr) auto}
  .brand img{width:182px;max-width:none;height:auto}
}
