:root { --navy:#182241; --deep:#213c4e; --slate:#536c7c; --mist:#7b949c; --cream:#fff5d9; --coral:#ff3439; }
.intro-grid .credentials { margin-top:1.4rem; padding:.95rem 1rem; border-left:3px solid var(--coral); background:rgba(123,148,156,.12); font-size:.92rem; line-height:1.6; }
.personal-card { color:var(--navy); background:var(--slate); }
.links { background:var(--cream); }
.links-intro { max-width:35rem; margin:1.2rem 0 2.4rem; line-height:1.65; color:var(--deep); }
.link-list { max-width:50rem; border-top:1px solid rgba(33,60,78,.25); }
.channel-link { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.05rem 0; border-bottom:1px solid rgba(33,60,78,.25); font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.35rem,4vw,2rem); transition:color .2s ease,padding .2s ease; }
.channel-link:hover { color:var(--coral); padding-left:.45rem; }
.channel-link span:last-child { font-family:"DM Sans",sans-serif; color:var(--coral); font-size:1.3rem; }
.contact-intro { max-width:30rem; margin:0 auto 1.3rem; line-height:1.65; color:var(--deep); }
.contact-details { display:flex; flex-direction:column; align-items:center; gap:.45rem; }
.contact-details a { color:var(--navy); font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.3rem,5vw,2rem); border-bottom:2px solid var(--coral); }
@media (min-width:700px) { .program-grid { grid-template-columns:repeat(3,1fr); } }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--navy); background:var(--cream); font-family:"DM Sans",sans-serif; } a { color:inherit; text-decoration:none; } .hero { min-height:100svh; position:relative; padding:1.35rem 1.2rem 2rem; color:var(--cream); background:var(--navy); overflow:hidden; } .hero::after { content:""; position:absolute; width:25rem; height:25rem; right:-15rem; bottom:-10rem; border:1px solid rgba(255,245,217,.16); border-radius:50%; box-shadow:0 0 0 3.5rem rgba(255,245,217,.025),0 0 0 7rem rgba(255,245,217,.025); } .nav { display:flex; justify-content:space-between; align-items:center; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; position:relative; z-index:1; } .brand { font-weight:700; } .nav-link { border-bottom:1px solid var(--coral); padding-bottom:.25rem; } .hero-content { max-width:43rem; padding-top:clamp(4rem,12vh,8rem); position:relative; z-index:1; } .logo { width:92px; height:92px; border-radius:50%; object-fit:cover; object-position:center; margin-bottom:2.6rem; mix-blend-mode:screen; } .eyebrow,.section-label,.card-tag { color:var(--coral); font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; } h1,h2,h3 { font-family:"Playfair Display",Georgia,serif; font-weight:600; line-height:.98; letter-spacing:-.045em; margin:0; } h1 { font-size:clamp(3rem,12vw,6.8rem); } h1 em,h2 em { font-weight:600; } .hero-copy { max-width:29rem; margin:1.5rem 0 2rem; font-size:1.02rem; line-height:1.65; color:rgba(255,245,217,.82); } .button { display:inline-flex; align-items:center; justify-content:center; gap:.75rem; min-height:3.25rem; padding:.7rem 1.25rem; border-radius:999px; font-weight:700; font-size:.88rem; transition:transform .2s ease,background .2s ease; } .button:hover { transform:translateY(-2px); } .button-coral { color:white; background:var(--coral); } .button-dark { color:var(--cream); background:var(--navy); } .button-light { color:var(--navy); background:var(--cream); } .scroll-note { position:absolute; bottom:1.8rem; left:1.2rem; z-index:1; color:rgba(255,245,217,.62); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; } .scroll-note span { color:var(--coral); padding-left:.4rem; } .section { padding:4.8rem 1.2rem; } .section-label { margin-bottom:1.5rem; } h2 { font-size:clamp(2.45rem,9vw,5.2rem); } .intro { background:var(--cream); } .intro-grid { display:grid; gap:2.1rem; max-width:67rem; } .intro-grid p { line-height:1.75; color:var(--deep); margin:.2rem 0 1rem; } .text-link { display:inline-block; margin-top:.75rem; color:var(--navy); font-weight:700; border-bottom:2px solid var(--coral); padding-bottom:.35rem; } .programs { background:var(--mist); } .programs .section-label { color:var(--navy); } .program-grid { display:grid; gap:1rem; margin-top:2.4rem; max-width:70rem; } .program-card { min-height:29rem; padding:1.5rem; display:flex; flex-direction:column; border-radius:2px; } .reset-card { color:var(--navy); background:var(--cream); } .premium-card { color:var(--cream); background:var(--deep); } .program-number { margin:0 0:auto; font-family:"Playfair Display",serif; font-size:1.5rem; opacity:.65; } .card-tag { margin:1.8rem 0 .7rem; } .premium-card .card-tag { color:var(--coral); } h3 { font-size:clamp(2.7rem,9vw,4.7rem); } .program-card > p:not(.program-number):not(.card-tag) { max-width:24rem; line-height:1.65; margin:1rem 0 1.7rem; } .program-card .button { align-self:flex-start; margin-top:auto; } .proof { color:var(--cream); background:var(--navy); } .proof .section-label { color:var(--mist); } .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin:2.8rem 0; max-width:65rem; } .stat { border-top:1px solid rgba(255,245,217,.4); padding-top:.8rem; } .stat strong { display:block; color:var(--coral); font-family:"Playfair Display",serif; font-size:clamp(1.8rem,7vw,3.6rem); } .stat span { display:block; font-size:.7rem; line-height:1.3; text-transform:uppercase; letter-spacing:.08em; color:rgba(255,245,217,.75); } blockquote { border-left:3px solid var(--coral); max-width:42rem; margin:0; padding-left:1.15rem; font-family:"Playfair Display",serif; font-size:clamp(1.35rem,5vw,2.1rem); font-style:italic; line-height:1.35; } .closing { padding:5.5rem 1.2rem; text-align:center; background:var(--cream); } .closing h2 { margin:.6rem 0 2rem; } footer { display:flex; justify-content:space-between; gap:1rem; padding:1.3rem 1.2rem; color:var(--cream); background:var(--deep); font-size:.72rem; letter-spacing:.04em; } footer div { display:flex; gap:.8rem; } footer a { border-bottom:1px solid var(--mist); } @media (min-width:700px) { .hero,.section,.closing { padding-left:max(6vw,2rem); padding-right:max(6vw,2rem); } .hero { padding-top:2rem; } .nav { max-width:76rem; margin:auto; } .hero-content { margin-left:10vw; } .scroll-note { left:max(6vw,2rem); } .section { padding-top:7rem; padding-bottom:7rem; } .intro-grid { grid-template-columns:1.15fr .85fr; align-items:start; gap:7rem; margin:auto; } .programs > * { max-width:70rem; margin-left:auto; margin-right:auto; } .program-grid { grid-template-columns:1fr 1fr; } .program-card { min-height:33rem; padding:2.2rem; } .proof > * { max-width:70rem; margin-left:auto; margin-right:auto; } .closing { padding-top:8rem; padding-bottom:8rem; } footer { padding-left:max(6vw,2rem); padding-right:max(6vw,2rem); } }
