/* Ubuntu incorporato localmente: licenza in fonts/LICENCE.txt. */
:root{--ink:#545454;--paper:#fffcf7;--sage:#98b1a9;--pale:#eaf0ec;--deep:#354e45;--line:#d9ddd6;--heading:"Garet","Avenir Next",Arial,sans-serif;--body:"Archivo Narrow","Arial Narrow",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--deep);outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;line-height:1.15;letter-spacing:-.045em}h2{font-size:clamp(34px,3.8vw,55px)}h3{font-size:24px;letter-spacing:-.025em}p{margin-top:20px}small{font-size:12px;letter-spacing:.03em}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;margin:0 0 24px;line-height:1.6}.muted{color:#70877d}.section{max-width:1280px;margin:auto;padding:110px 60px}header{height:112px;max-width:1440px;margin:auto;padding:0 60px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;flex-direction:column;line-height:1.4}.brand b{font-family:var(--heading);font-weight:500;font-size:28px;letter-spacing:-1px}.brand b span{color:#6c887d}.brand small{font-size:8px;letter-spacing:.21em;margin-top:5px}nav{display:flex;gap:32px;align-items:center;font-size:13px}nav a{padding:8px 0}nav .nav-cta{border:1px solid var(--sage);padding:12px 19px;border-radius:2px}a:hover{color:var(--deep)}.hero{display:grid;grid-template-columns:46% 54%;max-width:1440px;margin:auto;min-height:680px;padding:0 0 0 60px;align-items:center}.hero-copy{padding:32px 56px 48px 0;position:relative;z-index:1}h1{font-size:clamp(40px,4.1vw,62px);max-width:620px;line-height:1.08}h1 span{display:block;font-size:.59em;letter-spacing:-.035em;line-height:1.25;margin-top:20px;max-width:450px}.intro{font-size:17px;max-width:385px;line-height:1.75;margin:28px 0}.button{border:0;background:var(--sage);color:#283c34;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:19px 25px;font-size:14px;font-weight:600;cursor:pointer;min-height:58px;border-radius:2px;transition:background .2s,transform .2s}.button:hover{background:#adc3ba;color:#23352e;transform:translateY(-2px)}.button span{font-size:22px;font-weight:400}.hero-price{font-size:12px;line-height:1.9;margin-top:20px}.hero-price strong{font-weight:500;font-size:15px}.hero-price span{color:#6a6a65}.hero-photo{align-self:stretch;position:relative;display:flex;flex-direction:column;justify-content:center;background:#ede2d5;padding:45px 0 75px 0;margin-top:10px;overflow:hidden;border-radius:170px 0 0 0}.hero-photo picture{width:100%}.hero-photo img{width:100%;height:auto}.photo-label{position:absolute;bottom:65px;left:30px;display:flex;align-items:center;gap:20px;background:var(--paper);padding:19px 26px;box-shadow:0 8px 40px #47392f12}.photo-label>span{font-size:52px;line-height:1;color:#7d9b8e}.photo-label p{font-size:14px;line-height:1.55;margin:0}.photo-index{position:absolute;right:26px;bottom:20px;font-size:9px;letter-spacing:.15em}.values{margin:36px auto 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:45px;padding:24px 20px;font-size:12px;letter-spacing:.025em}.values span:nth-child(even){font-size:23px;color:#7c998d}.needs{display:grid;grid-template-columns:1fr 1fr;gap:90px}.section-heading p:last-child{max-width:350px}.needs-list article{display:flex;align-items:start;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.needs-list article:first-child{padding-top:0}.needs-list article>span:last-child{margin-left:auto;font-size:19px;color:#70877d}.needs-list h3{font-size:20px}.needs-list article p{font-size:14px;line-height:1.7;margin-top:10px}.number{font-size:10px;color:#6a8277;padding-top:4px;letter-spacing:.1em}.note{font-size:12px;line-height:1.7}.needs-list .note{margin-top:25px}.about{display:grid;grid-template-columns:.9fr 1fr;gap:100px;align-items:center;padding-top:35px}.portrait{position:relative;max-width:460px}.portrait img{border-radius:140px 140px 0 0}.portrait small{display:block;margin-top:20px;font-size:9px;letter-spacing:.17em}.about h2{font-size:clamp(32px,3.4vw,48px)}.about p:not(.eyebrow){font-size:16px}.about .signature{font-family:Georgia,serif;font-style:italic;font-size:28px!important;margin:30px 0;color:#6b8477}.text-link{font-size:13px;display:inline-block;border:0;border-bottom:1px solid var(--sage);padding:8px 0;background:none;cursor:pointer}.session{background:var(--pale);max-width:none;padding-left:max(60px,calc((100vw - 1160px)/2));padding-right:max(60px,calc((100vw - 1160px)/2))}.session-head{display:flex;justify-content:space-between;align-items:end;gap:50px}.session-head>p{max-width:330px;font-size:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.step-number{display:block;font-size:44px;font-weight:300;color:#708b7e;border-top:1px solid #bdcec5;padding-top:20px;margin-bottom:28px;letter-spacing:-.06em}.steps h3{font-size:22px}.steps p{font-size:14px}.session>.note{margin-top:40px;max-width:700px}.offer{display:grid;grid-template-columns:42% 58%;max-width:1440px;margin:auto;background:var(--sage);color:#2f463b}.offer-image{display:flex;align-items:center;background:#ecdfce}.offer-image img{width:100%;height:auto}.offer-copy{padding:70px clamp(35px,6vw,95px);align-self:center}.offer h2{font-size:clamp(42px,5vw,68px)}.offer-copy>p:not(.eyebrow):not(.note){max-width:430px;font-size:16px}.price-block{display:flex;align-items:center;gap:30px;margin:30px 0 20px}.price-block>strong{font-size:95px;font-weight:400;line-height:1;letter-spacing:-.07em}.price-block>strong span{font-size:40px;margin-left:8px}.price-block s{font-size:24px;color:#435c50}.price-block p{font-size:13px;margin:0}.offer ul{list-style:none;margin:20px 0 35px;padding:0;font-size:14px}.offer li{padding:7px 0}.offer li:before{content:"✓";margin-right:13px}.button.dark{color:var(--paper);background:var(--deep)}.button.dark:hover{background:#243b30}.offer .note{font-size:11px}.studio{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.studio>div>p:last-child{max-width:390px}.address-card{border:1px solid #bdcec5;padding:40px;position:relative}.address-card h3{font-size:26px}.address-card address{font-style:normal;margin:15px 0 20px}.location-mark{position:absolute;right:35px;top:23px;font-size:38px;color:#70877d}.booking{max-width:none;background:#f0eee7;display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-left:max(60px,calc((100vw - 1160px)/2));padding-right:max(60px,calc((100vw - 1160px)/2))}.booking>div>p:not(.eyebrow){max-width:360px;font-size:16px}.booking h2{font-size:clamp(42px,4.8vw,65px)}.direct-contact{margin-top:35px;display:flex;flex-direction:column;align-items:start;gap:10px}.direct-contact a{border-bottom:1px solid var(--sage);font-size:15px;overflow-wrap:anywhere}form{background:var(--paper);padding:38px;align-self:start}form h3{font-size:24px}form>p:first-of-type{font-size:13px;margin-bottom:25px}label{font-size:12px;display:block;font-weight:600;margin:20px 0 8px}label small{font-weight:400;font-size:10px}input,textarea{display:block;border:1px solid #d2d6cc;width:100%;background:transparent;border-radius:2px;padding:13px;font-size:14px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#72766f;font-size:12px}form .button{width:100%;margin-top:22px;font-size:13px;justify-content:center}#form-status:empty{margin:0}#form-status{font-size:13px}#email-fallback p{font-size:13px}#email-fallback textarea{margin-top:15px;font-size:12px}.faq{max-width:950px}.faq h2{margin-bottom:40px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:17px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq summary:after{content:"+";font-size:26px;font-weight:300;color:#70877d}.faq details[open] summary:after{content:"−"}.faq details p{font-size:14px;max-width:680px}footer{border-top:1px solid var(--line);padding:50px max(60px,calc((100vw - 1160px)/2)) 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-top>p{font-size:12px;margin:0}.footer-top .brand b{font-size:26px}footer>.note{max-width:850px;margin:35px 0}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;padding-top:22px;font-size:10px}.footer-bottom button{background:none;border:0;padding:0;font-size:10px;cursor:pointer}.sticky-booking{display:none}dialog{border:1px solid var(--sage);max-width:620px;width:calc(100% - 32px);padding:45px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#263c326b;backdrop-filter:blur(4px)}dialog h2{font-size:32px}dialog p{font-size:14px}.dialog-close{position:absolute;right:16px;top:10px;font-size:30px;line-height:1;padding:10px;border:0;background:none;cursor:pointer}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--paper);padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1450px){.hero{min-height:720px}.hero-photo{min-height:650px}}
@media(max-width:1000px){header{padding:0 30px}nav{gap:20px}.hero{padding-left:35px;grid-template-columns:48% 52%;min-height:620px}.hero-copy{padding-right:30px}h1{font-size:45px}.hero-photo{border-radius:110px 0 0 0}.photo-label{left:15px;bottom:80px;padding:15px;gap:12px}.photo-label>span{font-size:35px}.photo-label p{font-size:12px}.section{padding:80px 35px}.needs,.about,.studio,.booking{gap:50px}.session,.booking{padding-left:35px;padding-right:35px}.values{gap:20px;font-size:11px}.offer-copy{padding:45px 35px}.price-block>strong{font-size:78px}.offer-copy .button{font-size:12px;padding:16px}.steps{gap:30px}form{padding:27px}footer{padding-left:35px;padding-right:35px}}
@media(max-width:700px){html{scroll-padding-top:25px}body{font-size:16px}header{height:90px;padding:0 22px}header .brand b{font-size:25px}header .brand small{font-size:7px}nav>a:not(.nav-cta){display:none}nav .nav-cta{font-size:11px;padding:10px 12px}nav{gap:0}.hero{display:flex;flex-direction:column;padding:0;min-height:0}.hero-copy{padding:35px 24px 35px;width:100%}.hero .eyebrow{font-size:9px;margin-bottom:25px}h1{font-size:43px;max-width:460px}h1 span{font-size:.58em;max-width:370px;margin-top:16px}.intro{font-size:15px;max-width:370px;margin:22px 0}.hero .button{font-size:13px;padding:17px 21px;gap:30px}.hero-price{margin-top:14px;font-size:11px;line-height:1.8}.hero-price strong{font-size:13px}.hero-photo{width:calc(100% - 24px);margin-left:24px;margin-top:0;border-radius:120px 0 0 0;padding:0 0 55px;background:#ede2d5}.hero-photo img{width:100%;height:auto}.photo-label{bottom:26px;left:-12px;padding:15px 23px;box-shadow:0 5px 30px #47392f12}.photo-label p{font-size:12px}.photo-label>span{font-size:40px}.photo-index{bottom:9px;font-size:7px}.values{margin-top:35px;padding:20px 18px;gap:10px;flex-wrap:wrap;text-align:center;font-size:10px}.values>span:last-child{flex-basis:100%}.values>span:nth-child(4){display:none}.section{padding:65px 24px}h2{font-size:35px}.eyebrow{font-size:10px;margin-bottom:18px}.needs,.about,.studio,.booking{grid-template-columns:1fr;gap:35px}.needs-list article{padding:20px 0}.needs-list h3{font-size:19px}.needs-list article p{font-size:13px}.about{padding-top:10px;gap:35px}.portrait{max-width:420px;width:100%;margin:auto}.portrait img{border-radius:110px 110px 0 0}.about h2{font-size:34px}.about p:not(.eyebrow){font-size:15px}.session-head{display:block}.session-head>p{font-size:15px;max-width:400px}.steps{grid-template-columns:1fr;margin-top:35px;gap:30px}.step-number{font-size:36px;padding-top:15px;margin-bottom:15px}.steps p{margin-top:12px}.session>.note{font-size:11px;margin-top:30px}.offer{display:flex;flex-direction:column}.offer-image{width:100%}.offer-image img{width:100%;height:auto}.offer-copy{padding:45px 24px;width:100%}.offer h2{font-size:48px}.offer-copy>p:not(.eyebrow):not(.note){font-size:15px}.price-block>strong{font-size:85px}.offer .button{font-size:12px}.studio{gap:30px}.address-card{padding:28px}.address-card h3{font-size:24px}.address-card address{font-size:15px}.booking{gap:35px}.booking h2{font-size:45px}.booking h2 br:nth-child(2){display:none}form{padding:24px 20px}form h3{font-size:22px}.direct-contact{margin-top:25px}.faq h2{font-size:32px}.faq summary{font-size:15px}.faq details p{font-size:13px}footer{padding:35px 24px 100px}.footer-top{display:block}.footer-top>p{margin-top:24px}.footer-bottom{flex-wrap:wrap;gap:18px;font-size:10px}.sticky-booking{position:fixed;display:flex;align-items:center;justify-content:center;gap:15px;bottom:12px;left:16px;right:16px;min-height:50px;background:var(--deep);color:var(--paper);font-size:13px;z-index:8;border-radius:3px;box-shadow:0 5px 20px #253b3333;padding:12px}.sticky-booking:hover{color:white;background:#263d32}.sticky-booking.is-hidden{display:none}dialog{padding:35px 23px}dialog h2{font-size:28px}}
@media(max-width:380px){h1{font-size:37px}header{padding:0 16px}header .brand b{font-size:23px}nav .nav-cta{font-size:10px;padding:9px}.hero-copy{padding-left:20px;padding-right:20px}.hero .button{font-size:12px;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* Revisione professionale: gerarchia, leggibilita e fotografie senza tagli. */
:root{--body:"Archivo Narrow","Segoe UI",Arial,sans-serif}
h1,h2,h3{letter-spacing:-.035em}body{line-height:1.75}
.hero{grid-template-columns:50% 50%;min-height:680px;padding-right:60px;gap:20px}
.hero-copy{padding-right:35px}h1{font-size:clamp(42px,4.7vw,68px);line-height:1.09;max-width:570px;text-wrap:balance}
.hero-photo{align-self:center;min-height:0!important;background:transparent;padding:0 0 55px;margin:15px 0 0;border-radius:0;overflow:visible;max-width:440px;justify-self:end;width:100%}
.hero-photo picture{display:block;border-radius:130px 8px 8px 8px;overflow:hidden}
.hero-photo img{width:100%;height:auto}
.photo-label{bottom:30px;left:-35px;padding:18px 25px}.photo-index{bottom:8px;right:0}
.hero .intro{max-width:430px;font-size:17px}
.section-heading p:last-child{max-width:390px}
.needs-list article p{font-size:15px}.needs-list h3{font-size:22px}
.explanation{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);padding-top:70px;padding-bottom:85px}
.explanation h2{font-size:clamp(30px,3vw,43px)}
.explanation p:first-child{margin-top:0}.explanation p{font-size:16px}
.about{padding-bottom:75px}.about .signature{font-family:var(--heading);font-style:normal;font-size:23px!important;letter-spacing:-.03em}
.offer-image picture{display:block;width:100%}
.note{font-size:13px}.eyebrow{font-size:11px}.muted{color:#61796c}
input,textarea{font-size:16px}input::placeholder,textarea::placeholder{font-size:13px}label{font-size:13px}form>p:first-of-type{font-size:14px}
.footer-bottom,.footer-bottom button{font-size:12px}
@media(max-width:1000px){.hero{padding:0 35px;gap:15px;min-height:0}.hero-copy{padding-right:15px}h1{font-size:48px}.hero-photo{max-width:360px}.photo-label{left:-15px;padding:14px}.photo-label p{font-size:11px}.explanation{gap:45px}}
@media(max-width:700px){.hero{padding:0;gap:0}.hero-copy{padding:30px 24px 28px}h1{font-size:clamp(39px,9.7vw,51px);max-width:450px}.hero .intro{font-size:16px}.hero-photo{align-self:center;max-width:320px;width:calc(100% - 70px);margin:0 auto;padding-bottom:52px}.hero-photo picture{border-radius:85px 5px 5px 5px}.hero-photo img{width:100%;height:auto}.photo-label{left:-20px;bottom:27px;padding:13px 18px}.photo-label p{font-size:11px}.photo-label>span{font-size:34px}.photo-index{font-size:7px;bottom:7px}.values{margin-top:15px}.section{padding-top:55px;padding-bottom:55px}.about{padding-top:5px}.portrait{max-width:310px}.portrait img{border-radius:85px 85px 0 0}.about h2{font-size:33px}.about p:not(.eyebrow){font-size:16px}.needs-list article p{font-size:14px}.needs-list h3{font-size:20px}.explanation{grid-template-columns:1fr;gap:24px;padding-top:45px;padding-bottom:50px}.explanation h2{font-size:32px}.explanation p{font-size:15px}.offer-image{background:transparent}.offer-image picture img{width:100%;height:auto}.offer-copy{padding:36px 24px}.offer h2{font-size:43px}.booking h2{font-size:42px}.booking h2 br{display:none}.booking h2 span:before{content:" "}.note{font-size:12px}.footer-bottom,.footer-bottom button{font-size:11px}}

.direct-contact .whatsapp{border-bottom:0;font-size:14px;padding:15px 22px;margin:5px 0}.direct-contact .whatsapp .sr-only{font-size:0}

@font-face{font-family:Ubuntu;src:url('fonts/Ubuntu-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Ubuntu;src:url('fonts/Ubuntu-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Ubuntu;src:url('fonts/Ubuntu-Medium.ttf') format('truetype');font-weight:500 700;font-style:normal;font-display:swap}
:root{--heading:Ubuntu,Arial,sans-serif;--body:Ubuntu,Arial,sans-serif}
h1,h2{font-weight:300;letter-spacing:-.035em}h3{font-weight:400}body{font-weight:400}
.request-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.request-actions .button{width:100%;margin:0}.privacy-link{font-size:12px;text-decoration:underline;text-underline-offset:3px}
dialog{max-height:85vh;overflow:auto}dialog h3{font-size:19px;margin-top:24px}dialog ul{padding-left:20px;font-size:14px}.direct-contact .whatsapp{min-width:220px}
@media(max-width:700px){h1{font-size:42px}.brand b{font-weight:400}.hero .eyebrow{font-size:10px}.values{font-size:11px}.button{border-radius:4px}}

button:disabled{opacity:.55;cursor:not-allowed;transform:none} .footer-bottom #privacy-open{cursor:pointer}

 /* Logo originale inserito intatto; il contenitore mostra l'area del marchio. */
header{height:158px}.brand-with-logo{flex-shrink:0}
.logo-frame{display:block;position:relative;width:310px;height:122px;overflow:hidden}
.logo-frame img{position:absolute;width:400px;max-width:none;height:auto;left:-46px;top:-90px}
.hero h1{font-size:clamp(31px,3.25vw,47px);line-height:1.15;letter-spacing:-.025em}
.hero h1 span{font-size:.71em;line-height:1.32;letter-spacing:-.02em;margin-top:16px;max-width:520px}
.hero-offer-copy{font-size:13px;line-height:1.7;max-width:360px;margin-top:18px}
.hero-price{margin-top:13px}.needs h2{font-size:clamp(28px,3vw,42px);line-height:1.22}
.needs-list h3{font-size:19px;line-height:1.35;letter-spacing:-.015em}
.about{gap:70px;align-items:start}.about h2{font-size:clamp(31px,3.1vw,43px);line-height:1.2}
.alice-points{padding-left:21px;margin:24px 0;font-size:15px}.alice-points li{padding:5px 0}
.alice-points sup{font-size:11px;margin-left:3px}.steps h3{line-height:1.3}
@media(max-width:1000px){header{padding:0 30px;gap:15px}nav{gap:17px}.logo-frame{width:270px;height:106px}.logo-frame img{width:349px;left:-40px;top:-78px}.about{gap:45px}}
@media(max-width:700px){header{height:115px;padding:0 18px;gap:10px}.logo-frame{width:210px;height:83px}.logo-frame img{width:271px;left:-31px;top:-61px}nav .nav-cta{font-size:10px;padding:10px 9px}.hero-copy{padding-top:20px}.hero h1{font-size:33px}.hero h1 span{font-size:.69em;line-height:1.3}.hero .intro{font-size:15px}.hero-offer-copy{font-size:12px;max-width:330px}.hero .button{font-size:12px}.needs h2{font-size:30px}.needs-list h3{font-size:18px}.about{gap:30px}.about h2{font-size:32px}.about p:not(.eyebrow){font-size:15px}.footer-top .logo-frame{margin-bottom:22px}.alice-points{font-size:14px}}
@media(max-width:360px){header{padding:0 12px}.logo-frame{width:185px;height:74px}.logo-frame img{width:239px;left:-27px;top:-54px}nav .nav-cta{font-size:9px}.hero h1{font-size:30px}}

/* Revisione Alice: ritratto piu luminoso, originale fotografico intatto. */
.portrait img{filter:brightness(1.12) contrast(.96) saturate(.98)}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-link a{text-decoration:underline}#form-status[data-state="error"]{color:#8b3030}#form-status[data-state="success"]{color:#354e45}

.booking-contact{background:var(--paper);padding:40px;align-self:center}
.booking-contact h3{font-size:30px;line-height:1.25}
.booking-contact>p:not(.eyebrow):not(.note):not(.booking-number){font-size:15px}
.booking-contact .button{margin-top:28px;gap:20px}
.booking-number{font-size:15px;letter-spacing:.05em;margin-top:20px}
.contact-note{font-size:15px;max-width:360px;margin-top:28px}
@media(max-width:700px){.booking-contact{padding:28px 24px}.booking-contact h3{font-size:26px}.booking-contact .button{font-size:12px;padding:18px}.contact-note{font-size:14px}}

/* Variante divisa: immagine generata nella stessa cornice. */
.hero-photo>img{border-radius:130px 8px 8px 8px;overflow:hidden}.hero-photo>img{width:100%;height:auto}@media(max-width:700px){.hero-photo>img{border-radius:85px 5px 5px 5px}}
