:root{
  --bg:#f6f1ea; --bg2:#efe7dc; --ink:#3c3530; --muted:#7a6f64;
  --accent:#b08968; --accent-dk:#8c6a4f; --line:#e3d8c9; --white:#fffdfa;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-weight:300}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.12;letter-spacing:.3px}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.serif{font-family:'Cormorant Garamond',serif}
a{color:inherit;text-decoration:none}

/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(246,241,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:18px}
.brand{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;letter-spacing:1px;white-space:nowrap}
.menu{display:flex;gap:26px;margin-left:auto}
.menu a{font-size:14px;letter-spacing:.4px;color:var(--ink);position:relative;padding:4px 0;transition:.2s}
.menu a:hover{color:var(--accent-dk)}
.menu a.active{color:var(--accent-dk)}
.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}
.nav-right{display:flex;align-items:center;gap:14px}
.langs{display:flex;border:1px solid var(--line);border-radius:30px;overflow:hidden}
.langs button{background:none;border:none;font-family:inherit;font-size:13px;padding:6px 12px;cursor:pointer;color:var(--muted);transition:.2s}
.langs button.active{background:var(--accent);color:#fff}
.nav-cta{font-size:13px;letter-spacing:.5px;border:1px solid var(--accent);color:var(--accent-dk);padding:8px 18px;border-radius:30px;transition:.25s;white-space:nowrap}
.nav-cta:hover{background:var(--accent);color:#fff}
.burger{display:none;background:none;border:none;font-size:22px;color:var(--ink);cursor:pointer;line-height:1}
@media(max-width:860px){
  .menu{position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 0;transform:translateY(-120%);transition:.3s;margin-left:0}
  .menu.open{transform:translateY(0)}
  .menu a{padding:14px 24px;border-bottom:1px solid var(--line);font-size:16px}
  .menu a.active::after{display:none}
  .burger{display:block}
  .nav-cta{display:none}
}

/* buttons */
.btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;font-size:14px;letter-spacing:.5px;padding:15px 28px;border-radius:34px;cursor:pointer;transition:.25s;border:1px solid transparent}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dk)}
.btn-ghost{border-color:var(--accent);color:var(--accent-dk)}
.btn-ghost:hover{background:var(--accent);color:#fff}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:70px 0 90px}
.hero-text .eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--accent-dk);margin-bottom:18px}
.hero-text h1{font-size:64px;margin-bottom:10px}
.hero-text .role{font-size:27px;color:var(--muted);font-family:'Cormorant Garamond',serif;font-style:italic;margin-bottom:24px}
.hero-text p.lead{font-size:17px;color:var(--ink);max-width:480px;margin-bottom:34px}
.hero-img{position:relative;max-width:410px;width:100%;margin-left:auto}
.hero-img img{border-radius:200px 200px 18px 18px;box-shadow:0 30px 60px -30px rgba(60,53,48,.4);width:100%;height:auto;display:block}
@media(max-width:860px){.hero{grid-template-columns:1fr;text-align:center;padding:48px 0 60px}.hero-text h1{font-size:48px}.btns{justify-content:center}.hero-img{max-width:380px;margin:0 auto;order:-1}.hero-text .lead{margin-left:auto;margin-right:auto}}

/* page header (subpages) */
.page-hero{text-align:center;padding:64px 0 10px}
.page-hero .eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--accent-dk);margin-bottom:14px}
.page-hero h1{font-size:54px;margin-bottom:14px}
.page-hero p{color:var(--muted);font-size:17px;max-width:640px;margin:0 auto}
@media(max-width:640px){.page-hero h1{font-size:40px}}

/* stats */
.stats{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats .wrap{display:flex;justify-content:space-around;gap:20px;padding:40px 24px;flex-wrap:wrap;text-align:center}
.stat .num{font-family:'Cormorant Garamond',serif;font-size:46px;color:var(--accent-dk);line-height:1}
.stat .cap{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:6px}

/* sections */
section.block{padding:90px 0}
.sec-head{text-align:center;max-width:680px;margin:0 auto 56px}
.sec-head .eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--accent-dk);margin-bottom:14px}
.sec-head h2{font-size:42px;margin-bottom:14px}
.sec-head p{color:var(--muted);font-size:16px}
.center-btn{text-align:center;margin-top:46px}

/* topics */
.topics{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.topics.cols3{grid-template-columns:repeat(3,1fr)}
.topic{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:34px 26px;transition:.3s}
.topic:hover{transform:translateY(-6px);box-shadow:0 24px 40px -26px rgba(60,53,48,.45)}
.topic .ic{font-size:30px;margin-bottom:16px}
.topic h3{font-size:25px;margin-bottom:10px}
.topic p{font-size:14.5px;color:var(--muted)}
@media(max-width:860px){.topics,.topics.cols3{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.topics,.topics.cols3{grid-template-columns:1fr}}

/* about / split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split.rev .split-img{order:2}
.split-img img{border-radius:18px;object-fit:cover;aspect-ratio:4/5;box-shadow:0 26px 50px -28px rgba(60,53,48,.45)}
.split-img.full img{aspect-ratio:auto;height:auto;object-fit:contain}
.split-text .eyebrow{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--accent-dk);margin-bottom:14px}
.split-text h2{font-size:40px;margin-bottom:20px}
.split-text p{color:var(--muted);margin-bottom:16px;font-size:16px}
.split-text .sig{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--accent-dk);margin-top:10px}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:34px}.split.rev .split-img{order:0}}

/* checklist / tinted band */
.when{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.checklist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;max-width:820px;margin:0 auto}
.checklist li{display:flex;gap:13px;align-items:flex-start;font-size:16px}
.checklist li::before{content:"✦";color:var(--accent);font-size:14px;margin-top:5px}
@media(max-width:640px){.checklist{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:s}
.step{text-align:center;padding:14px}
.step .n{counter-increment:s;width:58px;height:58px;border:1px solid var(--accent);color:var(--accent-dk);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:26px;margin:0 auto 18px}
.step .n::before{content:counter(s)}
.step h3{font-size:23px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--muted)}
@media(max-width:640px){.steps{grid-template-columns:1fr;gap:14px}}

/* callout */
.callout{max-width:760px;margin:40px auto 0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:30px 34px;text-align:center}
.callout h3{font-size:26px;margin-bottom:10px}
.callout p{color:var(--muted);font-size:16px}

/* education */
.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start;max-width:1080px;margin:0 auto}
.edu-list{list-style:none}
.edu-list li{padding:14px 0 14px 28px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px}
.edu-list li:last-child{border-bottom:none}
.edu-list li::before{content:"✦";color:var(--accent);position:absolute;left:0;top:15px;font-size:13px}
.edu-list .yr{color:var(--accent-dk);font-size:13px;margin-left:6px}
.certs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.certs a{display:block;border-radius:10px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/4;background:var(--bg2);transition:.25s}
.certs a:hover{transform:translateY(-4px);box-shadow:0 16px 30px -22px rgba(60,53,48,.6)}
.certs img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.certs-note{text-align:center;color:var(--muted);font-size:12.5px;margin-top:12px}
@media(max-width:860px){.edu-grid{grid-template-columns:1fr;gap:30px}}

/* reviews */
.reviews{column-count:3;column-gap:22px;max-width:1080px;margin:0 auto}
@media(max-width:860px){.reviews{column-count:2}}
@media(max-width:560px){.reviews{column-count:1}}
.review{break-inside:avoid;-webkit-column-break-inside:avoid;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px;margin-bottom:22px;box-shadow:0 16px 34px -30px rgba(60,53,48,.5)}
.review .stars{color:#e0a83d;font-size:15px;letter-spacing:2px;margin-bottom:12px}
.review p{font-size:15px;color:var(--ink);line-height:1.62;margin:0 0 14px}
.review .who{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--accent-dk)}

/* faq */
.faq{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:0 24px;transition:.25s}
.faq details[open]{box-shadow:0 18px 36px -28px rgba(60,53,48,.5)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;color:var(--accent);transition:.25s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);font-size:15.5px;padding:0 0 22px;margin:0}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1080px;margin:0 auto}
@media(max-width:860px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr}}
.blog-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.3s}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -26px rgba(60,53,48,.45)}
.blog-card .thumb{aspect-ratio:1/1;overflow:hidden;background:var(--bg2)}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.blog-card .bcbody{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.blog-card h3{font-size:23px;margin-bottom:10px;line-height:1.18}
.blog-card p{font-size:14px;color:var(--muted);flex:1}
.blog-card .more{margin-top:16px;color:var(--accent-dk);font-size:14px}

/* article */
.article{max-width:720px;margin:0 auto}
.article .back{display:inline-block;margin-bottom:20px;color:var(--accent-dk);font-size:14px}
.article .abody p{font-size:17px;color:var(--ink);line-height:1.78;margin-bottom:18px}
.article .abody ul{margin:0 0 18px;padding:0;list-style:none}
.article .abody li{position:relative;padding-left:26px;margin-bottom:12px;font-size:17px;line-height:1.72}
.article .abody li::before{content:"✦";color:var(--accent);position:absolute;left:0;top:3px;font-size:13px}
.article .tags{margin:26px 0 6px;display:flex;gap:10px;flex-wrap:wrap}
.article .tags span{font-size:12.5px;color:var(--accent-dk);background:var(--bg2);border:1px solid var(--line);padding:5px 12px;border-radius:20px}
.tiktok-wrap{margin:34px 0;display:flex;justify-content:center}

/* form */
.cta-form{background:linear-gradient(160deg,#efe3d4,#e6d6c2)}
.form-box{max-width:560px;margin:0 auto;text-align:center}
.form-box h2{font-size:42px;margin-bottom:12px}
.form-box p.sub{color:var(--muted);margin-bottom:32px}
form{display:grid;gap:14px}
form input{font-family:inherit;font-size:15px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink)}
form input:focus{outline:none;border-color:var(--accent)}
form button{font-family:inherit}
.form-note{font-size:12.5px;color:var(--muted);margin-top:6px}
.form-msg{font-size:15px;margin-top:14px;min-height:22px}
.or{margin:26px 0 8px;color:var(--muted);font-size:13px;letter-spacing:1px;text-transform:uppercase}

/* footer */
footer{background:#332d28;color:#d8cdbf;padding:50px 0 36px;text-align:center}
footer .brand{color:#fff;font-size:26px;margin-bottom:10px}
footer p{font-size:14px;opacity:.8;margin-bottom:6px}
footer .fmenu{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:18px 0 4px}
footer .fmenu a{font-size:13px;opacity:.85}
footer .fmenu a:hover{opacity:1;color:#fff}
footer .ig{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:#fff;border:1px solid #5b5147;padding:10px 22px;border-radius:30px;transition:.25s}
footer .ig:hover{background:var(--accent);border-color:var(--accent)}
footer .ig + .ig{margin-left:10px}
footer .copy{margin-top:24px;font-size:12px;opacity:.55}
.ig-ic{width:18px;height:18px;fill:currentColor}
