
    :root{
      --ink:#08111f;
      --ink2:#0f1c30;
      --paper:#f3f4ef;
      --paper2:#e9ebe4;
      --blue:#3557c8;
      --blue2:#6e8cff;
      --sky:#a9baff;
      --white:#fff;
      --muted:#6c7480;
      --line:rgba(8,17,31,.12);
      --pad:clamp(20px,4vw,64px);
      --max:1480px;
      --radius:28px;
      --f-display:"Urbanist",system-ui,sans-serif;
      --f-body:"Schibsted Grotesk",system-ui,sans-serif;
      --brand-grad:linear-gradient(180deg,#5b7ef2 0%,#2c3f95 100%);
      --brand-grad-light:linear-gradient(180deg,#b3c3ff 0%,#6485f5 100%);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button{font:inherit}
    ::selection{background:var(--blue);color:white}

    .noise{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");mix-blend-mode:multiply}
    .progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--blue2),#fff);z-index:120}

    .topline{height:36px;background:#050a11;color:#a9b5c6;display:flex;align-items:center;justify-content:center;font:650 11px/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase}
    .topline span{display:inline-flex;align-items:center;gap:10px}
    .topline i{width:6px;height:6px;border-radius:50%;background:#82efa4;box-shadow:0 0 0 6px rgba(130,239,164,.06)}

    .nav-wrap{position:absolute;top:0;left:0;right:0;padding:18px var(--pad);z-index:50}
    nav{max-width:var(--max);margin:auto;height:76px;border:1px solid rgba(255,255,255,.11);background:rgba(5,12,22,.48);backdrop-filter:blur(18px) saturate(120%);border-radius:22px;display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 22px;color:white;box-shadow:0 16px 60px rgba(0,0,0,.15)}
    .brand{width:172px;position:relative;overflow:hidden;isolation:isolate}
    .brand img{width:100%;filter:drop-shadow(0 8px 18px rgba(53,87,200,.15))}
    .nav-links{display:flex;align-items:center;gap:28px;font-size:13px}
    .nav-links>a{opacity:.76;position:relative}
    .nav-links>a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:white;transition:.25s}
    .nav-links>a:hover{opacity:1}
    .nav-links>a:hover::after{right:0}
    .nav-cta{padding:13px 18px;background:white;color:var(--ink);border-radius:999px;font-weight:700;display:inline-flex;gap:10px;align-items:center}
    .nav-cta b{width:24px;height:24px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font-size:12px}
    .burger{display:none;background:none;border:0;color:white;font-size:26px}

    .hero{min-height:100svh;position:relative;background:radial-gradient(circle at 78% 24%,rgba(67,96,201,.23),transparent 30%),linear-gradient(135deg,#06101d 0%,#0a1829 56%,#07111f 100%);color:white;overflow:hidden;padding:180px var(--pad) 66px;display:flex;align-items:flex-end}
    .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,11,20,.94) 0 34%,rgba(4,11,20,.55) 48%,rgba(4,11,20,0) 64%);z-index:2;pointer-events:none}
    .hero-inner{max-width:var(--max);width:100%;margin:auto;position:relative;z-index:6;display:grid;grid-template-columns:minmax(0,760px);gap:34px;align-items:end}
    .eyebrow{font:650 12px/1 var(--f-display);text-transform:uppercase;letter-spacing:.18em;color:#9bacbf;display:flex;align-items:center;gap:12px;margin-bottom:24px}
    .eyebrow::before{content:"";width:44px;height:1px;background:#7288a5}
    .eyebrow svg{width:18px;height:18px;color:#8fa6ff}
    h1{font-size:clamp(58px,7.2vw,122px);line-height:.9;letter-spacing:-.03em;margin:0;max-width:1050px;font-weight:700;font-family:var(--f-display)}
    h1 .serif{font-weight:800;background:var(--brand-grad-light);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
    h1 .line2{display:block;white-space:nowrap;padding-left:clamp(0px,5vw,78px);margin-top:.03em}
    .hero-copy{padding-bottom:12px;max-width:520px;justify-self:start;padding:0}
    .hero-copy p{font-size:clamp(17px,1.45vw,21px);line-height:1.55;color:#c4cfde;margin:0 0 22px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .btn{display:inline-flex;align-items:center;gap:14px;padding:15px 17px 15px 20px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:.25s;cursor:pointer}
    .btn.primary{background:var(--brand-grad);color:white;box-shadow:0 14px 40px rgba(53,87,200,.25)}
    .btn.ghost{border-color:rgba(255,255,255,.16);color:white;background:rgba(255,255,255,.04)}
    .btn .round{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink);transition:.25s}
    .btn:hover{transform:translateY(-3px)}
    .btn:hover .round{transform:translateX(3px) rotate(-7deg)}
    .hero-meta{margin-top:32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;font:650 11px/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:#8495aa}
    .hero-meta span{display:flex;align-items:center;gap:7px}
    .hero-meta i{width:5px;height:5px;border-radius:50%;background:#6483ef}
    .hero-mark .mark-house{stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 18px rgba(73,110,255,.12))}
    .hero-mark .mark-word{stroke-width:2.2;paint-order:stroke;letter-spacing:.02em}


    .city-stage{position:absolute;inset:92px -2vw -3px 42%;z-index:1;pointer-events:none;overflow:visible}
    .city-stage svg{width:100%;height:100%;overflow:visible}
    .city-fog{position:absolute;left:26%;right:0;bottom:-2%;height:36%;background:linear-gradient(to top,#08111f 8%,rgba(8,17,31,.88) 34%,transparent);z-index:4}
    .city-glow{position:absolute;width:560px;height:560px;border-radius:50%;right:18%;top:6%;background:radial-gradient(circle,rgba(78,108,223,.14),transparent 68%);filter:blur(2px);animation:pulseGlow 8s ease-in-out infinite}
    @keyframes pulseGlow{50%{transform:scale(1.08);opacity:.7}}
    .building-rise{opacity:0;transform-box:fill-box;transform-origin:center bottom;animation:riseIn 1.1s cubic-bezier(.18,.9,.2,1) forwards}
    .building-layer{transform-box:fill-box;transform-origin:center bottom;will-change:transform}
    @keyframes riseIn{0%{opacity:0;transform:translateY(130px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
    /* city: residential Milanese condomini — colors are theme tokens */
    :root{
      --c-back1:#15253b;--c-back2:#0b1626;
      --c-mid1:#1f3350;--c-mid2:#101e32;
      --c-hero1:#28406a;--c-hero2:#172a47;--c-hero3:#0f1d33;
      --c-warm1:#2a3450;--c-warm2:#131c30;
      --c-side1:#0a1422;--c-side2:#132238;
      --c-gable1:#22365c;--c-gable2:#172844;--c-gable:#15243b;
      --c-glass:#0c1829;--c-lit:#d9b574;--c-lit-cool:#8fa4e6;
      --c-frame:#0a1422;--c-frame-line:rgba(160,182,240,.16);--c-mullion:#0a1422;
      --c-ledge:rgba(150,172,230,.10);
      --c-slat-a:#33496b;--c-slat-b:#22354f;
      --c-rail:rgba(180,198,245,.34);--c-rail-bar:rgba(180,198,245,.28);--c-slab:#2a3f60;
      --c-plant:#1d4a4a;--c-plant2:#2b6457;
      --c-cornice:#243858;--c-cornice-hero:#3a538a;--c-chimney:#22375a;--c-cap:#2c4266;--c-cap-hero:#8fa8ff;
      --c-parapet:#1f3350;--c-tank:#17283f;--c-pole:#566f91;--c-antenna:#708fff;
      --c-ground:#0d1829;--c-shop:#101f36;--c-awning:#243858;--c-awning-hero:#3452b0;
      --c-door:#070f1b;--c-lobby:#f2cd86;
      --c-tree:#123238;--c-tree2:#1b4a4a;--c-trunk:#081220;
      --c-street:#060e1a;--c-lamp-pole:#1a2a42;--c-lamp-head:#ffe2a8;--c-lamp-glow:1;
      --c-mark-op:.8;--c-pot:#5b3326;--c-pot-rim:#74432f;--c-leaf:#1f4d44;--c-leaf2:#2e6a57;--c-flower:#b8434d;--c-flower2:#c77aa6;--c-flower3:#d8d2c4;--c-flower4:#d1a23f;--c-flower5:#8577c9;--c-fruit:#d8b640;--c-leaf3:#3d6b3e;--c-pot-grey:#3a4454;--c-pot-grey-rim:#4a5566;--c-pot-white:#7d8698;--c-pot-white-rim:#939cad;--c-pot-green:#24463a;--c-pot-green-rim:#2f5849;--c-stem:#1a3d36;--c-tree-shade:#081a22;--c-grate:#15233a;--c-mark-fill:.9;--c-sidewalk:#0b1524;--c-curb:rgba(160,182,240,.18);--c-shadow:rgba(0,0,0,.45);
    }
    .city .facade.face-back{fill:url(#face-back)}
    .city .facade.face-mid{fill:url(#face-mid)}
    .city .facade.face-hero{fill:url(#face-hero)}
    .city .facade.face-warm{fill:url(#face-warm)}
    .city .side{fill:url(#sideF)}
    .city .gable{fill:var(--c-gable)}
    .city .gable-hero{fill:url(#gable)}
    .city .chimney{fill:var(--c-chimney)}
    .city .chimney-hero{fill:url(#roofGrad)}
    .city .cap{fill:var(--c-cap)}
    .city .cap-hero{fill:var(--c-cap-hero)}
    .city .cornice{fill:var(--c-cornice)}
    .city .cornice-hero{fill:var(--c-cornice-hero)}
    .city .ledge{stroke:var(--c-ledge);stroke-width:1}
    .city .frame{fill:var(--c-frame);stroke:var(--c-frame-line);stroke-width:1}
    .city .mullion{stroke:var(--c-mullion);stroke-width:1.3}
    .city .glass{fill:var(--c-glass);transition:fill 1.6s ease}
    .city .glass.lit{fill:var(--c-lit)}
    .city .glass.lit.cool{fill:var(--c-lit-cool)}
    .city .shutter{fill:url(#slats)}
    .city .slat-a{fill:var(--c-slat-a)}
    .city .slat-b{fill:var(--c-slat-b)}
    .city .rail-bar{fill:var(--c-rail-bar)}
    .city .slab{fill:var(--c-slab)}
    .city .rail{stroke:var(--c-rail);stroke-width:1.2}
    .city .plant{fill:var(--c-plant)}
    .city .pot{fill:var(--c-pot)}
    .city .pot-rim{fill:var(--c-pot-rim)}
    .city .leaf{fill:var(--c-leaf)}
    .city .leaf2{fill:var(--c-leaf2)}
    .city .flower{fill:var(--c-flower)}
    .city .flower2{fill:var(--c-flower2)}
    .city .flower3{fill:var(--c-flower3)}
    .city .flower4{fill:var(--c-flower4)}
    .city .flower5{fill:var(--c-flower5)}
    .city .fruit{fill:var(--c-fruit)}
    .city .leaf3{fill:var(--c-leaf3)}
    .city .pot-grey{fill:var(--c-pot-grey)}.city .pot-grey-rim{fill:var(--c-pot-grey-rim)}
    .city .pot-white{fill:var(--c-pot-white)}.city .pot-white-rim{fill:var(--c-pot-white-rim)}
    .city .pot-green{fill:var(--c-pot-green)}.city .pot-green-rim{fill:var(--c-pot-green-rim)}
    .city .stem{fill:none;stroke:var(--c-stem);stroke-width:.9}
    .city .branch{fill:none;stroke:var(--c-trunk);stroke-linecap:round}
    .city .tree-shade{fill:var(--c-tree-shade);opacity:.55}
    .city .grate{fill:var(--c-grate)}
    .city .plant2{fill:var(--c-plant2)}
    .city .parapet{fill:var(--c-parapet)}
    .city .tank{fill:var(--c-tank)}
    .city .pole{stroke:var(--c-pole);stroke-width:2}
    .city .antenna-dot{fill:var(--c-antenna)}
    .city .groundfloor{fill:var(--c-ground)}
    .city .shop{fill:var(--c-shop);stroke:var(--c-frame-line)}
    .city .awning{fill:var(--c-awning)}
    .city .awning-hero{fill:var(--c-awning-hero)}
    .city .door{fill:var(--c-door);stroke:var(--c-frame-line)}
    .city .lobby{fill:var(--c-lobby)}
    .city .roof-edge{fill:none;stroke:url(#roofGrad);stroke-linejoin:miter}
    .city .lamp-glow{fill:url(#lampGlow);opacity:var(--c-lamp-glow)}
    .city .lamp-pole{fill:none;stroke:var(--c-lamp-pole);stroke-width:3}
    .city .lamp-head{fill:var(--c-lamp-head)}
    .city .tree{fill:var(--c-tree)}
    .city .tree2{fill:var(--c-tree2)}
    .city .trunk{fill:var(--c-trunk)}
    .city .street{fill:var(--c-street)}
    .city .sidewalk{fill:var(--c-sidewalk)}
    .city .curb{stroke:var(--c-curb);stroke-width:1.2}
    .city .ground-shadow{fill:var(--c-shadow)}
    .city .bg-mark path{fill:url(#markFill);fill-opacity:var(--c-mark-fill);stroke:url(#markGrad);stroke-width:.7;stroke-linejoin:round}
    .city .bg-mark{opacity:var(--c-mark-op)}
    /* intro: the logo draws itself, then fills; buildings rise after */
    .city .mark-intro path.drawn{stroke-dasharray:none}
    .city .mark-intro path{stroke-dasharray:1;stroke-dashoffset:0;animation:markDraw 1.3s cubic-bezier(.6,.1,.3,1) 1.15s both,markFill .8s ease 2.1s both}
    @keyframes markDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
    @keyframes markFill{from{fill-opacity:0}to{fill-opacity:var(--c-mark-fill)}}
    .antenna{animation:antennaBlink 2.8s steps(1,end) infinite}
    @keyframes antennaBlink{50%{opacity:.15}}


    .scroll-cue{position:absolute;left:var(--pad);bottom:18px;z-index:8;display:flex;align-items:center;gap:12px;color:#74879f;font:650 10px/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase}
    .scroll-cue::before{content:"";width:1px;height:50px;background:linear-gradient(#91a9c6,transparent)}

    section{padding:clamp(84px,10vw,150px) var(--pad)}
    .shell{max-width:var(--max);margin:auto}
    .section-top{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;margin-bottom:clamp(50px,6vw,86px);align-items:start}
    .label{font:650 11px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:#7b8490;display:flex;align-items:center;gap:10px}
    .label::before{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:translateY(3px) rotate(45deg);margin-right:2px}
    h2{font-size:clamp(42px,5.6vw,88px);line-height:.98;letter-spacing:-.03em;margin:0;font-weight:700;font-family:var(--f-display)}
    .lead{font-size:clamp(17px,1.35vw,21px);line-height:1.55;color:var(--muted);max-width:760px;margin:22px 0 0}

    .method{background:var(--paper)}
    .steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
    .step{padding:30px 26px 24px 0;min-height:360px;border-right:1px solid var(--line);position:relative;transition:.35s}
    .step:not(:first-child){padding-left:26px}
    .step:last-child{border-right:0}
    .step .num{font:650 11px/1 var(--f-display);letter-spacing:.14em;color:#89919c;margin-bottom:88px}
    h3,.fact b,.nav-cta,.btn{font-family:var(--f-display)}
    .step h3{font-size:clamp(23px,2vw,30px);line-height:1.08;letter-spacing:-.02em;margin:0 0 18px;max-width:270px}
    .step p{font-size:14px;line-height:1.62;color:#6d7580;margin:0;max-width:280px}
    .step::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.45s}
    .step:hover{transform:translateY(-7px)}
    .step:hover::after{transform:scaleX(1)}

    .contrast{background:#0b1524;color:white;position:relative;overflow:hidden}
    .contrast-mark{position:absolute;right:-4vw;bottom:-8vw;width:clamp(320px,42vw,720px);color:rgba(255,255,255,.03);pointer-events:none}
    .contrast .section-top{position:relative;z-index:2}
    .contrast .label{color:#8597ad}
    .contrast .lead{color:#a9b6c6}
    .compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:2}
    .panel{border-radius:30px;padding:clamp(28px,4vw,54px);min-height:540px;position:relative;overflow:hidden}
    .panel.old{background:#111d2d;border:1px solid rgba(255,255,255,.08)}
    .panel.new{background:#f4f4ef;color:var(--ink)}
    .panel small{font:650 11px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;opacity:.6}
    .panel h3{font-size:clamp(36px,4vw,60px);letter-spacing:-.025em;margin:24px 0 46px;line-height:.95}
    .compare-list{display:grid;gap:18px}
    .compare-row{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;padding-top:18px;border-top:1px solid currentColor;border-color:rgba(128,143,164,.18)}
    .compare-row b{width:30px;height:30px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:12px;opacity:.7}
    .compare-row strong{display:block;font-size:17px;margin-bottom:5px}
    .compare-row p{margin:0;line-height:1.55;font-size:13px;opacity:.68;max-width:460px}

    .services{background:var(--paper2)}
    .service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
    .service{min-height:430px;border-radius:28px;position:relative;overflow:hidden;padding:30px;background:#fff;border:1px solid rgba(8,17,31,.08);display:flex;flex-direction:column;justify-content:space-between;transition:.35s}
    .service:nth-child(1){grid-column:span 7}
    .service:nth-child(2){grid-column:span 5;background:#dfe4f6}
    .service:nth-child(3){grid-column:span 5;background:#0e1b2d;color:white}
    .service:nth-child(4){grid-column:span 7}
    .service:hover{transform:translateY(-8px)}
    .service .tag{font:650 11px/1 var(--f-display);letter-spacing:.13em;text-transform:uppercase;opacity:.55}
    .service h3{font-size:clamp(32px,3.5vw,56px);line-height:.95;letter-spacing:-.025em;margin:0 0 15px;max-width:680px}
    .service p{margin:0;max-width:560px;line-height:1.58;font-size:15px;opacity:.68}
    .service-arrow{position:absolute;right:26px;top:26px;width:48px;height:48px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;transition:.3s}
    .service:hover .service-arrow{transform:rotate(44deg);background:var(--blue);color:white;border-color:var(--blue)}
    .service-visual{position:absolute;right:-8%;bottom:-12%;width:47%;aspect-ratio:1;border-radius:50%;border:1px solid currentColor;opacity:.09}
    .service-visual::before,.service-visual::after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;inset:15%}
    .service-visual::after{inset:34%}

    .profile{background:#f8f8f4}
    .profile-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,100px);align-items:center}
    .portrait-placeholder{aspect-ratio:4/5;border-radius:36px;background:linear-gradient(145deg,#17263d,#0c1626);position:relative;overflow:hidden;min-height:560px}
    .portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 20%}
    .portrait-placeholder::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 65%,rgba(5,12,22,.7))}
    .portrait-placeholder::after{content:"NOELE ROMANO / AMMINISTRATORE";position:absolute;left:26px;right:26px;bottom:24px;z-index:2;color:#fff;font:650 10px/1.5 var(--f-display);letter-spacing:.16em}
    .profile-copy h2{font-size:clamp(54px,6vw,94px)}
    .accent,.profile-copy .serif{font-weight:800;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
    .profile-copy p{font-size:18px;line-height:1.65;color:#626c77;max-width:650px;margin:26px 0}
    .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
    .fact{padding:18px 0;border-top:1px solid var(--line)}
    .fact b{display:block;font-size:24px;letter-spacing:-.03em;margin-bottom:7px}
    .fact span{font:650 10px/1.4 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:#8a929d}

    .cta-section{background:var(--blue);color:white;position:relative;overflow:hidden;padding-block:clamp(90px,11vw,170px)}
    .cta-section::before{content:"";position:absolute;inset:-40%;background:repeating-radial-gradient(circle at center,transparent 0 66px,rgba(255,255,255,.06) 67px 68px);animation:rotateRings 30s linear infinite}
    @keyframes rotateRings{to{transform:rotate(360deg)}}
    .cta-inner{max-width:var(--max);margin:auto;position:relative;z-index:2}
    .cta-mark{position:absolute;right:var(--pad);top:clamp(60px,8vw,120px);width:clamp(70px,8vw,120px);color:rgba(255,255,255,.9);z-index:2}
    .cta-inner h2{font-size:clamp(62px,9vw,142px);max-width:1200px}
    .cta-inner h2 .serif{font-weight:800;color:#cfd9ff}
    .cta-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:50px;padding-top:30px;border-top:1px solid rgba(255,255,255,.25)}
    .cta-bottom p{max-width:540px;font-size:18px;line-height:1.55;margin:0;color:#dbe3ff}
    .cta-contact{text-align:right;font:650 12px/1.8 var(--f-display);letter-spacing:.05em}

    footer{background:#050a11;color:#8a95a4;padding:38px var(--pad) 46px}
    .footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
    .footer-logo{width:180px;filter:brightness(1.5)}
    footer p{font:650 10px/1.7 var(--f-display);letter-spacing:.08em;text-transform:uppercase;margin:18px 0 0}
    footer .links{display:flex;gap:18px;flex-wrap:wrap;font:650 11px/1 var(--f-display);text-transform:uppercase;letter-spacing:.08em}

    .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
    .reveal.in{opacity:1;transform:none}

    @media (max-width:1050px){
      .nav-links>a:not(.nav-cta){display:none}
      .hero{padding-top:150px}
      .hero-inner{grid-template-columns:1fr;gap:34px}
      .hero-copy{justify-self:start;max-width:620px}
      .city-stage{left:20%;opacity:.82}
      .hero::before{background:linear-gradient(90deg,rgba(4,11,20,.94) 0 52%,rgba(4,11,20,.18) 100%)}
      .section-top{grid-template-columns:1fr;gap:24px}
      .steps{grid-template-columns:repeat(2,1fr)}
      .step:nth-child(2){border-right:0}
      .step:nth-child(-n+2){border-bottom:1px solid var(--line)}
      .service:nth-child(n){grid-column:span 6}
      .profile-grid{grid-template-columns:1fr}
      .portrait-placeholder{min-height:480px}
    }
    @media (max-width:720px){
      .topline{font-size:8px}
      .nav-wrap{padding-inline:14px}
      nav{height:68px;padding-inline:16px}
      .brand{width:145px}
      .nav-cta{display:none}
      .burger{display:block}
      .hero{min-height:860px;padding:145px 20px 54px;align-items:flex-start}
      .hero-inner{gap:30px}
      h1{font-size:clamp(56px,17vw,84px);line-height:.86}
      h1 .line2{padding-left:0;white-space:normal}
      .hero-copy{padding-top:12px}
      .hero-copy p{font-size:16px}
      .city-stage{inset:280px -38vw -10px 8%;opacity:.7}
      .hero::before{background:linear-gradient(to bottom,rgba(4,11,20,.93) 0 45%,rgba(4,11,20,.24) 74%,rgba(4,11,20,.75) 100%)}
      .scroll-cue{display:none}
      section{padding-inline:20px}
      .steps{grid-template-columns:1fr}
      .step{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:25px 0!important;min-height:auto}
      .step .num{margin-bottom:44px}
      .compare{grid-template-columns:1fr}
      .panel{min-height:auto}
      .service-grid{grid-template-columns:1fr}
      .service:nth-child(n){grid-column:auto;min-height:370px}
      .facts{grid-template-columns:1fr}
      .portrait-placeholder{min-height:0}
      .cta-bottom{flex-direction:column;align-items:flex-start}
      .cta-contact{text-align:left}
      .footer-inner{grid-template-columns:1fr}
    }
    @media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
    /* ---------- theme toggle ---------- */
    .theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:inherit;display:grid;place-items:center;cursor:pointer;transition:.25s;padding:0}
    .theme-toggle:hover{transform:rotate(-12deg)}
    .theme-toggle svg{width:18px;height:18px}
    .theme-toggle .i-sun{display:none}
    html[data-theme="light"] .theme-toggle .i-sun{display:block}
    html[data-theme="light"] .theme-toggle .i-moon{display:none}
    .hero,.topline,nav,.contrast,footer,.panel{transition:background-color .5s,color .5s,border-color .5s}

    /* ---------- light mode: city by day ---------- */
    html[data-theme="light"]{
      --c-back1:#cfd6e6;--c-back2:#bcc6da;
      --c-mid1:#ece6da;--c-mid2:#dad1c1;
      --c-hero1:#f6f7fb;--c-hero2:#e6eaf3;--c-hero3:#d6dcea;
      --c-warm1:#ecd3b3;--c-warm2:#d9b893;
      --c-side1:#b3bccf;--c-side2:#c9d0de;
      --c-gable1:#e3e8f4;--c-gable2:#cfd7ea;--c-gable:#d3dae8;
      --c-glass:#9fb6dd;--c-lit:#c4d4f1;--c-lit-cool:#b2c5ea;
      --c-frame:#fbfbf8;--c-frame-line:rgba(40,60,110,.22);--c-mullion:#fbfbf8;
      --c-ledge:rgba(40,60,110,.12);
      --c-slat-a:#b0b9cb;--c-slat-b:#939eb4;
      --c-rail:rgba(40,60,110,.55);--c-rail-bar:rgba(40,60,110,.32);--c-slab:#b6bfd1;
      --c-plant:#5f9473;--c-plant2:#82b38d;
      --c-cornice:#ffffff;--c-cornice-hero:#ffffff;--c-chimney:#c0c9db;--c-cap:#aeb8cc;--c-cap-hero:#3557c8;
      --c-parapet:#d3d9e5;--c-tank:#b5bfd1;--c-pole:#8791a6;--c-antenna:#3557c8;
      --c-ground:#cdd3de;--c-shop:#a9bde0;--c-awning:#8093b8;--c-awning-hero:#3557c8;
      --c-door:#56647f;--c-lobby:#f1dca8;
      --c-tree:#6e9d7e;--c-tree2:#8cb996;--c-trunk:#806c5a;
      --c-street:#dcdfe4;--c-lamp-pole:#6e7a92;--c-lamp-head:#d3d9e5;--c-lamp-glow:0;--c-pot:#c0704a;--c-pot-rim:#d4885f;--c-leaf:#5a8f6a;--c-leaf2:#80b288;--c-flower:#e0545b;--c-flower2:#e58ab8;--c-flower3:#ffffff;--c-flower4:#f0c24b;--c-flower5:#9b87e0;--c-fruit:#f2cf3c;--c-leaf3:#6f9a55;--c-pot-grey:#9aa3b0;--c-pot-grey-rim:#b0b8c3;--c-pot-white:#eef0f3;--c-pot-white-rim:#ffffff;--c-pot-green:#4f7b63;--c-pot-green-rim:#62917a;--c-stem:#4d7a5a;--c-tree-shade:#4a7a5d;--c-grate:#b3b9c4;--c-mark-op:.85;--c-mark-fill:.75;
      --c-sidewalk:#e6e3dc;--c-curb:rgba(40,60,110,.22);--c-shadow:rgba(40,60,110,.16);
      --c-street:#cfd3da;
    }

    /* ---------- light mode: page ---------- */
    html[data-theme="light"] .topline{background:#e4e7ee;color:#5c6675}
    html[data-theme="light"] nav{background:rgba(255,255,255,.66);border-color:rgba(8,17,31,.08);color:var(--ink);box-shadow:0 16px 50px rgba(30,50,110,.10)}
    html[data-theme="light"] .nav-links>a::after{background:var(--ink)}
    html[data-theme="light"] .nav-cta{background:var(--ink);color:#fff}
    html[data-theme="light"] .nav-cta b{background:#fff;color:var(--ink)}
    html[data-theme="light"] .burger{color:var(--ink)}
    html[data-theme="light"] .theme-toggle{border-color:rgba(8,17,31,.14);background:rgba(255,255,255,.6)}

    html[data-theme="light"] .hero{color:var(--ink);background:radial-gradient(circle at 74% 20%,rgba(255,222,160,.45),transparent 28%),linear-gradient(180deg,#c9d7f7 0%,#e3e9f7 52%,#f3f4ef 100%)}
    html[data-theme="light"] .hero::before{background:linear-gradient(90deg,rgba(243,244,239,.95) 0 34%,rgba(243,244,239,.6) 48%,rgba(243,244,239,0) 64%)}
    html[data-theme="light"] .city-fog{background:linear-gradient(to top,#f3f4ef 8%,rgba(243,244,239,.85) 34%,transparent)}
    html[data-theme="light"] .city-glow{background:radial-gradient(circle,rgba(255,214,150,.35),transparent 68%)}
    html[data-theme="light"] h1 .serif{background:var(--brand-grad);-webkit-background-clip:text;background-clip:text}
    html[data-theme="light"] .eyebrow{color:#5c6675}
    html[data-theme="light"] .eyebrow::before{background:#9aa3b0}
    html[data-theme="light"] .eyebrow svg{color:var(--blue)}
    html[data-theme="light"] .hero-copy p{color:#4a5566}
    html[data-theme="light"] .hero-meta{color:#6c7480}
    html[data-theme="light"] .btn.ghost{border-color:rgba(8,17,31,.16);color:var(--ink);background:rgba(255,255,255,.55)}
    html[data-theme="light"] .scroll-cue{color:#7b8490}
    html[data-theme="light"] .scroll-cue::before{background:linear-gradient(#7b8490,transparent)}

    html[data-theme="light"] .contrast{background:#e4e8f1;color:var(--ink)}
    html[data-theme="light"] .contrast .label{color:#6c7480}
    html[data-theme="light"] .contrast .lead{color:#5c6675}
    html[data-theme="light"] .contrast-mark{color:rgba(53,87,200,.06)}
    html[data-theme="light"] .panel.old{background:rgba(255,255,255,.55);border-color:rgba(8,17,31,.08)}
    html[data-theme="light"] .panel.new{background:var(--ink);color:#fff}

    html[data-theme="light"] footer{background:#e9ebe4;color:#5c6675}
    html[data-theme="light"] .footer-logo{filter:none}
    @media (max-width:720px){
      html[data-theme="light"] .hero::before{background:linear-gradient(to bottom,rgba(243,244,239,.95) 0 45%,rgba(243,244,239,.3) 74%,rgba(243,244,239,.8) 100%)}
    }
    .city-fog{left:0!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
    .city-fog{height:16%!important;bottom:-4%!important}

    /* page load */
    :root{--load:0s}
    @keyframes enterUp{from{opacity:0;transform:translateY(34px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
    @keyframes enterDown{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}
    .enter{animation:enterUp .45s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--load) + var(--d,0s))}
    .nav-wrap{animation:enterDown .8s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--load) + .05s)}
    .topline{animation:enterDown .6s ease both;animation-delay:var(--load)}
    h1 .line1{display:inline-block}
    @media (prefers-reduced-motion:reduce){.loader{display:none}}

    /* approach: old vs UrbanCare */
    .compare{grid-template-columns:.8fr 1.2fr;align-items:stretch;gap:22px}
    .panel.old{background:#0e1928;border:1px dashed rgba(255,255,255,.12);filter:saturate(.5);opacity:.82}
    .panel.old h3{font-size:clamp(30px,3vw,44px);color:#aeb8c6}
    .panel.old .compare-row b{color:#e08a8a;border-color:rgba(224,138,138,.4)}
    .panel.old .compare-row strong{color:#c3cbd6}
    .panel.new{color:#fff;border:1px solid rgba(255,255,255,.18);background:radial-gradient(circle at 88% -10%,rgba(170,192,255,.45),transparent 42%),linear-gradient(160deg,#4a6ee8 0%,#2d42a0 55%,#1b2766 100%);box-shadow:0 50px 100px -40px rgba(53,87,200,.75)}
    .panel.new .approach-mark{position:absolute;right:-70px;bottom:-60px;width:360px;opacity:.16;pointer-events:none}
    .panel.new .approach-mark path{fill:none;stroke:#fff;stroke-width:5;stroke-linejoin:round}
    .panel.new small{opacity:1;display:inline-flex;align-items:center;gap:10px;background:#fff;color:#2d42a0;padding:9px 13px 9px 10px;border-radius:999px}
    .panel.new small svg{width:16px;height:16px}
    .panel.new h3{font-size:clamp(40px,4.4vw,68px);margin:26px 0 34px;position:relative}
    .panel.new .compare-list{grid-template-columns:1fr 1fr;gap:12px;position:relative}
    .panel.new .compare-row{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:18px;padding:16px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .35s,background .35s}
    .panel.new .compare-row:hover{transform:translateY(-4px);background:rgba(255,255,255,.14)}
    .panel.new .compare-row b{background:#fff;color:#2d42a0;border:0;opacity:1;font-weight:800;box-shadow:0 0 0 5px rgba(255,255,255,.12)}
    .panel.new .compare-row p{opacity:.8}
    .panel.new.in .compare-row b{animation:checkPop .6s cubic-bezier(.3,1.7,.5,1) both}
    .panel.new.in .compare-row:nth-child(2) b{animation-delay:.12s}
    .panel.new.in .compare-row:nth-child(3) b{animation-delay:.24s}
    .panel.new.in .compare-row:nth-child(4) b{animation-delay:.36s}
    @keyframes checkPop{from{transform:scale(0) rotate(-40deg)}}
    html[data-theme="light"] .panel.new{background:radial-gradient(circle at 88% -10%,rgba(170,192,255,.45),transparent 42%),linear-gradient(160deg,#4a6ee8 0%,#2d42a0 55%,#1b2766 100%);color:#fff}
    html[data-theme="light"] .panel.old{background:rgba(255,255,255,.5);border-color:rgba(8,17,31,.14)}
    html[data-theme="light"] .panel.old h3,html[data-theme="light"] .panel.old .compare-row strong{color:#4a5566}
    @media (max-width:1050px){.compare{grid-template-columns:1fr}}
    @media (max-width:720px){.panel.new .compare-list{grid-template-columns:1fr}}

    /* Compact laptop layout, including 13-inch screens at 1280–1440 CSS px. */
    @media (min-width:1051px) and (max-width:1440px){
      .contrast,.services{padding-block:60px}
      .contrast .section-top,.services .section-top{gap:32px;margin-bottom:32px}
      .contrast h2,.services h2{font-size:clamp(44px,4vw,56px)}
      .contrast .lead,.services .lead{font-size:16px;margin-top:16px}
      .compare{gap:18px}
      .panel{padding:26px;min-height:0}
      .panel.old h3{font-size:30px;margin:18px 0 24px}
      .panel.new h3{font-size:42px;margin:20px 0 24px}
      .compare-list{gap:12px}
      .compare-row{grid-template-columns:28px 1fr;gap:10px;padding-top:12px}
      .compare-row b{width:26px;height:26px}
      .compare-row strong{font-size:16px}
      .panel.new .compare-list{gap:10px}
      .panel.new .compare-row{padding:12px;border-radius:14px}
      .service-grid{gap:16px}
      .service{min-height:280px;padding:24px}
      .service h3{font-size:34px;margin-bottom:12px}
      .service p{font-size:14px}
      .service-arrow{width:38px;height:38px;right:22px;top:22px}
    }

    /* method: a line that fills while you scroll, steps light up as it passes */
    .steps{position:relative}
    .steps::before{content:"";position:absolute;left:0;right:0;top:-2px;height:3px;background:var(--brand-grad);transform-origin:left;transform:scaleX(var(--p,0));z-index:2;border-radius:3px}
    .step .num{display:flex;align-items:center;gap:10px;transition:color .4s}
    .step .num::before{content:"";width:10px;height:10px;border-top:2.5px solid currentColor;border-left:2.5px solid currentColor;transform:translateY(3px) rotate(45deg);animation:bob 2.6s ease-in-out infinite}
    .step:nth-child(2) .num::before{animation-delay:-.6s}.step:nth-child(3) .num::before{animation-delay:-1.2s}.step:nth-child(4) .num::before{animation-delay:-1.8s}
    @keyframes bob{50%{transform:translateY(-2px) rotate(45deg)}}
    .step.active .num{color:var(--blue)}
    .step.active h3{color:var(--ink)}
    .step h3{transition:color .4s;color:#6d7580}
    .step::after{transform:scaleX(0)}
    .step.active::after{transform:scaleX(1)}

    /* floating watermarks */
    @keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-2deg)}}
    .contrast-mark,.portrait-mark{animation:floaty 9s ease-in-out infinite}
    .panel.new .approach-mark{animation:floaty 11s ease-in-out infinite reverse}

    /* services: rings orbit forever, cards tilt with the pointer */
    .service{transform-style:preserve-3d;will-change:transform}
    .service-visual{animation:spin 26s linear infinite}
    .service:nth-child(even) .service-visual{animation-duration:34s;animation-direction:reverse}
    .service-visual::before{inset:auto;width:12px;height:12px;left:50%;top:-6px;background:currentColor;border:0}
    @keyframes spin{to{transform:rotate(360deg)}}

    /* CTA: outline mark draws itself, then floats; "meglio." shimmers */
    .cta-mark{color:#fff;animation:floaty 7s ease-in-out infinite}
    .cta-mark path{fill:none;stroke:currentColor;stroke-width:14;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
    .cta-mark.in path{animation:markDrawCta 1.6s cubic-bezier(.6,.1,.3,1) forwards}
    .cta-mark.in path+path{animation-delay:.25s}
    .cta-mark.drawn path{stroke-dasharray:none}
    @keyframes markDrawCta{to{stroke-dashoffset:0}}
    .cta-inner h2 .serif{background:linear-gradient(100deg,#cfd9ff 20%,#fff 40%,#cfd9ff 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 4.5s ease-in-out infinite}
    @keyframes shine{0%{background-position:100% 0}100%{background-position:-50% 0}}
    .cta-inner h2 .w{display:inline-block;opacity:0;transform:translateY(40px);transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1)}
    .cta-inner.in h2 .w{opacity:1;transform:none}

    /* facts count up */
    .fact b{font-variant-numeric:tabular-nums}

    /* calmer buttons: rectangles, solid colour, arrow slides on hover */
    .btn{gap:12px;padding:16px 22px;border-radius:12px;font:700 16px/1 var(--f-display);border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s}
    .btn:hover{transform:none}
    .btn.primary{background:#3557c8;box-shadow:none}
    .btn.primary:hover{background:#2a47ad}
    .btn.ghost{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
    .btn.ghost:hover{border-color:#fff}
    html[data-theme="light"] .btn.ghost{background:transparent;border-color:rgba(8,17,31,.25);color:var(--ink)}
    html[data-theme="light"] .btn.ghost:hover{border-color:var(--ink)}
    .btn .round{width:auto;height:auto;background:none;color:inherit;display:inline-block;border-radius:0;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
    .btn:hover .round{transform:translateX(4px)}
    .btn.ghost:hover .round{transform:translateY(3px)}
    .cta-btn{background:#fff;color:var(--ink)}
    .cta-btn:hover{background:#e8edff}
    .hero-copy p strong{color:#fff;font-weight:700}
    html[data-theme="light"] .hero-copy p strong{color:var(--ink)}
    .lead strong{color:inherit;font-weight:700;color:var(--ink)}
    .contrast .lead strong{color:#fff}
    html[data-theme="light"] .contrast .lead strong{color:var(--ink)}
    .nav-cta{border-radius:10px;padding:12px 16px}
    .nav-cta b{width:auto;height:auto;background:none!important;color:inherit!important;display:inline;transition:transform .25s}
    .nav-cta:hover b{transform:translateX(3px)}
    a.service{color:inherit;text-decoration:none;cursor:pointer}
    .service:nth-child(3) a,.service:nth-child(3){color:#fff}

    /* nav dropdown */
    .dd{position:relative}
    .dd>a{display:inline-flex;align-items:center;gap:6px;opacity:.76}
    .dd>a::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:.25s}
    .dd:hover>a{opacity:1}
    .dd:hover>a::after{transform:translateY(1px) rotate(225deg)}
    .dd-menu{position:absolute;left:50%;top:calc(100% + 18px);transform:translate(-50%,8px);width:380px;padding:10px;border-radius:22px;background:#0f1c30;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 70px -20px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.25s;color:#eef2fa}
    html[data-theme="light"] .dd-menu{background:#fff;border-color:rgba(8,17,31,.08);color:var(--ink);box-shadow:0 30px 70px -20px rgba(30,50,110,.2)}
    .dd-menu::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
    .dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
    .dd-menu a{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:10px;border-radius:14px;transition:.2s}
    .dd-menu a:hover{background:rgba(255,255,255,.06)}
    html[data-theme="light"] .dd-menu a:hover{background:#f3f4f8}
    .dd-menu .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c)}
    .dd-menu .ic svg{width:20px;height:20px}
    .dd-menu b{display:block;font:700 14px/1.2 var(--f-display)}
    .dd-menu span{font-size:12.5px;opacity:.7;line-height:1.35}
    .dd-menu .all{display:block;text-align:center;font:700 12px/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;color:#8fa6ff;padding:12px;margin-top:4px;border-top:1px solid rgba(255,255,255,.08);border-radius:0}
    html[data-theme="light"] .dd-menu .all{color:#3557c8;border-color:rgba(8,17,31,.08)}
    .area{display:inline-flex;align-items:center;gap:7px;font:700 12px/1 var(--f-display);letter-spacing:.06em;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);opacity:.9!important}
    html[data-theme="light"] .area{border-color:rgba(8,17,31,.12)}
    .area::after{display:none}
    .area svg{width:14px;height:14px}
    @media (max-width:1050px){.dd,.area{display:none}}


/* Accessibility and navigation additions; the reference visual design is preserved. */
.mock-page{display:contents}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #6e8cff;outline-offset:5px}
.cover img{width:100%;height:100%;object-fit:cover}
@media(max-width:1050px){.burger{display:block;cursor:pointer}.nav-wrap.menu-open .nav-links{display:flex;position:absolute;top:96px;left:14px;right:14px;flex-direction:column;align-items:stretch;gap:18px;padding:24px;border-radius:20px;background:#08111f;color:#fff;max-height:calc(100svh - 120px);overflow:auto;box-shadow:0 20px 50px #0005}.nav-wrap.menu-open .nav-links>a{display:flex!important}.nav-wrap.menu-open .dd>a{display:none}.nav-wrap.menu-open .dd-menu{display:flex;position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;min-width:0;width:auto;background:transparent;box-shadow:none;flex-direction:column;border:0;padding:0}.nav-wrap.menu-open .dd-menu a{color:inherit}.nav-wrap.menu-open .theme-toggle{align-self:flex-start}html[data-theme="light"] .nav-wrap.menu-open .nav-links{background:#f3f4ef;color:#08111f}}
@media(prefers-reduced-motion:reduce){.reveal,.enter,.cta-inner h2 .w{opacity:1!important;transform:none!important;filter:none!important}.loader{display:none!important}}
@media print{.nav-wrap,.noise,.progress,.lift,.a-aside,.related,.cta-band,footer,.reactions{display:none!important}.prose,.a-layout{display:block;max-width:none}.reveal,.enter{opacity:1;transform:none}body{background:white;color:black}}

.legal{max-width:960px;margin:auto;padding:170px var(--pad) 100px;font:400 16px/1.8 var(--f-body);color:var(--text)}.legal header{margin-bottom:50px}.legal h1{font-size:clamp(40px,6vw,70px);line-height:1.1;margin-bottom:20px}.legal h3{font:700 25px/1.3 var(--f-display);margin:35px 0 15px}.legal p,.legal ul{margin:15px 0}.legal a{text-decoration:underline}

/* Descriptive H1 topic preserves the supplied headline treatment. */
.hero-topic{display:block;font-size:clamp(17px,1.6vw,23px);font-weight:600;line-height:1.4;letter-spacing:0;margin-bottom:20px;max-width:560px}
.service .service-title{font-size:clamp(32px,3.5vw,56px);line-height:.95;letter-spacing:-.025em;margin:0 0 15px;max-width:680px}
@media(min-width:1051px) and (max-width:1440px){.service .service-title{font-size:34px;margin-bottom:12px}}
