:root{
--bg:#fffaf3;
--surface:#ffffff;
--ink:#1f1a24;
--muted:#6b6472;
--coral:#f4655c;
--amber:#f9a826;
--teal:#0e8b7e;
--plum:#3c2b4d;
--line:#efe3d6;
--grad:linear-gradient(120deg,#f4655c 0%,#f9a826 100%);
--radius:20px;
--shadow:0 18px 45px rgba(60,43,77,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Fraunces","DM Sans",serif;line-height:1.15;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
a{color:var(--coral);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(1180px,92%);margin:0 auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.topbar{position:sticky;top:0;z-index:60;background:rgba(255,250,243,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:22px;min-height:76px}
.brand img{max-height:40px;width:auto}
.brand{font-family:"Fraunces",serif;font-size:1.35rem;font-weight:700;color:var(--ink)}
.brand:hover{text-decoration:none}
.nav{margin-left:auto}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav a{color:var(--ink);font-size:.95rem;font-weight:500}
.nav a:hover{color:var(--coral);text-decoration:none}
.nav .current-menu-item>a{color:var(--coral)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-size:1.1rem;color:var(--ink);cursor:pointer}

.btn{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:inherit;font-weight:600;padding:14px 26px;border-radius:999px;background:var(--grad);color:#fff;box-shadow:0 12px 26px rgba(244,101,92,.28);transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-2px);text-decoration:none;color:#fff;box-shadow:0 16px 34px rgba(244,101,92,.34)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn-ghost:hover{color:var(--ink);border-color:var(--coral)}
.btn-sm{padding:10px 18px;font-size:.9rem}

.hero{padding:70px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);color:var(--teal);border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:33em}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.hero-stats{display:flex;gap:34px;margin-top:38px;flex-wrap:wrap}
.hero-stats b{display:block;font-family:"Fraunces",serif;font-size:1.7rem}
.hero-stats span{color:var(--muted);font-size:.9rem}

.slider{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:var(--surface)}
.slide{display:none;position:relative}
.slide.is-active{display:block;animation:fade .5s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.slide img{width:100%;aspect-ratio:4/5;object-fit:cover}
.slide-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 26px;background:linear-gradient(180deg,rgba(31,26,36,0) 0%,rgba(31,26,36,.82) 70%);color:#fff}
.slide-caption h3{margin:0 0 4px;color:#fff;font-size:1.4rem}
.slide-caption p{margin:0;font-size:.94rem;opacity:.88}
.slider-nav{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;padding:0 14px;top:50%;transform:translateY(-50%)}
.slider-nav button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);font-size:1rem;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.slider-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:3}
.slider-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.slider-dots span.is-active{background:#fff;width:22px;border-radius:99px}

.section{padding:66px 0}
.section-alt{background:#fff6ec}
.section-head{max-width:44em;margin-bottom:38px}
.section-head p{color:var(--muted)}

.grid{display:grid;gap:24px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card i{font-size:1.4rem;color:var(--coral);background:#fff1ea;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:16px}
.card h3{margin-bottom:.35em}
.card p{color:var(--muted);margin:0;font-size:.97rem}

.model-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.model-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.model-card img{aspect-ratio:4/5;object-fit:cover;width:100%}
.model-card .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.model-card h3{margin:0;font-size:1.2rem}
.model-card a.name{color:var(--ink)}
.model-card p{color:var(--muted);font-size:.93rem;margin:0;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--teal);background:#e7f5f2;border-radius:999px;padding:5px 11px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.split img{border-radius:24px;box-shadow:var(--shadow)}
.split ul{list-style:none;padding:0;margin:18px 0 0}
.split ul li{display:flex;gap:12px;margin-bottom:12px;color:var(--muted)}
.split ul li i{color:var(--teal);margin-top:5px}

.steps{counter-reset:step}
.step{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.step-num{flex:none;width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:700}

.faq{max-width:900px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 54px 20px 22px;font:inherit;font-weight:600;cursor:pointer;position:relative;color:var(--ink)}
.faq-q:after{content:"\f067";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--coral);font-size:.85rem}
.faq-item.is-open .faq-q:after{content:"\f068"}
.faq-a{display:none;padding:0 22px 20px;color:var(--muted)}
.faq-item.is-open .faq-a{display:block}

.crumbs{padding:18px 0;font-size:.87rem;color:var(--muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.crumbs li:not(:last-child):after{content:"/";margin-left:8px;color:var(--line)}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--coral)}

.page-hero{padding:34px 0 10px}
.entry{max-width:820px}
.entry h2{margin-top:1.6em}
.entry ol{padding-left:20px}
.entry ol li{margin-bottom:12px}
.entry ul{padding-left:20px;color:var(--muted)}

.chatbox{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.chatbox h3{margin-bottom:6px}
.chatbox .hint{color:var(--muted);font-size:.92rem}
.field{display:block;margin-bottom:14px}
.field span{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:14px;background:#fffdfa;font:inherit;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--amber)}
.chat-strip{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.chat-strip button{border:1px solid var(--line);background:#fffdfa;border-radius:999px;padding:8px 14px;font:inherit;font-size:.86rem;cursor:pointer;color:var(--muted)}
.chat-strip button:hover{border-color:var(--coral);color:var(--coral)}

.profile{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.profile-media img{border-radius:24px;box-shadow:var(--shadow)}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.fact b{display:block;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.fact span{font-weight:600}

.cta-band{background:var(--grad);color:#fff;border-radius:28px;padding:52px 44px;text-align:center;margin:60px 0}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.9);max-width:44em;margin:0 auto 22px}
.cta-band .btn{background:#fff;color:var(--coral);box-shadow:none}
.cta-band .btn:hover{color:var(--coral)}

.site-footer{background:var(--plum);color:#e8e0f0;margin-top:70px;padding:56px 0 26px}
.site-footer a{color:#e8e0f0}
.site-footer h4{color:#fff;font-size:1rem;margin-bottom:14px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:9px;font-size:.93rem}
.foot-note{border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:20px;font-size:.85rem;color:#bdb0cd;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.notice{background:#e7f5f2;border:1px solid #bfe3dc;color:#0b5f56;border-radius:14px;padding:14px 18px;font-size:.93rem;margin-bottom:18px}

@media(max-width:980px){
.hero-grid,.split,.profile{grid-template-columns:1fr}
.g4{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(2,1fr)}
.foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
.burger{display:block;margin-left:auto}
.nav{display:none;order:3;width:100%;margin:0 0 14px}
.nav.is-open{display:block}
.nav ul{flex-direction:column;gap:12px}
.topbar .wrap{flex-wrap:wrap}
.g3,.g4,.g2,.facts{grid-template-columns:1fr}
.cta-band{padding:38px 22px}
.section{padding:46px 0}
}
