:root{
  --ink:#433422;
  --deep:#6b4e1e;
  --deep2:#8a6729;
  --sand:#f8f2e3;
  --paper:#fffaf0;
  --warm:#f0e3c4;
  --muted:#7a6a54;
  --line:#e6d9bb;
  --accent:#d6a933;
  --accent-2:#f0c44d;
  --accent-soft:#f7e3a6;
  --olive:#7f8253;
  --hero-bg:#f4e3b8;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 80px),var(--max));margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:999}
.skip-link:focus{top:12px}
.announcement{height:34px;background:#8b6525;display:flex;align-items:center;justify-content:center;color:#fff7e7;letter-spacing:.14em;font-size:10px;font-weight:700;text-transform:uppercase;gap:11px}
.announcement-pip{height:6px;width:6px;border-radius:100%;background:#f5d06c}
.site-header{position:sticky;top:0;z-index:30;background:rgba(248,242,227,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(67,52,34,.08)}
.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}
.brand-mark{height:43px;width:43px;background:linear-gradient(135deg,var(--deep),#9d7328);color:#fff;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:10px;box-shadow:0 10px 20px rgba(107,78,30,.18)}
.brand-mark:before{content:"";position:absolute;height:28px;width:28px;transform:rotate(45deg);border:1px solid rgba(255,255,255,.25)}
.brand-mark span{font:600 22px Georgia,serif;position:relative}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:27px;line-height:1;font-weight:800;letter-spacing:-.055em}
.brand-period{color:var(--accent)}
.brand-text small{font-size:9px;letter-spacing:.065em;text-transform:uppercase;color:#8b7961;margin-top:6px;font-weight:700}
.primary-nav{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:700}
.primary-nav>a:not(.nav-cta):hover,.text-link:hover{color:var(--deep2)}
.nav-cta{display:inline-flex;gap:24px;align-items:center;background:linear-gradient(135deg,#d3a12c,#b88518);color:white;padding:14px 18px;border-radius:14px;box-shadow:0 12px 24px rgba(184,133,24,.18)}
.nav-cta:hover,.btn-primary:hover{filter:brightness(.95)}
.menu-toggle{display:none}
.hero{background:linear-gradient(180deg,#f9f1dc 0%,#f5ead1 100%);overflow:hidden}
.hero-grid{min-height:675px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.hero-copy{padding:91px 48px 67px 0;display:flex;flex-direction:column;align-items:flex-start}
.eyebrow{margin:0 0 30px;color:#ab8430;letter-spacing:.15em;font-weight:800;font-size:11px;text-transform:uppercase}
.eyebrow.dark{color:#9a7c3d}
.eyebrow-line{display:inline-block;width:25px;height:1px;background:#c39f4b;vertical-align:middle;margin-right:9px}
.hero .eyebrow{color:#9d7a2d}
.hero h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.048em;line-height:1.08}
.hero h1{font-size:clamp(48px,5.2vw,80px);margin:0 0 25px}
.hero h1 em,h2 em{font-weight:400;color:#9f7620}
.underlined{text-decoration:underline;text-decoration-color:#e0bb59;text-decoration-thickness:3px;text-underline-offset:9px}
.hero-lede{font-size:16px;color:var(--muted);max-width:490px;margin:0;line-height:1.85}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.btn{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:29px;padding:15px 23px;font-size:13px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;min-height:52px;border-radius:14px}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(107,78,30,.14)}
.btn-primary{background:linear-gradient(135deg,#d8aa35,#be8c1d);color:#fff}
.text-link{font-weight:700;font-size:13px;display:inline-flex;gap:17px;align-items:center}
.hero-stats{margin-top:auto;padding-top:50px;display:flex;align-items:center;gap:21px}
.hero-stats span{display:flex;flex-direction:column;gap:0}
.hero-stats strong{font-size:21px;font-weight:700;letter-spacing:-.04em}
.hero-stats small{font-size:11px;color:#8d795e}
.hero-stats i{width:1px;height:29px;background:#ddcfb0}
.hero-visual{min-height:675px;position:relative;background:var(--hero-bg);overflow:hidden;border-left:1px solid rgba(131,108,63,.07)}
.hero-visual>img{width:100%;height:100%;object-fit:cover}
.image-label{position:absolute;left:0;bottom:48px;background:rgba(255,250,240,.95);padding:18px 28px;display:flex;align-items:center;gap:13px;box-shadow:1px 8px 30px rgba(99,75,33,.12);border-top-right-radius:16px;border-bottom-right-radius:16px}
.image-label strong,.image-label small{display:block}.image-label strong{font-size:12px}.image-label small{color:#8b765b;font-size:10px;margin-top:2px}
.label-dot{height:28px;width:28px;border:5px solid #dfbc64;border-radius:50%}
.hero-visual-index{position:absolute;right:23px;bottom:20px;font-size:10px;letter-spacing:.2em;color:#6a583e;font-weight:700}
.trust-strip{background:#f1e6c8;border-top:1px solid rgba(154,124,61,.1);border-bottom:1px solid rgba(154,124,61,.1)}
.trust-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:74px;font-size:10px;letter-spacing:.14em;font-weight:800;color:#846c45}
.section{padding:116px 0}
.approach{background:var(--paper)}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}
.section-intro h2,.section-heading h2,.faq-grid h2{font-size:clamp(39px,4.1vw,62px);margin:0 0 24px}
.section-intro>p:not(.eyebrow){color:var(--muted);max-width:440px;margin:0 0 28px}
.dark-link{color:var(--ink)}
.principle-list{border-top:1px solid var(--line)}
.principle-list article{display:grid;grid-template-columns:38px 1fr 20px;gap:17px;padding:30px 0 26px;border-bottom:1px solid var(--line)}
.step-no{font-size:11px;color:#aa9262;font-weight:800;letter-spacing:.09em;margin-top:7px}
.principle-list h3{font-size:20px;margin:0 0 7px;line-height:1.4}
.principle-list p{color:#7b6b56;font-size:14px;margin:0}
.step-arrow{color:#c79f43;font-size:21px}
.courses-section{background:#fbf5e7}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:43px}
.section-heading h2{margin-bottom:0}
.section-heading>p{color:#87745b;width:315px;margin:0 0 3px}
.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.course-card{position:relative;background:#fffdf8;padding:30px 26px 25px;min-height:445px;display:flex;flex-direction:column;border:1px solid #efe0be;transition:transform .2s,box-shadow .2s;border-radius:22px;box-shadow:0 5px 18px rgba(143,110,45,.05)}
.course-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(143,110,45,.12)}
.course-card.featured{border:1px solid #d4a53a;background:linear-gradient(180deg,#fffaf0 0%,#fff4dc 100%)}
.course-card.featured:before{content:"";position:absolute;height:4px;left:0;right:0;top:0;background:#d4a53a;border-top-left-radius:22px;border-top-right-radius:22px}
.course-top{display:flex;justify-content:space-between;gap:10px;color:#a18a66;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.course-duration{color:#7f6b50;letter-spacing:0}
.course-card h3{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.04em;margin:32px 0 10px;line-height:1.15}
.course-card>p{font-size:13px;color:#7e6b54;margin:0 0 20px;min-height:63px}
.course-card ul{list-style:none;margin:0 0 35px;padding:0;display:grid;gap:11px}
.course-card li{font-size:12px;line-height:1.55;position:relative;padding-left:18px}
.course-card li:before{content:"";position:absolute;left:0;top:8px;background:#d4ad4b;border-radius:50%;width:6px;height:6px}
.course-bottom{margin-top:auto;padding-top:20px;border-top:1px solid #f0e4c7;display:flex;justify-content:space-between;align-items:end;gap:10px}
.course-bottom span{font-size:11px;color:#958066;display:block}
.course-bottom strong{display:block;font-size:30px;letter-spacing:-.055em;font-weight:650}
.card-arrow{width:38px;height:38px;border-radius:50%;background:#f5e4b5;display:grid;place-items:center;color:#7b5a18;font-size:19px}
.card-arrow:hover{background:var(--deep);color:white}
.popular-tag{position:absolute;right:25px;top:57px;font-size:9px;letter-spacing:.045em;color:#956f17;font-weight:700}
.price-note{font-size:11px;color:#8f7c61;margin:18px 0 0}
.team-section{background:linear-gradient(135deg,#7d5b22 0%,#5e4218 100%)}
.team-grid{display:grid;grid-template-columns:1fr 1fr;min-height:605px}
.team-visual{position:relative;overflow:hidden;background:#dfc173}
.team-visual img{width:100%;height:100%;object-fit:cover}
.team-visual-caption{position:absolute;bottom:26px;left:27px;color:#6a4b12;font-size:10px;letter-spacing:.17em;font-weight:800}
.team-copy{padding:91px 0 80px 13%;color:#fff9ef;display:flex;flex-direction:column;align-items:flex-start}
.team-copy h2,.inquiry-grid h2{font-size:clamp(44px,4.2vw,63px);margin:0 0 23px}
.team-copy h2 em,.inquiry-grid h2 em{color:#f2d26d}
.team-copy>p:not(.eyebrow){color:#f5e7c5;max-width:460px;margin:0 0 29px}
.team-points{display:grid;gap:14px;margin-bottom:34px;font-size:13px}
.team-points b{color:#f5d26a;margin-right:12px}
.btn-light{background:#fff1ca;color:#6b4e1e}
.btn-light:hover{background:#fff9eb}
.faq-section{background:var(--paper)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}
.faq-grid>div>p:not(.eyebrow){color:#7f6d56;max-width:290px}
.faq-items{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:16px;font-weight:650;padding:23px 0}
summary::-webkit-details-marker{display:none}
summary span{font-weight:400;color:#d0ab4a;font-size:25px;transition:transform .2s}
details[open] summary span{transform:rotate(45deg)}
details p{color:#7b6953;font-size:14px;line-height:1.8;margin:0 0 24px;max-width:600px}
.inquiry-section{background:linear-gradient(135deg,#6f521f 0%,#825f21 100%);color:#fff;padding:104px 0 100px}
.inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%}
.inquiry-grid>div>p:not(.eyebrow){max-width:390px;color:#f2e4c4}
.inquiry-grid .inquiry-legal{font-size:11px;color:#ead8ac;margin-top:35px}
.request-form{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.request-form label{font-size:11px;font-weight:700;color:#fff3d7;letter-spacing:.025em;display:grid;gap:8px}
.request-form input,.request-form select,.request-form textarea{border:1px solid #b59454;background:#fffdf6;color:#4b3924;width:100%;border-radius:14px;padding:12px 13px;min-height:48px;outline:0;font-size:13px}
.request-form :is(input,select,textarea):focus{outline:2px solid #ffe6a4;outline-offset:2px}
.request-form textarea{resize:vertical}
.request-form .submit-btn{justify-self:start;background:linear-gradient(135deg,#f2cf6c,#dbab32);color:#5b4214;margin-top:7px}
.request-form .submit-btn:hover{background:#fff3d1}
.form-status{margin:0;color:#fff1ca;font-size:13px;min-height:1.5em}
.footer{background:#4b3614;color:#f1e4c6}
.footer-top{padding:58px 0 50px;display:flex;align-items:end;justify-content:space-between;gap:40px}
.footer-brand .brand-mark{background:linear-gradient(135deg,#8b6525,#aa7c28)}
.footer-brand .brand-text small{color:#d8c39a}
.footer-top>p{font:italic 20px Georgia,serif;color:#f0d88a;margin:0}
.footer-bottom{padding:22px 0;border-top:1px solid rgba(255,232,185,.18);display:flex;align-items:center;justify-content:space-between;color:#e6d1aa;font-size:11px}
.footer-bottom>div{display:flex;gap:27px}
.footer-bottom a:hover{color:white}
.legal-page{min-height:60vh;padding:105px 0}
.legal-page h1{font:normal 54px Georgia,serif;letter-spacing:-.04em}
.legal-page p{max-width:660px}
.placeholder-alert{padding:20px 24px;background:#fff0c7;border-left:3px solid #c9961d;color:#5b4214;border-radius:10px}
@media(max-width:1120px){.container{width:min(calc(100% - 50px),var(--max))}.primary-nav{gap:18px}.hero-copy{padding-right:30px}.hero h1{font-size:clamp(42px,5.25vw,65px)}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{min-height:400px}.course-card>p{min-height:0}.team-copy{padding-left:10%}}
@media(max-width:770px){.container{width:min(calc(100% - 34px),var(--max))}.announcement{font-size:9px;letter-spacing:.06em}.header-inner{height:72px}.brand-mark{height:38px;width:38px}.brand-text strong{font-size:24px}.brand-text small{font-size:8px}.menu-toggle{display:inline-flex;border:1px solid #e3d4b1;background:transparent;align-items:center;gap:12px;padding:9px 12px;color:var(--deep);font-size:12px;border-radius:12px}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--sand);flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 22px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(86,59,19,.08)}.primary-nav.is-open{display:flex}.primary-nav>a{padding:13px}.primary-nav .nav-cta{margin-top:8px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:67px 0 45px}.hero h1{font-size:clamp(47px,10vw,73px)}.hero-visual{min-height:0;aspect-ratio:1.15}.hero-stats{padding-top:38px}.trust-inner{flex-wrap:wrap;justify-content:center;padding:20px 0;column-gap:30px;row-gap:12px}.section{padding:77px 0}.approach-grid,.faq-grid,.inquiry-grid{grid-template-columns:1fr;gap:38px}.approach-grid{gap:45px}.section-heading{display:block}.section-heading>p{margin-top:22px;width:auto;max-width:400px}.team-grid{grid-template-columns:1fr}.team-visual{aspect-ratio:1.2}.team-copy{padding:70px 0 75px}.inquiry-section{padding:77px 0}.footer-top{align-items:flex-start;flex-direction:column;gap:30px}.footer-bottom{gap:15px;align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.hero h1{font-size:47px}.hero-copy{padding-top:50px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-stats{gap:13px}.hero-stats strong{font-size:18px}.hero-stats small{font-size:9px}.hero-visual{aspect-ratio:.98}.course-grid{grid-template-columns:1fr}.course-card{min-height:365px}.form-row{grid-template-columns:1fr}.team-copy h2,.inquiry-grid h2{font-size:44px}.footer-top>p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
