/* Vivid2Real — hero styles. */
.hero{height:90vh;height:90svh;min-height:0;display:block;padding:0;position:relative;isolation:isolate;overflow:hidden;background:#242425;color:#fff}
.hero-stage,#hero-sequence{background:var(--paper)}
.hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.hero-media picture{display:block;width:100%;height:100%}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}
.hero-media img[data-scene="portrait2"]{object-position:50% 42%}
.hero-media img[data-scene="portrait3"]{object-position:50% 44%}
.hero-media img[data-scene="portrait4"]{object-position:50% 40%}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#101116b3,transparent 60%),linear-gradient(0deg,#101116f5 0%,#101116b3 25%,transparent 64%,#10111622 100%)}
.hero{--hero-content-inset:max(4%,calc((100% - 1440px)/2 + 24px))}
.hero-copy,.hero-bottom,.hero-corners,.hero .scene-meta{left:var(--hero-content-inset);right:var(--hero-content-inset)}
.hero-copy{position:absolute;bottom:118px;max-width:min(620px,46%);min-width:0;display:block;overflow-wrap:break-word}
.hero-copy .eyebrow{font-size:clamp(.65rem,.85vw,.83rem);letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px;color:#e8d2bb;text-shadow:0 1px 10px #0006}
.hero h1{font-size:clamp(2rem,min(4vw,6.4svh),4.2rem);max-width:21ch;line-height:1.04;font-weight:550;text-wrap:balance;letter-spacing:-.045em;margin:0;text-shadow:0 2px 20px #0005}
.hero h1>span{display:block}
.hero h1 .soft{color:#fff}
.hero-slogan{margin:16px 0 0;color:#f1dbc3;font-size:clamp(.94rem,1.18vw,1.15rem);line-height:1.45;max-width:52ch;text-wrap:pretty}
.hero .hero-description{display:block;max-width:56ch;margin:12px 0 0;font-size:clamp(.94rem,1.1vw,1.05rem);line-height:1.55;color:#f3eee8}
.hero-assurances{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 0;margin-top:17px;color:#f6f2ec;font-size:clamp(.78rem,.92vw,.88rem);line-height:1.6}
.hero-assurances>span{max-width:100%}
.hero-assurances>span+span:before{content:'·';display:inline-block;margin:0 8px;color:#d8bfa4}
.hero-starting-price{white-space:nowrap}
.hero-starting-price strong{font-weight:700}
.hero-offer-note{display:inline-block;max-width:100%;margin-top:8px;font-size:.76rem;line-height:1.55;color:#e1d4c7;text-decoration:underline;text-decoration-color:#ffffff55;text-underline-offset:3px}
.hero-offer-note:hover{color:#fff;text-decoration-color:currentColor}
.hero-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-top:20px}
.hero .hero-cta{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 20px;border:1px solid #ffffffa6;border-radius:10px;font-size:.82rem;font-weight:650;line-height:1.3;text-align:center;max-width:100%;transition:background .18s ease,border-color .18s ease}
.hero .hero-cta-primary{background:#f6e5d1;border-color:#f6e5d1;color:#27241f}
.hero .hero-cta-primary:hover{background:#fff1e1;border-color:#fff1e1}
.hero .hero-cta-secondary{background:#18171b55;color:#fff;backdrop-filter:blur(12px)}
.hero .hero-cta-secondary:hover{background:#ffffff22}
.hero-copy a:focus-visible{outline-color:#f6e5d1;outline-offset:4px}
.hero-bottom{position:absolute;bottom:42px;display:flex;align-items:center;justify-content:center}
.controller{display:flex;align-items:center;width:100%;max-width:860px;padding:5px;border:1px solid #ffffff55;border-radius:60px;background:linear-gradient(105deg,#343246ce,#626077ad);backdrop-filter:blur(20px);box-shadow:0 8px 25px #0002}
.controller-label{font-size:.7rem;padding:0 18px;white-space:nowrap}
.scene{flex:1;border:1px solid transparent;border-radius:40px;color:#fff;background:transparent;padding:10px 15px;line-height:1.2;font-size:.8rem;white-space:nowrap}
.scene[aria-pressed=true],.scene:hover{border-color:#ffffff80;background:#ffffff26}
.hero-corners{position:absolute;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.scroll-link{font-size:.65rem;display:flex;gap:18px}
.hero .scene-meta{position:absolute;top:calc(var(--header-height,76px) + 30px);display:flex;z-index:1}
.hero .scene-meta button{margin-left:auto;background:#19191c99;color:#fff;border:1px solid #ffffff60;border-radius:20px;padding:8px 12px;font-size:.7rem;min-height:40px}
.hero-followup{display:none}
.hero-stage .trust-strip{min-height:10vh;min-height:10svh;align-items:center;padding-block:14px;font-size:.84rem;line-height:1.55}
.hero-stage .trust-strip>span{max-width:280px}
@media(min-width:1100px) and (min-height:701px){
.hero-copy{max-width:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:48px;align-items:start}
.hero-copy .eyebrow{grid-column:1;grid-row:1}
.hero h1{grid-column:1;grid-row:2;font-size:clamp(2rem,min(3.5vw,6svh),3.5rem);max-width:none}
.hero h1>span{display:inline}
.hero-slogan{grid-column:1;grid-row:3;max-width:none;margin-top:12px}
.hero-details{grid-column:2;grid-row:1 / span 2;min-width:0}
.hero .hero-description{margin-top:0;max-width:none}
.hero-actions{grid-column:2;grid-row:3;margin-top:12px}
}
@media(max-width:1023px){
.hero-media img[data-scene="portrait2"]{object-position:95% 38%}
}
@media(min-width:768px) and (max-width:1024px){
.hero .scene{font-size:.72rem;padding:10px}
.hero .controller-label{font-size:.62rem;padding:0 12px}
}
@media(min-width:768px) and (max-width:1024px) and (orientation:portrait){
.hero-copy{max-width:700px;bottom:104px}
.hero h1{font-size:clamp(2rem,4.7vw,2.65rem);max-width:26ch}
.hero h1>span{display:inline}
.hero-slogan{font-size:.95rem;margin-top:10px}
.hero .hero-description{font-size:.85rem;max-width:66ch;margin-top:8px}
.hero-assurances{font-size:.73rem;margin-top:12px}
.hero-actions{margin-top:14px}
}
@media(min-width:768px) and (max-height:700px){
.hero-copy{max-width:52%;bottom:100px}
.hero h1{font-size:clamp(1.65rem,4.8svh,2.5rem);max-width:24ch}
.hero-copy .eyebrow{margin-bottom:8px}
.hero-slogan{font-size:.85rem;margin-top:10px}
.hero .hero-description{font-size:.75rem;line-height:1.45;margin-top:8px}
.hero-assurances{font-size:.66rem;margin-top:10px}
.hero-actions{margin-top:12px}
.hero .hero-cta{min-height:40px;padding:10px 15px;font-size:.75rem}
}
@media(max-width:767px){
.hero-copy,.hero-bottom,.hero-corners,.hero .scene-meta{left:6%;right:6%}
.hero-media img{object-position:50% 38%}
.hero-media img[data-scene="portrait3"]{object-position:36% 42%}
.hero:after{background:linear-gradient(0deg,#101116f5 0%,#101116d6 22%,#10111655 43%,transparent 65%,#10111630 100%)}
.hero-copy{max-width:none;bottom:98px}
.hero-copy .eyebrow{font-size:.6rem;letter-spacing:.09em;margin-bottom:10px}
.hero h1{font-size:clamp(1.6rem,7.6vw,2.8rem);max-width:26ch;line-height:1.08}
.hero h1>span{display:inline}
.hero-slogan{font-size:.85rem;line-height:1.4;margin-top:12px}
.hero .hero-description{font-size:.82rem;line-height:1.55;margin-top:10px;max-width:none}
.hero-assurances{font-size:.64rem;line-height:1.55;margin-top:12px}
.hero-offer-note{font-size:.6rem}
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.hero .hero-cta{font-size:.77rem;min-height:46px;padding:10px 9px}
.hero-bottom{bottom:35px}
.hero .controller{max-width:520px;padding:4px;min-width:0}
.hero .controller-label{display:none}
.hero .scene{font-size:.66rem;min-height:42px;padding:8px 3px;white-space:normal}
.hero-corners{bottom:10px}
.hero .scroll-link{display:none}
.hero .scene-meta{top:calc(var(--header-height,62px) + 26px)}
.hero .scene-meta button{background:#19191c80}
.hero-stage .trust-strip{font-size:.71rem;gap:12px;padding-inline:20px}
}
@media(max-width:359px){
.hero .hero-cta{font-size:.7rem;padding-inline:8px}
}
@media(max-width:767px),(max-height:550px){
.hero-copy .hero-details{display:none}
.hero-followup{display:block;padding:22px max(6%,calc((100% - 1280px)/2 + 40px));border-bottom:1px solid var(--line)}
.hero-followup .hero-description{display:block;margin:0;font-size:.9rem;line-height:1.6;max-width:70ch;color:var(--muted)}
.hero-followup .hero-assurances{color:var(--ink);font-size:.75rem;margin-top:14px;line-height:1.65}
.hero-followup .hero-assurances>span+span:before{color:#896849}
.hero-followup .hero-offer-note{color:#655747;font-size:.76rem}
}
@media(max-width:767px) and (max-height:720px),(max-height:550px){
.hero-copy{bottom:104px}
.hero h1{font-size:clamp(1.45rem,7.6vw,2.2rem)}
.hero-slogan{font-size:.78rem;margin-top:10px}
.hero-actions{margin-top:14px}
.hero .hero-cta{min-height:40px}
}
@media(max-height:550px){
.hero .scene-meta{top:calc(var(--header-height,62px) + 16px)}
.hero-bottom{bottom:30px}
.hero .scene{min-height:28px;padding:6px 10px}
.hero-corners{bottom:6px}
}
@media(max-height:550px) and (min-width:600px){
.hero-copy{max-width:60%;bottom:82px}
.hero h1{font-size:clamp(1.4rem,5.5svh,2rem);max-width:30ch}
.hero h1>span{display:inline}
.hero-copy .eyebrow{font-size:.53rem;margin:0 0 6px}
.hero-slogan{font-size:.72rem;margin-top:8px;max-width:none}
.hero-actions{display:flex;gap:8px;margin-top:10px}
.hero .hero-cta{font-size:.7rem;min-height:40px;padding:8px 13px}
}
.art-caption{color:#e5e0da;font-size:.62rem;margin:0}
@media(max-width:767px){
.hero .art-caption{font-size:.48rem;line-height:1.25}
}
@media(max-height:550px){
.hero .art-caption{font-size:.5rem}
}
