/* =========================================================
   FM Consulting — pagine progetto (Arredamento + 4 obiettivi, ARAN)
   Mockup Matteo: struttura_sito_progetto_*.pdf — valori in unità di tela (--u)
   Richiede base.css
   ========================================================= */

.title-b{font-family:var(--serif);font-weight:700;font-size:calc(50 * var(--u));line-height:calc(56 * var(--u));color:var(--purple);text-wrap:balance}
.quote{font-family:var(--serif);font-style:italic;font-size:calc(34.9 * var(--u));line-height:calc(39 * var(--u));color:var(--purple)}
.kicker{display:block;text-align:center;font-weight:700;color:var(--purple);font-size:max(15px, calc(20 * var(--u)));line-height:1.2}
.credit{font-family:var(--serif);font-style:italic;font-size:max(13px, calc(16 * var(--u)));line-height:1.2;color:var(--ink)}
.credit b{font-weight:700;color:var(--purple)}
.body p+p{margin-top:0}
.gap-p p+p{margin-top:calc(24 * var(--u))}

/* ---------- HERO con immagine (Arredamento, ARAN) ---------- */
.phero{position:relative;background:#040606 center right / cover no-repeat;color:var(--white);
  min-height:calc(319 * var(--u));padding:calc(42 * var(--u)) 0 calc(40 * var(--u))}
.phero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.phero .wrap{position:relative}
.phero h1{font-family:var(--serif);font-style:italic;font-size:calc(50 * var(--u));line-height:calc(58 * var(--u))}
.phero h1 strong{display:block;font-weight:700;color:var(--lilac)}
.phero h1 span{display:block;font-weight:300}
.phero .lead{margin:calc(33 * var(--u)) 0 0 calc(5 * var(--u))}
.phero .lead strong{color:var(--lilac);font-weight:700}
.phero__credit{display:none}
.phero--aran{padding-top:calc(24 * var(--u))}
.phero--aran h1{line-height:calc(56 * var(--u))}
.phero--aran h1 strong+span{margin-top:calc(3 * var(--u))}

@media (max-width:1099px){
  .phero{min-height:calc(478 * var(--u));padding:calc(58 * var(--u)) 0 calc(60 * var(--u))}
  .phero .lead{margin-top:calc(33 * var(--u))}
  .phero__credit{display:block;position:absolute;left:0;right:0;bottom:calc(24 * var(--u));text-align:center;
    font-size:max(9px, calc(11 * var(--u)));color:var(--white)}
  .phero--aran{padding-top:calc(58 * var(--u))}
}

.kicker-row{padding-top:calc(18 * var(--u))}

/* =========================================================
   HUB ARREDAMENTO
   ========================================================= */
.hub-intro{position:relative;padding:calc(48 * var(--u)) 0 calc(60 * var(--u))}
.hub-intro__txt{max-width:calc(620 * var(--u))}
.hub-intro .body{max-width:calc(530 * var(--u))}
.hub-intro .body{margin-top:calc(36 * var(--u))}
.hub-intro .quote{margin-top:calc(34 * var(--u))}
.hub-intro__art{position:absolute;left:calc(434 * var(--u));top:calc(-29 * var(--u));width:calc(678 * var(--u))}
.hub-intro__art img{width:100%;height:auto}

.method{background:var(--lilac);padding:calc(36 * var(--u)) 0 calc(80 * var(--u))}
.method__head{display:flex;align-items:baseline;gap:calc(48 * var(--u));flex-wrap:wrap}
.method__head .quote{transform:translateY(calc(-2 * var(--u)))}
.method__grid{display:grid;grid-template-columns:repeat(4,calc(233 * var(--u)));column-gap:calc(36.5 * var(--u));margin-top:calc(26 * var(--u))}
.mstep__top{display:flex;align-items:center;height:calc(48 * var(--u))}
.mstep__num{font-size:calc(40 * var(--u));line-height:1;width:calc(43 * var(--u));flex:none}
.mstep__line{position:relative;height:1px;width:calc(178 * var(--u));background:var(--purple)}
.mstep__line::after{content:"";position:absolute;right:calc(-3 * var(--u));top:50%;width:calc(7 * var(--u));height:calc(7 * var(--u));border-radius:50%;background:var(--purple);transform:translateY(-50%)}
.mstep__mid{display:flex;justify-content:space-between;align-items:flex-start;margin-top:calc(14 * var(--u))}
.mstep h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:calc(24 * var(--u));line-height:calc(30 * var(--u));color:var(--purple);margin-left:calc(3 * var(--u))}
.mstep__icon{color:var(--white);width:calc(57 * var(--u));flex:none;margin-top:calc(6 * var(--u))}
.mstep__icon svg{width:100%;height:auto;display:block}
.mstep p{margin:calc(12 * var(--u)) 0 0 calc(2 * var(--u));white-space:nowrap}

@media (max-width:1099px){
  .hub-intro{padding:calc(20 * var(--u)) 0 0}
  .hub-intro>.wrap{display:flex;flex-direction:column}
  .hub-intro__txt{max-width:none;display:contents}
  .hub-intro .title-b{order:0}
  .hub-intro .body{order:1;margin-top:calc(40 * var(--u))}
  .hub-intro .quote{order:2;margin:calc(10 * var(--u)) 0 0;position:relative;z-index:1;max-width:calc(260 * var(--u))}
  .hub-intro__art{order:3;position:relative;left:50%;top:auto;transform:translateX(-50%);width:100vw;max-width:calc(532 * var(--u));margin-top:calc(-246 * var(--u))}
  .method{padding:calc(37 * var(--u)) 0 calc(60 * var(--u))}
  .method__head{display:block}
  .method__head .quote{display:block;margin-top:calc(20 * var(--u));transform:none;max-width:calc(300 * var(--u))}
  .method__grid{grid-template-columns:1fr;row-gap:calc(22 * var(--u));margin-top:calc(40 * var(--u))}
  .mstep{display:grid;grid-template-columns:calc(47 * var(--u)) 1fr calc(57 * var(--u));grid-template-rows:auto auto}
  .mstep__top{display:contents}
  .mstep__num{grid-column:1;grid-row:1;align-self:start;line-height:calc(48 * var(--u))}
  .mstep__line{grid-column:1;grid-row:2;width:1px;height:calc(76 * var(--u));margin:calc(4 * var(--u)) 0 0 calc(13 * var(--u))}
  .mstep__line::after{right:auto;top:auto;left:50%;bottom:calc(-3 * var(--u));transform:translateX(-50%)}
  .mstep__mid{display:contents}
  .mstep h3{grid-column:2;grid-row:1;margin:calc(12 * var(--u)) 0 0}
  .mstep__icon{grid-column:3;grid-row:1;margin:0;width:calc(52 * var(--u))}
  .mstep p{grid-column:2 / 4;grid-row:2;margin:calc(4 * var(--u)) 0 0;white-space:normal}
}

/* ---------- "Come lo mettiamo in pratica" / card obiettivi ---------- */
.practice{padding:calc(50 * var(--u)) 0 calc(101 * var(--u))}
.practice .title-b{margin-bottom:calc(84 * var(--u))}
.pgrid{display:grid;grid-template-columns:repeat(2,calc(478 * var(--u)));column-gap:calc(80 * var(--u));row-gap:calc(40 * var(--u));
  margin-left:calc(-1 * var(--u))}
.pcard{--s:1;position:relative;display:block;width:calc(478 * var(--s) * var(--u));height:calc(207 * var(--s) * var(--u));
  text-decoration:none;color:var(--white)}
.pcard__box{position:absolute;left:calc(20 * var(--s) * var(--u));top:0;width:calc(398 * var(--s) * var(--u));height:100%;
  background:var(--purple);border-top-right-radius:calc(70 * var(--s) * var(--u))}
.pcard__title{position:absolute;left:calc(50 * var(--s) * var(--u));top:calc(22 * var(--s) * var(--u));z-index:1;
  font-family:var(--serif);font-style:italic;font-size:calc(34.9 * var(--s) * var(--u));line-height:calc(39 * var(--s) * var(--u))}
.pcard__bar{position:absolute;left:0;top:calc(134 * var(--s) * var(--u));width:100%;height:calc(43 * var(--s) * var(--u));
  background:var(--lilac);border-top-right-radius:calc(30 * var(--s) * var(--u));color:var(--ink);
  display:flex;align-items:center;padding-left:calc(52 * var(--s) * var(--u));font-size:calc(20 * var(--s) * var(--u));text-transform:uppercase;z-index:1;
  transition:background-color .25s ease}
.pcard__img{position:absolute;z-index:2;pointer-events:none;transition:transform .5s ease}
.pcard:hover .pcard__img{transform:translateY(calc(-6 * var(--u)))}
.pcard:hover .pcard__bar{background:#d9c5e5}
.pcard--brand .pcard__img{left:calc(231 * var(--s) * var(--u));top:calc(-78 * var(--s) * var(--u));width:calc(230 * var(--s) * var(--u))}
.pcard--apertura .pcard__img{left:calc(226 * var(--s) * var(--u));top:calc(-101 * var(--s) * var(--u));width:calc(309 * var(--s) * var(--u))}
.pcard--volto .pcard__img{left:calc(267 * var(--s) * var(--u));top:calc(-40 * var(--s) * var(--u));width:calc(221 * var(--s) * var(--u))}
.pcard--obiettivi .pcard__img{left:calc(228 * var(--s) * var(--u));top:calc(-89 * var(--s) * var(--u));width:calc(305 * var(--s) * var(--u))}
.pcard__img img{width:100%;height:auto}

.more{padding:calc(95 * var(--u)) 0 calc(52 * var(--u))}
.more .pgrid{grid-template-columns:repeat(3,calc(325 * var(--u)));column-gap:calc(53.5 * var(--u));margin-left:calc(3 * var(--u))}
.more .pcard{--s:.68}
.more .pgrid{padding-top:calc(69 * var(--u))}

@media (max-width:1099px){
  .practice{padding:calc(29 * var(--u)) 0 calc(49 * var(--u))}
  .practice .title-b{margin-bottom:calc(66 * var(--u))}
  .pgrid,.more .pgrid{grid-template-columns:1fr;row-gap:calc(35 * var(--u));margin-left:calc(-2 * var(--u))}
  .pcard{--s:.852}
  .more{padding:calc(20 * var(--u)) 0 calc(57 * var(--u))}
  .more .pgrid{padding-top:calc(51 * var(--u));justify-items:center;row-gap:calc(37 * var(--u));margin:0}
  .more .pcard{--s:.79}
}

/* =========================================================
   CTA
   ========================================================= */
.cta .cta__btn{margin-top:0}
.cta--lilac{background:var(--lilac);color:var(--ink);text-align:center;padding:calc(23 * var(--u)) 0 calc(29 * var(--u))}
.cta--lilac h2{font-family:var(--serif);font-weight:700;font-size:calc(50 * var(--u));line-height:calc(52 * var(--u));color:var(--purple)}
.cta--lilac p{margin:calc(30 * var(--u)) auto calc(28 * var(--u))}
.cta--lilac .btn{border-color:var(--purple);color:var(--ink);width:calc(255 * var(--u));border-width:1px}
.cta--lilac .btn:hover{background:var(--purple);color:var(--white)}
.cta--showroom{padding:calc(22 * var(--u)) 0 calc(30 * var(--u))}
.cta--showroom p{margin:calc(28 * var(--u)) auto calc(28 * var(--u))}
@media (max-width:1099px){
  .cta--lilac{padding:calc(42 * var(--u)) 0 calc(58 * var(--u))}
  .cta--lilac h2{max-width:calc(380 * var(--u));margin:0 auto}
  .cta--lilac p{margin:calc(34 * var(--u)) auto calc(40 * var(--u));max-width:calc(360 * var(--u))}
  .cta--showroom{padding:calc(39 * var(--u)) 0 calc(60 * var(--u))}
  .cta--showroom h2{max-width:calc(420 * var(--u));margin:0 auto}
}

/* ---------- form contatto ---------- */
.form{width:calc(758 * var(--u));margin:0 auto;border:0.9px solid var(--lilac);border-top-right-radius:calc(100 * var(--u));
  padding:calc(44 * var(--u)) calc(56 * var(--u)) calc(40 * var(--u));background:transparent}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(18 * var(--u)) calc(24 * var(--u))}
.form label{display:flex;flex-direction:column;gap:6px;font-size:max(12px, calc(13 * var(--u)));text-transform:uppercase;letter-spacing:.04em;color:var(--purple)}
.form .full{grid-column:1 / -1}
.form input,.form textarea{font:inherit;font-size:max(15px, calc(17 * var(--u)));text-transform:none;letter-spacing:0;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid var(--lilac);padding:6px 0;border-radius:0}
.form textarea{min-height:calc(84 * var(--u));resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-bottom-color:var(--purple)}
.form__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:calc(26 * var(--u));flex-wrap:wrap}
.form__privacy{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;
  color:var(--ink)!important;font-size:max(12px, calc(14 * var(--u)))!important;max-width:calc(420 * var(--u))}
.form__privacy input{margin-top:3px;accent-color:var(--purple)}
.form .btn{background:var(--purple);border-color:var(--purple);color:var(--white);cursor:pointer;font-family:var(--sans)}
.form .btn:hover{background:#452b6f}
.form__msg{margin-top:14px;font-size:max(13px, calc(15 * var(--u)));color:var(--purple)}
@media (max-width:1099px){
  .form{width:calc(380 * var(--u));border-top-right-radius:calc(90 * var(--u));padding:calc(40 * var(--u)) calc(26 * var(--u)) calc(30 * var(--u))}
  .form__grid{grid-template-columns:1fr}
}

/* =========================================================
   PAGINE OBIETTIVO (interni)
   ========================================================= */
.pintro{padding-top:calc(23 * var(--u))}
.pintro .title-b{margin-top:calc(17 * var(--u))}

/* card video / reel */
.reels{display:grid;grid-template-columns:repeat(4,calc(240 * var(--u)));column-gap:calc(23.5 * var(--u));margin-top:calc(58 * var(--u))}
.reel{position:relative;display:block;height:calc(364 * var(--u));background:var(--ink);border-top-right-radius:calc(61 * var(--u));
  overflow:hidden;text-decoration:none;color:var(--white)}
.reel img{width:100%;height:100%;object-fit:cover}
.reel__play{position:absolute;left:50%;top:calc(126 * var(--u));width:calc(110 * var(--u));height:calc(110 * var(--u));transform:translateX(-50%);
  border:1.5px solid var(--white);border-radius:50%;box-shadow:0 4px 18px rgba(0,0,0,.35);transition:transform .3s ease}
.reel__play::after{content:"";position:absolute;left:38%;top:50%;transform:translateY(-50%);border-style:solid;
  border-width:calc(26 * var(--u)) 0 calc(26 * var(--u)) calc(46 * var(--u));border-color:transparent transparent transparent #fafafa}
a.reel:hover .reel__play{transform:translateX(-50%) scale(1.06)}
.reel__label{position:absolute;left:0;right:0;bottom:calc(32 * var(--u));text-align:center;font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:max(13px, calc(16 * var(--u)));line-height:1.2;padding:0 10px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.reels-track{display:flex;gap:calc(23.5 * var(--u));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.reels-track::-webkit-scrollbar{display:none}
.reels-track .reel{flex:none;width:calc(240 * var(--u));scroll-snap-align:start}
.swipe{display:none}
@media (max-width:1099px){
  .reels{grid-template-columns:none;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:calc(20 * var(--u))}
  .reels::-webkit-scrollbar{display:none}
  .reels .reel,.reels-track .reel{flex:none;width:calc(430 * var(--u));height:calc(609 * var(--u));scroll-snap-align:start;border-top-right-radius:calc(110 * var(--u))}
  .reel__play{top:50%;transform:translate(-50%,-50%);width:calc(180 * var(--u));height:calc(180 * var(--u))}
  a.reel:hover .reel__play{transform:translate(-50%,-50%)}
  .reel__play::after{border-width:calc(42 * var(--u)) 0 calc(42 * var(--u)) calc(74 * var(--u))}
  .reel__label{bottom:calc(36 * var(--u))}
  .swipe{display:block;position:absolute;right:calc(20 * var(--u));bottom:calc(20 * var(--u));width:calc(40 * var(--u));color:var(--white);opacity:.9}
}

/* ---- Costruire un Brand ---- */
.brand-top{position:relative;padding-bottom:calc(69 * var(--u))}
.brand-top .body{max-width:calc(530 * var(--u));margin-top:calc(43 * var(--u))}
.brand-top__art{position:absolute;left:calc(545 * var(--u));top:calc(32 * var(--u));width:calc(540 * var(--u))}
.brand-top__art img{width:100%;height:auto}
.banner{width:calc(1136 * var(--u));margin-left:calc(-51 * var(--u))}
.banner img{width:100%;height:auto}
.case{position:relative;padding-top:calc(16 * var(--u))}
.case .title-b{line-height:calc(60 * var(--u));margin-top:calc(8 * var(--u))}
.case__label{font-family:var(--serif);font-style:italic;font-size:calc(34.9 * var(--u));line-height:calc(39 * var(--u));color:var(--purple);display:flex;align-items:baseline;gap:calc(8 * var(--u))}
.case__label::before{content:"→";font-style:normal;font-family:var(--sans);font-weight:300;font-size:.8em}
.case .body{margin:calc(14 * var(--u)) 0 0 calc(3 * var(--u))}
.case__block+.case__block{margin-top:calc(11 * var(--u))}
.case .case__block--first{margin-top:calc(25 * var(--u))}
.case__art img{width:100%;height:auto}
.case--asta .case__art{position:absolute;left:calc(460 * var(--u));top:calc(1 * var(--u));width:calc(625 * var(--u))}
.case--asta .case__block--wide .body{max-width:calc(940 * var(--u))}
.case--asta .case__block--short .body{max-width:calc(420 * var(--u))}
.case--m3{padding-top:calc(69 * var(--u));padding-bottom:calc(69 * var(--u))}
.case--m3 .case__block .body{max-width:calc(580 * var(--u))}
.case--m3 .case__block--narrow .body{max-width:calc(360 * var(--u))}
.case--m3 .case__arts{position:absolute;left:calc(357 * var(--u));top:calc(182 * var(--u));width:calc(728 * var(--u));height:calc(480 * var(--u))}
.case--m3 .art-bill{position:absolute;left:calc(313 * var(--u));top:0;width:calc(415 * var(--u));border-top-right-radius:calc(166 * var(--u));overflow:hidden}
.case--m3 .art-bill img{width:100%;height:auto}
.case--m3 .art-post{position:absolute;left:0;top:calc(88 * var(--u));width:calc(319 * var(--u))}
.case--m3 .art-post img{width:100%;height:auto}

@media (max-width:1099px){
  .brand-top{padding-bottom:calc(20 * var(--u))}
  .brand-top>.wrap{display:flex;flex-direction:column}
  .brand-top .body{max-width:none;margin-top:calc(40 * var(--u))}
  .brand-top__art{position:relative;left:auto;top:auto;width:calc(460 * var(--u));margin:calc(20 * var(--u)) 0 0 calc(-20 * var(--u))}
  .banner{width:100vw;max-width:calc(532 * var(--u));margin-left:50%;transform:translateX(-50%)}
  .case .title-b{line-height:calc(56 * var(--u))}
  .case>.wrap{display:flex;flex-direction:column}
  .case--asta .case__block{order:1}.case--asta .case__block:last-child{order:3}
  .case--asta .case__art{position:relative;order:2;left:auto;top:auto;width:100vw;max-width:calc(532 * var(--u));margin:calc(20 * var(--u)) 0 0 50%;transform:translateX(-50%)}
  .case--asta .case__block--wide .body,.case--m3 .case__block .body{max-width:none}
  .case--m3{padding:calc(40 * var(--u)) 0 calc(40 * var(--u))}
  .case--m3 .case__arts{position:relative;order:2;left:auto;top:auto;width:100%;height:auto;margin-top:calc(26 * var(--u))}
  .case--m3 .art-bill{position:relative;left:auto;width:calc(430 * var(--u));border-top-right-radius:calc(172 * var(--u))}
  .case--m3 .art-post{position:relative;order:10;width:calc(340 * var(--u));margin:calc(20 * var(--u)) auto 0;top:auto;left:auto}
  .case--m3 .title-b{order:1}
  .case--m3 .case__block{order:3}
  .case--m3 .art-post-m{order:20}
}

/* ---- Nuova apertura ---- */
.open-hero{margin-top:calc(34 * var(--u));border-top-right-radius:calc(100 * var(--u));overflow:hidden;width:calc(1030 * var(--u));margin-left:calc(2 * var(--u))}
.open-hero img{width:100%;height:auto}
.open .body{margin-top:calc(49 * var(--u));max-width:calc(1010 * var(--u))}
.open .reels{margin:calc(64 * var(--u)) 0 calc(67 * var(--u)) calc(2 * var(--u))}
@media (max-width:1099px){
  .open-hero{width:100%;margin:calc(34 * var(--u)) 0 0;border-top-right-radius:calc(84 * var(--u))}
  .open .body{margin-top:calc(34 * var(--u))}
  .open .reels{margin:calc(34 * var(--u)) 0 calc(34 * var(--u))}
}

/* ---- Dare volto al Brand ---- */
.faces{position:relative;padding-bottom:calc(61 * var(--u))}
.faces .body{max-width:calc(450 * var(--u));margin-top:calc(43 * var(--u))}
.faces .quote{margin-top:calc(18 * var(--u));max-width:calc(420 * var(--u))}
.faces__art{position:absolute;left:calc(282 * var(--u));top:calc(8 * var(--u));width:calc(918 * var(--u) + var(--edge, 0px));pointer-events:none}
.faces__art img{width:100%;height:auto}
.faces .carousel{margin:calc(36 * var(--u)) 0 0 calc(2 * var(--u));position:relative;z-index:1}
.faces .carousel .arrow{top:calc(182 * var(--u));color:var(--purple)}
.reels--track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0}
.reels--track::-webkit-scrollbar{display:none}
.reels--track .reel{flex:none;width:calc(240 * var(--u));scroll-snap-align:start}
@media (max-width:1099px){
  .faces>.wrap{display:flex;flex-direction:column}
  .faces .faces__art{order:1}.faces .carousel{order:2}
  .faces__art{position:relative;left:50%;top:auto;transform:translateX(-50%);width:100vw;max-width:calc(532 * var(--u));margin-top:calc(20 * var(--u))}
  .faces .body,.faces .quote{max-width:none}
  .faces .carousel{margin-top:calc(34 * var(--u))}
  .faces .carousel .arrow{top:calc(304 * var(--u))}
}

/* ---- Campagne con obiettivi diversi ---- */
.goals{position:relative;min-height:calc(1505 * var(--u));overflow:hidden}
.goals .body{max-width:calc(440 * var(--u));margin-top:calc(42 * var(--u));position:relative;z-index:2}
.goals__art{position:absolute;left:calc(-61 * var(--u));top:calc(25 * var(--u));width:calc(1261 * var(--u))}
.goals__art img{width:100%;height:auto}
.clients{margin-top:calc(58 * var(--u));position:relative;z-index:2}
.clients li{font-family:var(--serif);font-style:italic;font-size:max(13px, calc(16 * var(--u)));line-height:calc(19 * var(--u))}
.clients li b{display:block;color:var(--purple);font-weight:700}
.clients li+li{margin-top:calc(19 * var(--u))}
.goals__posters{display:none}
@media (max-width:1099px){
  .goals{min-height:0;padding-bottom:calc(20 * var(--u))}
  .goals>.wrap{display:flex;flex-direction:column}
  .goals .kicker{order:-2}.goals .title-b{order:0}
  .goals__art{position:relative;order:1;left:50%;top:auto;transform:translateX(-50%);width:calc(532 * var(--u));margin-top:calc(20 * var(--u));overflow:hidden}
  .goals__art img{width:100%;max-width:none;margin-left:0}
  .goals .body{order:2;max-width:none;margin-top:calc(30 * var(--u))}
  .clients{order:3;margin-top:calc(28 * var(--u))}
  .goals__posters{display:block;order:4;position:relative;left:50%;transform:translateX(-50%);width:100vw;max-width:calc(532 * var(--u));margin-top:calc(10 * var(--u))}
  .goals__posters img{width:100%;height:auto}
}

/* =========================================================
   ARAN
   ========================================================= */
.aran-intro{position:relative;padding:calc(48 * var(--u)) 0 calc(55 * var(--u))}
.aran-intro .quote{max-width:calc(600 * var(--u))}
.aran-intro .body{max-width:calc(458 * var(--u));margin-top:calc(48 * var(--u))}
.aran-intro .body--b{margin-top:0}
.aran-intro__art{position:absolute;left:calc(483 * var(--u));top:calc(-10 * var(--u));width:calc(577 * var(--u))}
.aran-intro__art img{width:100%;height:auto}
.aran-intro__q2{position:absolute;right:0;top:calc(488 * var(--u));text-align:right;max-width:calc(420 * var(--u))}
.aran-method{background:var(--lilac);padding:calc(38 * var(--u)) 0 calc(80 * var(--u));position:relative}
.aran-steps{margin-top:calc(34 * var(--u));max-width:calc(690 * var(--u));position:relative;z-index:1}
.astep{display:grid;grid-template-columns:calc(42 * var(--u)) 1fr;grid-template-rows:auto auto}
.astep+.astep{margin-top:calc(4 * var(--u))}
.astep__num{font-size:calc(40 * var(--u));line-height:calc(48 * var(--u))}
.astep h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:calc(24 * var(--u));line-height:calc(30 * var(--u));color:var(--purple);margin-top:calc(8 * var(--u))}
.astep__line{grid-column:1;grid-row:2;position:relative;width:1px;height:calc(66 * var(--u));background:var(--purple);margin:calc(8 * var(--u)) 0 0 calc(13 * var(--u))}
.astep__line::after{content:"";position:absolute;left:50%;bottom:calc(-3 * var(--u));width:calc(7 * var(--u));height:calc(7 * var(--u));border-radius:50%;background:var(--purple);transform:translateX(-50%)}
.astep p{grid-column:2;grid-row:2;margin-top:calc(16 * var(--u))}
.aran-method__art{position:absolute;left:calc(550 * var(--u));top:calc(72 * var(--u));width:calc(611 * var(--u))}
.aran-method__art img{width:100%;height:auto}

.strat{padding:calc(22 * var(--u)) 0 calc(40 * var(--u))}
.srow{display:grid;grid-template-columns:calc(456 * var(--u)) calc(77 * var(--u)) 1fr;align-items:stretch;min-height:calc(185 * var(--u));margin-top:calc(29 * var(--u))}
.srow+.srow{margin-top:calc(51 * var(--u))}
.srow__txt .quote{margin-top:calc(-2 * var(--u))}
.srow__txt .body{margin-top:calc(20 * var(--u))}
.srow__link{position:relative}
.srow__link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--purple)}
.srow__link::after{content:"";position:absolute;left:0;top:50%;width:calc(47 * var(--u));height:1px;background:var(--purple)}
.srow__link i{position:absolute;left:calc(44 * var(--u));top:50%;width:calc(7 * var(--u));height:calc(7 * var(--u));border-radius:50%;background:var(--purple);transform:translateY(-50%)}
.minis{display:flex;gap:calc(19.5 * var(--u))}
.mini{position:relative;width:calc(148 * var(--u));height:calc(185 * var(--u));background:var(--ink);border-top-right-radius:calc(40 * var(--u));
  box-shadow:calc(3 * var(--u)) calc(5 * var(--u)) calc(12 * var(--u)) rgba(35,30,49,.28)}
.mini__play{position:absolute;left:50%;top:50%;width:calc(50 * var(--u));height:calc(50 * var(--u));transform:translate(-50%,-50%);border:1px solid var(--white);border-radius:50%}
.mini__play::after{content:"";position:absolute;left:38%;top:50%;transform:translateY(-50%);border-style:solid;
  border-width:calc(12 * var(--u)) 0 calc(12 * var(--u)) calc(20 * var(--u));border-color:transparent transparent transparent #fff}
.srow--r{grid-template-columns:calc(484 * var(--u)) calc(123 * var(--u)) 1fr}
.srow--r .srow__link::before{left:calc(76 * var(--u))}
.srow--r .srow__link::after{left:calc(29 * var(--u));width:calc(47 * var(--u))}
.srow--r .srow__link i{left:calc(26 * var(--u))}
.srow--r .srow__link{grid-column:2}
.srow--r .minis{grid-column:1;grid-row:1}
.srow--r .srow__txt{grid-column:3;grid-row:1}
.srow__todo{display:none}

.learn{position:relative;padding:calc(40 * var(--u)) 0 calc(60 * var(--u))}
.learn .body{max-width:calc(530 * var(--u))}
.learn .title-b+.body{margin-top:calc(43 * var(--u))}
.learn .quote{margin-top:calc(20 * var(--u))}
.learn .quote+.body{margin-top:calc(30 * var(--u))}
.learn__map{position:absolute;left:calc(652 * var(--u));top:calc(18 * var(--u));width:calc(408 * var(--u))}
.learn__map img{width:100%;height:auto}
.shared{background:var(--lilac);padding:calc(39 * var(--u)) 0 calc(52 * var(--u))}
.shared .body strong{color:var(--purple);font-weight:700}
.shared .quote{margin-top:calc(22 * var(--u))}

@media (max-width:1099px){
  .aran-intro{padding:calc(20 * var(--u)) 0 calc(20 * var(--u))}
  .aran-intro>.wrap{display:flex;flex-direction:column}
  .aran-intro .quote{order:-1}.aran-intro__art{order:1}.aran-intro .body--b{order:2}.aran-intro .quote.aran-intro__q2{order:3}
  .aran-intro .body{max-width:none;margin-top:calc(30 * var(--u))}
  .aran-intro__art{position:relative;left:calc(-51 * var(--u));top:auto;width:calc(411 * var(--u));margin-top:calc(10 * var(--u))}
  .aran-intro__q2{position:relative;top:auto;margin-top:calc(20 * var(--u));max-width:none}
  .aran-intro .body--b{margin-top:calc(10 * var(--u))}
  .aran-steps{max-width:none}
  .aran-method__art{position:relative;left:50%;top:auto;transform:translateX(-50%);width:100vw;max-width:calc(532 * var(--u));margin:calc(20 * var(--u)) 0}
  .srow,.srow--r{display:flex;flex-direction:column;margin-top:calc(40 * var(--u))}
  .srow__link{display:none}
  .srow--r .srow__txt{margin-left:0;order:0}
  .srow__txt{order:0}
  .minis{order:1;margin-top:calc(24 * var(--u));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .minis::-webkit-scrollbar{display:none}
  .mini{flex:none;width:calc(430 * var(--u));height:calc(609 * var(--u));border-top-right-radius:calc(110 * var(--u));scroll-snap-align:start}
  .mini__play{width:calc(120 * var(--u));height:calc(120 * var(--u))}
  .mini__play::after{border-width:calc(28 * var(--u)) 0 calc(28 * var(--u)) calc(48 * var(--u))}
  .learn>.wrap{display:flex;flex-direction:column}
  .learn__map{position:relative;left:auto;top:auto;width:calc(360 * var(--u));margin:calc(30 * var(--u)) auto 0;order:3}
  .learn .body--b{order:4;margin-top:calc(30 * var(--u))}
  .learn .body{max-width:none}
}

/* =========================================================
   CASE HISTORY (Sallustio, Brunelleschi, Infortunistica)
   Nessun mockup dedicato: stessi componenti dei mockup Arredamento/ARAN
   ========================================================= */
.phero--text{min-height:0;padding:calc(56 * var(--u)) 0 calc(58 * var(--u))}
.phero--text .lead{max-width:calc(640 * var(--u))}
@media (max-width:1099px){ .phero--text{min-height:0;padding:calc(70 * var(--u)) 0 calc(64 * var(--u))} }

.cintro{padding:calc(40 * var(--u)) 0 calc(70 * var(--u))}
.cintro .wrap{display:grid;grid-template-columns:calc(530 * var(--u)) 1fr;column-gap:calc(80 * var(--u));align-items:start}
.cintro .body{margin-top:calc(36 * var(--u))}
.cintro .quote{margin-top:calc(8 * var(--u))}
@media (max-width:1099px){
  .cintro .wrap{grid-template-columns:1fr}
  .cintro .quote{margin-top:calc(34 * var(--u))}
}

.lband{background:var(--lilac);padding:calc(38 * var(--u)) 0 calc(70 * var(--u))}
.lband .aran-steps{max-width:calc(760 * var(--u))}
.lband .lead-q{margin-top:calc(14 * var(--u))}

.blocks{padding:calc(40 * var(--u)) 0 calc(40 * var(--u))}
.brow{display:grid;grid-template-columns:1fr calc(430 * var(--u));column-gap:calc(80 * var(--u));align-items:center;margin-top:calc(56 * var(--u))}
.brow--r{grid-template-columns:calc(430 * var(--u)) 1fr}
.brow--r .brow__img{order:-1}
.brow .body{margin-top:calc(16 * var(--u))}
.brow ul.ticks{margin-top:calc(18 * var(--u));display:grid;grid-template-columns:1fr 1fr;gap:calc(6 * var(--u)) calc(24 * var(--u))}
.ticks li{position:relative;padding-left:calc(28 * var(--u));line-height:calc(24 * var(--u))}
.ticks li::before{content:"→";position:absolute;left:0;font-weight:700;color:var(--purple)}
.brow h3.sub{font-family:var(--serif);font-style:italic;font-weight:700;font-size:calc(24 * var(--u));color:var(--purple);margin-top:calc(22 * var(--u))}
.brow__img{border-top-right-radius:calc(94 * var(--u));overflow:hidden;background:var(--ink)}
.brow__img img{width:100%;height:auto;display:block}
.brow__img--ph{aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center;padding:calc(30 * var(--u));
  color:var(--lilac);font-family:var(--serif);font-style:italic;font-size:max(14px, calc(18 * var(--u)));text-align:center}
@media (max-width:1099px){
  .brow,.brow--r{grid-template-columns:1fr;row-gap:calc(26 * var(--u));margin-top:calc(44 * var(--u))}
  .brow--r .brow__img{order:0}
  .brow ul.ticks{grid-template-columns:1fr}
}

.eco{padding:calc(60 * var(--u)) 0 calc(70 * var(--u))}
.eco .quote{margin-top:calc(14 * var(--u))}
.eco__img{margin-top:calc(40 * var(--u));border-radius:0 calc(94 * var(--u)) 0 0;overflow:hidden}
.eco__img img{width:100%;height:auto;display:block}
.chain{margin-top:calc(34 * var(--u));display:grid;grid-template-columns:repeat(5,1fr);gap:calc(18 * var(--u))}
.chain li{border-top:1px solid var(--purple);padding-top:calc(12 * var(--u));position:relative}
.chain li::before{content:"";position:absolute;left:0;top:calc(-4 * var(--u));width:calc(7 * var(--u));height:calc(7 * var(--u));border-radius:50%;background:var(--purple)}
@media (max-width:1099px){ .chain{grid-template-columns:1fr} .eco__img{margin-left:calc(-51 * var(--u));margin-right:calc(-51 * var(--u));border-radius:0} }

.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24 * var(--u));margin-top:calc(40 * var(--u));counter-reset:f}
.flow li{background:var(--cream);border-top-right-radius:calc(60 * var(--u));padding:calc(30 * var(--u)) calc(28 * var(--u)) calc(34 * var(--u))}
.flow h3{font-family:var(--serif);font-weight:700;font-size:calc(30 * var(--u));color:var(--purple);line-height:1.1}
.flow h3::before{counter-increment:f;content:counter(f) " ";font-family:var(--sans);font-weight:400;font-size:.8em;color:var(--ink);margin-right:.3em}
.flow p{margin-top:calc(12 * var(--u))}
@media (max-width:1099px){ .flow{grid-template-columns:1fr} }

.cta--home{padding:calc(34 * var(--u)) 0 calc(30 * var(--u))}
.cta--home p{margin:calc(40 * var(--u)) auto calc(28 * var(--u))}
@media (max-width:1099px){ .cta--home{padding:calc(49 * var(--u)) 0 calc(60 * var(--u))} .cta--home h2{max-width:calc(420 * var(--u));margin:0 auto} }
