:root { --cream:#f8f4ec; --paper:#fffdfa; --sand:#c6a66e; --sand-light:#dfccaa; --olive:#48553f; --olive-deep:#34402f; --ink:#263126; --muted:#667061; --line:#ded5c5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans", sans-serif; line-height:1.5; }
.container { width:min(1120px, calc(100% - 48px)); margin-inline:auto; }
.site-header { height:118px; display:flex; align-items:center; gap:28px; position:relative; z-index:2; }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; min-width:250px; }
.brand strong { display:block; font:700 25px/1 "Playfair Display", serif; letter-spacing:-.5px; }.brand small { display:block; color:var(--sand); font-size:9px; letter-spacing:2px; font-weight:700; }
.brand-mark { align-items:center; background:var(--sand); border-radius:50%; color:var(--paper); display:inline-flex; font:700 16px/1 "Playfair Display",serif; height:46px; justify-content:center; width:46px; }
nav { display:flex; justify-content:center; gap:28px; flex:1; } nav a,.site-footer a { color:var(--olive); font-size:13px; font-weight:600; text-decoration:none; } nav a:hover,.site-footer a:hover { color:var(--sand); }
.button { align-items:center; border:0; border-radius:999px; cursor:pointer; display:inline-flex; font:700 13px/1 "DM Sans",sans-serif; gap:16px; justify-content:center; padding:15px 23px; text-decoration:none; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-dark { background:var(--olive); color:#fff; }.button-sand { background:var(--sand); color:#fff; }.header-cta { white-space:nowrap; }
.hero { background:linear-gradient(115deg, #ece4d7 0%, var(--cream) 57%, #e1d1b8 100%); min-height:635px; padding:78px 0 0; position:relative; }.hero-grid { align-items:center; display:grid; grid-template-columns:.95fr 1.05fr; gap:60px; min-height:440px; }.eyebrow { color:var(--sand); font-size:11px; font-weight:700; letter-spacing:1.8px; margin:0 0 13px; }.hero h1,.split-section h2,.centered-heading h2,.contact-card h2 { font:700 clamp(36px,4.4vw,60px)/1.04 "Playfair Display",serif; letter-spacing:-1.8px; margin:0; }.hero h1 { max-width:600px; }.intro { color:#4c5448; font-size:17px; margin:24px 0 28px; max-width:470px; }
.image-slot { align-items:center; background-color:rgba(255,253,250,.42); background-image:linear-gradient(45deg, transparent 49%, rgba(72,85,63,.16) 50%, transparent 51%),linear-gradient(-45deg, transparent 49%, rgba(72,85,63,.16) 50%, transparent 51%); background-size:22px 22px; border:1.5px dashed rgba(72,85,63,.45); color:var(--olive); display:flex; font-size:12px; font-weight:700; justify-content:center; letter-spacing:1.5px; line-height:1.55; text-align:center; }.image-slot small { font-size:9px; font-weight:500; letter-spacing:.8px; }.hero-image { height:442px; border-radius:115px 10px 10px 10px; box-shadow:18px 18px 0 rgba(198,166,110,.32); }.benefits { display:grid; gap:15px; grid-template-columns:repeat(4,1fr); position:relative; top:50px; }.benefits article { background:var(--olive); border-radius:10px; color:#fff; min-height:178px; padding:24px; box-shadow:0 8px 16px rgba(33,42,31,.16); }.benefits .sand-card { background:var(--sand); }.card-number { color:var(--sand-light); font:700 22px/1 "Playfair Display",serif; }.sand-card .card-number { color:var(--olive-deep); }.benefits h2 { font-size:15px; margin:16px 0 8px; }.benefits p { color:#e9ece4; font-size:12px; line-height:1.45; margin:0; }.sand-card p { color:#fffdf8; }
.split-section { align-items:center; display:grid; gap:90px; grid-template-columns:1fr .8fr; padding:155px 8% 100px; }.split-section h2 { font-size:clamp(33px,3.5vw,47px); }.section-copy>p:not(.eyebrow) { color:var(--muted); font-size:15px; max-width:500px; }.text-link { color:var(--olive); display:inline-block; font-size:14px; font-weight:700; margin-top:10px; text-decoration:none; }.portrait-slot { border-radius:200px 200px 0 0; height:440px; }
.course-section { background:var(--sand); padding:83px 0; }.centered-heading { text-align:center; }.centered-heading h2 { font-size:clamp(34px,3.7vw,48px); }.centered-heading>p:last-child { color:#45503f; font-size:14px; margin:12px auto 0; max-width:600px; }.course-panel { display:grid; grid-template-columns:1fr 1fr; margin-top:45px; max-width:850px; overflow:hidden; border-radius:12px; }.course-image { background-color:#ede8dc; min-height:335px; }.course-copy { background:var(--olive); color:#fff; padding:48px; }.course-copy .eyebrow { color:var(--sand-light); }.course-copy h3 { font:700 32px/1.15 "Playfair Display",serif; margin:0 0 20px; }.course-copy p,.course-copy li { color:#edf0e9; font-size:14px; }.course-copy ul { margin:22px 0 0; padding-left:18px; }.course-copy li+li { margin-top:7px; }.centered-button { display:flex; margin:32px auto 0; width:max-content; }
.testimonials { padding:96px 0; }.quote-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); margin-top:43px; }.quote-grid figure { background:var(--olive); border-radius:10px; color:#fff; margin:0; min-height:215px; padding:28px; }.quote-grid blockquote { font:500 15px/1.55 "DM Sans",sans-serif; margin:0; }.quote-grid figcaption { align-items:center; color:var(--sand-light); display:flex; font-size:12px; font-weight:700; gap:10px; margin-top:26px; }.avatar { align-items:center; background:var(--sand); border-radius:50%; color:#fff; display:inline-flex; height:27px; justify-content:center; width:27px; }
.contact-section { background:var(--sand); padding:80px 0; }.contact-grid { align-items:center; display:grid; gap:50px; grid-template-columns:.9fr 1.1fr; max-width:900px; }.map-slot { height:360px; }.contact-card { background:var(--olive); border-radius:11px; color:#fff; padding:43px; }.contact-card .eyebrow { color:var(--sand-light); }.contact-card h2 { font-size:44px; }.contact-card>p:not(.eyebrow) { color:#e7ebe1; font-size:14px; margin:12px 0 20px; } form { display:grid; gap:11px; } label { color:#f2f3ee; font-size:11px; font-weight:700; } input { border:0; border-radius:999px; display:block; font:14px "DM Sans",sans-serif; margin-top:5px; padding:12px 15px; width:100%; } form .button { justify-self:start; margin-top:7px; }
.site-footer { align-items:center; display:flex; gap:14px; min-height:100px; }.site-footer p { color:var(--muted); flex:1; font-size:12px; margin:0; }.site-footer p span { color:var(--sand); margin:0 5px; }
@media (max-width:760px) { .container { width:min(100% - 32px, 560px); }.site-header { height:84px; }.brand { min-width:0; }.brand strong { font-size:19px; } nav { display:none; }.header-cta { font-size:11px; margin-left:auto; padding:12px 16px; }.hero { min-height:0; padding:46px 0 0; }.hero-grid,.split-section,.contact-grid { grid-template-columns:1fr; gap:35px; }.hero h1 { font-size:42px; }.hero-image { height:310px; }.benefits { grid-template-columns:1fr 1fr; top:25px; }.benefits article { min-height:145px; padding:18px; }.split-section { gap:45px; padding:105px 0 70px; }.portrait-slot { height:350px; }.course-section,.testimonials,.contact-section { padding:65px 0; }.course-panel { grid-template-columns:1fr; }.course-image { min-height:260px; }.course-copy { padding:32px 28px; }.quote-grid { grid-template-columns:1fr; margin-top:30px; }.quote-grid figure { min-height:0; }.map-slot { height:250px; }.contact-card { padding:30px 24px; }.site-footer { flex-wrap:wrap; padding:24px 0; }.site-footer p { flex-basis:70%; }.site-footer a { margin-left:auto; } }
@media (max-width:400px) { .header-cta { display:none; }.benefits { grid-template-columns:1fr; }.hero h1 { font-size:37px; } }
