:root{
    --green:#12372d;
    --green2:#1d4b3d;
    --olive:#6f7450;
    --cream:#fbf5ea;
    --cream2:#f2e8d8;
    --gold:#c88a45;
    --ink:#102e26;
    --muted:#53645b;
    --line:#decfba;
    --soft:#fffaf0;
    --shadow:0 18px 55px rgba(31,45,35,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    color:var(--ink);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    line-height:1.65;
    background:
        radial-gradient(circle at 50% 0,#fffaf0 0,#fbf5ea 42%,#efe4d1 100%);
}
body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(18,55,45,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(18,55,45,.035) 1px,transparent 1px);
    background-size:34px 34px;
    opacity:.75;
}
a{color:inherit}
.topbar{
    position:fixed;
    top:22px;
    left:0;
    right:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 34px;
    pointer-events:none;
}
.menu-button,
.lang-switcher{pointer-events:auto}
.menu-button{
    width:42px;
    height:42px;
    border:0;
    background:transparent;
    display:grid;
    place-content:center;
    gap:5px;
    cursor:pointer;
}
.menu-button span{
    width:24px;
    height:2px;
    background:var(--green);
    display:block;
    border-radius:999px;
}
.lang-switcher{display:flex;gap:10px;align-items:center}
.lang{
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(18,55,45,.18);
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:var(--ink);
    background:rgba(255,250,240,.76);
    backdrop-filter:blur(10px);
    box-shadow:0 8px 24px rgba(0,0,0,.05);
    font-size:0;
    transition:.2s ease;
}
.lang span{font-size:18px;line-height:1}
.lang b{display:none}
.lang:hover{transform:translateY(-1px)}
.lang.active{background:var(--green);color:#fff;border-color:var(--green)}
.hero{
    max-width:1040px;
    margin:0 auto;
    padding:34px 22px 38px;
    text-align:center;
}
.logo{
    display:block;
    width:min(576px,90vw);
    height:auto;
    margin:0 auto 10px;
    filter:drop-shadow(0 22px 36px rgba(45,38,25,.10));
}
.hero-copy{max-width:760px;margin:0 auto}
.eyebrow{
    margin:0 0 6px;
    color:#94622d;
    text-transform:uppercase;
    letter-spacing:.24em;
    font-size:12px;
    font-weight:850;
}
.opening{
    margin:0;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:14px;
    font-weight:900;
}
.hero h1{
    margin:2px 0 14px;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:500;
    font-size:clamp(38px,5vw,62px);
    line-height:1.03;
    letter-spacing:-.035em;
    color:var(--green);
}
.lead{
    max-width:720px;
    margin:0 auto 22px;
    color:#244338;
    font-size:16px;
}
.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.actions a,.center-btn,.newsletter-form button{
    border:0;
    border-radius:999px;
    background:var(--green);
    color:#fff;
    text-decoration:none;
    padding:12px 26px;
    font-weight:850;
    font-size:14px;
    box-shadow:0 12px 25px rgba(18,55,45,.16);
}
.actions .ghost{
    background:transparent;
    color:var(--green);
    border:1px solid rgba(18,55,45,.24);
    box-shadow:none;
}
.section,.newsletter-section{
    max-width:1120px;
    margin:0 auto;
    padding:48px 24px;
    text-align:center;
    position:relative;
}
.section.compact{padding-top:54px;padding-bottom:56px}
.section h2,.newsletter-section h2{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(30px,3.4vw,42px);
    font-weight:500;
    line-height:1.12;
    letter-spacing:-.025em;
    color:var(--green);
}
.newsletter-section h2{
    font-size:clamp(28px,3vw,38px);
}
.leaf{
    color:var(--olive);
    font-size:24px;
    line-height:1;
    margin:10px 0 24px;
}
.features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:8px;
}
.feature-card{
    min-height:170px;
    padding:24px 20px 22px;
    border:1px solid rgba(222,207,186,.9);
    border-radius:26px;
    background:rgba(255,250,240,.48);
    box-shadow:0 10px 30px rgba(31,45,35,.045);
}
.ico{font-size:34px;margin-bottom:12px;line-height:1}
.features h3,.offer-card h3{
    font-family:Georgia,"Times New Roman",serif;
    text-transform:uppercase;
    font-size:15px;
    line-height:1.2;
    margin:0 0 8px;
    letter-spacing:.02em;
}
.features p{
    margin:0 auto;
    max-width:210px;
    color:#42564d;
    font-size:14px;
    line-height:1.55;
}
.offer-section{padding-top:44px}
.offer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    text-align:left;
    margin-top:10px;
}
.offer-card{
    padding:26px 26px 24px;
    border:1px solid rgba(222,207,186,.95);
    border-radius:28px;
    background:rgba(255,250,240,.62);
    box-shadow:0 12px 32px rgba(31,45,35,.055);
}
.offer-head{
    display:flex;
    align-items:center;
    gap:13px;
    padding-bottom:12px;
    margin-bottom:10px;
    border-bottom:1px solid rgba(222,207,186,.8);
}
.offer-head span{font-size:34px;line-height:1}
.offer-card ul{
    margin:0;
    padding-left:18px;
    color:#1f382f;
    font-size:15px;
    line-height:1.75;
}
.center-btn{display:inline-block;margin-top:28px}
.newsletter-section{
    max-width:860px;
    padding-top:58px;
    padding-bottom:72px;
}
.newsletter-section p{
    max-width:640px;
    margin:0 auto 18px;
    color:#364e44;
    font-size:15px;
}
.newsletter-form{
    display:flex;
    max-width:560px;
    margin:16px auto 8px;
    background:#fffaf4;
    border:1px solid var(--line);
    border-radius:999px;
    padding:6px;
    box-shadow:0 12px 30px rgba(26,43,35,.07);
}
.newsletter-form input,.footer-form input{
    flex:1;
    min-width:0;
    border:0;
    background:transparent;
    padding:13px 18px;
    font:inherit;
    outline:0;
    color:var(--ink);
}
.newsletter-form button{padding:12px 24px;box-shadow:none;cursor:pointer}
.newsletter-section small{color:#6b746f;font-size:12px}
.msg{
    display:inline-block;
    margin:0 auto 6px;
    padding:10px 18px;
    border-radius:999px;
    font-weight:750;
}
.msg.ok{background:#e6f4ea;color:#1e6d3e}
.msg.err{background:#fbe8e8;color:#9a1f1f}
.footer{
    display:grid;
    grid-template-columns:1.25fr 1fr .8fr 1.2fr;
    gap:34px;
    background:linear-gradient(135deg,#0c2f27,#174638);
    color:#fff;
    margin-top:28px;
    padding:48px max(28px,calc((100vw - 1120px)/2));
    position:relative;
}
.footer h3{
    font-family:Georgia,"Times New Roman",serif;
    text-transform:uppercase;
    font-size:16px;
    margin:0 0 14px;
}
.footer p,.footer a{
    display:block;
    color:rgba(255,255,255,.86);
    font-size:14px;
    margin:6px 0;
    text-decoration:none;
}
.footer-form{
    display:flex;
    border:1px solid rgba(255,255,255,.4);
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
}
.footer-form input{color:#fff}
.footer-form input::placeholder{color:rgba(255,255,255,.72)}
.footer-form button{
    width:50px;
    border:0;
    background:#fff;
    color:var(--green);
    font-size:18px;
    cursor:pointer;
}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
@media(max-width:900px){
    .topbar{position:static;padding:18px 16px 0;justify-content:space-between}
    .hero{padding-top:8px}
    .logo{width:min(496px,95vw)}
    .features,.offer-grid,.footer{grid-template-columns:1fr}
    .feature-card{min-height:auto}
    .newsletter-form{border-radius:24px;flex-direction:column}
    .newsletter-form button{width:100%}
    .footer{padding:38px 24px}
}
