@import url("/fonts.css");
:root{--site-font:"PT Sans",Arial,sans-serif;--heading-font:"Cormorant Garamond",Georgia,serif}
:root{--ink:#153b3e;--muted:#586568;--paper:#fff;--light:#f2f5f4;--line:#dbe2e0;--accent:#a25939}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--site-font)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b58042;outline-offset:5px}button{cursor:pointer}header{height:104px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:white;position:relative;z-index:20;border-bottom:1px solid var(--line)}.logo{font:31px/0.81 var(--site-font);letter-spacing:-1.4px;display:inline-flex;flex-direction:column;width:110px;color:var(--ink)}.logo span{margin-left:23px}.logo i{font:9px/1 var(--site-font);letter-spacing:2.9px;margin-top:11px;font-style:normal;margin-left:3px}nav{display:flex;align-items:center;gap:36px;font-size:14px}nav a:hover,.text-link:hover{color:var(--accent)}.nav-contact{margin-left:35px;border-bottom:1px solid var(--ink);padding:11px 0}.nav-contact span{margin-left:25px}.menu-toggle{display:none}.section{padding:105px 7.5%;max-width:1800px;margin:0 auto}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:2.3px;font-weight:600;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--site-font);font-weight:400;letter-spacing:-1.7px;line-height:1.13}h1{font-size:clamp(48px,5.6vw,90px)}h2{font-size:clamp(36px,3.5vw,56px);margin-bottom:30px}h3{font-size:23px;line-height:1.3;font-weight:400}p{margin-bottom:23px}.hero{height:calc(100svh - 104px);min-height:650px;max-height:1050px;position:relative;overflow:hidden;color:white;background:#234c55}.hero>img,.hero video,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero>img{object-position:center}.hero video{opacity:0;transition:opacity .7s}.hero video.playing{opacity:1}.hero-shade{background:linear-gradient(90deg,rgba(3,24,32,.64),rgba(5,28,40,.22) 70%),linear-gradient(0deg,rgba(4,24,33,.28),transparent 40%)}.hero-copy{position:relative;padding:9vh 7.5% 70px;max-width:1000px}.hero-copy h1{margin-bottom:30px}.hero-copy p:not(.eyebrow){font-size:19px;line-height:1.7;color:#f4f6f6}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:55px;background:var(--ink);border:1px solid var(--ink);padding:15px 23px;font-size:14px;color:white;transition:background .2s}.button:hover{background:#23575a}.button.light{background:white;color:var(--ink);border-color:white;margin-top:14px}.button.light:hover{background:#edf3f2}.hero-bottom{position:absolute;left:7.5%;right:7.5%;bottom:30px;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px}.hero-bottom button{font-size:13px;color:white;letter-spacing:.2px;border:1px solid #ffffff70;padding:8px 13px;background:#163b4050}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;border-bottom:1px solid var(--line)}.lead{font-size:23px;line-height:1.6}.about-copy>p:not(.lead){color:var(--muted);font-size:16px}.founder{margin-top:70px;font-size:14px;color:var(--muted)}.founder strong{font-weight:400;display:inline-block;color:var(--ink);font-size:20px;margin-top:5px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px;gap:25px}.section-heading>p{font-size:16px;color:var(--muted)}.program-row{border-top:1px solid var(--line);padding:45px 0;display:grid;grid-template-columns:65px 1.22fr 1fr;gap:35px}.program-index{font:28px var(--site-font);color:var(--accent)}.program-index span{display:block;font:12px var(--site-font);letter-spacing:2px;color:var(--muted);margin-top:14px}.program-main h3{font:32px/1.2 var(--site-font);letter-spacing:-.5px;max-width:490px}.program-main h3 span{font:24px var(--site-font);margin-left:10px;color:var(--accent)}.program-main>p{font-size:16px;color:var(--muted);max-width:500px}.program-facts{padding:0 0 0 30px}.program-facts .eyebrow{margin-bottom:13px;font-size:11px}.requirements{padding:0;list-style:none;margin:0 0 20px}.requirements li{position:relative;padding-left:20px;margin-bottom:12px;font-size:16px;line-height:1.5}.requirements li:before{content:'—';position:absolute;left:0;color:var(--accent)}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:14px;margin-top:10px}.text-link span{margin-left:18px}.small-note{font-size:13px;color:var(--muted);line-height:1.6}.business{background:var(--light);display:grid;grid-template-columns:1fr 1.15fr;gap:8%;max-width:none}.business>div:nth-child(2)>p:not(.lead){font-size:16px;color:var(--muted)}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;border-top:1px solid var(--line)}.contact>div>p:not(.eyebrow){color:var(--muted);max-width:450px;font-size:16px}.contact h2{font-size:clamp(35px,3vw,48px)}.email{font-size:24px;border-bottom:1px solid var(--line);padding-bottom:7px;display:inline-block;margin:15px 0 22px}.languages{font-size:13px!important;letter-spacing:.4px}form{padding-top:3px}form h3{font:27px var(--site-font);margin-bottom:30px}label{display:block;font-size:13px;margin-bottom:22px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #b7c5c3;border-radius:0;background:transparent;padding:12px 0;color:var(--ink);font-size:16px;resize:vertical}.optional{color:#71817f;font-size:12px;margin-left:8px}form .button{width:100%;margin-top:2px}.form-note{font-size:12px;line-height:1.65;color:var(--muted);margin:14px 0}.form-status{font-size:13px}.form-status a{text-decoration:underline}footer{padding:38px 7.5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;gap:20px}footer .logo{color:white}footer p{font-size:13px;margin:0;color:#d5e3e1}footer small{font-size:12px;color:#d5e3e1}.detail-hero{background:var(--light);max-width:none;padding-top:35px;padding-bottom:65px}.back{font-size:13px;display:inline-block;margin-bottom:65px}.detail-hero .eyebrow{color:var(--accent)}.detail-hero h1{font-size:clamp(43px,5.2vw,77px);margin-bottom:24px}.detail-subtitle{font-size:18px;margin:0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:10%;align-items:start}.detail-content>h2{font-size:35px;margin-top:48px}.detail-content>p:not(.lead){color:var(--muted)}.detail-content .requirements li{font-size:17px}.pricing{background:var(--light);padding:35px;position:sticky;top:30px}.pricing .eyebrow{font-size:11px;margin-bottom:18px}.price{font:55px var(--site-font);letter-spacing:-2px;margin-bottom:25px}.price span{font-size:36px}.price-line{display:flex;justify-content:space-between;padding:13px 0;gap:15px;border-top:1px solid var(--line);font-size:14px}.price-line strong{font-weight:400;white-space:nowrap}.discounts{margin-top:30px;border-top:1px solid var(--line);padding-top:25px}.discounts h3{font-size:20px}.discount{display:grid;grid-template-columns:100px 1fr;gap:13px;margin:24px 0;font-size:14px}.discount>strong{font-weight:400;color:var(--accent);font-size:16px}.discount p{font-size:12px;color:var(--muted);margin:6px 0 0}.pricing .button{width:100%;margin-top:10px}.guide{margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0}.guide h3{font:29px var(--site-font)}.guide p:not(.eyebrow){font-size:16px;color:var(--muted)}.investments{margin-top:50px}.investments h2{font-size:35px}.investments article{padding:25px 0;border-top:1px solid var(--line)}.tag{font-size:11px;letter-spacing:1.6px;color:var(--accent)}.investments h3{margin:15px 0;font:27px var(--site-font)}.investments p{font-size:16px}.investments summary{font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.investments details p{font-size:14px;color:var(--muted);margin:15px 0 0}@media(min-width:1600px){.hero-copy{padding-top:12vh}}@media(max-width:1000px){nav{gap:20px}.nav-contact{margin-left:0}.section{padding:75px 6%}.hero-copy{padding-left:6%}.program-row{grid-template-columns:40px 1fr 1fr;gap:20px}.program-facts{padding-left:10px}.contact{gap:6%}.detail-grid{gap:5%;grid-template-columns:1.2fr 1fr}.pricing{padding:25px}.price{font-size:45px}.discount{grid-template-columns:85px 1fr}.hero{min-height:600px}}@media(max-width:720px){header{height:85px;padding:0 6%}.logo{font-size:28px}nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:22px}nav.open{display:flex}.menu-toggle{display:block;border:1px solid var(--line);padding:8px 12px;background:white;color:var(--ink);font-size:13px}.hero{height:calc(92svh - 85px);min-height:575px;max-height:760px}.hero-copy{padding-top:75px}.hero-copy h1{font-size:49px;letter-spacing:-1.8px}.hero-copy p:not(.eyebrow){font-size:16px}.hero-shade{background:linear-gradient(90deg,#061d2abb,#0b2c4140)}.hero-bottom{left:6%;right:6%;bottom:23px;gap:12px}.hero-bottom>span{font-size:9px;max-width:140px;line-height:1.6}.hero-bottom button{font-size:11px}.section{padding:60px 6%}.about,.business,.contact,.detail-grid{grid-template-columns:1fr;gap:30px}.founder{margin:25px 0}.lead{font-size:21px}.section-heading{display:block;margin-bottom:30px}.program-row{grid-template-columns:30px 1fr;padding:35px 0;gap:16px}.program-main h3{font-size:30px}.program-facts{grid-column:2;padding-left:0}.program-index{font-size:23px}.program-main>p{margin-bottom:0}.program-facts .eyebrow{margin-top:12px}.contact h2{font-size:39px}.email{font-size:22px}.contact form{margin-top:15px}footer{padding:35px 6%;flex-wrap:wrap}footer p{font-size:12px;max-width:150px}footer small{width:100%;margin-top:12px}.detail-hero{padding-top:24px}.back{margin-bottom:42px}.detail-hero h1{font-size:46px}.detail-subtitle{font-size:16px}.pricing{position:static}.price{font-size:55px}.detail-grid{padding-top:45px}.eyebrow{font-size:11px;letter-spacing:1.8px}.discount{grid-template-columns:110px 1fr}.requirements li{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied Outra Porta brand assets */
.logo{width:180px;flex-shrink:0;display:block;line-height:0;letter-spacing:normal}
.logo img{display:block;width:100%;height:auto}
footer .logo img{filter:invert(1) brightness(2);mix-blend-mode:screen}
@media(max-width:1000px){header .logo{width:155px}nav{gap:18px}}
@media(max-width:720px){header .logo{width:148px}footer .logo{width:160px}}

/* Dark stone and antique gold */
:root{color-scheme:dark;--ink:#eeeae1;--muted:#b6b4aa;--paper:#111210;--light:#191a17;--line:#37382f;--accent:#d1b375;--gold:#d1b375;--gold-dim:#9c8251}
body{background:var(--paper);color:var(--ink)}
header{background:#111210;border-bottom:1px solid #88704055}
header .logo img{filter:invert(1) brightness(2);mix-blend-mode:screen}
nav{color:#ddd8cd}.nav-contact{border-color:var(--gold-dim);color:var(--gold)}
h1,h2,h3{color:#f0ece2}h1,h2{font-weight:400}
.eyebrow{color:var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#e4c88b}
.button,.button.light{background:linear-gradient(115deg,#e0c691,#b79a61);color:#151610;border:1px solid #dcc18a;font-weight:600}
.button:hover,.button.light:hover{background:linear-gradient(115deg,#eed7a9,#cfb37d);color:#111210}
.hero{background:#151713}.hero-shade{background:linear-gradient(90deg,#0b100feb,#0c110e55 78%),linear-gradient(0deg,#111210,transparent 45%)}
.hero-copy h1{color:#faf5e9}.hero-copy p:not(.eyebrow){color:#e4e1d8}.hero-bottom{color:#d8c69f}
.hero-bottom button{border-color:#c5aa7270;background:#12150fb0;color:#eddfc2}
.hero .eyebrow{color:#e0c691}
.section-heading>p,.program-main>p,.about-copy>p:not(.lead),.business>div:nth-child(2)>p:not(.lead){color:var(--muted)}
.about,.contact,.detail-hero,.business{position:relative;isolation:isolate}
.about:before,.contact:before,.detail-hero:before,.business:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#111210 25%,#111210e8 57%,#11121045),url('/assets/gold-marble.png') center right/cover no-repeat;opacity:.8}
.business{background:#171814}.business:before{background-image:linear-gradient(90deg,#171814 25%,#171814ee 60%,#17181455),url('/assets/gold-marble.png');transform:scaleX(-1);opacity:.5}
.contact:before{background-image:linear-gradient(90deg,#11121085,#111210f5 38%,#111210 65%),url('/assets/gold-marble.png');background-position:left center;transform:scaleX(-1);opacity:.7}
.about-copy,.business>div,.contact>div,.contact form{position:relative}
.founder strong{color:#e7d4ad}.program-index{color:var(--gold)}.program-index span{color:#aaa797}
.program-row{border-color:#60533788}.program-main h3 span,.requirements li:before{color:var(--gold)}
.text-link{color:#dec38f;border-color:#9c825177}.text-link:hover{color:#f3dbaf;border-color:#f3dbaf}
.email{color:#e4cc9b;border-color:#806c435f}.languages{color:#a8a693!important}
form h3{color:#f0ece2}label{font-size:14px;color:#d5cbb8}
.name-fields{display:grid;grid-template-columns:145px 1fr;gap:24px;align-items:end}
.name-fields label{min-width:0}
input,textarea,select{color:var(--ink);border-bottom-color:#76633f;background:transparent;border-radius:0}
select{font:inherit;display:block;width:100%;padding:12px 2px;border:0;border-bottom:1px solid #76633f;min-height:51px;font-size:16px}
select option{background:#191a17;color:#eeeae1}
input::placeholder,textarea::placeholder{color:#929489;opacity:1}
input:focus,select:focus{border-bottom-color:#e0c691}
input:-webkit-autofill{-webkit-text-fill-color:#eeeae1;box-shadow:0 0 0 1000px #191a17 inset}
.form-note,.form-status{color:#b5b2a5}.form-status a{color:#dec38f}
footer{background:#0b0c0a;border-top:1px solid #76633f66}footer p,footer small{color:#aaa797}
.menu-toggle{background:#161713;color:#e4cc9b;border-color:#76633f}
.detail-hero{background:#111210;border-bottom:1px solid #60533788}.back{color:#cdb681}
.detail-subtitle{color:#c5c0b3}.pricing{background:linear-gradient(140deg,#24251f,#191a16);border:1px solid #8e754f77;box-shadow:0 22px 60px #0003}
.price{color:#e5cb96}.price-line{border-color:#454334}.discounts{border-color:#67563c}
.discount>strong{color:#ddc18a}.discount p,.small-note{color:#b5b2a5}
.guide{border-color:#65573b}.guide .eyebrow{color:var(--gold)}.investments article{border-color:#65573b}.tag{color:#dec38f}
@media(max-width:720px){nav{background:#111210;border-color:#76633f}.hero-shade{background:linear-gradient(90deg,#0b100fbb,#0c110e55),linear-gradient(0deg,#111210,transparent 55%)}.name-fields{grid-template-columns:120px 1fr;gap:16px}.about:before,.business:before,.contact:before,.detail-hero:before{opacity:.45}.program-row{border-color:#60533788}}

.founder{margin-bottom:24px}.founder-portrait{display:block;width:min(100%,300px);height:auto;border:1px solid #8e754f77}@media(max-width:720px){.founder-portrait{width:min(100%,280px);margin-bottom:12px}}

header .logo img,footer .logo img{filter:none;mix-blend-mode:normal}

.partner-discount{grid-template-columns:1fr;gap:8px}.partner-discount>strong{font-size:22px}.partner-discount>div{overflow-wrap:anywhere}

/* Bilingual navigation */
.language-switch{display:flex;align-items:center;gap:8px;margin-left:24px;flex-shrink:0;font-size:14px;white-space:nowrap;color:var(--muted)}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:30px;text-decoration:none}
.language-switch a[aria-current="page"]{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:6px}
.language-switch a:hover{color:#f3dbaf}
html[lang="en"] .detail-hero h1{font-size:clamp(38px,4.6vw,68px)}
@media(min-width:721px) and (max-width:1100px){header{padding-left:4%;padding-right:4%}header .logo{width:130px}header nav{gap:14px}header nav a{font-size:13px}.language-switch{margin-left:14px}.nav-contact{margin-left:0}}
@media(max-width:720px){.language-switch{margin-left:auto;margin-right:16px;gap:4px}header .logo{width:128px}.language-switch a{min-width:27px}html[lang="en"] .hero-copy h1{font-size:44px}html[lang="en"] .detail-hero h1{font-size:40px}html[lang="en"] .name-fields{grid-template-columns:115px 1fr}}
@media(max-width:360px){header .logo{width:104px}.language-switch{margin-right:8px}header .menu-toggle{padding:8px}}

.footer-documents{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid var(--line);padding-top:22px;margin-top:20px;font-size:13px;color:var(--muted)}.footer-documents a{display:inline-flex;align-items:baseline;gap:8px;padding:5px 0}.footer-documents a:hover{color:var(--gold)}.footer-documents span{font-size:10px;letter-spacing:.6px;white-space:nowrap;color:var(--gold)}@media(max-width:720px){.footer-documents{display:grid;grid-template-columns:1fr;gap:6px}}
footer{flex-wrap:wrap}

/* Palace-inspired typography: display serif paired with readable sans serif. */
h1,h2,h3,.program-main h3,form h3,.guide h3,.investments h3,.price,.program-index{font-family:var(--heading-font)}
h1,h2{font-weight:500;text-transform:uppercase;letter-spacing:.025em;line-height:1.12;color:var(--gold)}
.hero-copy h1{color:#e5cc99;font-size:clamp(42px,4.8vw,76px)}
h3,.program-main h3,form h3,.guide h3,.investments h3{font-weight:500;letter-spacing:.01em}
nav a{text-transform:uppercase;letter-spacing:.055em;font-size:13px}
.program-index span,.program-main h3 span{font-family:var(--site-font)}
@media(max-width:720px){.hero-copy h1{font-size:clamp(33px,8.5vw,46px);letter-spacing:.015em}.detail-hero h1,html[lang="en"] .detail-hero h1{font-size:clamp(32px,8.5vw,44px);letter-spacing:.015em}.contact h2{font-size:34px}html[lang="en"] .hero-copy h1{font-size:clamp(32px,8vw,42px)}}
