@import url('fonts/fonts.css');
:root{
--c-ink:#473f3b;
--c-ink-soft:#6b615b;
--c-white:#ffffff;
--c-cream:#f9f6f4;
--c-offwhite:#ffffff;
--c-tan:#ede7df;
--c-beige:#ede7df;
--c-sand:#e1d3c0;
--c-line:#e1d3c0;
--c-green:#0d6b4d;
--c-green-deep:#0a5540;
--c-clay:#b0714b;
--f-display:"Cantata One", Georgia, serif;
--f-text:"Manrope", "Helvetica Neue", Helvetica, sans-serif;
--t-hero:clamp(34px, 4.4vw, 60px);
--t-h2:clamp(27px, 3vw, 40px);
--t-card-lg:clamp(28px, 2.6vw, 38px);
--t-h3:22px;
--t-h4:18px;
--t-body:17px;
--t-small:15px;
--t-tiny:13px;
--t-eyebrow:12px;
--s-1:4px;
--s-2:8px;
--s-3:12px;
--s-4:16px;
--s-5:24px;
--s-6:32px;
--s-7:48px;
--s-8:64px;
--s-9:96px;
--s-10:128px;
--r-sm:6px;
--r-md:14px;
--r-lg:24px;
--w-page:1240px;
--w-text:92ch;
--h-nav:132px;
--b-hair:1px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--c-cream);color:var(--c-ink);font-family:var(--f-text);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}
img{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.1}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:var(--c-green);text-decoration:none}
a:hover{color:var(--c-green-deep);text-decoration:underline}
details summary{cursor:pointer}
details summary::-webkit-details-marker{display:none}
details summary::marker{content:""}
.page{display:flex;flex-direction:column}
.wrap{width:100%;max-width:var(--w-page);margin:0 auto;padding-left:var(--s-6);padding-right:var(--s-6)}
.section{display:flex;flex-direction:column;padding-top:var(--s-9);padding-bottom:var(--s-9)}
.section-beige{background:var(--c-white)}
.section-white{background:var(--c-cream)}
.section-green{background:var(--c-green);color:var(--c-white)}
.nav{position:sticky;top:0;z-index:20;background:var(--c-white);border-bottom:var(--b-hair) solid var(--c-line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);height:var(--h-nav)}
.nav-logo{height:104px;width:auto}
.nav-links{display:flex;align-items:center;gap:var(--s-5);flex-wrap:wrap}
.nav-link{color:var(--c-ink-soft);font-size:var(--t-small);font-weight:500}
.nav-link:hover{color:var(--c-green);text-decoration:none}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:var(--s-3) var(--s-6);background:var(--c-green);color:var(--c-white);font-family:var(--f-text);font-size:var(--t-small);font-weight:600;border:var(--b-hair) solid var(--c-green);border-radius:var(--r-sm);text-align:center}
.btn-primary:hover{background:var(--c-green-deep);color:var(--c-white);text-decoration:none}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:var(--s-3) var(--s-6);background:transparent;color:var(--c-ink);font-size:var(--t-small);font-weight:600;border:var(--b-hair) solid var(--c-ink);border-radius:var(--r-sm);text-align:center}
.btn-secondary:hover{background:var(--c-ink);color:var(--c-cream);text-decoration:none}
.btn-ghost{display:inline-flex;align-items:center;min-height:44px;color:var(--c-green);font-size:var(--t-small);font-weight:600}
.btn-ghost:hover{color:var(--c-green-deep)}
.eyebrow{font-size:var(--t-eyebrow);letter-spacing:0.16em;text-transform:uppercase;font-weight:600;color:var(--c-clay)}
.h-display{font-family:var(--f-display);font-size:var(--t-hero);line-height:1.02}
.h-section{font-family:var(--f-display);font-size:var(--t-h2);line-height:1.06}
.h-card{font-family:var(--f-display);font-size:var(--t-h3)}
.lead{font-size:calc(var(--t-body) + 2px);color:var(--c-ink-soft);max-width:var(--w-text)}
.body-soft{color:var(--c-ink-soft);max-width:var(--w-text)}
.small-soft{font-size:var(--t-small);color:var(--c-ink-soft)}
.hero-band{display:flex;flex-direction:column;background:var(--c-white)}
.hero{display:flex;flex-direction:row;align-items:stretch;gap:var(--s-8);padding-top:var(--s-9);padding-bottom:var(--s-9)}
.hero-copy{display:flex;flex-direction:column;gap:var(--s-5);flex:1 1 52%;justify-content:center}
.hero-media{display:flex;flex:0 1 46%;align-self:center;aspect-ratio:1 / 1;border-radius:var(--r-lg);overflow:hidden;background:var(--c-beige)}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-3);padding-top:var(--s-2)}
.trust{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-3) var(--s-5);align-items:center;padding-top:var(--s-4);border-top:var(--b-hair) solid var(--c-line);margin-top:var(--s-2)}
.trust-item{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-tiny);color:var(--c-ink-soft);letter-spacing:0.04em;text-transform:uppercase;font-weight:600}
.dot{display:block;width:var(--s-1);height:var(--s-1);border-radius:var(--r-sm);background:var(--c-clay)}
.head-block{display:flex;flex-direction:column;gap:var(--s-4);max-width:none;padding-bottom:var(--s-7)}
.card-row{display:flex;flex-direction:row;gap:var(--s-5);align-items:stretch}
.card-choice{display:flex;flex-direction:column;gap:var(--s-4);flex:1 1 50%;padding:var(--s-7);background:var(--c-white);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-lg);box-shadow:0 var(--s-3) var(--s-7) rgba(42,37,32,0.06)}
.card-choice-alt{background:var(--c-ink);border-color:var(--c-ink);color:var(--c-cream)}
.card-choice-alt .body-soft,.card-choice-alt .small-soft,.card-choice-alt .list-item{color:var(--c-sand)}
.card-choice-alt .list-label{color:var(--c-white)}
.card-choice-alt .card-badge{background:transparent;border-color:var(--c-ink-soft);color:var(--c-cream)}
.card-choice-alt .card-lists{border-top-color:var(--c-ink-soft)}
.card-choice-alt .btn-primary{background:var(--c-cream);color:var(--c-ink);border-color:var(--c-cream)}
.card-choice-alt .btn-primary:hover{background:var(--c-white);color:var(--c-ink)}
.card-badge{display:inline-flex;align-self:flex-start;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--c-beige);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-lg);font-size:var(--t-eyebrow);letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:var(--c-ink)}
.card-title{font-family:var(--f-display);font-size:var(--t-card-lg);line-height:1.05;max-width:22ch}
.gallery-scroll{display:flex;flex-direction:row;gap:var(--s-4);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--s-6) var(--s-4) var(--s-6);scrollbar-width:thin}
.gallery-item{display:flex;flex:0 0 auto;width:340px;aspect-ratio:1 / 1;margin:0;background:var(--c-cream);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-md);overflow:hidden;scroll-snap-align:center}
.gallery-item img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.gallery-foot{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap;padding-top:var(--s-5)}
.pillars-band{display:flex;flex-direction:column;padding:var(--s-8) 0;background:var(--c-ink);color:var(--c-white)}
.pillars-band .h-card{color:var(--c-white)}
.pillars-band .body-soft{color:var(--c-sand)}
.pillars{display:flex;flex-direction:row;gap:var(--s-7);align-items:flex-start}
.pillar{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);flex:1 1 33%;min-width:0;text-align:center}
.pillar-icon{width:var(--s-9);height:var(--s-9);object-fit:contain}
.pillar .body-soft{max-width:38ch}
.card-more{display:flex;flex-direction:column;margin-top:var(--s-2);padding-top:var(--s-5);border-top:var(--b-hair) solid var(--c-line)}
.card-choice-alt .card-more{border-top-color:var(--c-ink-soft)}
.card-sum{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:44px;font-size:var(--t-tiny);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-green);list-style:none}
.card-choice-alt .card-sum{color:var(--c-cream)}
.card-choice-alt .card-sum .plus{color:var(--c-cream);border-color:var(--c-ink-soft)}
.card-detail{display:flex;flex-direction:column;gap:var(--s-4);padding-top:var(--s-3)}
.card-detail ul{display:flex;flex-direction:column;gap:var(--s-2)}
.card-lists{display:flex;flex-direction:row;gap:var(--s-5);flex-wrap:wrap;margin-top:var(--s-3);padding-top:var(--s-5);border-top:var(--b-hair) solid var(--c-line)}
.list-col{display:flex;flex-direction:column;gap:var(--s-3);flex:1 1 45%;min-width:180px}
.list-label{font-size:var(--t-tiny);letter-spacing:0.1em;text-transform:uppercase;font-weight:700;color:var(--c-ink)}
.list-item{display:flex;align-items:flex-start;gap:var(--s-3);font-size:var(--t-small);color:var(--c-ink-soft)}
.list-item .dot{flex:0 0 auto;margin-top:calc(var(--s-2) + var(--s-1) / 2)}
.card-foot{display:flex;margin-top:auto;padding-top:var(--s-4)}
.reassure{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-5);margin-top:var(--s-5);padding:var(--s-5) var(--s-6);background:var(--c-beige);border-radius:var(--r-md)}
.trio{display:flex;flex-direction:row;gap:var(--s-5);align-items:stretch}
.card-work{display:flex;flex-direction:column;gap:var(--s-3);flex:1 1 33%;padding:var(--s-6);background:var(--c-cream);border-radius:var(--r-md);border:var(--b-hair) solid var(--c-line)}
.card-work-num{font-family:var(--f-display);font-size:var(--t-h3);color:var(--c-clay);line-height:1}
.work-grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-5)}
.work-grid .card-work{flex:1 1 30%;min-width:0;max-width:calc(33.333% - var(--s-5));padding:0;gap:0;overflow:hidden}
.card-work-body{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5) var(--s-6) var(--s-6) var(--s-6)}
.cat{display:flex;flex-direction:column;gap:var(--s-6);padding-top:var(--s-8);padding-bottom:var(--s-8);border-top:var(--b-hair) solid var(--c-line)}
.cat-top{display:flex;flex-direction:row;gap:var(--s-7);align-items:flex-start}
.cat-copy{display:flex;flex-direction:column;gap:var(--s-4);flex:1 1 100%;max-width:none}
.model-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-5)}
.model{display:flex;flex-direction:column;flex:1 1 22%;min-width:220px;background:var(--c-white);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-md);overflow:hidden}
.model-wide{flex:1 1 30%;min-width:260px}
.model-row-4{flex-wrap:nowrap}
.model-row-4 .model{flex:1 1 25%;min-width:0}
.model-row-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.model-row-3 .model{min-width:0;max-width:none}
.model-row-acc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.model-row-acc .model{min-width:0;max-width:none}
.model-img{display:flex;flex-direction:column;justify-content:flex-end;background:var(--c-white);overflow:hidden}
.model-img img{width:100%;height:100%;object-fit:contain}
.slides{display:flex;flex-direction:row;flex:1 1 auto;width:100%;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.slides::-webkit-scrollbar{display:none}
.slides{aspect-ratio:1 / 1}
.slides img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;background:var(--c-white);scroll-snap-align:start;cursor:zoom-in}
.lightbox{width:min(88vw, 900px);max-width:none;max-height:88vh;padding:var(--s-4);background:var(--c-white);border:none;border-radius:var(--r-md)}
.lightbox::backdrop{background:rgba(42,37,32,0.72)}
.lightbox-inner{display:flex;flex-direction:column;gap:var(--s-3)}
.lightbox-bar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-4)}
.lightbox-caption{font-size:var(--t-tiny);letter-spacing:0.06em;text-transform:uppercase;font-weight:700;color:var(--c-ink-soft)}
.lightbox-close{display:flex;align-items:center;justify-content:center;min-width:var(--s-7);min-height:var(--s-6);padding:0 var(--s-4);background:var(--c-beige);color:var(--c-ink);font-family:var(--f-text);font-size:var(--t-tiny);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;border:var(--b-hair) solid var(--c-line);border-radius:var(--r-sm);cursor:pointer}
.lightbox-close:hover{background:var(--c-sand)}
.lightbox-img{width:100%;max-height:70vh;object-fit:contain;background:var(--c-cream);border-radius:var(--r-sm);cursor:zoom-out}
.model-nav{display:flex;flex-direction:row;align-items:center;gap:var(--s-2);flex:0 0 auto;height:calc(var(--s-6) + var(--s-4));padding:0 var(--s-3);background:rgba(249,246,244,0.92);border-top:var(--b-hair) solid var(--c-line)}
.nav-btn{display:flex;align-items:center;justify-content:center;width:var(--s-6);height:var(--s-6);padding:0;background:var(--c-white);color:var(--c-ink);font-family:var(--f-text);font-size:var(--t-small);line-height:1;border:var(--b-hair) solid var(--c-line);border-radius:var(--r-sm);cursor:pointer}
.nav-btn:hover{background:var(--c-beige)}
.nav-count{font-size:var(--t-tiny);font-weight:700;letter-spacing:0.08em;color:var(--c-ink-soft)}
.model-body{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-5)}
.model-more{display:flex;flex-direction:column}
.model-sum{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:44px;font-size:var(--t-tiny);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-green);list-style:none}
.plus{display:flex;align-items:center;justify-content:center;width:var(--s-5);height:var(--s-5);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-sm);font-size:var(--t-small);color:var(--c-green)}
.model-detail{display:flex;flex-direction:column;gap:var(--s-2);padding-top:var(--s-3);font-size:var(--t-small);color:var(--c-ink-soft)}
.cat-foot{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-4);align-items:center}
.section-offwhite{background:var(--c-offwhite)}
.table{display:flex;flex-direction:column;background:var(--c-white);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-lg);overflow:hidden}
.table-row{display:flex;flex-direction:row;gap:var(--s-5);padding:var(--s-4) var(--s-6);border-top:var(--b-hair) solid var(--c-line)}
.table-head{background:var(--c-beige);border-top:none;padding-top:var(--s-5);padding-bottom:var(--s-5)}
.table-cell{display:flex;flex:1 1 50%;font-size:var(--t-small);color:var(--c-ink-soft)}
.table-cell-key{font-weight:600;color:var(--c-ink)}
.table-cell-head{font-family:var(--f-display);font-size:var(--t-h3);font-weight:400;color:var(--c-ink)}
.cta-band{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-6);padding:var(--s-6) var(--s-7);background:var(--c-ink);color:var(--c-cream);border-radius:var(--r-lg)}
.cta-band-full{width:100%;padding-left:0;padding-right:0;border-radius:0}
.cta-band-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--s-6)}
.cta-band-light{background:var(--c-beige);color:var(--c-ink);border:var(--b-hair) solid var(--c-line)}
.cta-band-copy{display:flex;flex-direction:column;gap:var(--s-2);max-width:var(--w-text)}
.cta-band-title{font-family:var(--f-display);font-size:var(--t-h3)}
.cta-band-text{font-size:var(--t-small);color:var(--c-sand)}
.cta-band-light .cta-band-text{color:var(--c-ink-soft)}
.cta-band-white{background:var(--c-white);color:var(--c-ink);border:var(--b-hair) solid var(--c-line)}
.cta-band-white .cta-band-text{color:var(--c-ink-soft)}
.cta-band-actions{display:flex;flex-direction:row;gap:var(--s-3);flex-wrap:wrap;flex:0 0 auto}
.cta-band .btn-primary,.cta-band .btn-light{white-space:nowrap}
.btn-light{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:var(--s-3) var(--s-6);background:var(--c-cream);color:var(--c-ink);font-size:var(--t-small);font-weight:600;border:var(--b-hair) solid var(--c-cream);border-radius:var(--r-sm)}
.btn-light:hover{background:var(--c-white);color:var(--c-ink);text-decoration:none}
.band-section{display:flex;flex-direction:column;padding-top:var(--s-7);padding-bottom:var(--s-7)}
.steps{display:flex;flex-direction:row;gap:var(--s-5);align-items:stretch}
.step{display:flex;flex-direction:column;gap:var(--s-3);flex:1 1 25%;padding-top:var(--s-4);border-top:2px solid var(--c-sand)}
.step-num{font-size:var(--t-tiny);font-weight:700;letter-spacing:0.1em;color:var(--c-clay)}
.quality{display:flex;flex-direction:row;gap:var(--s-8);align-items:center}
.quality-copy{display:flex;flex-direction:column;gap:var(--s-5);flex:1 1 55%}
.quality-media{display:flex;flex:1 1 45%;border-radius:var(--r-md);overflow:hidden;min-height:320px}
.quality-media img{width:100%;height:100%;object-fit:cover}
.quality .lead,.quality .body-soft{color:var(--c-beige)}
.quality .eyebrow{color:var(--c-sand)}
.faq-list{display:flex;flex-direction:column;gap:var(--s-3)}
.faq{display:flex;flex-direction:column;background:var(--c-white);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-md);padding:var(--s-5) var(--s-6)}
.faq-sum{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);min-height:44px;font-family:var(--f-display);font-size:var(--t-h4);list-style:none}
.faq-answer{display:flex;padding-top:var(--s-3);font-size:var(--t-small);color:var(--c-ink-soft);max-width:var(--w-text)}
.contact{display:flex;flex-direction:row;gap:var(--s-8);align-items:flex-start}
.contact-copy{display:flex;flex-direction:column;gap:var(--s-5);flex:1 1 42%}
.form-card{display:flex;flex-direction:column;gap:var(--s-4);flex:1 1 58%;padding:var(--s-7);background:var(--c-white);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-md)}
.choice-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--s-3)}
.choice{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:var(--s-2) var(--s-4);background:var(--c-cream);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-sm);font-size:var(--t-small);color:var(--c-ink-soft)}
.choice-box{display:block;width:var(--s-4);height:var(--s-4);flex:0 0 auto;background:var(--c-white);border:var(--b-hair) solid var(--c-ink-soft);border-radius:2px}
.choice-radio{display:block;width:var(--s-4);height:var(--s-4);flex:0 0 auto;background:var(--c-white);border:var(--b-hair) solid var(--c-ink-soft);border-radius:var(--r-lg)}
.mock-tag{display:inline-flex;align-self:flex-start;padding:var(--s-1) var(--s-3);background:var(--c-beige);border-radius:var(--r-sm);font-size:var(--t-tiny);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--c-ink-soft)}
.field-row{display:flex;flex-direction:row;gap:var(--s-4);flex-wrap:wrap}
.field{display:flex;flex-direction:column;gap:var(--s-2);flex:1 1 45%;min-width:200px}
.field-wide{flex:1 1 100%}
.field-label{font-size:var(--t-tiny);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--c-ink-soft)}
.field-box{display:flex;align-items:center;min-height:48px;padding:var(--s-3) var(--s-4);background:var(--c-cream);border:var(--b-hair) solid var(--c-line);border-radius:var(--r-sm);font-size:var(--t-small);color:var(--c-ink-soft)}
.field-box-tall{align-items:flex-start;min-height:104px}
.field-box-upload{justify-content:space-between;gap:var(--s-3);border-style:dashed}
.footer{display:flex;flex-direction:column;gap:var(--s-6);padding-top:var(--s-8);padding-bottom:var(--s-8);background:var(--c-ink);color:var(--c-sand)}
.footer-top{display:flex;flex-direction:row;gap:var(--s-8);flex-wrap:wrap;align-items:center;justify-content:space-between}
.footer-info{gap:var(--s-2)}
.footer-name{font-family:var(--f-display);font-size:var(--t-h4);color:var(--c-white)}
.footer-text{font-size:var(--t-small);color:var(--c-sand)}
.footer-legal{display:flex;flex-direction:row;gap:var(--s-5)}
.footer-col{display:flex;flex-direction:column;gap:var(--s-3);flex:0 1 auto}
.footer-logo{height:132px;width:auto;align-self:flex-start;object-fit:contain}
.footer-link{color:var(--c-sand);font-size:var(--t-small)}
.footer-link:hover{color:var(--c-white)}
.footer-bottom{display:flex;flex-direction:row;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding-top:var(--s-5);border-top:var(--b-hair) solid var(--c-ink-soft);font-size:var(--t-tiny);color:var(--c-ink-soft)}
@media (max-width: 1024px){
:root{--t-hero:clamp(34px,6vw,50px);--t-h2:36px;--h-nav:112px}
.wrap{padding-left:var(--s-5);padding-right:var(--s-5)}
.section{padding-top:var(--s-8);padding-bottom:var(--s-8)}
.hero{flex-direction:column;gap:var(--s-6)}
.hero-media{width:100%;max-width:440px;align-self:flex-start}
.card-row{flex-direction:column}
.trio{flex-direction:row;flex-wrap:wrap}
.card-work{flex:1 1 46%}
.work-grid .card-work{flex:1 1 46%;max-width:calc(50% - var(--s-5))}
.cat-top{flex-direction:column;gap:var(--s-5)}
.model{flex:1 1 44%;max-width:calc(50% - var(--s-5))}
.model-row-4{flex-wrap:wrap}
.model-row-4 .model{flex:1 1 44%}
.model-row-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.model-row-acc{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{flex-wrap:wrap}
.step{flex:1 1 44%}
.quality{flex-direction:column;align-items:stretch}
.quality-media{min-height:280px}
.contact{flex-direction:column;align-items:stretch}
.nav-links{display:none}
}
@media (max-width: 640px){
:root{--t-h3:20px;--t-body:16px;--s-9:56px}
.wrap{padding-left:var(--s-4);padding-right:var(--s-4)}
.nav-logo{height:84px}
.hero-media{max-width:none}
.hero-actions{flex-direction:column;align-items:stretch}
.btn-primary,.btn-secondary{width:100%}
.card-choice{padding:var(--s-5)}
.card-lists{flex-direction:column;gap:var(--s-4)}
.list-col{flex:1 1 100%;min-width:0}
.reassure{flex-direction:column;align-items:flex-start;gap:var(--s-4);padding:var(--s-5) var(--s-4)}
.cta-band{flex-direction:column;align-items:flex-start;gap:var(--s-4);padding:var(--s-5)}
.cta-band-inner{flex-direction:column;align-items:flex-start;gap:var(--s-4)}
.cta-band-actions{width:100%}
.btn-light{width:100%}
.pillars{flex-direction:column;gap:var(--s-6)}
.gallery-item{width:78vw}
.gallery-scroll{padding-left:var(--s-4);padding-right:var(--s-4)}
.gallery-foot{flex-direction:column;align-items:stretch}
.gallery-foot .btn-primary{width:100%}
.card-work{flex:1 1 100%;padding:var(--s-5)}
.work-grid .card-work{flex:1 1 100%;max-width:none;padding:0}
.card-work-body{padding:var(--s-4) var(--s-5) var(--s-5) var(--s-5)}
.model{flex:1 1 100%;min-width:0;max-width:none}
.model-row-4 .model{flex:1 1 100%}
.model-row-3{grid-template-columns:minmax(0,1fr)}
.model-row-acc{grid-template-columns:minmax(0,1fr)}
.table-row{flex-direction:column;gap:var(--s-1)}
.step{flex:1 1 100%}
.quality-media{min-height:220px}
.faq{padding:var(--s-4)}
.faq-sum{align-items:flex-start}
.form-card{padding:var(--s-5)}
.field{flex:1 1 100%;min-width:0}
.footer-top{flex-direction:column;gap:var(--s-6)}
}
.nav-brand{display:flex;align-items:center}
.nav-brand:hover{text-decoration:none}
.nav-toggle{display:none;min-height:44px;padding:0 var(--s-4);background:var(--c-white);color:var(--c-ink);font-family:var(--f-text);font-size:var(--t-small);font-weight:600;border:var(--b-hair) solid var(--c-line);border-radius:var(--r-sm);cursor:pointer}
.centrato{text-align:center;align-self:center}
.h-section-xl{font-size:clamp(30px, 4vw, 52px)}
.hero-media img,.quality-media img{width:100%;height:100%;object-fit:cover}
.lead p+p,.model-detail p+p{margin-top:var(--s-3)}
.quality .lead .body-soft{color:var(--c-beige)}
.card-badge .dot{flex:0 0 auto}
.reassure-testo{font-weight:700}
.slides a{display:block;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start}
.slides a img{width:100%;height:100%;object-fit:contain;background:var(--c-white);cursor:zoom-in}
.gallery-item a{display:block;width:100%;height:100%}
.gallery-item img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.faq-answer{display:block}
.table-cell{margin:0}
.form-card .field-row{margin:0;padding:0;border:0}
.field-label{display:block}
input.field-box,textarea.field-box{width:100%;font-family:var(--f-text);color:var(--c-ink)}
input.field-box:focus,textarea.field-box:focus{outline:2px solid var(--c-green);outline-offset:1px;background:var(--c-white)}
textarea.field-box{resize:vertical}
.field-box-upload{cursor:pointer}
.file-nascosto{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.choice{cursor:pointer}
.choice input{margin:0;appearance:none;-webkit-appearance:none;cursor:pointer}
.choice input:checked{background:var(--c-green);border-color:var(--c-green);box-shadow:inset 0 0 0 3px var(--c-white)}
.form-card .btn-primary{cursor:pointer;width:100%}
.form-msg{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);font-size:var(--t-small)}
.form-msg li{list-style:disc;margin-left:var(--s-5)}
.form-msg-ok{background:#e3f1ea;color:var(--c-green-deep);border:var(--b-hair) solid var(--c-green)}
.form-msg-err{background:#f8e6e1;color:#8a3b22;border:var(--b-hair) solid var(--c-clay)}
.legal{min-height:50vh}
.legal-wrap{display:flex;flex-direction:column;gap:var(--s-5);max-width:900px}
.legal-testo{display:flex;flex-direction:column;gap:var(--s-4);color:var(--c-ink-soft)}
.legal-testo h2{font-family:var(--f-display);font-size:var(--t-h3);color:var(--c-ink);padding-top:var(--s-4)}
.legal-testo ul{list-style:disc;padding-left:var(--s-5)}
.legal-aggiornamento{font-size:var(--t-tiny);color:var(--c-ink-soft)}
@media (max-width: 1024px){
.nav-toggle{display:inline-flex;align-items:center}
.nav-cta{display:none}
.nav-links.aperto{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;padding:var(--s-4) var(--s-5);background:var(--c-white);border-bottom:var(--b-hair) solid var(--c-line)}
.nav{position:sticky}
.nav-inner{position:relative}
}
