/* The portrait and copy share a stable composition at every width. */
.hero{height:auto;min-height:760px;max-width:1600px;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr auto;align-items:center;column-gap:0;padding:0 6%}
.hero-copy{grid-column:1;grid-row:1;width:100%;padding:30px 0 25px;transform:none;align-self:center}
.hero .brand-scene{width:320px;max-width:85%;margin:0 0 37px -5px}
.hero h1{font-size:clamp(46px,5.6vw,84px);line-height:1.1;position:relative;z-index:5}
.hero-subtitle{font-size:13px;line-height:1.8;margin:23px 0 29px;max-width:none}
.hero-registration{max-width:none;margin-top:25px;font-size:8px;line-height:1.6}
.hero-visual{position:relative;grid-column:2;grid-row:1;width:100%;height:min(780px,60vw);min-height:600px;max-width:620px;justify-self:center;isolation:isolate}
.hero-visual .portrait{position:absolute;z-index:2;width:100%;height:89%;max-width:none;left:0;right:auto;top:7%;bottom:auto;transform:none!important;filter:drop-shadow(9px 12px 16px #1c281d30);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,#000b 83%,transparent 99%);mask-image:linear-gradient(to bottom,#000 0%,#000 74%,#000b 83%,transparent 99%)}
.hero-visual .portrait img{width:100%;height:100%;object-fit:contain;object-position:center top}
.hero-visual .portrait-light{z-index:0;inset:0;width:100%;height:100%;background:radial-gradient(ellipse,#cab68628 0%,#c2b68a0c 45%,transparent 70%);filter:blur(20px)}
.hero-visual .foreground-leaf{z-index:4;width:175px;height:320px;right:-82px;bottom:16%;opacity:.75;filter:blur(1px) drop-shadow(-10px 12px 10px #1e301a30)}
.hero-bottom{grid-column:1/-1;grid-row:2;position:relative;bottom:auto;left:auto;right:auto;width:100%;padding:8px 0 31px;min-height:59px;gap:20px;font-size:9px}
/* The full-height gold band sits below the portrait, with no diagonal clipping. */
.ribbon-space{height:70px;margin:0;display:flex;align-items:center;overflow:hidden;background:#343c2f;z-index:1}
.ribbon-front{position:relative;top:auto;left:auto;width:100%;height:54px;transform:none!important;flex-shrink:0;box-shadow:0 5px 14px #1a261e20;border-block:1px solid #f2d7aa}
.ribbon-back{display:none}.ribbon-words{font-size:11px;line-height:1;letter-spacing:.18em}
@media(min-width:1600px){.hero{min-height:840px}.hero-visual{height:810px;min-height:0}.hero .brand-scene{width:350px}.hero-copy{padding-top:30px}}
@media(min-width:761px) and (max-width:1100px){.hero{min-height:700px;padding-inline:5%}.hero-visual{height:640px;min-height:0}.hero .brand-scene{width:270px;margin-bottom:32px}.hero h1{font-size:5.4vw}.hero-subtitle{font-size:11px}.hero .pill{min-height:54px;font-size:11px;padding-inline:24px}.hero-visual .foreground-leaf{right:-66px;width:130px}.hero-bottom{font-size:8px}}
@media(max-width:760px){
 .site-header{height:74px;padding-inline:5%;gap:14px}.brand-mini span{display:none}.brand-mini img{width:34px}.site-header nav{gap:20px;font-size:10px}.header-cta{font-size:10px;padding:11px 16px}
 .hero{display:flex;flex-direction:column;min-height:0;height:auto;padding:0 6%;overflow:visible}
 .hero-copy{width:100%;padding:23px 0 0;text-align:center;transform:none!important;flex:none}
 .hero .brand-scene{width:225px;max-width:72%;margin:0 auto 19px}
 .hero h1{font-size:clamp(36px,8.7vw,58px);line-height:1.09;letter-spacing:-.065em;max-width:100%;margin-inline:auto}
 .hero-subtitle{max-width:none;font-size:11px;line-height:1.65;margin:17px auto 22px}
 .hero .pill{min-height:49px;font-size:11px;gap:21px;padding:12px 24px}.hero .pill svg{width:22px;height:22px}
 .hero-registration{max-width:none;font-size:7px;margin:22px auto 0;letter-spacing:.13em;line-height:1.6}
 .hero-visual{grid-column:auto;grid-row:auto;flex:none;width:112%;height:clamp(420px,120vw,660px);min-height:0;max-width:560px;margin:15px 0 -8px;align-self:center}
 .hero-visual .portrait{width:100%;height:88%;top:7.5%;left:0;bottom:auto;right:auto;max-width:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,#000b 82%,transparent 99%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,#000b 82%,transparent 99%)}
 .hero-visual .foreground-leaf{height:230px;width:130px;right:-26px;bottom:17%;opacity:.65;filter:blur(1.2px)}
 .hero-bottom{flex:none;position:relative;display:flex;flex-direction:column;justify-content:center;gap:13px;text-align:center;min-height:0;padding:0 0 28px;font-size:9px;width:100%;left:auto;right:auto;bottom:auto}
 .hero-bottom p span{margin-inline:8px}.hero-bottom a{font-size:8px;gap:10px;background:none;padding:0;border-radius:0;backdrop-filter:none}.scroll-cue{width:13px;height:22px}.scroll-cue:after{left:5px;top:5px;height:5px}
 .ribbon-space{height:62px}.ribbon-front{height:46px}.ribbon-words{font-size:9px;letter-spacing:.16em}
 .essence{height:auto}.essence-sticky{position:relative;top:auto;height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;padding:65px 7% 40px;text-align:center;overflow:clip}
 .essence-copy{width:100%;transform:none!important}.essence h2{font-size:clamp(54px,13vw,78px);line-height:1.06;margin:22px 0}.essence-note{font-size:12px}.care-qualities{justify-content:center;gap:29px;margin-top:23px}.care-qualities .object-3d{width:90px;height:90px}.care-qualities span{font-size:9px}
 .ritual-scene{position:relative;top:auto;bottom:auto;right:auto;width:112%;height:clamp(340px,97vw,520px);max-width:620px;margin:25px 0 0;align-self:center;transform:none!important}
 .ritual-halo{width:88%;right:6%;top:0}.ritual-cup{width:92%;height:100%;right:4%;bottom:3%}.stone-plinth{right:12%;width:76%;height:17%;bottom:9%}.ritual-orbit{right:0;width:100%}.orbit-two{right:-3%;width:106%}.ritual-caption{left:0;right:0;width:100%;bottom:-4px;font-size:7px;text-align:center}.ritual-leaf{right:-5%;top:-4%;width:29%;height:76%}
 .about{display:flex;flex-direction:column;min-height:0;align-items:center}.about-copy{grid-column:auto;padding:65px 7% 0;max-width:600px;width:100%;text-align:center;order:0}.about-copy h2{font-size:clamp(36px,10.8vw,56px);line-height:1.12;margin:25px 0}.about-copy h2 br:nth-of-type(2){display:none}.about-copy .about-text{max-width:340px;font-size:12px;line-height:1.9;margin-inline:auto}.registration{font-size:12px;margin-top:25px}.text-link{margin-top:27px;font-size:10px}.about-portrait{position:relative;width:106%;height:clamp(470px,139vw,740px);max-width:560px;left:auto;bottom:auto;margin:25px 0 -2px;align-self:center;transform:none!important;order:1}.about-portrait img{object-position:center bottom}.about-environment{background-image:linear-gradient(#f2ebdffa 20%,#f2ebdf69 53%,#f2ebdf10),url('assets/ambiente-natural-v3.webp')}.about-sun{top:300px;left:-25%}.silk-line{bottom:-205px}
 .appointment{display:block;min-height:0;padding:66px 7% 72px;text-align:center}.appointment-copy{max-width:620px;margin-inline:auto}.calendar-object{width:125px;height:125px;margin:0 auto 14px}.appointment .eyebrow{margin:18px 0 23px}.appointment h2{font-size:clamp(35px,10vw,52px);line-height:1.17}.appointment-action{padding-top:38px;max-width:400px;margin-inline:auto}.appointment-action>p:first-child{font-size:12px}.appointment-action .pill{text-align:left}.appointment-loop{left:-640px;top:-160px}
 .site-footer{text-align:center;padding-inline:7%}.footer-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px}.footer-brand{width:160px}.footer-links{width:auto;order:0;justify-content:center;gap:30px;font-size:10px}.back-top{margin:0;font-size:9px}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:13px;font-size:8px;line-height:1.8}.privacy-open{font-size:9px;margin:0}
}
@media(max-width:374px){.site-header{padding-inline:4%;gap:9px}.brand-mini img{width:28px}.site-header nav{gap:12px;font-size:9px}.header-cta{font-size:9px;padding:10px 12px}.hero-copy{padding-top:19px}.hero .brand-scene{width:202px;margin-bottom:18px}.hero h1{font-size:34px}.hero-subtitle{font-size:10px}.hero-visual{height:400px;margin-top:10px}.hero-registration{font-size:6px}.hero-bottom{font-size:8px}.hero-visual .foreground-leaf{width:110px;right:-27px}.about-copy .about-text{font-size:11px}.footer-links{gap:25px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual .portrait,.hero-visual{transform:none!important}}
/* Fade the rendered photograph itself, including on narrower desktop columns. */
.hero-visual .portrait{-webkit-mask-image:none;mask-image:none}
.hero-visual .portrait img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center top;margin-inline:auto;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 73%,#000b 82%,transparent 99%);mask-image:linear-gradient(to bottom,#000 0%,#000 73%,#000b 82%,transparent 99%)}
