
:root{--ink:#161713;--paper:#f5f2eb;--warm:#c9b89c;--line:#d9d2c6;--white:#fff;--accent:#2563eb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}.demo{background:#111827;color:white;padding:9px 5vw;font-size:12px;letter-spacing:.03em;display:flex;justify-content:space-between;gap:20px;align-items:center}
.demo a{border-bottom:1px solid #fff}.nav{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(245,242,235,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.brand{font-family:Georgia,serif;font-size:23px;letter-spacing:.14em}.navlinks{display:flex;gap:28px;font-size:13px}.cta{display:inline-block;background:var(--ink);color:#fff;padding:15px 22px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.hero{min-height:760px;display:grid;grid-template-columns:44% 56%;border-bottom:1px solid var(--line)}
.hero-copy{padding:11vh 6vw 8vh 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:25px}
h1,h2,h3{font-family:Georgia,serif;font-weight:400;margin:0}.hero h1{font-size:clamp(52px,6vw,92px);line-height:.95;letter-spacing:-.04em}.lead{font-size:17px;line-height:1.7;max-width:560px;color:#55534e;margin:30px 0}
.hero-img{background:url('https://images.pexels.com/photos/7167066/pexels-photo-7167066.jpeg?auto=compress&cs=tinysrgb&w=1800') center/cover no-repeat;min-height:640px}
.section{padding:110px 7vw}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split img{width:100%;height:620px;object-fit:cover}
.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:18px}.section h2{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.035em}
.services{background:#191a17;color:#f7f4ed}.services .intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;margin-bottom:65px}.services .lead{color:#c8c5bd}
.service-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.service{position:relative;overflow:hidden;min-height:430px}.service:nth-child(3),.service:nth-child(4){min-height:340px}.service img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:transform .7s}.service:hover img{transform:scale(1.025)}
.service-text{position:absolute;left:28px;right:28px;bottom:28px;color:white}.service h3{font-size:30px}.service p{max-width:500px;line-height:1.55;font-size:13px}
.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.gallery{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.gallery img{width:100%;height:570px;object-fit:cover}.gallery .stack{display:grid;gap:22px}.gallery .stack img{height:274px}
.materials{padding:0 7vw 110px}.material-box{background:#ded4c3;padding:85px 7vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.material-box img{width:100%;height:480px;object-fit:cover}
.about-tease{background:white}.final{padding:120px 7vw;text-align:center}.final h2{font-size:clamp(48px,6vw,82px);max-width:950px;margin:auto}.final .lead{margin:28px auto 35px}
footer{padding:55px 7vw;background:#111;color:#ddd;display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:12px;line-height:1.8}.footlinks{text-align:right}
.page-hero{padding:110px 7vw 70px}.page-hero h1{font-size:clamp(55px,7vw,100px);max-width:1050px}.content{padding:20px 7vw 110px;max-width:1200px}.content h2{font-size:44px;margin:60px 0 15px}.content p{font-size:17px;line-height:1.8;color:#55534e}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.form{display:grid;gap:15px}.form input,.form textarea{width:100%;padding:18px;border:1px solid var(--line);background:white;font:inherit}.form textarea{min-height:160px}.form button{border:0;cursor:pointer}
@media(max-width:800px){.navlinks{display:none}.demo{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw}.hero-img{min-height:460px}.split,.services .intro,.service-grid,.gallery,.material-box,.contact-grid{grid-template-columns:1fr}.split img{height:430px}.section{padding:75px 7vw}.gallery-head{display:block}.gallery img{height:430px}.footlinks{text-align:left}footer{grid-template-columns:1fr}.material-box{padding:55px 7vw}.service{min-height:390px}}


/* V2 — editorial identity, motion and interaction */
:root{--bronze:#a66f48;--sand:#e8dfd1}
body{overflow-x:hidden}
.brand:after{content:"";display:block;width:34px;height:1px;background:var(--bronze);margin-top:7px}
.hero{position:relative;overflow:hidden}
.hero-copy{position:relative;z-index:2}
.hero-copy:after{content:"01";position:absolute;right:2vw;bottom:5vh;font-family:Georgia,serif;font-size:82px;color:rgba(22,23,19,.08)}
.hero-img{position:relative;clip-path:inset(0 0 0 100%);animation:heroReveal 1.25s cubic-bezier(.2,.7,.2,1) .25s forwards}
.hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,rgba(166,111,72,.13))}
.hero-copy .eyebrow,.hero-copy h1,.hero-copy .lead,.hero-copy .cta{opacity:0;transform:translateY(24px);animation:rise .8s ease forwards}
.hero-copy .eyebrow{animation-delay:.15s}.hero-copy h1{animation-delay:.28s}.hero-copy .lead{animation-delay:.42s}.hero-copy .cta{animation-delay:.55s}
@keyframes rise{to{opacity:1;transform:none}}@keyframes heroReveal{to{clip-path:inset(0)}}

.section{position:relative}
.section>.kicker,.split>div>.kicker,.gallery-head .kicker,.materials .kicker,.final .kicker{color:var(--bronze)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal-left{opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .2s ease,clip-path 1.1s cubic-bezier(.2,.7,.2,1)}
.reveal-left.in{opacity:1;clip-path:inset(0)}
.split img{border-radius:2px 72px 2px 2px;box-shadow:0 25px 60px rgba(35,30,24,.12);transition:transform .6s ease,box-shadow .6s ease}
.split img:hover{transform:translateY(-8px) rotate(-.25deg);box-shadow:0 34px 75px rgba(35,30,24,.18)}

.services:before{content:"02";position:absolute;right:5vw;top:60px;font-family:Georgia,serif;font-size:120px;color:rgba(255,255,255,.04)}
.service-grid{grid-template-columns:1.15fr .85fr;align-items:start}
.service:nth-child(1){border-radius:2px 90px 2px 2px}
.service:nth-child(2){margin-top:85px;border-radius:80px 2px 2px 2px}
.service:nth-child(3){margin-top:-35px;margin-left:8%;border-radius:2px 2px 70px 2px}
.service:nth-child(4){margin-top:45px;margin-right:8%;border-radius:2px 65px 2px 2px}
.service:after{content:"Scopri  →";position:absolute;right:26px;top:25px;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateX(-10px);transition:.35s}
.service:hover:after{opacity:1;transform:none}.service img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.service:hover img{transform:scale(1.055);filter:brightness(.58)}
.service-text{transition:transform .45s}.service:hover .service-text{transform:translateY(-8px)}

.gallery-head{position:relative}.gallery-head:after{content:"03";font-family:Georgia,serif;font-size:110px;color:rgba(22,23,19,.06);position:absolute;right:0;top:-45px}
.gallery{position:relative;min-height:720px;display:block}
.gallery>img{width:68%;height:650px;border-radius:2px 85px 2px 2px;box-shadow:0 28px 70px rgba(35,30,24,.12)}
.gallery .stack{display:block;position:absolute;right:0;top:95px;width:39%;height:600px}
.gallery .stack img:first-child{width:100%;height:330px;border:10px solid var(--paper);box-shadow:0 22px 55px rgba(35,30,24,.14)}
.gallery .stack img:last-child{width:70%;height:260px;margin:-12px 0 0 20%;border:10px solid var(--paper);box-shadow:0 22px 55px rgba(35,30,24,.14)}
.gallery img{transition:transform .65s ease,filter .5s}.gallery img:hover{transform:scale(1.018);filter:contrast(1.03)}

.material-box{position:relative;overflow:visible;background:var(--sand);padding:95px 6vw}
.material-box:before{content:"04";position:absolute;left:3vw;top:-58px;font-family:Georgia,serif;font-size:115px;color:rgba(22,23,19,.08)}
.material-box img{border-radius:80px 2px 2px 2px;transform:translateY(38px);box-shadow:0 30px 70px rgba(35,30,24,.16)}
.material-box>div{position:relative;z-index:2}
.material-box>div:after{content:"";display:block;width:90px;height:2px;background:var(--bronze);margin-top:35px}

.about-tease:before{content:"05";position:absolute;left:4vw;top:45px;font-family:Georgia,serif;font-size:105px;color:rgba(22,23,19,.05)}
.cta{position:relative;overflow:hidden;transition:transform .3s ease}
.cta:before{content:"";position:absolute;inset:0;background:var(--bronze);transform:translateX(-102%);transition:transform .4s cubic-bezier(.2,.7,.2,1);z-index:-1}
.cta:hover:before{transform:none}.cta:hover{transform:translateY(-2px)}

@media(max-width:800px){
.hero-copy:after{font-size:55px}.hero-img{clip-path:none;animation:none}
.services:before,.gallery-head:after,.material-box:before,.about-tease:before{font-size:65px}
.service:nth-child(n){margin:0 0 18px;border-radius:2px 48px 2px 2px}
.gallery{min-height:auto}.gallery>img{width:100%;height:450px}.gallery .stack{position:static;width:100%;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.gallery .stack img:first-child,.gallery .stack img:last-child{width:100%;height:220px;margin:0;border:0}.material-box img{transform:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.reveal-left{opacity:1;transform:none;clip-path:none}}

/* V3 Hero — renovation-first, layered editorial composition */
.hero-v3{min-height:780px;grid-template-columns:47% 53%;background:#f5f2eb;overflow:hidden}
.hero-v3 .hero-copy{padding-left:7vw;padding-right:2vw}
.hero-v3 .hero-copy h1{position:relative;z-index:5;font-size:clamp(58px,6.1vw,98px)}
.hero-v3 .hero-copy h1 span{display:block;opacity:0;transform:translateY(105%);animation:lineUp .85s cubic-bezier(.16,.8,.25,1) forwards}
.hero-v3 .hero-copy h1 span:nth-child(1){animation-delay:.22s}.hero-v3 .hero-copy h1 span:nth-child(2){animation-delay:.32s}.hero-v3 .hero-copy h1 span:nth-child(3){animation-delay:.42s}
@keyframes lineUp{to{opacity:1;transform:none}}
.hero-visual{position:relative;min-height:780px;margin-left:-2vw}
.hero-work{position:absolute;inset:0 0 7% 6%;background:
linear-gradient(180deg,rgba(15,15,13,.02),rgba(15,15,13,.16)),
url('https://images.pexels.com/photos/5493667/pexels-photo-5493667.jpeg?auto=compress&cs=tinysrgb&w=1800') center/cover no-repeat;
clip-path:polygon(7% 0,100% 0,100% 91%,89% 100%,0 100%,0 9%);
opacity:0;transform:scale(1.035);animation:workReveal 1.15s cubic-bezier(.2,.7,.2,1) .18s forwards}
@keyframes workReveal{to{opacity:1;transform:scale(1)}}
.hero-result{position:absolute;width:35%;right:5%;bottom:0;background:#f5f2eb;padding:9px;box-shadow:0 24px 60px rgba(28,24,19,.22);z-index:4;opacity:0;transform:translateY(28px);animation:rise .8s ease .75s forwards}
.hero-result img{display:block;width:100%;height:185px;object-fit:cover}
.hero-result span{display:block;padding:10px 5px 3px;font-size:9px;line-height:1.45;letter-spacing:.16em}
.hero-tag{position:absolute;left:-22px;bottom:31px;z-index:5;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.2em;color:#7b583e}
.hero-v3 .hero-copy:before{content:"";position:absolute;width:95px;height:2px;background:var(--bronze);right:-30px;top:25%;z-index:6}
.hero-v3 .hero-copy:after{display:none}
@media(max-width:800px){
.hero-v3{grid-template-columns:1fr;min-height:auto}.hero-v3 .hero-copy{padding:65px 7vw 45px}.hero-v3 .hero-copy h1{font-size:55px}.hero-visual{margin:0;min-height:510px}.hero-work{inset:0 5% 8% 0;clip-path:polygon(0 0,100% 0,100% 90%,88% 100%,0 100%)}.hero-result{width:42%;right:7%;bottom:0}.hero-result img{height:125px}.hero-tag{display:none}.hero-v3 .hero-copy:before{display:none}
}

/* V4 — technical graphic language + photographic refinements */
.hero-v3 .hero-copy{overflow:visible}
.tech-word{position:absolute;left:1.4vw;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:Arial,sans-serif;font-size:clamp(42px,5vw,76px);font-weight:700;letter-spacing:.12em;color:rgba(166,111,72,.055);pointer-events:none;white-space:nowrap}
.tech-drawing{position:absolute;right:-34px;top:17%;width:185px;height:96px;pointer-events:none;opacity:.72}
.tech-drawing i{position:absolute;left:0;top:48px;width:155px;height:1px;background:rgba(166,111,72,.55)}
.tech-drawing i:before,.tech-drawing i:after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:rgba(166,111,72,.55)}
.tech-drawing i:before{left:0}.tech-drawing i:after{right:0}
.tech-drawing span{position:absolute;top:27px;left:66px;font-size:8px;letter-spacing:.18em;color:#9b6d4b}
.tech-drawing b{position:absolute;right:4px;top:69px;font-size:17px;font-weight:300;color:rgba(166,111,72,.6)}
.hero-visual:after{content:"";position:absolute;left:2%;bottom:13%;width:56px;height:56px;border-left:1px solid rgba(166,111,72,.55);border-bottom:1px solid rgba(166,111,72,.55);z-index:5}
.hero-v3:after{content:"RISTRUTTURARE / TRASFORMARE / VALORIZZARE";position:absolute;left:7vw;bottom:20px;font-size:8px;letter-spacing:.25em;color:rgba(22,23,19,.34)}

.split:not(.about-tease):after{content:"QUALITÀ";position:absolute;right:1vw;top:50%;transform:translateY(-50%) rotate(90deg);font-family:Arial,sans-serif;font-weight:700;font-size:70px;letter-spacing:.13em;color:rgba(166,111,72,.045);pointer-events:none}

.material-box:after{content:"MATERIALI";position:absolute;right:-28px;bottom:8%;font-family:Arial,sans-serif;font-weight:700;font-size:58px;letter-spacing:.14em;color:rgba(22,23,19,.045);transform:rotate(-90deg);transform-origin:center;pointer-events:none}

.about-tease{overflow:hidden}
.about-rail{position:absolute;right:1.6vw;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:8px;letter-spacing:.24em;color:rgba(166,111,72,.72);z-index:4}
.about-tease:after{content:"";position:absolute;left:49%;top:16%;width:1px;height:68%;background:linear-gradient(to bottom,transparent,rgba(166,111,72,.38),transparent)}
.about-tease img{clip-path:polygon(0 0,93% 0,100% 9%,100% 100%,0 100%);border-radius:0 0 0 68px}

@media(max-width:800px){
.tech-word{left:auto;right:1vw;font-size:44px}.tech-drawing{display:none}.hero-v3:after{left:7vw;font-size:6px;letter-spacing:.16em}.split:not(.about-tease):after,.material-box:after{display:none}.about-rail{display:none}.about-tease:after{display:none}
}


/* V12 — Contact page without form */
.contact-simple{max-width:none;grid-template-columns:1.05fr .95fr;align-items:start}
.contact-items{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.contact-item{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.contact-item>span{font-family:Georgia,serif;color:var(--bronze);font-size:18px}
.contact-item strong{font-family:Georgia,serif;font-size:24px;font-weight:400}
.contact-item p{margin:7px 0 0!important;font-size:14px!important;line-height:1.65!important}
.contact-panel{background:var(--ink);color:#fff;padding:55px;border-radius:2px 80px 2px 2px;box-shadow:0 28px 70px rgba(35,30,24,.12);position:sticky;top:125px}
.contact-panel .kicker{color:var(--bronze)}
.contact-panel h2{font-size:clamp(36px,4vw,58px);line-height:1.02;margin:12px 0 24px}
.contact-panel p{color:#ccc8c0;font-size:15px;line-height:1.7}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.contact-light{background:#fff!important;color:var(--ink)!important}

/* V12 — full mobile optimization: Casa + shared pages */
@media(max-width:800px){
  body{overflow-x:hidden}
  .demo{height:auto!important;min-height:34px;padding:8px 5vw!important;gap:6px!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;line-height:1.35}
  .nav{height:auto!important;min-height:78px;padding:13px 5vw 10px!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;gap:10px 12px!important;align-items:center!important;top:0}
  .brand{font-size:18px!important;white-space:nowrap}
  .nav>.cta{padding:11px 15px!important;font-size:9px!important;border-radius:999px}
  .navlinks{display:flex!important;grid-column:1/-1;gap:20px!important;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:7px 1px 5px;font-size:11px!important;white-space:nowrap}
  .navlinks::-webkit-scrollbar{display:none}
  .page-hero{padding:64px 6vw 42px!important}
  .page-hero h1{font-size:clamp(45px,13vw,65px)!important;line-height:.95}
  .page-hero .lead{font-size:15px!important;margin-top:22px}
  .content{padding:10px 6vw 75px!important}
  .content h2{font-size:36px!important;margin-top:42px}
  .content p{font-size:15px!important}
  .hero-v3 .hero-copy{padding:54px 6vw 38px!important}
  .hero-v3 .hero-copy h1{font-size:clamp(48px,14vw,62px)!important}
  .hero-visual{min-height:460px!important}
  .hero-result{width:46%!important;right:5%!important}
  .hero-result img{height:115px!important}
  .section{padding:68px 6vw!important}
  .section h2{font-size:clamp(40px,12vw,56px)!important}
  .lead{font-size:15px!important;line-height:1.65}
  .split{gap:38px!important}
  .split img{height:390px!important;border-radius:2px 48px 2px 2px!important}
  .services .intro{margin-bottom:38px!important}
  .service-grid{gap:14px!important}
  .service{min-height:330px!important}
  .service:nth-child(3),.service:nth-child(4){min-height:300px!important}
  .service-text{left:22px!important;right:22px!important;bottom:20px!important}
  .service h3{font-size:27px!important}
  .gallery-head{margin-bottom:30px!important}
  .gallery>img{height:390px!important}
  .gallery .stack{grid-template-columns:1fr!important}
  .gallery .stack img:first-child,.gallery .stack img:last-child{height:280px!important}
  .materials{padding:0 6vw 70px!important}
  .material-box{padding:48px 6vw!important;gap:34px!important}
  .material-box img{height:340px!important}
  .final{padding:78px 6vw!important}
  .final h2{font-size:clamp(42px,12vw,58px)!important}
  footer{padding:46px 6vw!important;gap:24px!important}
  .contact-simple{grid-template-columns:1fr!important;gap:32px!important}
  .contact-item{grid-template-columns:40px 1fr!important}
  .contact-panel{position:relative!important;top:auto!important;padding:34px 26px!important;border-radius:2px 48px 2px 2px!important}
  .contact-panel h2{font-size:38px!important}
  .contact-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .contact-actions .cta{text-align:center!important;padding:13px 10px!important}
}
@media(max-width:480px){
  .contact-actions{grid-template-columns:1fr!important}
  .hero-visual{min-height:410px!important}
  .hero-result{width:52%!important}
}


/* V13 — mobile UX rebuild */
.menu-toggle{display:none;background:none;border:0;padding:0;cursor:pointer}
.menu-toggle span{display:block;width:22px;height:1.5px;background:currentColor;margin:5px 0;transition:.25s ease}

@media(max-width:800px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-menu-open{overflow:hidden}

  .demo{position:relative!important;z-index:41!important;padding:8px 5vw!important;font-size:9px!important}
  .nav{
    min-height:68px!important;height:68px!important;
    padding:0 5vw!important;
    display:flex!important;grid-template:none!important;
    align-items:center!important;justify-content:space-between!important;
    gap:12px!important;top:0!important;z-index:40!important
  }
  .brand{font-size:17px!important;letter-spacing:.16em!important;flex:1}
  .menu-toggle{display:block!important;order:2;color:var(--ink);width:38px;height:38px}
  .nav>.cta{
    order:3!important;width:auto!important;min-width:0!important;
    padding:11px 15px!important;font-size:8px!important;line-height:1!important;
    border-radius:999px!important;white-space:nowrap!important
  }
  .navlinks{
    position:fixed!important;left:0!important;right:0!important;top:68px!important;
    width:100%!important;max-height:0!important;overflow:hidden!important;
    padding:0 6vw!important;margin:0!important;display:block!important;
    background:rgba(247,244,235,.985)!important;
    box-shadow:0 18px 40px rgba(20,20,15,.10)!important;
    opacity:0!important;pointer-events:none!important;
    transition:max-height .32s ease,opacity .22s ease,padding .32s ease!important;
    white-space:normal!important
  }
  .nav.menu-open .navlinks{
    max-height:calc(100vh - 68px)!important;opacity:1!important;pointer-events:auto!important;
    padding:18px 6vw 26px!important
  }
  .navlinks a{
    display:block!important;padding:14px 0!important;border-bottom:1px solid rgba(20,20,15,.10)!important;
    font-size:15px!important;letter-spacing:0!important
  }
  .navlinks a:last-child{border-bottom:0!important}
  .nav.menu-open .menu-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav.menu-open .menu-toggle span:nth-child(2){opacity:0}
  .nav.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

  /* Compact Casa hero */
  .hero-v3{min-height:auto!important}
  .hero-v3 .hero-copy{padding:46px 6vw 30px!important}
  .hero-v3 .hero-copy h1{
    font-size:clamp(42px,11.5vw,50px)!important;line-height:.98!important;
    max-width:100%!important
  }
  .hero-v3 .lead{font-size:14px!important;line-height:1.6!important;max-width:100%!important}
  .hero-v3 .btn{margin-top:22px!important}
  .hero-visual{min-height:390px!important;height:auto!important}
  .hero-result{width:47%!important;right:4%!important;bottom:-18px!important}
  .hero-result img{height:105px!important}
  .vertical,.dimension,.hero-cross{display:none!important}

  /* Typography and spacing */
  .section{padding:58px 6vw!important}
  .section h2,.title,.final h2,.page-hero h1{
    font-size:clamp(38px,10.5vw,46px)!important;line-height:1.03!important;
    max-width:100%!important;overflow-wrap:anywhere
  }
  .section h2 br,.title br,.final h2 br{display:none!important}
  .lead,.intro,.content p{font-size:14px!important;line-height:1.65!important}
  .split{grid-template-columns:1fr!important;gap:28px!important}
  .split img{height:330px!important}
  .big-ghost,.huge-word,.vertical-word{display:none!important}

  /* Casa services become true single-column cards */
  .service-grid{grid-template-columns:1fr!important;gap:16px!important}
  .service,.service:nth-child(n){min-height:360px!important;height:360px!important;width:100%!important}
  .service h3{font-size:30px!important;line-height:1.03!important}
  .service-text{left:24px!important;right:24px!important;bottom:22px!important}
  .service-text p{font-size:13px!important;line-height:1.5!important}

  .gallery{grid-template-columns:1fr!important;gap:16px!important}
  .gallery>img{height:330px!important}
  .gallery .stack{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .gallery .stack img:first-child,.gallery .stack img:last-child{
    width:100%!important;height:260px!important;margin:0!important;border-width:0!important
  }
  .material-box{grid-template-columns:1fr!important;padding:38px 6vw!important}
  .material-box img{height:300px!important}
  .final{padding:64px 6vw!important}

  /* Institutional */
  .page-hero{padding:46px 6vw 30px!important}
  .content{padding:0 6vw 58px!important}
  .content h2{font-size:34px!important;line-height:1.08!important}
}

@media(max-width:430px){
  .nav>.cta{padding:10px 12px!important;font-size:7px!important}
  .brand{font-size:15px!important}
  .hero-v3 .hero-copy h1{font-size:42px!important}
  .service,.service:nth-child(n){height:330px!important;min-height:330px!important}
}


/* V14 — Casa mobile refinements from iPhone screenshots */
@media(max-width:800px){

  .hero-v3{
    overflow:hidden!important;
  }

  .hero-visual{
    min-height:0!important;
    height:auto!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }

  .hero-work{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:390px!important;
    clip-path:polygon(0 0,100% 0,100% 94%,88% 100%,0 100%)!important;
  }

  /* Move the result card into normal flow so its caption is never clipped */
  .hero-result{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:52%!important;
    margin:-82px 5% 0 auto!important;
    z-index:5!important;
    padding:8px!important;
    transform:none!important;
    opacity:1!important;
    animation:none!important;
  }

  .hero-result img{
    height:108px!important;
  }

  .hero-result span{
    display:block!important;
    padding:9px 5px 5px!important;
    font-size:9px!important;
    line-height:1.45!important;
    letter-spacing:.15em!important;
  }

  .hero-v3:after{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    display:block!important;
    padding:10px 6vw 16px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  .split,
  .services,
  .gallery,
  .materials,
  .about-tease,
  .final{
    overflow:hidden!important;
  }
}

@media(max-width:430px){
  .hero-work{height:360px!important}
  .hero-result{width:55%!important;margin-top:-70px!important}
  .hero-result img{height:98px!important}
}
