:root{
  --ink:#342a23;
  --brown:#765735;
  --gold:#b38c52;
  --turquoise:#6b9e9b;
  --teal-ink:#386f72;
  --paper:#fbf7ef;
}

body.stefania-site{background:#fbf7ef}
.stefania-site header{min-height:96px;padding-top:15px;padding-bottom:15px}
.personal-logo{display:flex;flex-direction:column;flex:0 0 auto;color:var(--ink)}
.personal-logo strong{font:400 clamp(28px,2.5vw,39px)/1.05 var(--font-display);letter-spacing:-.025em}
.personal-logo span{margin-top:7px;font:10px/1.3 var(--font-sans);letter-spacing:.17em;text-transform:uppercase;color:var(--brown)}
.stefania-site nav{gap:20px}

.stefania-hero{grid-template-columns:.88fr 1.12fr;min-height:760px;background:linear-gradient(130deg,#f5e9d6 0%,#fffaf2 44%,#fff 72%)}
.stefania-hero .hero-visual{grid-column:2;min-height:760px;border-radius:190px 0 0 0;background:#dfc8a8}
.stefania-hero .hero-visual>img{height:116%;top:-8%;object-position:50% 36%;transform-origin:55% 35%}
.stefania-hero .hero-copy{padding-left:13%;padding-right:8%;background:radial-gradient(circle at 8% 16%,#d8b67830,transparent 58%)}
.stefania-hero h1{font-size:clamp(50px,4.8vw,80px)}
.stefania-hero h1 em{font-size:.64em;line-height:1.25;display:block;margin-top:.25em}
.stefania-hero .hero-copy p.hero-dharma-quote{margin:6px 0 20px;color:var(--teal-ink);font:italic 400 clamp(26px,2.35vw,36px)/1.25 var(--font-display);letter-spacing:.01em}

.personal-story{grid-template-columns:1.12fr .88fr;gap:8%;background:radial-gradient(circle at 88% 18%,#91bbb52c,transparent 38%),#fff}
.bio-evocative-photo{min-height:610px;aspect-ratio:4/3;border-radius:8px;box-shadow:0 28px 80px #3b2c1c19;background:#eee3d2}
.bio-evocative-photo>img{height:114%;top:-7%;object-position:center 48%}
.personal-story>.bio-story-copy{border-top:1px solid var(--gold);padding-top:34px}

/* Video Bio: anteprima locale e caricamento di YouTube soltanto su richiesta. */
.bio-video{grid-column:1/-1;display:grid;grid-template-columns:minmax(230px,.68fr) minmax(0,1.32fr);align-items:center;gap:clamp(34px,5vw,76px);margin:12px 0 18px;padding:38px 0;border-top:1px solid #ddc9aa;border-bottom:1px solid #ddc9aa}
.bio-video-copy h3{margin:8px 0 13px;font:clamp(32px,3vw,46px)/1.05 var(--font-display);color:var(--ink)}
.bio-video-copy>p:not(.eyebrow){margin:0 0 22px;color:#66594c;font-size:16px;line-height:1.65}
.youtube-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;overflow:hidden;border:0;border-radius:7px;background:#241a15;color:#fff;cursor:pointer;box-shadow:0 16px 42px #33241621}
.youtube-facade>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .35s ease}
.youtube-facade:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#17100db3,transparent 55%);pointer-events:none}
.youtube-facade:hover>img,.youtube-facade:focus-visible>img{transform:scale(1.015);opacity:.9}
.youtube-play{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:68px;height:68px;border:1px solid #ffffffc7;border-radius:50%;background:#347d7ce8;box-shadow:0 10px 28px #15100c66;font-size:26px;line-height:1;transform:translate(-50%,-50%);text-indent:4px}
.youtube-label{position:absolute;left:18px;bottom:15px;z-index:2;font:600 13px/1.2 var(--font-sans);letter-spacing:.04em}
.youtube-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:7px;background:#16110e;box-shadow:0 16px 42px #33241621}
.bio-books-link{display:inline-block;margin-top:2px}
@media(max-width:850px){.bio-video{grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);gap:30px;padding:31px 0}.bio-video-copy h3{font-size:31px}.bio-video-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:600px){.bio-video{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin-top:4px;padding:30px 0}.bio-video-copy h3{font-size:31px}.bio-video-copy>p:not(.eyebrow){font-size:15px;margin-bottom:18px}.youtube-play{width:58px;height:58px;font-size:22px}.youtube-label{left:14px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.youtube-facade>img{transition:none}.youtube-facade:hover>img,.youtube-facade:focus-visible>img{transform:none}}

.service-section{background:linear-gradient(128deg,#fbf7ef,#efe1cb 58%,#f8f1e6)}
.service-layout{align-items:stretch}
.editorial-image{min-height:580px;border-radius:8px}
.editorial-image>img{object-position:center}
.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:22px}
.service-actions .btn,.service-actions .plain-link{margin:0}

.retreat-detail{background:linear-gradient(135deg,#fff 0%,#f4e4ca 62%,#e8d09f 100%)}
.retreat-detail-image{height:620px;border-radius:8px}
.retreat-detail-image{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e9dcc7}.retreat-detail-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 68%;transform:none!important}

.cinematic-story{position:relative;height:clamp(620px,72vw,900px);overflow:hidden;isolation:isolate;background:#3b2a21}
.cinematic-media{position:absolute;inset:0}
.cinematic-media>img{height:120%;top:-10%;object-position:center 58%}
.cinematic-story:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#20130fb8 0%,#2617126e 43%,transparent 76%),linear-gradient(0deg,#1f130d70,transparent 48%);pointer-events:none}
.cinematic-copy{position:absolute;left:max(7%,calc((100vw - 1380px)/2));bottom:9%;z-index:2;max-width:720px;padding-right:5%;color:#fff;text-shadow:0 3px 28px #160b08b8}
.cinematic-copy .eyebrow{color:#f4d99d}
.cinematic-copy h2{font-size:clamp(48px,5.6vw,86px);margin-bottom:25px}
.cinematic-copy h2 em{color:#f5d9a0}
.cinematic-copy p{font-size:18px}

.travel-moments{padding:clamp(60px,7vw,110px) max(6%,calc((100vw - 1380px)/2));background:#f8f0e3}
.travel-moments-intro{max-width:630px;margin-bottom:32px}
.travel-moments-intro h2{margin:8px 0 10px;font-size:clamp(42px,4.3vw,68px)}
.travel-moments-intro h2 em{color:var(--teal-ink)}
.travel-moments-intro p:last-child{color:#685b4d}
.travel-moments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;align-items:start}
.travel-moments-grid figure{margin:0}
.travel-moments-grid img{display:block;width:100%;height:auto;border-radius:7px}
.travel-moments-grid figcaption{padding-top:12px;color:#685b4d;font:14px/1.5 var(--font-sans)}
@media(max-width:850px){.travel-moments-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.travel-moments-grid{grid-template-columns:1fr;gap:30px}.travel-moments-grid img{height:auto;aspect-ratio:auto;object-fit:contain}}

/* I nuovi scatti sono verticali: la composizione ne mostra l'intero fotogramma. */
.stefania-site #viaggi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;min-height:0;overflow:visible;background:#261a15}
.stefania-site #viaggi:after{display:none}
.stefania-site #viaggi .cinematic-media{position:relative;inset:auto;height:auto;overflow:hidden}
.stefania-site #viaggi .cinematic-media>img{position:static;display:block;width:100%;height:auto;max-width:none;transform:none!important;object-fit:contain}
.stefania-site #viaggi .cinematic-copy{position:relative;left:auto;bottom:auto;align-self:center;max-width:none;padding:clamp(40px,6vw,110px);text-shadow:none}
@media(max-width:850px){.stefania-site #viaggi{grid-template-columns:1fr}.stefania-site #viaggi .cinematic-media{max-height:none}.stefania-site #viaggi .cinematic-copy{padding:42px 6% 50px}}

.authentic-gallery{margin-bottom:0;background:#fff}
.authentic-gallery .atmosphere-stage{height:clamp(560px,60vw,830px)}
.authentic-gallery .atmosphere-slide img{object-position:center 52%}
.authentic-gallery .atmosphere-slide:nth-child(2) img{object-position:center 42%}
.authentic-gallery .atmosphere-slide:nth-child(3) img{object-position:center 45%}
.authentic-gallery .atmosphere-slide:nth-child(4) img{object-position:center 64%}
.authentic-gallery .atmosphere-bar{background:#f6ebd9}

.event{grid-template-columns:.8fr 1.2fr;background:radial-gradient(circle at 10% 20%,#8fb6b12c,transparent 42%),#fff}
.event>img{height:590px;object-fit:cover;padding:0;border-radius:8px;object-position:center 45%;box-shadow:0 24px 70px #4030201c}
.shop{background:linear-gradient(125deg,#fff 2%,#f7edda 58%,#ead2a5 100%)}
.shop-parallax{border-radius:8px;box-shadow:0 24px 70px #4a32181c}
.shop-parallax>img{object-position:center 50%}

.book-section{background:#fff}
.book-grid article{box-shadow:0 12px 40px #4d33100b;transition:transform .4s ease,box-shadow .4s ease}
.book-grid article:hover{transform:translateY(-6px);box-shadow:0 22px 60px #4d331018}

@media(max-width:1100px){
  .stefania-site nav{gap:13px;font-size:13px}
  .stefania-hero,.stefania-hero .hero-visual{min-height:680px}
  .event>img{height:510px}
}

@media(max-width:850px){
  .stefania-site header{min-height:90px}
  .stefania-site nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 22px;padding:10px 0 12px;max-height:none}
  .stefania-site nav a{padding:11px 0;border-bottom:1px solid #e7dccb}
  .stefania-site nav a:last-child{border-bottom:1px solid var(--gold)}
  .stefania-hero{grid-template-columns:1fr 1fr}
  .stefania-hero,.stefania-hero .hero-visual{min-height:640px}
  .stefania-hero .hero-copy{padding-left:8%}
  .stefania-hero h1{font-size:51px}
  .personal-story{grid-template-columns:1.06fr .94fr;gap:6%}
  .bio-evocative-photo{min-height:510px}
  .editorial-image{min-height:500px}
  .retreat-detail-image{height:520px}
}

@media(max-width:600px){
  .personal-logo strong{font-size:clamp(24px,6.8vw,29px)}
  .personal-logo span{font-size:9.5px;letter-spacing:.13em}
  .stefania-site header{gap:10px}
  .stefania-site nav.open{font-size:14px}
  .stefania-hero{display:flex;min-height:0}
  .stefania-hero .hero-copy{order:-1;padding:48px 6% 38px}
  .stefania-hero h1{font-size:clamp(43px,12vw,57px)}
.stefania-hero .hero-copy p.hero-dharma-quote{font-size:27px;margin-bottom:18px}
  .stefania-hero .hero-visual{min-height:570px;border-radius:80px 0 0 0}
  .stefania-hero .hero-visual>img{height:108%;top:-4%;object-position:center 36%}
  .personal-story{grid-template-columns:1fr;gap:35px}
  .bio-evocative-photo{min-height:0;aspect-ratio:auto;overflow:visible;background:transparent;box-shadow:none}
  .bio-evocative-photo>img{position:static;display:block;width:100%;height:auto;object-fit:contain;transform:none!important;border-radius:8px;box-shadow:0 20px 55px #3b2c1c19}
  .editorial-image{min-height:420px}
  .retreat-detail-image{height:520px}
  .cinematic-story{height:auto;background:#261a15;overflow:visible}
  .cinematic-media{position:relative;height:540px}
  .cinematic-media>img{height:120%;top:-10%;object-position:center 58%}
  .cinematic-story:after{height:540px;background:linear-gradient(0deg,#24150ead 0%,transparent 58%)}
  .cinematic-copy{position:relative;left:auto;bottom:auto;padding:35px 6% 48px;background:#261a15;text-shadow:none}
  .cinematic-copy h2{font-size:44px}
  .authentic-gallery .atmosphere-stage{height:540px}
  .authentic-gallery .atmosphere-slide img{object-position:center}
  .authentic-gallery .atmosphere-slide:nth-child(4) img{object-position:center 52%}
  .event>img{height:420px;object-position:center}
}

/* Otto voci di navigazione: il menu compatto evita sovrapposizioni sui tablet. */
@media (min-width:851px) and (max-width:1000px){
  .stefania-site header{flex-wrap:wrap}
  .stefania-site .menu-toggle{display:block}
  .stefania-site nav{display:none;width:100%;padding:10px 0 15px}
  .stefania-site nav.open{display:flex;flex-direction:column;max-height:65vh;overflow-y:auto}
  .stefania-site nav a{padding:11px 0;border-bottom:1px solid #e7dccb}
}

@media(prefers-reduced-motion:reduce){
  .book-grid article{transition:none}
}

.agenda-teaser{background:linear-gradient(125deg,#fdf8ed,#ead3aa);border-top:1px solid #dfc9a5;border-bottom:1px solid #dfc9a5}
.agenda-teaser h2 em{color:#447c7a}
.novita-contact{margin-top:18px}.novita-contact a{color:inherit;font-weight:600;text-decoration-color:#b98b4b;text-underline-offset:5px}
.agenda-teaser-photo{position:relative;min-height:440px;margin:0;overflow:hidden;border-radius:220px 220px 8px 8px;background:#8b775f;box-shadow:0 25px 65px #3e311e29}.agenda-teaser-photo img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 40%}.agenda-teaser-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 25px 22px;color:#fff;font:italic clamp(24px,3vw,42px)/1.1 var(--font-display,Georgia,serif);text-align:center;background:linear-gradient(transparent,#201a17ac)}.shop-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
@media(max-width:600px){.agenda-teaser-photo{min-height:340px;margin-top:25px}.agenda-teaser-photo img{height:340px}}

/* Santa Olistica: pagina editoriale dell'evento. */
.santa-editorial-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);background:#f7eddd}
.santa-editorial-photo{min-height:0}
.santa-editorial-photo>img{object-position:center 45%}
.santa-editorial-copy{align-self:center;padding:70px 11%}
.santa-editorial-copy h1{font-size:clamp(66px,8.4vw,128px);color:var(--brown);margin:38px 0 24px}
.santa-editorial-copy .santa-lead{font:27px/1.5 var(--font-display);color:#554638}
.program-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7%;margin-top:35px}
.program-days article{padding-top:22px;border-top:1px solid var(--gold)}
.program-kicker{margin:0;color:var(--teal-ink);font-size:14px;letter-spacing:.13em;text-transform:uppercase}
.program-days .day-number{display:block;margin:8px 0 -3px;font:76px/1 var(--font-display);color:var(--brown)}
.program-days dl{margin:28px 0 0}
.program-days dl div{display:grid;grid-template-columns:112px 1fr;gap:18px;padding:13px 0;border-top:1px solid #dfd1bc}
.program-days dt{font-size:14px;font-weight:700;color:var(--teal-ink)}
.program-days dd{margin:0;font-size:15px;line-height:1.55}
.workshop-program{margin-top:65px;padding:38px;background:#fff;border:1px solid #dfc89e}
.workshop-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.workshop-grid p{font-size:14px;line-height:1.55;margin:0}
.santa-photo-story{padding:85px 7%;background:#292019;color:#fff}
.santa-photo-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}
.santa-photo-title h2{font-size:clamp(48px,6vw,86px);margin:0}
.santa-photo-title .eyebrow{color:#e7c989}
.santa-photo-wide,.santa-photo-grid figure{margin:0}
.santa-photo-wide img{width:100%;height:min(66vw,820px);object-fit:cover;object-position:center 43%}
.santa-photo-story figcaption{padding:13px 0 24px;color:#d7cbbb;font-size:13px}
.santa-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4vw}
.santa-photo-grid img{width:100%;height:500px;object-fit:cover}
.santa-photo-grid figure:nth-child(2) img{object-position:center 46%}
.santa-video-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;align-items:center;background:linear-gradient(130deg,#fff,#f2e2c8)}
.santa-video-section video{display:block;width:100%;background:#1e1713;box-shadow:0 25px 70px #35231227}
.partner-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:9%;align-items:center;background:#fff}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.partner-grid a{display:flex;min-height:240px;padding:28px 18px;flex-direction:column;align-items:center;justify-content:center;gap:22px;border:1px solid var(--line);background:#fff;transition:transform .3s ease,box-shadow .3s ease}
.partner-grid a:hover{transform:translateY(-5px);box-shadow:0 20px 50px #49351c17}
.partner-grid img{width:130px;height:110px;object-fit:contain}
.partner-grid span{text-align:center;font-size:13px;color:var(--teal-ink)}
.faq-section{background:linear-gradient(130deg,#fff,#f6ecdb)}
.faq-list{max-width:960px;margin:0 auto;border-top:1px solid var(--gold)}
.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{position:relative;padding:24px 52px 24px 0;cursor:pointer;list-style:none;font:27px/1.3 var(--font-display);color:var(--brown)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"＋";position:absolute;right:4px;top:21px;color:var(--teal-ink);font:26px/1 var(--font-sans)}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{padding:0 50px 25px 0;margin:0;color:#655b4e;font-size:16px}

@media(max-width:850px){
  .santa-editorial-hero{grid-template-columns:1fr 1fr;min-height:650px}
  .santa-editorial-photo{min-height:650px}
  .santa-editorial-copy{padding:55px 8%}
  .program-days{gap:4%}
  .workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .santa-photo-grid img{height:390px}
  .partner-section{grid-template-columns:1fr}
}

@media(max-width:600px){
  .santa-editorial-hero{display:flex;flex-direction:column;min-height:0}
  .santa-editorial-copy{order:-1;padding:45px 6%}
  .santa-editorial-copy h1{font-size:72px;margin-top:30px}
  .santa-editorial-photo{min-height:520px}
  .program-days{grid-template-columns:1fr;gap:50px}
  .program-days dl div{grid-template-columns:90px 1fr;gap:12px}
  .workshop-program{padding:26px 22px}
  .workshop-grid{grid-template-columns:1fr;gap:18px}
  .santa-photo-story{padding:55px 6%}
  .santa-photo-title{display:block}
  .santa-photo-title h2{font-size:52px}
  .santa-photo-wide img{height:430px}
  .santa-photo-grid{grid-template-columns:1fr;gap:20px}
  .santa-photo-grid img{height:420px}
  .santa-video-section{grid-template-columns:1fr;gap:30px}
  .partner-grid{grid-template-columns:1fr}
  .partner-grid a{min-height:190px}
}

/* Editorial photography refinements */
.story-images{position:relative;min-height:680px;padding:0 11% 70px 0}
.story-images img{display:block;object-fit:cover}
.story-main{width:88%;height:650px}
.story-inset{position:absolute;right:0;bottom:0;width:44%;height:270px;border:10px solid var(--cream,#f7f0e4);box-shadow:0 20px 55px #32200e24}
.santa-editorial-photo{position:relative}
.santa-hero-logo{position:absolute!important;z-index:3;right:28px;top:28px;bottom:auto;width:190px!important;height:auto!important;max-height:150px;object-fit:contain!important;padding:12px 16px;background:rgba(255,255,255,.92);box-shadow:0 14px 35px #24160b30;transform:none!important}
@media(max-width:760px){.story-images{min-height:auto;padding:0 0 48px}.story-main{width:92%;height:500px}.story-inset{width:46%;height:190px;border-width:7px}.santa-hero-logo{right:14px;top:14px;bottom:auto;width:130px!important;padding:8px 10px}}

/* Retreat photographic narrative */
.retreat-gallery{position:relative;padding:8vw 6vw 5vw;background:#201a16;color:#fff;overflow:hidden}
.retreat-gallery-head{position:absolute;z-index:3;top:10vw;left:9vw;max-width:550px;text-shadow:0 3px 25px #0008}
.retreat-gallery-head .eyebrow{color:#e8cfa8}
.retreat-gallery-head h2{font-size:clamp(46px,6.2vw,98px);line-height:.92;margin:.2em 0}
.retreat-gallery-head em{color:#d8b98b}
.retreat-carousel-stage{position:relative;height:min(76vh,820px);min-height:560px;overflow:hidden;border-radius:0 130px 0 0;background:#17120f}
.retreat-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.045);transition:opacity 1.4s ease,transform 6s ease;pointer-events:none}
.retreat-slide.active{opacity:1;transform:scale(1);pointer-events:auto}
.retreat-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.retreat-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#120c09b5 0%,#120c0938 46%,transparent 72%),linear-gradient(0deg,#120c0966,transparent 45%)}
.retreat-carousel-bar{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0 0}
.retreat-carousel-bar p{margin:0;color:#d8cfc8}.retreat-carousel-title{font-family:var(--serif);font-size:25px!important;color:#fff!important}
.retreat-carousel-controls{display:flex;align-items:center;gap:12px}.retreat-carousel-controls button{border:1px solid #ffffff55;background:transparent;color:#fff;padding:11px 14px;cursor:pointer}.retreat-count{font-size:13px;letter-spacing:.12em;margin-right:10px}.retreat-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* Press archive */
.press-section{background:linear-gradient(135deg,#f7f0e4,#eef5f1)}
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.press-grid a{display:flex;flex-direction:column;color:inherit;background:#fff;box-shadow:0 15px 40px #3f2d1712;transition:transform .35s ease,box-shadow .35s ease}
.press-grid a:hover{transform:translateY(-7px);box-shadow:0 22px 55px #3f2d1722}
.press-grid img{width:100%;height:280px;object-fit:cover;object-position:top}
.press-grid span{padding:18px 20px;font-size:14px;color:var(--teal-ink)}
.press-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:16px;border:0;background:#1b1612ee;color:#fff;overflow:hidden}
.press-lightbox::backdrop{background:#1b1612ed}
.press-lightbox-top{position:absolute;top:12px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.press-lightbox button{min-width:48px;min-height:48px;border:1px solid #fff9;border-radius:50%;background:#241b17d9;color:#fff;font:32px/1 var(--font-sans);cursor:pointer}
.press-lightbox button:hover,.press-lightbox button:focus-visible{background:var(--teal-ink)}
.press-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:calc(100% - 120px);height:100%;margin:auto;touch-action:pan-y}
.press-lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 115px);width:auto;height:auto;object-fit:contain}
.press-lightbox figcaption{text-align:center;font-size:14px}
.press-lightbox-prev,.press-lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}
.press-lightbox-prev{left:14px}.press-lightbox-next{right:14px}
@media(max-width:600px){.press-lightbox{padding:8px}.press-lightbox figure{width:calc(100% - 60px)}.press-lightbox-prev{left:4px}.press-lightbox-next{right:4px}.press-lightbox button{min-width:40px;min-height:40px;font-size:25px}}
/* Reviews and social */
.google-rating{display:flex;flex-direction:column;align-items:flex-end}.google-rating strong{font-family:var(--serif);font-size:70px;line-height:1}.google-rating span{color:#a66f26;letter-spacing:.18em}.google-rating small{margin-top:8px;color:#74685e}
.reviews .btn{margin-top:32px}.reviews blockquote{min-height:260px}.reviews blockquote p{font-size:clamp(20px,1.7vw,28px)}
.social-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:28px 0}.social-links a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--teal-ink)}
@media(max-width:760px){.retreat-gallery{padding:70px 0 40px}.retreat-gallery-head{position:relative;top:auto;left:auto;padding:0 23px 30px}.retreat-gallery-head h2{font-size:48px}.retreat-carousel-stage{height:68vh;min-height:520px;border-radius:0 70px 0 0}.retreat-slide:after{background:linear-gradient(0deg,#120c0980,transparent 60%)}.retreat-carousel-bar{padding:20px 23px 0;align-items:flex-start;flex-direction:column}.retreat-carousel-controls{width:100%;justify-content:space-between}.press-grid{grid-template-columns:1fr 1fr;gap:12px}.press-grid img{height:190px}.press-grid span{padding:13px;font-size:12px}.google-rating{align-items:flex-start}.social-links{grid-template-columns:1fr}.reviews blockquote{min-height:auto}}
.review-card{display:block;color:inherit;text-decoration:none;outline-offset:5px}
.review-card blockquote{height:100%;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.review-card:hover blockquote,.review-card:focus-visible blockquote{transform:translateY(-6px);box-shadow:0 22px 55px #3f2d1724;border-color:#b5966b}
.review-card footer span{display:inline-block;margin-top:8px;color:var(--teal-ink);font-weight:600}

/* Foto documentaria dell’evento: il logo sulla segnaletica resta leggibile anche su mobile. */
.santa-editorial-photo{display:block;overflow:hidden;background:transparent;align-self:start}.santa-editorial-photo>img:first-child{position:static!important;display:block;width:100%;height:auto;max-width:100%;aspect-ratio:2/3;object-fit:cover;object-position:center;transform:none!important;will-change:auto}
@media(min-width:601px) and (max-width:900px){.santa-editorial-hero{grid-template-columns:minmax(0,2fr) minmax(0,3fr);min-height:0}.santa-editorial-photo{min-height:0}}
@media(max-width:760px){.santa-editorial-photo{min-height:0}.santa-editorial-photo>img:first-child{height:auto}}

.santa-photo-grid figure:last-child{grid-column:1/-1}
@media(max-width:760px){.santa-photo-grid figure:last-child{grid-column:auto}}
.santa-photo-grid figure:last-child img{height:auto;max-height:none;object-fit:contain}
@media(max-width:760px){.santa-photo-grid img,.santa-photo-wide img{height:auto;max-height:none;object-fit:contain}}

.contact-options{display:grid;gap:12px;margin:27px 0 12px}.contact-option{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:17px 0 20px;border-top:1px solid var(--line)}.contact-option>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8d7355}.contact-option>strong{font-size:16px;color:#4e4032}.contact-option>a{font-size:17px;color:var(--teal-ink);font-weight:600}
.contact-option>a{display:inline-flex;align-items:center;min-height:42px;padding:4px 10px;margin-left:-10px;border-radius:6px;text-decoration-color:transparent;transition:background-color .25s ease,color .25s ease,transform .25s ease,text-decoration-color .25s ease}
.contact-option>a:hover,.contact-option>a:focus-visible{background-color:#3f7877;color:#fff;text-decoration-color:transparent;transform:translateX(4px)}
.contact-option>a:focus-visible{outline:2px solid #ad8953;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.contact-option>a{transition:none}.contact-option>a:hover,.contact-option>a:focus-visible{transform:none}}
/* Gli estratti delle recensioni non sono falsi link a singole recensioni. */
.reviews article.review-card{cursor:default}
.reviews article.review-card:hover blockquote{transform:none;box-shadow:0 15px 40px #60401e0d;border-color:var(--line)}
.service-layout .plain-link[href="#retreat"]{display:inline-block;margin:16px 0 0 18px}
@media(max-width:760px){.service-layout .plain-link[href="#retreat"]{display:block;margin:18px 0 0}}

/* Su smartphone evita che il margine finale dello Studio si sommi a quello del Negozio. */
@media(max-width:600px){
  #studio{padding-bottom:24px}
  #studio .service-layout{gap:24px}
  #studio .service-caption{margin:15px 0 0}
  #libreria{padding-top:28px}
  .service-actions{gap:8px 14px;margin-top:18px}
  .service-actions .btn{flex:1 1 180px}
  .service-actions .plain-link{flex:0 1 auto}
}

/* Un unico stato interattivo per tutti i pulsanti pubblici. */
.stefania-site :is(.btn,button){transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
@media(hover:hover){.stefania-site :is(.btn,button):hover{background:#347d7c;border-color:#347d7c;color:#fff;box-shadow:0 9px 22px #245d5d36}}
.stefania-site :is(.btn,button):focus-visible{background:#347d7c;border-color:#347d7c;color:#fff;outline:2px solid #ad8953;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.stefania-site :is(.btn,button){transition:none}}

@media(min-width:851px) and (max-width:1150px){
  .stefania-site header{flex-wrap:wrap}
  .stefania-site .menu-toggle{display:block}
  .stefania-site nav{display:none;width:100%;flex-direction:column;padding:10px 0 15px}
  .stefania-site nav.open{display:flex}
}

/* Contatti: destinatari distinti e azioni email trasparenti. */
.contact-redesign{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(32px,7vw,120px);background:linear-gradient(126deg,#fffaf2 0%,#f5e7d0 56%,#e5f0ed 100%)}
.contact-intro>p:first-of-type{color:var(--teal-ink)}
.contact-intro>p:not(.eyebrow){max-width:540px}
.contact-location{margin-top:clamp(35px,5vw,75px);padding-top:22px;border-top:1px solid var(--gold)}
.contact-location h3{font:clamp(25px,2.3vw,36px)/1.15 var(--font-display);margin:16px 0 15px}
.contact-location p{max-width:480px}
.contact-panel{padding:clamp(26px,3.8vw,58px);border:1px solid #dac9ae;border-radius:8px;background:#fffdf9;box-shadow:0 24px 70px #54402a13}
.contact-panel h3{font:clamp(30px,3vw,46px)/1.1 var(--font-display);margin:14px 0 12px}
.contact-panel-lead{max-width:520px;color:#6a5d4d;font-size:15px;line-height:1.65}
.contact-choice-list{display:grid;gap:12px;margin-top:28px}
.contact-choice{display:grid;grid-template-columns:44px minmax(0,1fr) 22px;align-items:center;gap:18px;min-height:92px;padding:16px 20px;border:1px solid #e1d3c1;border-radius:5px;background:#fffaf3;color:var(--ink);text-decoration:none;transition:background-color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.contact-choice:hover,.contact-choice:focus-visible{background:#e8f1ee;border-color:#78aaa7;transform:translateX(5px);box-shadow:0 11px 28px #39757318}
.contact-choice-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c8aa7e;border-radius:50%;color:#956b39;font-size:22px}
.contact-choice strong,.contact-choice small{display:block}.contact-choice strong{font-size:16px}.contact-choice small{margin-top:5px;color:#706659;font-size:13px;line-height:1.4}.contact-choice-arrow{font-size:22px;color:var(--teal-ink)}
.literary-contact{display:grid;gap:10px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.literary-contact strong{font-size:16px}.literary-contact a{width:max-content;min-height:44px;display:inline-flex;align-items:center;font-weight:600;color:var(--teal-ink)}
.contact-redesign .social-links{max-width:490px}.contact-redesign .social-links a{display:flex;align-items:center;gap:10px;min-height:50px;transition:color .25s ease,transform .25s ease}.contact-redesign .social-links a:hover{color:#235a5b;transform:translateY(-2px)}
.contact-redesign .social-links svg{width:21px;height:21px;flex:none}
@media(max-width:900px){.contact-redesign{grid-template-columns:1fr;gap:28px}.contact-location{margin-top:36px}.contact-panel{max-width:680px}}
@media(max-width:600px){.contact-redesign{padding-top:65px;padding-bottom:70px}.contact-choice{grid-template-columns:38px minmax(0,1fr) 18px;gap:12px;padding:14px}.contact-choice-icon{width:36px;height:36px}.contact-panel{padding:22px}.contact-redesign .social-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-choice,.contact-redesign .social-links a{transition:none}.contact-choice:hover,.contact-choice:focus-visible,.contact-redesign .social-links a:hover{transform:none}}

/* Privacy e cookie restano pagine autonome, consultabili anche in sovrimpressione. */
.legal-modal{width:min(980px,calc(100vw - 32px));height:min(86vh,900px);max-width:none;max-height:none;padding:0;border:1px solid #d9c8aa;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 30px 90px #1e1a18a1;overflow:hidden}
.legal-modal::backdrop{background:#171f1cb8;backdrop-filter:blur(5px)}
.legal-modal-top{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px 22px;border-bottom:1px solid var(--line);background:#f9f1e4}
.legal-modal-top h2{font:clamp(25px,2.5vw,36px)/1.1 var(--font-display);margin:0}
.legal-modal-top>div{display:flex;align-items:center;gap:22px}.legal-modal-full{font-size:14px;color:var(--teal-ink)}
.legal-modal-close{min-height:44px;padding:9px 15px;border:1px solid var(--brown);border-radius:4px;background:var(--brown);color:#fff;font:600 14px var(--font-sans);cursor:pointer}
.legal-modal iframe{display:block;width:100%;height:calc(100% - 72px);border:0;background:#fff}
@media(max-width:600px){.legal-modal{width:calc(100vw - 16px);height:calc(100dvh - 24px)}.legal-modal-top{padding:10px 13px}.legal-modal-top>div{gap:10px}.legal-modal-full{font-size:12px}.legal-modal-close{padding:8px 10px}}

@media(min-width:901px){.santa-studio-line{display:block;white-space:nowrap}.contact-location p{max-width:none}}

.reviews a.review-card{cursor:pointer}.reviews a.review-card:hover blockquote,.reviews a.review-card:focus-visible blockquote{transform:translateY(-6px);box-shadow:0 22px 55px #3f2d1724;border-color:#b5966b}.reviews .review-source-note{max-width:720px;margin:24px 0 20px;color:#6f6254;font-size:14px;line-height:1.5}

.contact-redesign .social-links .facebook-link{grid-column:1/-1}

.contact-location .contact-place{margin-top:16px}.contact-location .contact-place p{margin:0 0 5px}.contact-location .contact-place strong{color:#4d392b}.contact-location .contact-place .plain-link{display:inline-block;margin-top:2px}

.agenda-teaser-photo{width:100%;max-width:460px;min-height:0;justify-self:center;background:transparent}.agenda-teaser-photo img{height:auto;object-fit:contain;object-position:center}.agenda-teaser-photo figcaption{padding:54px 25px 22px}
@media(max-width:600px){.agenda-teaser-photo{min-height:0}.agenda-teaser-photo img{height:auto}}
.agenda-teaser-photo{aspect-ratio:900/1194}
.agenda-teaser-photo img,.agenda-teaser-photo img[width="900"]{height:100%;object-fit:cover;object-position:center bottom}

/* Su schermi piccoli i testi restano leggibili durante lo scroll in entrambe le direzioni. */
@media(max-width:850px){
  .stefania-site .scroll-parallax-copy{opacity:1!important;transform:none!important;filter:none!important;will-change:auto}
  .motion-ready .stefania-site .reveal-title .title-line,
  .motion-ready .stefania-site .reveal-copy{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
}

/* Le fotografie dei viaggi e dell'evento mantengono il formato originale su mobile. */
@media(max-width:600px){
  .stefania-site .cinematic-story{height:auto;overflow:visible}
  .stefania-site .cinematic-media{position:relative;height:auto;overflow:hidden}
  .stefania-site .cinematic-media>img{position:static!important;display:block;width:100%;height:auto!important;top:auto!important;object-fit:contain;transform:none!important}
  .stefania-site .cinematic-story:after{display:none}
  .stefania-site .event{display:flex;flex-direction:column;gap:26px;padding:46px 6%}
  .stefania-site .event>div{width:100%;text-align:left}
  .stefania-site .event>img{order:0;display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;background:transparent}
  .stefania-site .event h2{font-size:clamp(39px,10vw,48px)}
}
/* Il simbolo Dharma accompagna l'identità personale; il marchio completo resta nello shop. */
.hero-dharma-mark{display:block;width:128px;height:auto;margin:0 0 17px;mix-blend-mode:darken}
.stefania-site .stefania-hero .hero-visual>img{object-position:center 23%}
.language-links{display:flex;align-items:center;gap:9px;margin-left:10px;font:12px/1 var(--font-sans);letter-spacing:.08em}
.language-links a{padding:9px 7px;color:var(--brown);border-bottom:1px solid #b99b72;text-decoration:none}
.language-links a:hover,.language-links a:focus-visible{color:#247b7c;border-color:#247b7c}
@media(max-width:1100px){.language-links{margin-left:auto}}
@media(min-width:601px) and (max-width:850px){.hero-dharma-mark{width:95px}}
@media(max-width:600px){.hero-dharma-mark{width:78px}.language-links{gap:3px}.language-links a{min-width:44px;min-height:44px;justify-content:center;padding:7px 6px}}
/* Nove voci più il selettore lingua: il menu compatto evita collisioni. */
@media(min-width:851px) and (max-width:1500px){
  .stefania-site header{flex-wrap:wrap}
  .stefania-site .menu-toggle{display:block}
  .stefania-site nav{display:none;width:100%;padding:10px 0 15px}
  .stefania-site nav.open{display:flex;flex-direction:column;max-height:65vh;overflow-y:auto}
  .stefania-site nav a{padding:11px 0;border-bottom:1px solid #e7dccb}
}
.language-links a{display:inline-flex;align-items:center;gap:5px;border:1px solid #d9c5aa;border-radius:999px;padding:7px 9px;background:#fffaf2;font-size:11px;letter-spacing:.03em}
.language-links .flag{font-size:16px;line-height:1}
.language-links a[aria-disabled="true"]{opacity:.48;cursor:not-allowed}
.language-links a:hover,.language-links a:focus-visible{background:#f3e9d7;border-color:#347d7c}
.language-links a[aria-current="page"]{border-color:#347d7c;color:#246b6a;background:#e5f0ed}
@media(max-width:600px){
  .stefania-site nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;max-height:none;overflow:visible}
  .stefania-site nav a{min-width:0;padding:10px 0;font-size:13px;line-height:1.35}
  .gallery-controls button,.retreat-carousel-controls button,.press-lightbox button{min-width:44px;min-height:44px}
}

.back-to-top{display:none}
@media(max-width:600px){
  .back-to-top:not([hidden]){position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:35;display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:9px 13px;border:1px solid #c9ad83;border-radius:999px;background:#fffaf2eb;color:var(--brown);box-shadow:0 8px 24px #2f21172b;font:600 12px/1 var(--font-sans);letter-spacing:.03em;cursor:pointer;backdrop-filter:blur(8px)}
  .back-to-top:hover,.back-to-top:focus-visible{border-color:var(--teal-ink);color:var(--teal-ink);background:#fffaf2}
  .back-to-top span:first-child{font-size:17px;line-height:1}
}

/* La Bio usa le proporzioni reali della foto: nessuna banda e nessun taglio della testa. */
#chi-sono>.bio-evocative-photo{width:100%}

.contact-direct-email{margin-top:25px;padding-top:20px;border-top:1px solid #d8c39f;font-size:16px;line-height:1.6}
.contact-direct-email a{display:inline-block;margin-top:4px;color:var(--teal-ink);font-weight:700;overflow-wrap:anywhere;text-underline-offset:.2em}

/* I collegamenti dentro i paragrafi seguono la riga del testo. */
.inline-text-link{display:inline;padding:0;min-height:0;border:0;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.16em;color:inherit;font:inherit;white-space:normal}
.inline-text-link:hover,.inline-text-link:focus-visible{color:var(--teal-ink);text-decoration-color:currentColor}

.book-availability{margin:18px 0 8px;color:var(--teal-ink);font-size:clamp(17px,1.6vw,22px);line-height:1.45}

/* I testi restano sempre leggibili durante lo scorrimento. */
.scroll-parallax-copy{opacity:1!important;transform:none!important;filter:none!important;will-change:auto!important}

/* Novità: cornice editoriale semplice, con la fotografia intera. */
.agenda-teaser-photo{aspect-ratio:auto;border-radius:10px;min-height:0;background:transparent}
.agenda-teaser-photo img,.agenda-teaser-photo img[width="900"]{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:600px){.agenda-teaser-photo{margin-top:25px;min-height:0}}

/* Un servizio di stampa apre la raccolta e rimanda al contesto dell'evento. */
.press-highlight{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 32px;align-items:center;margin:35px 0 10px;padding:28px 32px;background:#fff;border-left:3px solid var(--gold);color:inherit;text-decoration:none;box-shadow:0 15px 40px #3f2d1712;transition:transform .25s ease,box-shadow .25s ease}
.press-highlight:hover,.press-highlight:focus-visible{transform:translateY(-3px);box-shadow:0 20px 45px #3f2d1722}
.press-highlight .eyebrow{grid-column:1/-1;margin:0}
.press-highlight strong{font:clamp(24px,2.3vw,35px)/1.1 var(--font-display,Georgia,serif);font-weight:400}
.press-highlight>span:not(.eyebrow):not(.press-highlight-cta){color:#655b4e;line-height:1.5}
.press-highlight-cta{grid-column:1/-1;color:var(--teal-ink);font-size:14px}
.ciao-press{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:clamp(30px,5vw,100px);align-items:start;background:#f7f0e4}
.ciao-press-copy{max-width:670px}
.ciao-press-copy h2{margin-top:12px}
.ciao-press-copy p:not(.eyebrow){line-height:1.7}
.ciao-press-credit{color:#716653;font-size:14px}
.ciao-press figure{margin:0;max-width:500px;justify-self:center}
.ciao-press figure img{display:block;width:100%;height:auto;object-fit:contain;box-shadow:0 12px 38px #34291d25}
.ciao-press figcaption{padding-top:10px;color:#716653;font-size:13px}
@media(max-width:760px){.press-highlight,.ciao-press{grid-template-columns:1fr}.press-highlight{padding:24px}.ciao-press figure{max-width:420px;width:100%}}
