
/* Vidita's Regality | Homepage inspired by the sister-supplied visual mockup.
   Standalone stylesheet: no Tailwind, no legacy CSS cascade. */
:root{--white:#FAF8F3;--paper:#F4EFE6;--ink:#030001;--copper:#B87333;--copper-deep:#92511D;--rule:#DAC2A8;--dim:#534B44}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--white);color:var(--ink);font-family:'Inter',Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}button,input{font:inherit}img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.container{width:min(100% - 48px,1216px);margin:0 auto}
.serif,h1,h2,h3,.brand-name{font-family:'Cormorant Garamond',Georgia,serif}
h1,h2,h3,p{margin:0}h2{font-size:clamp(37px,4.7vw,64px);line-height:1.08;font-weight:600;letter-spacing:-.025em}h3{font-size:clamp(25px,2.35vw,34px);line-height:1.16;font-weight:600}p{color:#443D36}
.eyebrow{font:700 12px/1.5 Inter,Arial,sans-serif;letter-spacing:.15em;color:var(--copper-deep);text-transform:uppercase}
.section{padding:100px 0}.section-soft{background:var(--paper)}.section-head{max-width:820px;margin-bottom:44px}.section-head .eyebrow{margin-bottom:14px}.section-head p{margin-top:20px;max-width:690px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;padding:13px 26px;min-height:49px;border-radius:7px;background:var(--copper);color:white!important;font-size:14px;font-weight:700;transition:background .2s,transform .2s}
.btn:hover{background:var(--copper-deep);transform:translateY(-2px)}.btn-outline{border:1px solid var(--copper);color:var(--copper-deep)!important;background:transparent}.btn-outline:hover{background:#F6E8DB}
.header{position:sticky;top:0;z-index:90;background:rgba(250,248,243,.97);border-bottom:1px solid var(--rule);backdrop-filter:blur(15px)}
.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:13px;align-items:center;min-width:0;text-decoration:none}.brand img{height:52px;width:52px;object-fit:contain}
.brand-name{font-size:29px;font-weight:600;line-height:1.05;white-space:nowrap}
.header-nav{display:flex;align-items:center;gap:clamp(14px,1.7vw,26px);margin-left:auto}.header-nav a{font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.header-nav a:hover{color:var(--copper-deep)}
.header-action{flex:none}.mobile-toggle{display:none;border:1px solid var(--rule);border-radius:8px;background:var(--white);color:var(--ink);width:46px;height:46px;align-items:center;justify-content:center;cursor:pointer}
.mobile-nav{display:none}
.hero{padding:28px 0 66px}.hero-frame{border:1px solid rgba(184,115,51,.6);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);min-height:760px;overflow:hidden;background:var(--white)}
.hero-copy{padding:46px 0 65px clamp(22px,4.8vw,68px);display:flex;flex-direction:column;justify-content:center;gap:26px;min-width:0;position:relative;z-index:2}
.hero-logo{display:flex;flex-direction:column;align-items:center;gap:5px;max-width:520px;margin:0 0 22px}.hero-logo img{width:80px;height:72px;object-fit:contain}.hero-logo strong{font:600 clamp(19px,2.55vw,34px)/1.1 'Cormorant Garamond',Georgia,serif;letter-spacing:.18em;white-space:nowrap}.hero-logo small{font:600 clamp(9px,.95vw,12px)/1.5 Inter,Arial,sans-serif;letter-spacing:.21em;color:var(--copper-deep);text-align:center}.hero-logo i{width:70%;height:1px;background:var(--rule);margin:4px 0}
.hero h1{font-size:clamp(61px,6.3vw,100px);line-height:.93;letter-spacing:-.045em;font-weight:600}.hero h1 span{display:block}.hero h1 .copper{color:var(--copper)}.hero-sub{font:600 clamp(25px,2.65vw,38px)/1.1 'Cormorant Garamond',Georgia,serif;color:var(--ink)}.hero-description{max-width:570px;font-size:clamp(16px,1.45vw,19px);line-height:1.72;color:#33302A}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}
.hero-visual{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;min-height:760px;overflow:hidden}
.hero-visual:before{content:'';position:absolute;inset:-10% -35% -4% 10%;background:linear-gradient(150deg,#F0CEAD,#D29A67 70%,#BF7945);border-radius:90% 0 0 0;transform:skewX(-14deg);z-index:0}
.hero-photo{position:relative;z-index:1;width:100%;height:640px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}
.hero-quote{position:absolute;z-index:2;top:18%;right:6%;max-width:185px;font:italic 22px/1.3 'Cormorant Garamond',Georgia,serif;color:#3c2b1e}
.hero-quote::before{content:'“';display:block;font:600 65px/.7 Georgia,serif;color:var(--copper-deep)}
.hero-quote~.hero-identity{position:relative;z-index:3;margin:0 15px 18px auto;font:600 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.15em;color:var(--ink)}
.signal{padding:18px 0;background:#211710;color:#F7F0E7;text-align:center;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:700}
.signal .container{display:flex;justify-content:space-around;gap:22px;flex-wrap:wrap}.signal b{color:#DEB389}
.problems-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.problem{background:var(--white);border:1px solid rgba(184,115,51,.35);border-left:4px solid var(--copper);border-radius:13px;padding:26px;min-width:0}
.problem h3{font-size:clamp(24px,2vw,31px);margin-bottom:12px}.problem p{font-size:15px;line-height:1.65}
.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.learn-card{padding:27px;border:1px solid var(--rule);background:var(--white);border-radius:12px;min-width:0}
.learn-card .number{color:var(--copper);font:600 29px 'Cormorant Garamond',Georgia,serif}.learn-card h3{font-size:27px;margin:11px 0}.learn-card p{font-size:15px}
.before-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.before-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:12px;overflow:hidden;background:var(--white)}.before-card>div{padding:22px}.before-card>div+div{background:#F2E6DA;border-left:1px solid var(--rule)}.before-card span{display:block;color:var(--copper-deep);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.before-card p{font-size:16px}
.sessions{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:50px}.session-art{overflow:hidden;border-radius:230px 230px 13px 13px;border:1px solid var(--rule);background:#E8D4C2;max-width:480px;margin:auto}.session-art img{width:100%;height:auto;max-height:600px;object-fit:cover}.sessions .eyebrow,.method .eyebrow{margin-bottom:17px}.sessions p{font-size:18px;margin:22px 0 26px}.session-tags{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 30px}.tag{border:1px solid var(--rule);background:#F4E9DB;border-radius:50px;padding:7px 13px;color:#6A4126;font-size:12px;font-weight:600}
.method{background:#1D1511;color:#FAF8F3}.method h2,.method p{color:#FAF8F3}.method p{max-width:650px;margin:22px 0 34px}.method-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.method-step{border:1px solid #B8733370;background:#34251B;padding:25px;border-radius:10px}.method-step b{font:600 36px 'Cormorant Garamond',Georgia,serif;color:#DBA97C}.method-step h3{font-size:26px;margin:7px 0}.method-step p{font-size:14px;margin:0}
.coach-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:60px;align-items:center}.coach-photo{background:#F0E5DA;border:1px solid var(--rule);border-radius:220px 220px 12px 12px;overflow:hidden}.coach-photo img{width:100%;height:530px;object-fit:contain;object-position:center bottom}.coach-copy .eyebrow{margin-bottom:15px}.coach-copy p{margin:25px 0}.coach-points{display:flex;gap:8px;flex-wrap:wrap}.coach-points .tag{background:var(--white)}
.faq-list{max-width:940px;margin:0 auto}.faq-list details{border-bottom:1px solid var(--rule);padding:8px 0}.faq-list summary{list-style:none;cursor:pointer;padding:21px 32px 21px 0;font-weight:650;font-size:17px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:0;top:19px;color:var(--copper);font-size:26px}.faq-list details[open] summary::after{content:'−'}.faq-list details p{padding:0 28px 22px 0;max-width:780px}
.cta-section{padding:70px 0}.cta-panel{padding:55px clamp(24px,5vw,70px);background:#291C15;border-radius:20px;color:white}.cta-panel h2{color:white}.cta-panel p{color:#F3E8DE;margin:15px 0 26px;max-width:660px}
.footer{border-top:1px solid var(--rule);padding:55px 0 20px;background:var(--white)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-brand{font:600 29px 'Cormorant Garamond',Georgia,serif}.footer p{font-size:14px}.footer a{display:block;text-decoration:none;padding:4px 0}.footer a:hover{color:var(--copper-deep)}.footer-bottom{border-top:1px solid var(--rule);padding-top:18px;margin-top:35px;font-size:12px;color:#70645A}
@media(max-width:1050px){.container{width:min(100% - 36px,900px)}.header-nav{gap:13px}.hero-frame{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}.hero-copy{padding-left:27px}.hero h1{font-size:clamp(58px,7.1vw,80px)}.hero-photo{height:560px}.hero-visual{min-height:650px}.hero-quote{max-width:145px;font-size:19px}.problems-grid,.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.header-nav{display:none}.mobile-toggle{display:flex}.mobile-nav.open{display:flex;flex-direction:column;padding:16px 24px 25px;border-top:1px solid var(--rule);gap:7px}.mobile-nav.open a{padding:11px;text-decoration:none;font-weight:600}.hero-frame{display:flex;flex-direction:column}.hero-copy{padding:32px 24px 36px;gap:20px}.hero-logo{align-self:center;margin-bottom:15px}.hero h1{font-size:clamp(55px,10vw,75px)}.hero-visual{min-height:0;height:550px}.hero-photo{height:540px;width:min(100%,530px);align-self:center}.hero-visual:before{inset:0 -17% 0 20%}.hero-quote{right:5%;top:12%;max-width:150px}.section{padding:76px 0}.sessions,.coach-grid{grid-template-columns:1fr;gap:28px}.coach-photo{max-width:420px;width:100%;margin:auto}.method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.container{width:calc(100% - 28px)}.header-inner{min-height:67px;gap:9px}.brand img{width:39px;height:39px}.brand-name{font-size:22px}.header-action{display:none}.hero{padding:16px 0 38px}.hero-copy{padding:22px 17px 31px}.hero-logo img{width:63px;height:61px}.hero-logo strong{font-size:19px;letter-spacing:.12em}.hero-logo small{font-size:9px;letter-spacing:.12em}.hero h1{font-size:clamp(48px,11.8vw,66px)}.hero-sub{font-size:26px}.hero-description{font-size:16px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-visual{height:410px}.hero-photo{height:400px}.hero-quote{font-size:17px;max-width:113px;top:5%;right:3%}.hero-quote::before{font-size:42px}.section{padding:61px 0}.problems-grid,.learn-grid,.before-grid,.method-steps,.footer-grid{grid-template-columns:1fr}.problem,.learn-card{padding:22px}.before-card>div{padding:14px}.before-card p{font-size:14px}.signal{font-size:10px}.sessions p{font-size:16px}.coach-photo img{height:430px}.cta-panel{padding:33px 23px}.cta-section{padding:45px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none;transform:none!important}}


/* 2026-11-04 portrait/quote fix: all quote content is in normal document flow. */
.hero-visual{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:center!important;min-width:0!important;height:auto!important;min-height:0!important;overflow:hidden!important;padding:14px 16px 24px!important}
.hero-visual:before{inset:0 -25% 22% 8%!important;z-index:0!important}
.hero-photo-wrap{position:relative!important;z-index:1!important;display:flex!important;width:100%!important;justify-content:center!important;align-items:flex-end!important;min-width:0!important;overflow:hidden!important}
.hero-photo-wrap .hero-photo{width:100%!important;height:auto!important;max-height:590px!important;aspect-ratio:4/5!important;object-fit:contain!important;object-position:center bottom!important;mix-blend-mode:multiply!important}
.hero-attribution{position:relative!important;z-index:2!important;display:block!important;width:min(100%,500px)!important;text-align:center!important;padding:15px 10px 0!important;background:transparent!important}
.hero-attribution .hero-quote{position:static!important;display:block!important;max-width:none!important;width:100%!important;margin:0!important;font:italic 600 clamp(19px,2.1vw,27px)/1.35 'Cormorant Garamond',Georgia,serif!important;color:#25190F!important;text-align:center!important}
.hero-attribution .hero-quote::before{display:none!important;content:none!important}
.hero-attribution .hero-identity{position:static!important;display:block!important;margin:10px 0 0!important;font:600 clamp(11px,1.15vw,13px)/1.5 Inter,Arial,sans-serif!important;letter-spacing:.02em!important;color:#7B431B!important;text-transform:none!important}
@media(max-width:800px){
.hero-visual{height:auto!important;min-height:0!important;padding:0 14px 22px!important}
.hero-photo-wrap .hero-photo{max-height:470px!important;aspect-ratio:4/5!important}
.hero-attribution{padding:13px 5px 0!important}
.hero-attribution .hero-quote{font-size:clamp(20px,4.7vw,27px)!important}
}
@media(max-width:560px){
.hero-visual{height:auto!important;min-height:0!important;padding:0 10px 18px!important}
.hero-photo-wrap .hero-photo{width:min(100%,375px)!important;height:auto!important;max-height:390px!important;aspect-ratio:4/5!important}
.hero-attribution .hero-quote{font-size:21px!important}
.hero-attribution .hero-identity{font-size:11px!important}
}
/* Keep media inside responsive cards without distorting artwork. */
.session-art img,.coach-photo img{max-width:100%!important;object-fit:contain!important;object-position:center bottom!important}
.problem,.learn-card,.before-card,.method-step,.footer-grid>div{min-width:0;overflow-wrap:break-word}
@media(max-width:560px){.hero-logo strong{white-space:normal!important;text-align:center!important}.hero-frame{width:100%!important}.before-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.hero h1{overflow-wrap:normal!important;word-break:normal!important}}
