:root{
 --ink:#101217;--ink-2:#1b1f28;--paper:#f4f1ea;--white:#fff;--muted:#68707a;--line:#dcd9d1;
 --blue:#2457ff;--blue-dark:#1538b8;--blue-soft:#e9eeff;--sand:#d8cbb8;--warm:#f3c761;
 --max:1180px;--shadow:0 24px 70px rgba(8,12,22,.14);--shadow-sm:0 12px 34px rgba(8,12,22,.08);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3{font-family:"Arial Black",Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.045em;line-height:.98;margin:0 0 .45em}h1{font-size:clamp(3.45rem,7vw,7rem)}h2{font-size:clamp(2.5rem,4.5vw,4.7rem)}h3{font-size:1.45rem;line-height:1.08}p{color:var(--muted);margin:.4rem 0 1rem}.container{width:min(calc(100% - 42px),var(--max));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:200;background:#fff;padding:10px 14px;border-radius:9px}
.topbar{background:#0c0f15;color:#dfe3ec;font-size:.78rem}.topbar .container{min-height:38px;display:flex;justify-content:space-between;gap:18px;align-items:center}.topbar a{color:#fff;font-weight:800}
.header{position:sticky;top:0;z-index:80;background:rgba(244,241,234,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,18,23,.09)}.nav{height:78px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:11px;font-weight:950;white-space:nowrap}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--blue);position:relative;box-shadow:inset 0 0 0 8px rgba(255,255,255,.18)}.brand-mark:after{content:"";position:absolute;width:18px;height:6px;background:#fff;border-radius:999px;left:8px;top:14px;transform:rotate(-38deg)}.brand-word{font-size:1.22rem;letter-spacing:-.04em}.brand-word b{color:var(--blue)}.nav-links{display:flex;gap:20px;align-items:center;margin-left:auto;font-size:.88rem;font-weight:800}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:.2s}.nav-links a:hover:after,.nav-links a[aria-current="page"]:after{right:0}.nav-actions{display:flex;gap:8px;align-items:center}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:850}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 9px 24px rgba(36,87,255,.28)}.btn-primary:hover{background:var(--blue-dark)}.btn-dark{background:var(--ink);color:#fff}.btn-light{background:#fff;border-color:var(--line)}.btn-sm{padding:10px 14px;font-size:.84rem}.text-link{font-weight:900;color:var(--blue)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:950;color:var(--blue);margin-bottom:17px}.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
/* PREMIUM HOME */
.premium-hero{position:relative;background:#0b0e15;color:#fff;overflow:hidden;min-height:760px}.premium-hero .hero-bg{position:absolute;inset:0}.premium-hero .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.premium-hero .hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,16,.94) 0%,rgba(7,10,16,.78) 45%,rgba(7,10,16,.32) 72%,rgba(7,10,16,.15) 100%)}.premium-hero .hero-shell{position:relative;z-index:2;min-height:760px;display:grid;grid-template-columns:minmax(0,1.1fr) 390px;gap:50px;align-items:center;padding:74px 0}.premium-hero .eyebrow{color:#a9bbff}.premium-hero h1{max-width:10ch;color:#fff}.premium-hero h1 em{font-style:normal;color:#dfe6ff}.premium-hero .lead{font-size:1.13rem;max-width:610px;color:#d7dbe3}.hero-bullets{display:flex;gap:16px 24px;flex-wrap:wrap;margin:28px 0}.hero-bullets span{font-weight:800;font-size:.88rem;color:#fff}.hero-bullets span:before{content:"✓";color:#8ba3ff;margin-right:7px}.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}.premium-hero .btn-light{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.23);color:#fff}.quote-panel{background:rgba(255,255,255,.96);color:var(--ink);border-radius:26px;padding:25px;box-shadow:0 28px 75px rgba(0,0,0,.32);backdrop-filter:blur(18px)}.quote-panel .mini-kicker{font-size:.72rem;color:var(--blue);font-weight:950;letter-spacing:.12em;text-transform:uppercase}.quote-panel h2{font-size:2.08rem;letter-spacing:-.045em;margin-top:8px}.quote-panel p{font-size:.9rem}.quote-panel label{display:block;font-size:.72rem;font-weight:900;margin:9px 0 5px}.quote-panel input,.quote-panel select,.quote-panel textarea{width:100%;border:1px solid #d4d7df;border-radius:12px;padding:10px 11px;background:#fff}.quote-panel textarea{min-height:70px;resize:vertical}.quote-panel .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quote-panel .full{grid-column:1/-1}.quote-panel .btn{width:100%;margin-top:12px}.quote-proof{margin-top:12px;border-top:1px solid #e1e3e7;padding-top:12px;display:flex;gap:10px;justify-content:space-between;font-size:.7rem;font-weight:850;color:#59616c}
.metric-band{background:var(--blue);color:#fff}.metric-band .container{display:grid;grid-template-columns:repeat(4,1fr)}.metric{padding:18px 20px;border-right:1px solid rgba(255,255,255,.25)}.metric:last-child{border-right:0}.metric b{display:block;font-size:1.02rem}.metric span{font-size:.75rem;color:#d9e1ff}
.section{padding:94px 0}.section-white{background:#fff}.section-dark{background:var(--ink);color:#fff}.section-dark p{color:#b7bec9}.section-dark .eyebrow{color:#8ba3ff}.section-head{display:flex;justify-content:space-between;gap:34px;align-items:flex-end;margin-bottom:38px}.section-head>div{max-width:740px}.section-head>p{max-width:420px}.service-list{display:grid;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px 1fr 1.2fr 45px;align-items:center;gap:18px;padding:25px 0;border-bottom:1px solid var(--line);transition:.2s}.service-row:hover{padding-left:8px}.service-row .num{font-weight:950;color:var(--blue)}.service-row h3{margin:0;font-size:1.55rem}.service-row p{margin:0;font-size:.92rem}.service-row .arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-weight:950}.service-row:hover .arrow{background:var(--blue);color:#fff;border-color:var(--blue)}
.showcase-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:320px 320px;gap:14px}.showcase-card{position:relative;overflow:hidden;border-radius:24px;min-height:280px;background:#cbd0d8}.showcase-card:first-child{grid-row:1/3}.showcase-card img{width:100%;height:100%;object-fit:cover;transition:.35s}.showcase-card:hover img{transform:scale(1.025)}.showcase-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(5,8,12,.72))}.showcase-label{position:absolute;left:20px;right:20px;bottom:19px;z-index:2;color:#fff}.showcase-label b{display:block;font-size:1.18rem}.showcase-label span{font-size:.78rem;color:#e3e6eb}.showcase-index{position:absolute;top:17px;left:17px;z-index:2;background:rgba(255,255,255,.92);padding:7px 10px;border-radius:999px;font-weight:950;font-size:.72rem}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:12px}.before-after figure{margin:0;position:relative;overflow:hidden;border-radius:24px;min-height:500px}.before-after img{width:100%;height:100%;object-fit:cover}.before-after figcaption{position:absolute;top:16px;left:16px;background:#fff;border-radius:999px;padding:7px 11px;font-size:.76rem;font-weight:950}.case-side{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}.case-side h2{font-size:clamp(2.8rem,5vw,5.5rem)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.method-card{border:1px solid #2c313a;border-radius:22px;padding:25px;background:#151922}.method-card strong{display:flex;width:40px;height:40px;border-radius:50%;background:var(--blue);align-items:center;justify-content:center;margin-bottom:48px}.method-card h3{color:#fff}.method-card p{font-size:.9rem}.local-strip{display:flex;gap:9px;flex-wrap:wrap}.local-strip span,.local-strip a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:850;font-size:.85rem}.proof-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px;box-shadow:var(--shadow-sm)}.proof-card h3{font-size:1.65rem}.proof-card .big{font-size:2.5rem;font-weight:950;color:var(--blue);line-height:1}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.premium-cta{background:var(--blue);color:#fff;border-radius:32px;padding:46px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;box-shadow:0 28px 65px rgba(36,87,255,.26)}.premium-cta h2{color:#fff}.premium-cta p{color:#dce4ff}.premium-cta .btn-light{border:0}.cta-steps{display:grid;gap:9px}.cta-step{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:13px 15px;font-weight:850}.cta-step span{color:#a9bbff;margin-right:9px}
/* INTERNAL PAGES / SHARED */
.hero{padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.hero-copy h1{font-size:clamp(3rem,6vw,6.2rem)}.hero-copy p{font-size:1.06rem}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.hero-media{position:relative;min-height:540px}.hero-main{position:absolute;inset:0 10% 5% 0;border-radius:28px;overflow:hidden}.hero-main img{width:100%;height:100%;object-fit:cover}.hero-inset{position:absolute;right:0;bottom:0;width:43%;height:42%;border:7px solid var(--paper);border-radius:22px;overflow:hidden}.hero-inset img{width:100%;height:100%;object-fit:cover}.hero-note{position:absolute;right:15px;top:18px;background:var(--ink);color:#fff;border-radius:17px;padding:12px 15px;max-width:220px;font-size:.8rem}.hero-note span{display:block;color:#bcc3cd}.proof-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:27px}.proof{font-size:.78rem;font-weight:850;color:#535a65}.proof i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:7px}.trust-band{background:var(--ink);color:#fff}.trust-band .container{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;padding:13px 0;font-weight:850;font-size:.79rem}.intent-grid{display:grid;grid-template-columns:repeat(3,1fr)}.intent{padding:18px;border-right:1px solid var(--line);background:#fff}.intent:last-child{border-right:0}.intent b,.intent span{display:block}.intent span{color:var(--muted);font-size:.82rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-sm)}.service-media{aspect-ratio:4/3;overflow:hidden}.service-media img{width:100%;height:100%;object-fit:cover}.service-body{padding:22px}.service-num{color:var(--blue);font-size:.72rem;letter-spacing:.1em;font-weight:950}.case-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}.case-visual{display:grid;grid-template-columns:1fr 1fr;gap:8px}.case-visual figure{margin:0;position:relative}.case-visual img{height:450px;width:100%;object-fit:cover;border-radius:20px}.case-visual figcaption{position:absolute;top:13px;left:13px;background:#fff;border-radius:999px;padding:6px 9px;font-size:.73rem;font-weight:950}.mini-flow{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.mini-flow span{border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:.73rem;font-weight:850}.gallery-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-card{position:relative;min-height:310px;border-radius:22px;overflow:hidden}.gallery-card img{width:100%;height:100%;object-fit:cover}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.7))}.gallery-label{position:absolute;z-index:2;left:16px;right:16px;bottom:15px;color:#fff}.gallery-label span{display:block;font-size:.76rem;color:#e3e5ea}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step,.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px;box-shadow:var(--shadow-sm)}.step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;margin-bottom:34px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:17px;padding:0 18px}.faq summary{padding:17px 0;cursor:pointer;font-weight:900}.faq details p{margin-top:0;padding-bottom:15px}.cta-panel{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center;background:var(--ink);color:#fff;border-radius:30px;padding:40px}.cta-panel p{color:#bdc4cd}.quote-box{background:#fff;color:var(--ink);border-radius:22px;padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quote-box label{display:block;font-size:.74rem;font-weight:900;margin:8px 0 5px}.quote-box input,.quote-box textarea,.quote-box select{width:100%;border:1px solid #d2d6dc;border-radius:11px;padding:10px}.quote-box textarea{min-height:82px}.quote-box .full{grid-column:1/-1}.quote-box .btn{width:100%;margin-top:10px}
.page-hero{padding:72px 0 48px;border-bottom:1px solid var(--line);background:#fff}.page-hero h1{max-width:12ch}.breadcrumbs{font-size:.78rem;color:#7a818b;margin-bottom:18px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:48px}.article p,.article li{font-size:1.02rem}.article h2{font-size:2.25rem;margin-top:2.1rem;max-width:none}.article h3{margin-top:1.4rem}.article ul{padding-left:1.2rem}.article-image{border-radius:20px;margin:22px 0}.sidebar{position:sticky;top:100px;height:max-content}.sidebar .card{margin-bottom:12px}.card-icon{width:42px;height:42px;border-radius:50%;background:var(--blue-soft);display:grid;place-items:center;color:var(--blue);font-size:.75rem;font-weight:950;margin-bottom:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare figure{margin:0;position:relative}.compare img{height:390px;width:100%;object-fit:cover;border-radius:20px}.compare figcaption{position:absolute;top:12px;left:12px;background:#fff;padding:6px 9px;border-radius:999px;font-size:.75rem;font-weight:950}.price-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.price-table th,.price-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}.price-table th{background:#f1efe9;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-weight:850;cursor:pointer}.filter-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.project-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}.project-card .media{aspect-ratio:4/3;overflow:hidden}.project-card img{width:100%;height:100%;object-fit:cover;transition:.25s}.project-card:hover img{transform:scale(1.02)}.project-body{padding:18px}.project-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.tag{font-size:.7rem;background:#f0eee9;border-radius:999px;padding:5px 8px;color:#535a64;font-weight:800}.case-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.case-page-grid img{width:100%;height:320px;object-fit:cover;border-radius:19px}.area-list{display:flex;gap:8px;flex-wrap:wrap}.area-list span,.area-list a{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:999px;font-weight:850;font-size:.83rem}.footer{padding:58px 0 28px;background:#0b0e14;color:#fff}.footer p,.footer a{color:#aeb5c0}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr .65fr;gap:28px}.footer h3{font-size:.92rem;letter-spacing:0}.footer-links{display:grid;gap:7px}.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #282d37;margin-top:34px;padding-top:18px;font-size:.78rem;color:#858e9a}.footer-contact{display:flex;gap:13px;flex-wrap:wrap;font-weight:850;font-size:.88rem;margin-top:14px}.mobile-cta{display:none}.article-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.article-cards-wide{grid-template-columns:repeat(2,1fr)}.article-card{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-sm)}.article-card>span{display:block;color:var(--blue);font-size:.72rem;font-weight:950;letter-spacing:.12em;margin-bottom:12px}.article-card h2,.article-card h3{font-size:1.45rem;line-height:1.08;letter-spacing:-.035em}.faq.single{grid-template-columns:1fr}.process-large{grid-template-columns:repeat(4,1fr)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:24px;align-items:start}.quote-box.inline{box-shadow:none;padding:0}.project-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.article-cta{margin-top:30px;padding:26px;background:var(--blue-soft);border:1px solid #cdd7ff;border-radius:20px}.toast{position:fixed;z-index:100;left:50%;bottom:26px;transform:translate(-50%,30px);background:#10141a;color:#fff;padding:12px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:78px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-toggle{display:block}.nav-actions .btn-light{display:none}.premium-hero .hero-shell{grid-template-columns:1fr;align-items:end;padding:70px 0 50px}.premium-hero{min-height:auto}.premium-hero .hero-bg:after{background:linear-gradient(180deg,rgba(7,10,16,.35),rgba(7,10,16,.93) 55%,#080b11 100%)}.quote-panel{max-width:620px}.metric-band .container{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.25)}.showcase-grid{grid-template-columns:1fr 1fr;grid-template-rows:460px 280px}.showcase-card:first-child{grid-column:1/-1;grid-row:auto}.case-side,.hero-grid,.case-feature,.cta-panel,.content-grid,.premium-cta{grid-template-columns:1fr}.method-grid,.service-grid,.project-grid,.article-cards{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.faq{grid-template-columns:1fr}.contact-grid,.project-intro{grid-template-columns:1fr}}
@media(max-width:680px){.container{width:min(calc(100% - 26px),var(--max))}.topbar .container{justify-content:center;text-align:center}.topbar span:last-child{display:none}.nav{height:66px}.nav-links{top:66px;left:13px;right:13px}.nav-actions .btn-primary{display:none}.premium-hero .hero-shell{padding:55px 0 38px;gap:34px}.premium-hero h1{font-size:clamp(3.1rem,15vw,5rem)}.premium-hero .lead{font-size:1rem}.quote-panel{border-radius:22px;padding:20px}.quote-panel .form-grid{grid-template-columns:1fr}.quote-panel .full{grid-column:auto}.quote-proof{display:grid;grid-template-columns:1fr 1fr}.metric{padding:14px 9px}.metric b{font-size:.9rem}.metric span{font-size:.68rem}.section{padding:68px 0}.section-head{flex-direction:column;align-items:flex-start;gap:8px}.service-row{grid-template-columns:48px 1fr 40px}.service-row p{grid-column:2/4}.showcase-grid{display:grid;grid-template-columns:1fr;grid-template-rows:360px 280px 280px}.showcase-card:first-child{grid-column:auto}.before-after{grid-template-columns:1fr}.before-after figure{min-height:390px}.case-side{gap:25px}.method-grid,.proof-grid,.service-grid,.project-grid,.article-cards,.article-cards-wide{grid-template-columns:1fr}.premium-cta{padding:28px;border-radius:24px}.hero{padding:44px 0}.hero-media{min-height:410px}.hero-main{inset:0 0 7% 4%;border-radius:24px}.proof-list{grid-template-columns:1fr}.intent-grid{grid-template-columns:1fr}.intent{border-right:0;border-bottom:1px solid var(--line)}.case-visual{grid-template-columns:1fr}.case-visual img{height:330px}.gallery-row{grid-template-columns:1fr}.process{grid-template-columns:1fr}.compare{grid-template-columns:1fr}.compare img{height:300px}.case-page-grid{grid-template-columns:1fr}.case-page-grid img{height:280px}.form-grid{grid-template-columns:1fr}.quote-box .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.mobile-cta{display:flex;position:fixed;left:10px;right:10px;bottom:9px;z-index:60;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px;gap:7px;box-shadow:var(--shadow)}.mobile-cta .btn{flex:1;padding:10px}.footer{padding-bottom:92px}.page-hero{padding-top:44px}.toast{bottom:80px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* =========================================================
   BIANCO RIMINI — QUIET / EDITORIAL THEME
   ========================================================= */
:root{
 --ink:#30322e;--ink-2:#40443d;--paper:#f3f0e8;--white:#fffdf8;--muted:#72766f;--line:#ded9cf;
 --blue:#788575;--blue-dark:#5d695a;--blue-soft:#e8ece6;--sand:#d5c7b7;--warm:#d7b994;
 --shadow:0 22px 60px rgba(55,52,45,.09);--shadow-sm:0 10px 30px rgba(55,52,45,.06);
}
body{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:.98}h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:720;letter-spacing:-.025em;line-height:1.12}
h1{font-size:clamp(3.25rem,6.9vw,6.7rem)}h2{font-size:clamp(2.35rem,4.7vw,4.8rem)}p{color:var(--muted)}
.quiet-topbar{background:#e9e4da;color:#676b64;border-bottom:1px solid rgba(55,58,53,.07)}.quiet-topbar .container{min-height:34px}.quiet-topbar span{font-size:.72rem;letter-spacing:.05em}.quiet-header{background:rgba(248,246,240,.92);border-bottom:1px solid rgba(55,58,53,.08)}
.brand-mark{background:transparent;border:1.5px solid #7c8879;box-shadow:none}.brand-mark:after{background:#7c8879;height:1.5px;transform:rotate(-38deg)}.brand-word b{color:#6d796a}.nav-links{font-weight:650;color:#555951}.nav-links a:after{background:#7c8879;height:1px}.btn{border-radius:999px;font-weight:680;padding:12px 18px}.btn-primary{background:#758271;color:#fff;box-shadow:none}.btn-primary:hover{background:#626f5f}.btn-dark{background:#3a3d38}.btn-light{background:#faf8f2;border-color:#d8d3c9}.eyebrow{color:#7b8778;font-weight:750;letter-spacing:.14em}.eyebrow:before{height:1px;width:22px}.text-link{color:#657260;font-weight:720}
.quiet-hero{padding:78px 0 96px;background:linear-gradient(180deg,#f8f5ee 0%,#f3f0e8 100%);overflow:hidden}.quiet-hero-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:70px;align-items:center}.quiet-hero-copy{padding:40px 0}.quiet-hero-copy h1{max-width:10.2ch;margin-bottom:24px}.quiet-hero-copy .lead{font-size:1.12rem;line-height:1.7;max-width:610px;color:#676c64}.quiet-hero .hero-actions{margin-top:30px}.quiet-notes{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:32px;color:#7a7d76;font-size:.78rem}.quiet-notes span:before{content:"";width:5px;height:5px;border-radius:50%;background:#a8b0a5;display:inline-block;margin-right:8px;vertical-align:2px}.quiet-hero-visual{position:relative;min-height:640px}.quiet-main-photo{position:absolute;inset:0 10% 0 0;margin:0;overflow:hidden;border-radius:220px 220px 30px 30px;box-shadow:var(--shadow)}.quiet-main-photo img{width:100%;height:100%;object-fit:cover}.quiet-detail-photo{position:absolute;width:43%;right:0;bottom:38px;margin:0;border:9px solid #f3f0e8;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.quiet-detail-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.quiet-caption{position:absolute;right:3%;top:28px;background:rgba(255,253,248,.92);padding:14px 16px;border-radius:14px;font-family:Georgia,serif;font-size:1rem;color:#454942;box-shadow:var(--shadow-sm)}.quiet-caption span{font-family:Inter,sans-serif;font-size:.72rem;color:#7b7f78}
.quiet-intro{padding:92px 0;background:#dfe5dd}.quiet-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}.quiet-intro h2{max-width:12ch;color:#343832}.quiet-intro p{font-size:1.02rem;color:#596057;max-width:570px}
.quiet-services{background:#f7f4ed}.quiet-section-title{max-width:860px;margin-bottom:38px}.quiet-section-title.split{display:flex;justify-content:space-between;gap:40px;max-width:none;align-items:end}.quiet-section-title.split>div{max-width:760px}.quiet-section-title.split>p{max-width:400px}.quiet-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quiet-service-card{background:#fffdf8;border:1px solid #ded9cf;border-radius:22px;padding:32px;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;transition:.25s}.quiet-service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}.quiet-service-card>span{font-family:Georgia,serif;color:#9aa295;font-size:1rem;margin-bottom:auto}.quiet-service-card h3{font-size:1.65rem;max-width:20ch}.quiet-service-card p{max-width:48ch}.quiet-service-card em{font-style:normal;color:#657260;font-weight:700;font-size:.82rem;margin-top:12px}.quiet-service-image{padding:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.quiet-service-image img{width:100%;height:100%;object-fit:cover;min-height:300px}.quiet-service-image>div{padding:30px;display:flex;flex-direction:column;justify-content:flex-end}.quiet-service-image>div span{margin-bottom:auto;color:#9aa295;font-family:Georgia,serif}
.quiet-portfolio{padding-top:105px}.quiet-gallery{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:320px 320px;gap:13px}.quiet-gallery a{position:relative;overflow:hidden;border-radius:18px;background:#ddd}.quiet-gallery-a{grid-row:1/3}.quiet-gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.quiet-gallery a:hover img{transform:scale(1.018)}.quiet-gallery span{position:absolute;left:16px;bottom:16px;background:rgba(250,248,242,.9);backdrop-filter:blur(12px);padding:9px 12px;border-radius:10px;font-size:.76rem;font-weight:700;color:#4c504a}.quiet-center{text-align:center;margin-top:25px}
.quiet-process{background:#ece8df}.quiet-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8d3c8;border:1px solid #d8d3c8;border-radius:20px;overflow:hidden}.quiet-steps article{background:#f8f5ee;padding:30px;min-height:270px}.quiet-steps span{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #aeb6aa;border-radius:50%;font-size:.72rem;color:#6b7768;margin-bottom:58px}.quiet-steps h3{font-size:1.25rem}.quiet-steps p{font-size:.88rem}
.quiet-before{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:center}.quiet-before-copy h2{max-width:9ch}.quiet-before-images{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiet-before-images figure{margin:0;position:relative;overflow:hidden;border-radius:18px;min-height:480px}.quiet-before-images img{width:100%;height:100%;object-fit:cover}.quiet-before-images figcaption{position:absolute;top:14px;left:14px;background:#fbf8f2;padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:720}
.quiet-local{background:#dfe5dd}.quiet-local-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.quiet-local-grid h2{max-width:10ch}.quiet-local-image{height:460px;border-radius:20px;overflow:hidden}.quiet-local-image img{width:100%;height:100%;object-fit:cover}.local-strip span,.local-strip a{background:rgba(255,253,248,.72);border-color:#cad1c7;font-weight:620}
.quiet-contact{background:#f6f3ec}.quiet-contact-card{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center;padding:52px 56px;border:1px solid #dcd7cd;border-radius:26px;background:#fffdf8;box-shadow:var(--shadow-sm)}.quiet-contact-card h2{max-width:11ch}.quiet-contact-card p{max-width:650px}.quiet-contact-actions{display:grid;gap:10px;min-width:220px}.quiet-footer{background:#353832;color:#f6f3eb}.quiet-footer p,.quiet-footer a{color:#cdd2ca}.quiet-footer .brand-word b{color:#d8e0d4}.quiet-footer .brand-mark{border-color:#aebaaa}.quiet-footer .brand-mark:after{background:#aebaaa}
/* Calm restyle for internal pages */
.page-hero{background:#f8f5ee;border-color:#ddd8ce}.page-hero h1,.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:500}.card,.step,.article-card,.project-card,.faq details,.quote-box{box-shadow:none;background:#fffdf8;border-color:#ded9cf}.card-icon,.step b{background:#e6ebe3;color:#667362}.filter-btn.active{background:#758271;border-color:#758271}.article-cta{background:#e9eee7;border-color:#d5ddd2}.footer{background:#353832}.premium-cta,.cta-panel{background:#596456;box-shadow:none}.metric-band{background:#748071}.section-dark{background:#4d554b}.proof-card .big,.article-card>span{color:#758271}
@media(max-width:980px){.quiet-hero-grid,.quiet-intro-grid,.quiet-before,.quiet-local-grid{grid-template-columns:1fr}.quiet-hero-visual{min-height:600px}.quiet-section-title.split{display:block}.quiet-service-grid{grid-template-columns:1fr 1fr}.quiet-steps{grid-template-columns:1fr 1fr}.quiet-contact-card{grid-template-columns:1fr}.quiet-gallery{grid-template-columns:1fr 1fr;grid-template-rows:430px 270px}.quiet-gallery-a{grid-column:1/-1;grid-row:auto}}
@media(max-width:680px){h1{font-size:clamp(3rem,15vw,4.6rem)}h2{font-size:clamp(2.25rem,11vw,3.4rem)}.quiet-topbar span:last-child{display:none}.quiet-hero{padding:50px 0 66px}.quiet-hero-grid{gap:36px}.quiet-hero-copy{padding:0}.quiet-hero-visual{min-height:470px}.quiet-main-photo{inset:0 4% 0 0;border-radius:140px 140px 24px 24px}.quiet-detail-photo{width:42%;right:0;bottom:22px;border-width:6px}.quiet-caption{display:none}.quiet-intro{padding:68px 0}.quiet-intro-grid{gap:22px}.quiet-service-grid{grid-template-columns:1fr}.quiet-service-image{grid-template-columns:1fr}.quiet-service-image img{min-height:240px}.quiet-gallery{grid-template-columns:1fr;grid-template-rows:360px 260px 260px 260px}.quiet-gallery-a{grid-column:auto}.quiet-steps{grid-template-columns:1fr}.quiet-steps article{min-height:auto}.quiet-steps span{margin-bottom:32px}.quiet-before-images{grid-template-columns:1fr 1fr}.quiet-before-images figure{min-height:310px}.quiet-local-image{height:340px}.quiet-contact-card{padding:30px 25px}.quiet-contact-actions{min-width:0}.quiet-notes{gap:8px 13px}}


/* CONVERSIONE CALMA: telefono + WhatsApp sempre accessibili senza rendere il sito aggressivo */
.conversion-topbar .container{gap:24px}.conversion-topbar a{color:#596456;font-weight:720}.topbar-direct{white-space:nowrap}.conversion-header .nav-actions{margin-left:6px}.nav-phone{font-size:.82rem;font-weight:720;color:#586255;padding:9px 4px;border-bottom:1px solid #aeb7aa}.nav-wa{white-space:nowrap}.hero-work-link{align-self:center;margin-left:4px}.contact-hint{font-size:.82rem!important;color:#7b8078!important;max-width:510px;margin-top:14px!important}
.conversion-strip{padding:0 0 96px;background:#f7f4ed}.conversion-strip-inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;padding:42px 46px;border:1px solid #d9d5cc;border-radius:26px;background:#e8ede6}.conversion-strip h2{font-size:clamp(2rem,3.6vw,3.7rem);max-width:12ch}.conversion-strip p{max-width:650px}.conversion-strip-actions{display:grid;gap:10px;min-width:235px}.quiet-contact-link{text-align:center;font-size:.82rem;margin-top:2px}.sidebar-phone{display:block;margin-top:14px;font-size:.82rem}.form-note{font-size:.78rem;color:#7b8078;margin-top:10px}.direct-contact-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e2ded5;font-weight:720;color:#5d695b}.direct-contact-row:after{content:'→';color:#9aa395}.direct-contact-row.muted{font-weight:560;color:#737970;font-size:.88rem}.contact-hero-actions{margin-top:25px}.contact-dock{position:fixed;right:18px;bottom:18px;z-index:58;display:flex;align-items:center;gap:5px;padding:5px;background:rgba(255,253,248,.93);border:1px solid #d8d3c9;border-radius:999px;box-shadow:0 12px 32px rgba(35,40,34,.13);backdrop-filter:blur(14px)}.contact-dock a{padding:9px 13px;border-radius:999px;font-size:.78rem;font-weight:720;color:#5e675c}.contact-dock a:last-child{background:#758271;color:#fff}.mobile-cta{background:rgba(255,253,248,.96)!important;border-color:#d5d1c8!important;backdrop-filter:blur(14px)}
@media(max-width:980px){.nav-phone{display:none}.conversion-strip-inner{grid-template-columns:1fr}.conversion-strip-actions{display:flex;flex-wrap:wrap;min-width:0}.contact-dock{display:none}}
@media(max-width:680px){.conversion-topbar .container{justify-content:center}.topbar-direct{display:none}.conversion-strip{padding-bottom:68px}.conversion-strip-inner{padding:30px 25px;gap:24px}.conversion-strip-actions{display:grid}.hero-work-link{width:100%;margin:4px 0 0}.quiet-hero .hero-actions .btn{flex:1}.quiet-hero .hero-actions{align-items:stretch}.contact-hint{margin-top:12px!important}.mobile-cta .btn{font-size:.82rem}.contact-hero-actions .btn{flex:1}}

/* Sequenza reale: preparazione → lavorazione → risultato */
.quiet-before-journey{grid-template-columns:.62fr 1.38fr;gap:46px}.quiet-before-images-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quiet-before-images-three figure{min-height:430px}.quiet-before-images-three img{object-position:center}.quiet-before-images-three figure:nth-child(2) img{object-position:center center}
@media(max-width:980px){.quiet-before-journey{grid-template-columns:1fr}.quiet-before-images-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.quiet-before-images-three{grid-template-columns:1fr;gap:14px}.quiet-before-images-three figure{min-height:0;aspect-ratio:4/3}.quiet-before-images-three figure:first-child,.quiet-before-images-three figure:last-child{aspect-ratio:4/3}.quiet-before-images-three img{object-fit:cover}.quiet-before-images-three figure:first-child img{object-position:center 58%}.quiet-before-images-three figure:nth-child(2) img{object-position:center center}.quiet-before-images-three figure:last-child img{object-position:center 52%}}

.gallery-empty{grid-column:1/-1;margin:0;padding:28px;border:1px dashed #c9c4b9;border-radius:18px;background:#faf8f2;text-align:center;color:#737970}


/* =========================================================
   HOMEPAGE "RIFERIMENTO" — inspired by the supplied layout.
   Scoped under body.ref-home so internal pages are untouched.
   ========================================================= */
body.ref-home{
  --ref-cream:#f8f5ee;
  --ref-paper:#fffdf9;
  --ref-ink:#252b27;
  --ref-muted:#697169;
  --ref-sage:#7f907b;
  --ref-sage-dark:#6c7e68;
  --ref-line:#ddd8cf;
  background:var(--ref-cream);
  color:var(--ref-ink);
}
.ref-home h1,.ref-home h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.045em;
  color:var(--ref-ink);
}
.ref-home .eyebrow{
  color:#738171;
  letter-spacing:.16em;
  font-size:.73rem;
  font-weight:800;
  text-transform:uppercase;
}
.ref-topline{
  height:42px;
  display:flex;
  align-items:center;
  background:#f0ece3;
  border-bottom:1px solid rgba(70,75,65,.08);
  color:#6d746d;
  font-size:.73rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
}
.ref-topline .container{width:100%}
.ref-header{
  background:rgba(255,253,249,.96);
  border-bottom:1px solid rgba(60,70,60,.08);
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(14px);
}
.ref-nav{
  min-height:92px;
  display:flex;
  align-items:center;
  gap:30px;
}
.ref-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#252b27;
  text-decoration:none;
  flex-shrink:0;
}
.ref-logo{
  width:50px;
  height:50px;
  color:var(--ref-sage);
  display:grid;
  place-items:center;
}
.ref-logo svg{width:100%;height:100%}
.ref-brand-word{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  letter-spacing:-.045em;
  line-height:1;
}
.ref-brand-word b{
  color:var(--ref-sage);
  font-weight:500;
}
.ref-header .nav-links{
  margin-left:auto;
}
.ref-header .nav-links a{
  color:#5f675f;
}
.ref-menu{
  border:1px solid #bdc4b9;
  background:#fffdf9;
  color:#303631;
  border-radius:15px;
  padding:13px 18px;
  font-weight:700;
  display:none;
  font-size:.95rem;
}
.ref-menu span{font-size:1.12rem;margin-right:6px}

.ref-hero{
  position:relative;
  min-height:760px;
  overflow:hidden;
  isolation:isolate;
  background:#f6f2e9;
}
.ref-hero-bg{
  position:absolute;
  inset:0;
  background-image:url("../img/hero-blue.webp");
  background-size:cover;
  background-position:center 48%;
  filter:brightness(1.22) saturate(.55) contrast(.82);
  transform:scale(1.02);
  z-index:-3;
}
.ref-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.92) 44%,rgba(251,248,241,.62) 68%,rgba(251,248,241,.34) 100%),
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(248,245,238,.12) 60%,rgba(248,245,238,.50));
  z-index:-2;
}
.ref-hero-inner{
  min-height:760px;
  padding-top:58px;
  padding-bottom:30px;
  display:flex;
  flex-direction:column;
}
.ref-project-chip{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid #d8d5cc;
  background:rgba(255,253,249,.83);
  color:#6c756b;
  font-size:.77rem;
  font-weight:700;
  backdrop-filter:blur(8px);
}
.ref-project-chip:before{
  content:"⌂";
  color:var(--ref-sage);
  font-size:1rem;
}
.ref-hero-copy{
  max-width:650px;
  padding-top:35px;
}
.ref-hero h1{
  margin:15px 0 0;
  font-size:clamp(4rem,7.4vw,7.2rem);
  line-height:.88;
  max-width:8.5ch;
}
.ref-hero h1 em{
  color:var(--ref-sage);
  font-style:normal;
}
.ref-lead{
  max-width:570px;
  margin:28px 0 0;
  color:#4f5751;
  font-size:1.18rem;
  line-height:1.55;
}
.ref-service-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.ref-service-pills a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:11px 14px;
  background:rgba(255,253,249,.86);
  border:1px solid #d7d7cf;
  border-radius:12px;
  color:#596259;
  font-weight:680;
  font-size:.87rem;
  backdrop-filter:blur(8px);
}
.ref-pill-icon{
  color:var(--ref-sage);
  width:17px;
  text-align:center;
}
.ref-hero-actions{
  display:grid;
  gap:10px;
  max-width:390px;
  margin-top:28px;
}
.ref-btn{
  min-height:58px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 20px;
  font-weight:800;
  border:1px solid #aeb7aa;
  text-decoration:none;
  transition:.2s ease;
}
.ref-btn:hover{transform:translateY(-1px)}
.ref-btn-primary{
  background:var(--ref-sage);
  border-color:var(--ref-sage);
  color:white;
}
.ref-btn-light{
  background:rgba(255,253,249,.90);
  color:#2f3530;
}
.ref-trust-row{
  margin-top:auto;
  width:min(760px,100%);
  background:rgba(255,253,249,.88);
  border:1px solid rgba(205,204,195,.85);
  border-radius:19px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  box-shadow:0 12px 40px rgba(45,55,45,.07);
  backdrop-filter:blur(13px);
}
.ref-trust-row>div{
  min-height:96px;
  padding:20px 22px;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:12px;
  align-content:center;
}
.ref-trust-row>div+div{border-left:1px solid #dedbd3}
.ref-trust-icon{
  grid-row:1/3;
  font-size:1.65rem;
  color:var(--ref-sage);
  align-self:center;
}
.ref-trust-row strong{
  font-size:.86rem;
  color:#424a43;
}
.ref-trust-row small{
  color:#7a8179;
  font-size:.74rem;
  margin-top:2px;
}

.ref-real-work{
  background:#fff;
  padding-top:105px;
}
.ref-section-heading{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:50px;
  align-items:end;
  margin-bottom:42px;
}
.ref-section-heading.compact{grid-template-columns:1fr}
.ref-section-heading h2{
  font-size:clamp(2.7rem,5.2vw,5rem);
  max-width:12ch;
  margin:11px 0 0;
  line-height:.98;
}
.ref-section-heading p{
  color:#656d66;
  font-size:1rem;
  line-height:1.65;
}
.ref-work-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-rows:310px 310px;
  gap:14px;
}
.ref-work-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  background:#e7e7e2;
}
.ref-work-main{grid-row:1/3}
.ref-work-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.ref-work-card:hover img{transform:scale(1.015)}
.ref-work-caption{
  position:absolute;
  left:15px;
  right:15px;
  bottom:15px;
  padding:14px 15px;
  border-radius:14px;
  background:rgba(255,253,249,.91);
  backdrop-filter:blur(10px);
  display:grid;
}
.ref-work-caption span{
  color:var(--ref-sage-dark);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ref-work-caption strong{
  margin-top:3px;
  font-size:.95rem;
  color:#343a35;
}
.ref-work-caption small{
  margin-top:2px;
  color:#777e77;
}
.ref-more-row{
  margin-top:26px;
  text-align:center;
}

.ref-services{
  background:#f4f1ea;
  padding-top:100px;
}
.ref-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.ref-services-grid>a{
  min-height:310px;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid #dedad1;
  border-radius:20px;
  background:#fffdf9;
  color:#333a34;
}
.ref-services-grid>a>span{
  margin-bottom:auto;
  font-family:Georgia,serif;
  color:#8b9988;
}
.ref-services-grid h3{
  font-size:1.55rem;
  margin-bottom:10px;
}
.ref-services-grid p{
  color:#687069;
  font-size:.9rem;
}

.ref-journey{
  background:#fff;
  padding-top:105px;
}
.ref-journey-grid{
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:48px;
  align-items:center;
}
.ref-journey-copy h2{
  font-size:clamp(2.8rem,5vw,4.8rem);
  margin:12px 0 18px;
  max-width:8ch;
  line-height:.98;
}
.ref-journey-copy p{
  max-width:500px;
  color:#687069;
  line-height:1.65;
}
.ref-journey-photos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.ref-journey-photos figure{
  margin:0;
  position:relative;
  min-height:410px;
  border-radius:18px;
  overflow:hidden;
}
.ref-journey-photos img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ref-journey-photos figcaption{
  position:absolute;
  top:12px;
  left:12px;
  background:#fffdf9;
  border-radius:999px;
  padding:7px 10px;
  font-weight:750;
  font-size:.72rem;
}

.ref-contact{
  background:#eef0e9;
  padding:90px 0;
}
.ref-contact-card{
  padding:50px 54px;
  border:1px solid #d4d9d0;
  border-radius:26px;
  background:#fffdf9;
  display:grid;
  grid-template-columns:1fr auto;
  gap:50px;
  align-items:center;
}
.ref-contact-card h2{
  font-size:clamp(2.6rem,4.8vw,4.6rem);
  margin:12px 0 15px;
  max-width:10ch;
  line-height:.98;
}
.ref-contact-card p{
  max-width:600px;
  color:#667067;
}
.ref-contact-actions{
  display:grid;
  gap:10px;
  min-width:300px;
}
.ref-email{
  text-align:center;
  font-size:.78rem;
  color:#707870;
  margin-top:4px;
}

.ref-local{
  background:#dfe5dd;
  padding:90px 0 105px;
}
.ref-local h2{
  font-size:clamp(3rem,6vw,5.5rem);
  margin:12px 0 30px;
}

.ref-footer-brand{color:#f6f3eb}
.ref-footer-brand .ref-brand-word b{color:#cbd7c8}
.ref-footer-brand .ref-logo{color:#aebdaa}

@media(max-width:1050px){
  .ref-header .nav-links{display:none}
  .ref-menu{display:inline-flex}
  .ref-nav{justify-content:space-between}
  .ref-section-heading{grid-template-columns:1fr}
  .ref-journey-grid{grid-template-columns:1fr}
  .ref-contact-card{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ref-topline{height:38px;font-size:.68rem}
  .ref-nav{min-height:76px}
  .ref-logo{width:43px;height:43px}
  .ref-brand-word{font-size:1.7rem}
  .ref-menu{padding:11px 15px}
  .ref-hero{min-height:720px}
  .ref-hero-inner{min-height:720px;padding-top:38px}
  .ref-hero-bg{background-position:58% center}
  .ref-hero:before{
    background:
      linear-gradient(90deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.92) 55%,rgba(251,248,241,.58) 100%),
      linear-gradient(180deg,rgba(255,255,255,.12),rgba(248,245,238,.36));
  }
  .ref-project-chip{font-size:.72rem}
  .ref-hero-copy{padding-top:28px}
  .ref-hero h1{font-size:clamp(3.7rem,15vw,5.6rem);max-width:7.5ch}
  .ref-lead{font-size:1rem;max-width:410px;margin-top:22px}
  .ref-service-pills{gap:7px;margin-top:23px}
  .ref-service-pills a{font-size:.76rem;padding:9px 10px}
  .ref-hero-actions{max-width:100%;margin-top:23px}
  .ref-btn{min-height:54px}
  .ref-trust-row{grid-template-columns:1fr 1fr 1fr}
  .ref-trust-row>div{padding:16px 10px;display:block;text-align:center;min-height:98px}
  .ref-trust-row>div+div{border-left:1px solid #dedbd3}
  .ref-trust-icon{display:block;margin-bottom:6px}
  .ref-trust-row strong,.ref-trust-row small{display:block}
  .ref-real-work,.ref-services,.ref-journey{padding-top:75px}
  .ref-section-heading{gap:12px;margin-bottom:30px}
  .ref-section-heading h2{font-size:clamp(2.7rem,12vw,4rem)}
  .ref-work-grid{grid-template-columns:1fr;grid-template-rows:360px 260px 260px}
  .ref-work-main{grid-row:auto}
  .ref-services-grid{grid-template-columns:1fr}
  .ref-services-grid>a{min-height:250px}
  .ref-journey-photos{grid-template-columns:1fr;gap:12px}
  .ref-journey-photos figure{min-height:0;aspect-ratio:4/3}
  .ref-contact{padding:70px 0}
  .ref-contact-card{padding:30px 24px;gap:25px}
  .ref-contact-actions{min-width:0}
  .ref-local{padding:70px 0 90px}
}
@media(max-width:520px){
  .ref-header .container{width:calc(100% - 26px)}
  .ref-brand{gap:8px}
  .ref-logo{width:39px;height:39px}
  .ref-brand-word{font-size:1.53rem}
  .ref-menu{font-size:.9rem;border-radius:13px}
  .ref-hero{min-height:760px}
  .ref-hero-inner{min-height:760px}
  .ref-hero h1{font-size:clamp(3.35rem,16vw,4.75rem)}
  .ref-trust-row>div{padding:15px 7px}
  .ref-trust-row strong{font-size:.73rem}
  .ref-trust-row small{font-size:.65rem}
}


/* Logo painter refinement + subtle painting cues */
.ref-logo-painter{
  width:58px;
  height:58px;
  color:var(--ref-sage);
  flex:0 0 58px;
}
.ref-logo-painter svg{width:100%;height:100%;overflow:visible}
.ref-logo-painter .brush-ring{
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
}
.ref-logo-painter .ring-1{stroke-width:5.5;opacity:.95}
.ref-logo-painter .ring-2{stroke-width:3.2;opacity:.45}
.ref-logo-painter .ring-3{stroke-width:2.6;opacity:.28}
.ref-logo-painter .brush-head{fill:currentColor}
.ref-logo-painter .bristle{
  fill:none;
  stroke:#f8f5ee;
  stroke-width:2.1;
  stroke-linecap:round;
  opacity:.92;
}
.ref-logo-painter .ferrule{fill:currentColor;opacity:.88}
.ref-logo-painter .handle{fill:currentColor}
.ref-brand-word{
  position:relative;
}
.ref-brand-word:after{
  content:"";
  position:absolute;
  left:0;
  right:3px;
  bottom:-9px;
  height:5px;
  background:
    linear-gradient(90deg,
      rgba(127,144,123,.15),
      rgba(127,144,123,.42) 36%,
      rgba(127,144,123,.13) 78%,
      transparent);
  border-radius:999px 70% 999px 40%;
  transform:rotate(-1deg);
  opacity:.55;
}
.ref-pill-icon{
  width:21px;
  height:21px;
  display:inline-grid;
  place-items:center;
  color:var(--ref-sage);
}
.ref-pill-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-paint-detail{
  margin-top:17px;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.paint-swatch{
  width:22px;
  height:22px;
  border-radius:50%;
  border:3px solid rgba(255,253,249,.9);
  box-shadow:0 0 0 1px rgba(95,105,95,.11);
}
.swatch-cream{background:#eee8dd}
.swatch-sky{background:#b9cbd2}
.swatch-sage{background:#aab8a5}
.swatch-taupe{background:#b7aa9d}
.paint-note{
  margin-left:8px;
  color:#6b736b;
  font-size:.74rem;
  letter-spacing:.02em;
}
@media(max-width:760px){
  .ref-logo-painter{width:48px;height:48px;flex-basis:48px}
  .ref-brand-word:after{bottom:-7px;height:4px}
}
@media(max-width:520px){
  .ref-logo-painter{width:43px;height:43px;flex-basis:43px}
  .paint-note{width:100%;margin-left:0;margin-top:3px}
}


/* v3 — softer, more hand-painted Bianco Rimini mark */
.ref-logo-soft{
  width:60px;
  height:60px;
  flex:0 0 60px;
  display:grid;
  place-items:center;
  color:var(--ref-sage);
}
.ref-logo-soft svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.ref-logo-soft .soft-ring{
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-logo-soft .soft-ring-a{
  stroke-width:5.8;
  opacity:.88;
}
.ref-logo-soft .soft-ring-b{
  stroke-width:2.8;
  opacity:.34;
}
.ref-logo-soft .soft-ring-c{
  stroke-width:2.2;
  opacity:.22;
}
.ref-logo-soft .soft-brush-body{
  fill:currentColor;
  opacity:.93;
}
.ref-logo-soft .soft-bristle{
  fill:none;
  stroke:#f8f5ee;
  stroke-width:2;
  stroke-linecap:round;
  opacity:.86;
}
.ref-logo-soft .soft-ferrule{
  fill:currentColor;
  opacity:.82;
}
.ref-logo-soft .soft-handle{
  fill:currentColor;
  opacity:.9;
}
.ref-logo-soft .soft-paint{
  fill:currentColor;
  opacity:.28;
}
.ref-home .ref-brand-word{
  font-weight:400;
  letter-spacing:-.05em;
}
.ref-home .ref-brand-word b{
  font-weight:400;
}
.ref-home .ref-brand-word:after{
  height:4px;
  bottom:-8px;
  opacity:.32;
  transform:rotate(-1.8deg);
}
@media(max-width:760px){
  .ref-logo-soft{width:50px;height:50px;flex-basis:50px}
}
@media(max-width:520px){
  .ref-logo-soft{width:45px;height:45px;flex-basis:45px}
}


/* v4 — logo only: roller + organic brushstroke circle */
.ref-logo-roller{
  width:59px;
  height:59px;
  flex:0 0 59px;
  display:grid;
  place-items:center;
  color:var(--ref-sage);
}
.ref-logo-roller svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.ref-logo-roller .roller-brush-circle path{
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-logo-roller .circle-main{
  stroke-width:7.3;
  opacity:.86;
}
.ref-logo-roller .circle-tail{
  stroke-width:3.5;
  opacity:.38;
}
.ref-logo-roller .circle-dry{
  stroke-width:2.2;
  stroke-dasharray:12 4 5 7;
  opacity:.30;
}
.ref-logo-roller .circle-dry-2{
  stroke-width:2.7;
  stroke-dasharray:8 4 2 5;
  opacity:.24;
}
.ref-logo-roller .circle-end{
  stroke-width:4.1;
  opacity:.48;
}
.ref-logo-roller .paint-roller{
  color:var(--ref-sage);
}
.ref-logo-roller .roller-head{
  fill:currentColor;
  opacity:.90;
}
.ref-logo-roller .roller-texture{
  fill:none;
  stroke:#f8f5ee;
  stroke-width:1.4;
  stroke-linecap:round;
  opacity:.48;
}
.ref-logo-roller .roller-arm{
  fill:none;
  stroke:currentColor;
  stroke-width:5.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-logo-roller .roller-neck{
  fill:currentColor;
  opacity:.86;
}
.ref-logo-roller .roller-handle{
  fill:currentColor;
  opacity:.94;
}
.ref-logo-roller .roller-hole{
  fill:#f8f5ee;
  opacity:.75;
}

/* Keep the wordmark exactly in the existing site direction */
.ref-home .ref-brand-word:after{
  opacity:.25;
}

@media(max-width:760px){
  .ref-logo-roller{width:49px;height:49px;flex-basis:49px}
}
@media(max-width:520px){
  .ref-logo-roller{width:44px;height:44px;flex-basis:44px}
}


/* v5 — HERO: real painting job, clean/protected environment.
   Structure and logo intentionally unchanged. */
.ref-home .ref-hero-bg{
  background-image:url("../img/protected-room.webp");
  background-size:cover;
  background-position:center 48%;
  filter:brightness(1.16) saturate(.62) contrast(.88);
  transform:scale(1.025);
}
.ref-home .ref-hero:before{
  background:
    linear-gradient(
      90deg,
      rgba(251,248,241,.98) 0%,
      rgba(251,248,241,.93) 34%,
      rgba(251,248,241,.76) 55%,
      rgba(251,248,241,.34) 76%,
      rgba(251,248,241,.16) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.22) 0%,
      rgba(248,245,238,.04) 58%,
      rgba(248,245,238,.40) 100%
    );
}
.ref-home .ref-project-chip{
  border-color:rgba(127,144,123,.34);
  background:rgba(255,253,249,.88);
}
.ref-home .ref-project-chip:before{
  content:"▰";
  font-size:.88rem;
  transform:rotate(-6deg);
}

/* Slightly more visible real-work image without making the page aggressive. */
@media(max-width:760px){
  .ref-home .ref-hero-bg{
    background-position:55% center;
    filter:brightness(1.20) saturate(.60) contrast(.86);
  }
  .ref-home .ref-hero:before{
    background:
      linear-gradient(
        90deg,
        rgba(251,248,241,.98) 0%,
        rgba(251,248,241,.92) 48%,
        rgba(251,248,241,.62) 72%,
        rgba(251,248,241,.26) 100%
      ),
      linear-gradient(
        180deg,
        rgba(255,255,255,.16),
        rgba(248,245,238,.26) 72%,
        rgba(248,245,238,.42)
      );
  }
}


/* v6 — Homepage hero tuned to communicate the work more clearly,
   while staying calm, clean and premium. */
.ref-home .ref-hero-bg{
  background-image:url("../img/protected-room.webp");
  background-size:cover;
  background-position:74% 55%;
  filter:brightness(1.10) saturate(.70) contrast(.92);
  transform:scale(1.015);
}

.ref-home .ref-hero:before{
  background:
    linear-gradient(
      90deg,
      rgba(251,248,241,.985) 0%,
      rgba(251,248,241,.955) 30%,
      rgba(251,248,241,.84) 50%,
      rgba(251,248,241,.54) 70%,
      rgba(251,248,241,.20) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.20) 0%,
      rgba(248,245,238,.06) 55%,
      rgba(248,245,238,.36) 100%
    );
}

.ref-home .ref-project-chip{
  border-color:rgba(127,144,123,.34);
  background:rgba(255,253,249,.92);
}
.ref-home .ref-project-chip:before{
  content:"▰";
  font-size:.88rem;
  transform:rotate(-6deg);
}

.ref-home .ref-hero{
  overflow:hidden;
}
.ref-home .ref-hero:after{
  content:"Foto reale del lavoro\APavimento protetto · bordi mascherati";
  position:absolute;
  right:clamp(28px,4vw,46px);
  top:clamp(170px,23vw,250px);
  z-index:-1;
  white-space:pre-line;
  font-size:.92rem;
  line-height:1.45;
  letter-spacing:.01em;
  color:#465046;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(157,166,150,.34);
  background:rgba(255,253,249,.72);
  box-shadow:0 18px 40px rgba(44,55,44,.08);
  backdrop-filter:blur(5px);
  max-width:290px;
}
.ref-home .ref-hero:after::first-line{
  font-weight:700;
}

.ref-home .ref-lead{
  max-width:600px;
}

@media(max-width:980px){
  .ref-home .ref-hero-bg{
    background-position:68% 56%;
  }
  .ref-home .ref-hero:after{
    top:160px;
    right:18px;
    max-width:240px;
    font-size:.85rem;
  }
}

@media(max-width:760px){
  .ref-home .ref-hero-bg{
    background-position:66% 62%;
    filter:brightness(1.12) saturate(.68) contrast(.90);
    transform:scale(1.01);
  }
  .ref-home .ref-hero:before{
    background:
      linear-gradient(
        180deg,
        rgba(251,248,241,.58) 0%,
        rgba(251,248,241,.32) 26%,
        rgba(251,248,241,.88) 56%,
        rgba(251,248,241,.97) 100%
      ),
      linear-gradient(
        90deg,
        rgba(251,248,241,.96) 0%,
        rgba(251,248,241,.78) 34%,
        rgba(251,248,241,.22) 100%
      );
  }
  .ref-home .ref-hero:after{
    top:136px;
    right:16px;
    padding:10px 13px;
    font-size:.78rem;
    max-width:210px;
    border-radius:16px;
    background:rgba(255,253,249,.78);
  }
}


/* v7 — restore the brighter, cleaner hero background preferred by the client */
.ref-home .ref-hero-bg{
  background-image:url("../img/hero-blue.webp") !important;
  background-size:cover !important;
  background-position:center 48% !important;
  filter:brightness(1.22) saturate(.55) contrast(.82) !important;
  transform:scale(1.02) !important;
}

.ref-home .ref-hero:before{
  background:
    linear-gradient(90deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.92) 44%,rgba(251,248,241,.62) 68%,rgba(251,248,241,.34) 100%),
    linear-gradient(180deg,rgba(255,255,255,.30),rgba(248,245,238,.12) 60%,rgba(248,245,238,.50)) !important;
}

.ref-home .ref-hero:after{
  content:none !important;
  display:none !important;
}

@media(max-width:760px){
  .ref-home .ref-hero-bg{
    background-position:62% center !important;
    filter:brightness(1.20) saturate(.56) contrast(.84) !important;
  }
  .ref-home .ref-hero:before{
    background:
      linear-gradient(180deg,rgba(251,248,241,.60) 0%,rgba(251,248,241,.34) 26%,rgba(251,248,241,.86) 58%,rgba(251,248,241,.97) 100%),
      linear-gradient(90deg,rgba(251,248,241,.95) 0%,rgba(251,248,241,.76) 34%,rgba(251,248,241,.20) 100%) !important;
  }
}


/* ============================================================
   v8 — Homepage rebuilt around the supplied visual reference.
   Approved logo is intentionally untouched.
   ============================================================ */

.ref-home{
  --ref-bg:#f8f5ee;
  --ref-paper:rgba(255,253,249,.93);
  --ref-sage:#7f907b;
  --ref-sage-dark:#687964;
  --ref-ink:#2d322e;
}

.ref-topline{
  height:48px;
  background:rgba(244,240,231,.96);
  border-bottom:1px solid rgba(168,170,160,.20);
}
.ref-topline .container{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:.23em;
  font-size:.72rem;
  color:#5f665f;
}

.ref-header{
  background:rgba(255,253,249,.93);
  border-bottom:1px solid rgba(177,177,166,.22);
  backdrop-filter:blur(14px);
}
.ref-nav{
  min-height:118px;
}
.ref-brand{
  gap:17px;
}
.ref-brand-word{
  font-size:2.65rem;
  letter-spacing:-.045em;
  font-weight:400;
}
.ref-brand-word b{
  font-weight:400;
  color:var(--ref-sage);
}
.ref-brand-word:after{
  display:none !important;
}
.ref-logo-roller{
  width:72px !important;
  height:72px !important;
  flex-basis:72px !important;
}
.ref-menu{
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  min-height:58px;
  padding:0 24px;
  background:rgba(255,253,249,.92);
  border:1px solid #8d9a88;
  border-radius:16px;
  color:#2f3530;
  font-size:1rem;
}
.ref-header .nav-links{
  display:none !important;
}

.ref-hero-reference{
  min-height:1010px;
  background:#f7f3eb;
}
.ref-hero-reference .ref-hero-bg{
  background-image:url("../img/hero-blue.webp") !important;
  background-size:cover !important;
  background-position:63% center !important;
  filter:brightness(1.37) saturate(.36) contrast(.75) !important;
  transform:scale(1.03) !important;
}
.ref-hero-reference:before{
  background:
    linear-gradient(
      90deg,
      rgba(250,247,240,.985) 0%,
      rgba(250,247,240,.955) 31%,
      rgba(250,247,240,.79) 49%,
      rgba(250,247,240,.40) 72%,
      rgba(250,247,240,.16) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.18),
      rgba(248,245,238,.02) 55%,
      rgba(248,245,238,.52) 100%
    ) !important;
}
.ref-hero-reference:after{
  display:none !important;
  content:none !important;
}
.ref-hero-reference .ref-hero-inner{
  min-height:1010px;
  padding-top:54px;
  padding-bottom:30px;
}
.ref-project-chip{
  padding:11px 18px;
  gap:9px;
  border-radius:999px;
  border-color:rgba(127,144,123,.30);
  background:rgba(255,253,249,.79);
  font-size:.88rem;
  font-weight:500;
  color:#6c756b;
}
.ref-project-chip:before{
  content:none !important;
}
.ref-chip-home{
  width:19px;
  height:19px;
  display:inline-grid;
  place-items:center;
  color:var(--ref-sage);
}
.ref-chip-home svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ref-hero-reference .ref-hero-copy{
  padding-top:34px;
  max-width:680px;
}
.ref-hero-reference .ref-hero-copy .eyebrow{
  display:none;
}
.ref-hero-reference h1{
  margin:0;
  max-width:7.8ch;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(5rem,7.3vw,7.8rem);
  line-height:.91;
  letter-spacing:-.055em;
  font-weight:400;
  color:#2d302d;
}
.ref-hero-reference h1 em{
  color:var(--ref-sage);
  font-style:normal;
  font-weight:400;
}
.ref-hero-reference .ref-lead{
  margin-top:34px;
  max-width:570px;
  color:#3d433e;
  font-size:1.24rem;
  line-height:1.55;
  font-weight:430;
}

.ref-service-pills-reference{
  margin-top:31px;
  gap:10px;
}
.ref-service-pills-reference a{
  min-height:48px;
  padding:10px 16px;
  border:1px solid rgba(127,144,123,.38);
  border-radius:12px;
  background:rgba(255,253,249,.76);
  color:#687167;
  font-size:.91rem;
  font-weight:500;
  box-shadow:none;
}
.ref-service-pills-reference .ref-pill-icon{
  width:22px;
  height:22px;
}
.ref-service-pills-reference .ref-pill-icon svg{
  width:21px;
  height:21px;
  stroke-width:1.55;
}

.ref-paint-detail{
  display:none !important;
}

.ref-hero-actions-reference{
  margin-top:32px;
  max-width:435px;
  gap:14px;
}
.ref-hero-actions-reference .ref-btn{
  min-height:72px;
  border-radius:14px;
  justify-content:flex-start;
  padding:14px 24px;
  font-size:1.18rem;
  font-weight:650;
}
.ref-btn-with-icon{
  gap:17px;
}
.cta-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
}
.cta-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-hero-actions-reference .ref-btn-primary{
  background:var(--ref-sage);
  border-color:var(--ref-sage);
  color:#fff;
}
.ref-hero-actions-reference .ref-btn-light{
  background:rgba(255,253,249,.74);
  border-color:#81907d;
  color:#303630;
}

.ref-trust-reference{
  width:min(840px,100%);
  margin-top:auto;
  background:rgba(255,253,249,.86);
  border:1px solid rgba(185,185,175,.46);
  border-radius:19px;
  box-shadow:0 11px 30px rgba(56,64,56,.06);
  backdrop-filter:blur(10px);
}
.ref-trust-reference>div{
  min-height:108px;
  padding:18px 22px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-content:center;
  align-items:center;
  column-gap:15px;
}
.ref-trust-reference .ref-trust-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:var(--ref-sage);
  grid-row:auto;
  font-size:0;
}
.ref-trust-reference .ref-trust-icon svg{
  width:35px;
  height:35px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ref-trust-reference strong{
  color:#424942;
  font-size:.84rem;
  line-height:1.35;
  font-weight:540;
}
.ref-trust-reference small{
  display:none;
}

@media(max-width:760px){
  .ref-topline{
    height:42px;
  }
  .ref-topline .container{
    font-size:.62rem;
    letter-spacing:.20em;
  }

  .ref-nav{
    min-height:100px;
  }
  .ref-logo-roller{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
  }
  .ref-brand{
    gap:10px;
  }
  .ref-brand-word{
    font-size:2.18rem;
  }
  .ref-menu{
    min-height:52px;
    padding:0 18px;
    border-radius:15px;
    font-size:.95rem;
  }

  .ref-hero-reference{
    min-height:1040px;
  }
  .ref-hero-reference .ref-hero-inner{
    min-height:1040px;
    padding-top:38px;
  }
  .ref-hero-reference .ref-hero-bg{
    background-position:68% center !important;
    filter:brightness(1.42) saturate(.33) contrast(.72) !important;
  }
  .ref-hero-reference:before{
    background:
      linear-gradient(
        90deg,
        rgba(250,247,240,.985) 0%,
        rgba(250,247,240,.93) 49%,
        rgba(250,247,240,.55) 78%,
        rgba(250,247,240,.20) 100%
      ),
      linear-gradient(
        180deg,
        rgba(255,255,255,.08) 0%,
        rgba(248,245,238,.05) 42%,
        rgba(248,245,238,.65) 100%
      ) !important;
  }

  .ref-project-chip{
    padding:10px 14px;
    font-size:.76rem;
  }
  .ref-chip-home{
    width:17px;
    height:17px;
  }

  .ref-hero-reference .ref-hero-copy{
    padding-top:27px;
  }
  .ref-hero-reference h1{
    font-size:clamp(4.15rem,16vw,5.35rem);
    line-height:.91;
    max-width:6.8ch;
  }
  .ref-hero-reference .ref-lead{
    margin-top:29px;
    max-width:395px;
    font-size:1.02rem;
    line-height:1.5;
  }
  .desktop-break{
    display:none;
  }

  .ref-service-pills-reference{
    margin-top:26px;
    gap:7px;
  }
  .ref-service-pills-reference a{
    min-height:43px;
    padding:9px 11px;
    border-radius:11px;
    font-size:.76rem;
    gap:6px;
  }
  .ref-service-pills-reference .ref-pill-icon{
    width:18px;
    height:18px;
  }
  .ref-service-pills-reference .ref-pill-icon svg{
    width:18px;
    height:18px;
  }

  .ref-hero-actions-reference{
    max-width:405px;
    margin-top:28px;
    gap:12px;
  }
  .ref-hero-actions-reference .ref-btn{
    min-height:68px;
    padding:13px 20px;
    font-size:1.08rem;
  }
  .cta-icon{
    width:25px;
    height:25px;
    flex-basis:25px;
  }

  .ref-trust-reference{
    margin-top:auto;
    grid-template-columns:repeat(3,1fr);
  }
  .ref-trust-reference>div{
    min-height:105px;
    padding:15px 9px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    gap:7px;
  }
  .ref-trust-reference .ref-trust-icon{
    width:31px;
    height:31px;
  }
  .ref-trust-reference .ref-trust-icon svg{
    width:30px;
    height:30px;
  }
  .ref-trust-reference strong{
    font-size:.69rem;
    line-height:1.28;
  }
}

@media(max-width:520px){
  .ref-header .container{
    width:calc(100% - 26px);
  }
  .ref-nav{
    min-height:92px;
  }
  .ref-logo-roller{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }
  .ref-brand-word{
    font-size:1.88rem;
  }
  .ref-menu{
    min-height:49px;
    padding:0 15px;
    font-size:.88rem;
  }

  .ref-hero-reference{
    min-height:1020px;
  }
  .ref-hero-reference .ref-hero-inner{
    min-height:1020px;
  }
  .ref-hero-reference h1{
    font-size:clamp(3.85rem,17.5vw,4.85rem);
  }
  .ref-hero-reference .ref-lead{
    font-size:.98rem;
  }

  .ref-service-pills-reference a{
    font-size:.71rem;
    padding:8px 9px;
  }

  .ref-hero-actions-reference .ref-btn{
    min-height:64px;
    font-size:1rem;
  }

  .ref-trust-reference strong{
    font-size:.63rem;
  }
}


/* =========================================================
   v9 — MATCH the supplied homepage reference.
   Mobile-first proportions are intentionally compact so the
   whole first impact fits like the reference screenshot.
   ========================================================= */

.ref-home{
  --match-paper:#fbf8f1;
  --match-paper-2:#f6f1e8;
  --match-ink:#2d312d;
  --match-sage:#81917d;
  --match-sage-dark:#687763;
  background:var(--match-paper);
}

/* top strip */
.ref-topline{
  height:29px !important;
  background:#f1ede4 !important;
  border-bottom:1px solid rgba(106,115,104,.12) !important;
}
.ref-topline .container{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.58rem !important;
  line-height:1;
  color:#60665f;
}

/* header */
.ref-header{
  position:relative !important;
  top:auto !important;
  background:rgba(255,253,249,.97) !important;
  border-bottom:1px solid rgba(118,126,116,.12) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.ref-header .container{
  width:calc(100% - 30px) !important;
}
.ref-nav{
  min-height:91px !important;
  padding:0 !important;
  justify-content:space-between !important;
}
.ref-brand{
  gap:9px !important;
}
.ref-logo-roller{
  width:53px !important;
  height:53px !important;
  flex:0 0 53px !important;
  color:#7c8d78 !important;
}
.ref-logo-roller svg{
  overflow:visible;
}
.ref-brand-word{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.92rem !important;
  font-weight:400 !important;
  letter-spacing:-.045em !important;
  color:#292d2a !important;
}
.ref-brand-word b{
  color:var(--match-sage) !important;
  font-weight:400 !important;
}
.ref-brand-word:after{
  display:none !important;
}
.ref-header .nav-links{
  display:none !important;
}
.ref-menu{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:7px !important;
  min-width:105px !important;
  min-height:52px !important;
  padding:0 14px !important;
  border:1px solid #879783 !important;
  border-radius:14px !important;
  background:rgba(255,253,249,.95) !important;
  color:#303530 !important;
  font-size:.92rem !important;
  font-weight:500 !important;
  box-shadow:none !important;
}

/* hero */
.ref-hero-reference{
  min-height:648px !important;
  overflow:hidden !important;
  background:#f8f4eb !important;
}
.ref-hero-reference .ref-hero-bg{
  background-image:url("../img/large-room-2.webp") !important;
  background-size:cover !important;
  background-position:66% center !important;
  filter:brightness(1.34) saturate(.28) contrast(.76) sepia(.05) !important;
  transform:scale(1.035) !important;
  opacity:1 !important;
}
.ref-hero-reference:before{
  background:
    linear-gradient(
      90deg,
      rgba(251,248,241,.995) 0%,
      rgba(251,248,241,.965) 35%,
      rgba(251,248,241,.82) 55%,
      rgba(251,248,241,.47) 77%,
      rgba(251,248,241,.18) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.14) 0%,
      rgba(255,255,255,.02) 52%,
      rgba(248,245,238,.42) 100%
    ) !important;
}
.ref-hero-reference:after{
  display:none !important;
  content:none !important;
}
.ref-hero-reference .ref-hero-inner{
  min-height:648px !important;
  padding-top:25px !important;
  padding-bottom:17px !important;
}

/* chip */
.ref-project-chip{
  align-self:flex-start !important;
  min-height:34px !important;
  padding:7px 12px !important;
  gap:7px !important;
  border:1px solid rgba(127,145,124,.30) !important;
  border-radius:999px !important;
  background:rgba(255,253,249,.77) !important;
  box-shadow:none !important;
  color:#697268 !important;
  font-size:.71rem !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
}
.ref-project-chip:before{
  content:none !important;
}
.ref-chip-home{
  width:17px !important;
  height:17px !important;
  color:#7d8f79 !important;
}

/* main copy */
.ref-hero-reference .ref-hero-copy{
  padding-top:20px !important;
  max-width:335px !important;
}
.ref-hero-reference h1{
  margin:0 !important;
  max-width:6.65ch !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:3.62rem !important;
  line-height:.91 !important;
  font-weight:400 !important;
  letter-spacing:-.055em !important;
  color:var(--match-ink) !important;
}
.ref-hero-reference h1 em{
  color:var(--match-sage) !important;
  font-style:normal !important;
  font-weight:400 !important;
}
.ref-hero-reference .ref-lead{
  margin:20px 0 0 !important;
  max-width:328px !important;
  font-size:.91rem !important;
  line-height:1.43 !important;
  font-weight:420 !important;
  color:#3f443f !important;
}
.desktop-break{display:none !important;}

/* service chips */
.ref-service-pills-reference{
  margin-top:18px !important;
  display:grid !important;
  grid-template-columns:repeat(3,max-content) !important;
  gap:7px !important;
  align-items:center !important;
}
.ref-service-pills-reference a{
  min-height:38px !important;
  padding:7px 9px !important;
  gap:5px !important;
  border:1px solid rgba(127,145,124,.35) !important;
  border-radius:10px !important;
  background:rgba(255,253,249,.72) !important;
  box-shadow:none !important;
  color:#677067 !important;
  font-size:.65rem !important;
  font-weight:500 !important;
  white-space:nowrap !important;
}
.ref-service-pills-reference .ref-pill-icon{
  width:17px !important;
  height:17px !important;
}
.ref-service-pills-reference .ref-pill-icon svg{
  width:17px !important;
  height:17px !important;
  stroke-width:1.45 !important;
}

/* CTA */
.ref-hero-actions-reference{
  margin-top:18px !important;
  width:100% !important;
  max-width:310px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:9px !important;
}
.ref-hero-actions-reference .ref-btn{
  min-height:57px !important;
  width:100% !important;
  padding:0 17px !important;
  justify-content:flex-start !important;
  gap:12px !important;
  border-radius:11px !important;
  font-size:.96rem !important;
  font-weight:600 !important;
  box-shadow:none !important;
}
.ref-hero-actions-reference .ref-btn-primary{
  background:#7f917a !important;
  border-color:#7f917a !important;
  color:#fff !important;
}
.ref-hero-actions-reference .ref-btn-light{
  background:rgba(255,253,249,.78) !important;
  border:1px solid #82917e !important;
  color:#2f3530 !important;
}
.cta-icon{
  width:24px !important;
  height:24px !important;
  flex-basis:24px !important;
}

/* trust bar */
.ref-trust-reference{
  width:100% !important;
  margin-top:auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  border:1px solid rgba(176,180,169,.42) !important;
  border-radius:14px !important;
  background:rgba(255,253,249,.83) !important;
  box-shadow:0 8px 22px rgba(58,66,57,.055) !important;
  backdrop-filter:blur(7px) !important;
}
.ref-trust-reference>div{
  min-height:75px !important;
  padding:10px 7px !important;
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  align-content:center !important;
  gap:7px !important;
  text-align:left !important;
}
.ref-trust-reference>div+div{
  border-left:1px solid rgba(176,180,169,.34) !important;
}
.ref-trust-reference .ref-trust-icon{
  width:27px !important;
  height:27px !important;
  color:#81917d !important;
}
.ref-trust-reference .ref-trust-icon svg{
  width:27px !important;
  height:27px !important;
  stroke-width:1.45 !important;
}
.ref-trust-reference strong{
  font-size:.56rem !important;
  line-height:1.28 !important;
  font-weight:520 !important;
  color:#454b45 !important;
}
.ref-trust-reference small{
  display:none !important;
}

/* remove older decorative helpers from hero */
.ref-paint-detail{display:none !important;}

/* larger phones / tablets */
@media(min-width:430px) and (max-width:760px){
  .ref-header .container{width:calc(100% - 42px) !important;}
  .ref-brand-word{font-size:2.08rem !important;}
  .ref-logo-roller{width:58px !important;height:58px !important;flex-basis:58px !important;}
  .ref-menu{min-width:112px !important;min-height:55px !important;font-size:.97rem !important;}
  .ref-hero-reference{min-height:690px !important;}
  .ref-hero-reference .ref-hero-inner{min-height:690px !important;padding-top:29px !important;}
  .ref-hero-reference .ref-hero-copy{max-width:385px !important;}
  .ref-hero-reference h1{font-size:4.02rem !important;}
  .ref-hero-reference .ref-lead{font-size:.98rem !important;max-width:365px !important;}
  .ref-service-pills-reference a{font-size:.70rem !important;padding:8px 11px !important;}
  .ref-hero-actions-reference{max-width:338px !important;}
  .ref-hero-actions-reference .ref-btn{min-height:61px !important;font-size:1.02rem !important;}
  .ref-trust-reference>div{min-height:82px !important;padding:12px 10px !important;}
  .ref-trust-reference strong{font-size:.62rem !important;}
}

/* desktop keeps same language but more breathing room */
@media(min-width:761px){
  .ref-topline{height:43px !important;}
  .ref-topline .container{font-size:.72rem !important;}
  .ref-nav{min-height:122px !important;}
  .ref-logo-roller{width:72px !important;height:72px !important;flex-basis:72px !important;}
  .ref-brand-word{font-size:2.65rem !important;}
  .ref-menu{min-width:128px !important;min-height:60px !important;font-size:1rem !important;}
  .ref-hero-reference{min-height:820px !important;}
  .ref-hero-reference .ref-hero-inner{min-height:820px !important;padding-top:42px !important;padding-bottom:28px !important;}
  .ref-hero-reference .ref-hero-bg{background-position:64% center !important;}
  .ref-project-chip{font-size:.84rem !important;min-height:40px !important;padding:9px 16px !important;}
  .ref-hero-reference .ref-hero-copy{padding-top:29px !important;max-width:650px !important;}
  .ref-hero-reference h1{font-size:6.5rem !important;max-width:7ch !important;}
  .ref-hero-reference .ref-lead{font-size:1.18rem !important;max-width:540px !important;margin-top:28px !important;}
  .desktop-break{display:block !important;}
  .ref-service-pills-reference{margin-top:25px !important;gap:10px !important;}
  .ref-service-pills-reference a{min-height:46px !important;padding:9px 14px !important;font-size:.84rem !important;}
  .ref-hero-actions-reference{margin-top:26px !important;max-width:390px !important;gap:11px !important;}
  .ref-hero-actions-reference .ref-btn{min-height:67px !important;font-size:1.08rem !important;}
  .ref-trust-reference{width:min(760px,100%) !important;}
  .ref-trust-reference>div{min-height:96px !important;padding:16px 18px !important;}
  .ref-trust-reference strong{font-size:.78rem !important;}
}


/* =========================================================
   v10 — use the user-supplied background reference directly,
   less washed out, clearer and less depressive.
   ========================================================= */
.ref-hero-reference .ref-hero-bg{
  background-image:url("../img/hero-reference-user.png") !important;
  background-position:74% center !important;
  background-size:cover !important;
  filter:brightness(1.08) saturate(.82) contrast(.96) !important;
  transform:scale(1.03) !important;
  opacity:1 !important;
}
.ref-hero-reference:before{
  background:
    linear-gradient(90deg,
      rgba(251,248,241,.98) 0%,
      rgba(251,248,241,.94) 28%,
      rgba(251,248,241,.78) 46%,
      rgba(251,248,241,.30) 66%,
      rgba(251,248,241,.08) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,.02) 60%,
      rgba(248,245,238,.12) 100%) !important;
}
@media (max-width: 760px){
  .ref-hero-reference .ref-hero-bg{
    background-position:78% center !important;
    filter:brightness(1.08) saturate(.86) contrast(.98) !important;
  }
  .ref-hero-reference:before{
    background:
      linear-gradient(90deg,
        rgba(251,248,241,.985) 0%,
        rgba(251,248,241,.95) 33%,
        rgba(251,248,241,.77) 49%,
        rgba(251,248,241,.32) 68%,
        rgba(251,248,241,.10) 100%),
      linear-gradient(180deg,
        rgba(255,255,255,.03) 0%,
        rgba(255,255,255,.00) 62%,
        rgba(248,245,238,.10) 100%) !important;
  }
}


/* =========================================================
   FINAL v11 — coherent calm design across the whole site.
   The approved homepage hero is intentionally preserved.
   ========================================================= */
body.final-calm{
  --calm-cream:#f8f5ee;
  --calm-paper:#fffdf9;
  --calm-ink:#2d312d;
  --calm-muted:#70766e;
  --calm-sage:#7f907b;
  --calm-sage-dark:#677564;
  --calm-line:#ddd8cf;
  background:var(--calm-cream);
  color:var(--calm-ink);
}
body.final-calm:not(.ref-home) h1,
body.final-calm:not(.ref-home) h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.04em;
  color:var(--calm-ink);
}
body.final-calm:not(.ref-home) h3{
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  letter-spacing:-.025em;
  color:var(--calm-ink);
}
body.final-calm p{color:var(--calm-muted)}

/* one calm header language everywhere */
.final-header{box-shadow:none!important}
.final-header .ref-nav{position:relative}
.final-header .final-menu-panel.open{
  display:grid!important;
  position:absolute;
  z-index:120;
  top:calc(100% - 5px);
  right:0;
  width:min(360px,calc(100vw - 30px));
  padding:10px;
  border:1px solid var(--calm-line);
  border-radius:18px;
  background:rgba(255,253,249,.985);
  box-shadow:0 18px 50px rgba(40,46,39,.12);
  backdrop-filter:blur(14px);
  gap:2px;
}
.final-header .final-menu-panel.open a{
  padding:12px 14px;
  border-radius:12px;
  color:#505850;
  font-size:.92rem;
  font-weight:650;
}
.final-header .final-menu-panel.open a:hover,
.final-header .final-menu-panel.open a[aria-current="page"]{
  background:#edf1eb;
  color:#536451;
}
.final-header .final-menu-panel.open a:after{display:none!important}

/* internal heroes */
body.final-calm:not(.ref-home) .page-hero{
  padding:72px 0 68px;
  background:linear-gradient(180deg,#fbf8f1 0%,#f5f1e8 100%);
  border-bottom:1px solid var(--calm-line);
}
body.final-calm:not(.ref-home) .page-hero .container{max-width:980px}
body.final-calm:not(.ref-home) .page-hero .breadcrumbs{
  color:#8a9088;
  font-size:.78rem;
  margin-bottom:25px;
}
body.final-calm:not(.ref-home) .page-hero .eyebrow{color:#748371}
body.final-calm:not(.ref-home) .page-hero h1{
  max-width:13ch;
  font-size:clamp(3.4rem,7vw,6.7rem);
  line-height:.94;
  margin-bottom:24px;
}
body.final-calm:not(.ref-home) .page-hero .lead{
  max-width:760px;
  font-size:1.08rem;
  line-height:1.7;
  color:#697168;
}

/* sage actions, never aggressive */
body.final-calm:not(.ref-home) .btn-primary,
body.final-calm:not(.ref-home) .filter-btn.active{
  background:var(--calm-sage)!important;
  border-color:var(--calm-sage)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.final-calm:not(.ref-home) .btn-primary:hover{background:var(--calm-sage-dark)!important}
body.final-calm:not(.ref-home) .text-link,
body.final-calm:not(.ref-home) .eyebrow{color:#71806e}
body.final-calm:not(.ref-home) .btn-light{
  background:#fffdf9;
  border-color:#d8d3ca;
  color:#394039;
}

/* article/service surfaces */
body.final-calm:not(.ref-home) .section-white{background:#fffdf9}
body.final-calm:not(.ref-home) .card,
body.final-calm:not(.ref-home) .article-card,
body.final-calm:not(.ref-home) .project-card,
body.final-calm:not(.ref-home) .step,
body.final-calm:not(.ref-home) .quote-box,
body.final-calm:not(.ref-home) .faq details{
  border-color:#e1ddd5;
  background:#fffefb;
  box-shadow:none;
}
body.final-calm:not(.ref-home) .article{
  font-size:1.02rem;
  line-height:1.78;
}
body.final-calm:not(.ref-home) .article h2{margin-top:2.1em}
body.final-calm:not(.ref-home) .article-image{border-radius:20px}
body.final-calm:not(.ref-home) .notice{
  background:#edf1eb;
  border-color:#dbe3d8;
  color:#586655;
}

/* gallery */
body.final-calm .filters{gap:8px}
body.final-calm .filter-btn{
  border-color:#d8d3ca;
  background:#fffdf9;
  color:#666f64;
  box-shadow:none;
}
body.final-calm .project-card{overflow:hidden;border-radius:22px}
body.final-calm .project-card .media{background:#efede7}
body.final-calm .project-card .media img{transition:transform .35s ease}
body.final-calm .project-card:hover .media img{transform:scale(1.018)}
body.final-calm .project-card h2{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;letter-spacing:-.03em!important}
body.final-calm .badge{background:#edf1eb;color:#687865}

/* homepage process — quiet and useful */
.final-calm-process{background:#f2eee6;border-top:1px solid rgba(120,130,118,.10);border-bottom:1px solid rgba(120,130,118,.10)}
.final-process-heading{display:grid!important;grid-template-columns:1fr .8fr;gap:45px;align-items:end!important}
.final-process-heading p{max-width:560px;margin:0}
.final-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px}
.final-process-grid article{min-height:245px;padding:27px;border:1px solid #ddd8cf;border-radius:20px;background:rgba(255,253,249,.78)}
.final-process-grid article span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#e7ece4;color:#687766;font-size:.75rem;font-weight:800;margin-bottom:48px}
.final-process-grid h3{font-family:Georgia,"Times New Roman",serif!important;font-size:1.55rem!important;font-weight:500!important;letter-spacing:-.03em!important;margin-bottom:10px}
.final-process-grid p{font-size:.88rem;line-height:1.6;margin:0}

/* calmer footer, no unfinished legal placeholders */
.final-footer{padding-top:64px!important}
.final-footer .ref-footer-brand .ref-logo-roller{color:#afbdab!important}
.final-footer .ref-footer-brand .ref-brand-word{color:#f6f2ea!important}
.final-footer .ref-footer-brand .ref-brand-word b{color:#c0cbbd!important}
.final-footer-intro{max-width:430px;margin-top:16px!important;color:#c9d0c7!important}
.final-footer h3{font-size:.82rem!important;text-transform:uppercase;letter-spacing:.12em;color:#f0eee8!important;margin-bottom:16px!important}
.final-footer .footer-links{gap:8px}
.final-footer .footer-bottom{color:#aeb5ac}

/* mobile bottom bar: calm conversion, not a battle banner */
.mobile-cta{
  box-shadow:0 -8px 28px rgba(45,51,44,.06)!important;
}
.mobile-cta .btn{font-weight:700!important}
.mobile-cta .btn-primary{background:#7f907b!important;box-shadow:none!important}

@media(max-width:980px){
  .final-process-heading{grid-template-columns:1fr}
  .final-process-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  body.final-calm:not(.ref-home) .page-hero{padding:48px 0 46px}
  body.final-calm:not(.ref-home) .page-hero h1{font-size:clamp(3rem,14vw,4.8rem);max-width:10.5ch}
  body.final-calm:not(.ref-home) .page-hero .lead{font-size:.98rem;line-height:1.65}
  .final-process-grid{grid-template-columns:1fr}
  .final-process-grid article{min-height:0;padding:24px}
  .final-process-grid article span{margin-bottom:28px}
  .final-header .final-menu-panel.open{left:0;right:0;width:100%}
  .final-footer{padding-bottom:92px!important}
}

/* Nota fiducia — volutamente discreta */
.insurance-note{
  margin-top:16px;
  color:#657164;
  font-size:.94rem;
}
.insurance-note strong{
  font-weight:600;
}

/* Tipi di rasatura */
.rasature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:38px 0 48px;
}
.rasature-grid section{
  padding:28px;
  border:1px solid #e1ddd5;
  border-radius:20px;
  background:#f8f6f0;
}
.rasature-grid span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:24px;
  border-radius:50%;
  background:#e7ece4;
  color:#687766;
  font-size:.75rem;
  font-weight:800;
}
.rasature-grid h2{
  margin:0 0 12px!important;
  font-size:1.55rem;
}
.rasature-grid p{margin:0;font-size:.96rem;line-height:1.7}
.rasature-steps{display:grid;gap:12px;padding-left:1.4rem}
.rasature-steps li{padding-left:6px}
.rasature-feature{margin:30px 0 38px}
.rasature-feature .article-image{margin:0;max-height:680px;object-fit:cover;object-position:center}
.rasature-feature figcaption,
.rasature-gallery figcaption{
  padding:12px 2px 0;
  color:#687168;
  font-size:.86rem;
  line-height:1.5;
}
.rasature-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:28px 0 50px;
}
.rasature-gallery figure{margin:0}
.rasature-gallery img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:18px;
  background:#efede7;
}
.rasature-gallery .landscape{grid-column:span 2}
.rasature-gallery .landscape img{aspect-ratio:16/9}

@media(max-width:680px){
  .rasature-grid{grid-template-columns:1fr}
  .rasature-grid section{padding:24px}
  .rasature-gallery{grid-template-columns:1fr}
  .rasature-gallery .landscape{grid-column:auto}
  .rasature-gallery .landscape img{aspect-ratio:4/3}
}
