@font-face {
    font-family:Golos;
    src:url('/assets/9cc4dc4c-0d10-486f-8468-68fa08360913.woff2') format('woff2');
    font-weight:100 900;
    font-display:swap;
    unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
    font-family:Golos;
    src:url('/assets/83e7c2b2-3228-4bde-9937-d8c90e347dd0.woff2') format('woff2');
    font-weight:100 900;
    font-display:swap;
    unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193;
}
:root {
    --ink:#14322b;
    --green:#0a7a3d;
    --lime:#c7f24d;
    --paper:#eff8f1;
    --line:#d3e8d9;
    --muted:#4e6b61;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:110px;
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:16px/1.6 Golos,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,select {
    font:inherit;
}
button,a,input,select,summary {
    -webkit-tap-highlight-color:transparent;
}
a:hover {
    text-decoration:underline;
    text-underline-offset:5px;
}
button {
    cursor:pointer;
}
button:disabled {
    cursor:not-allowed;
    opacity:.55;
}
img {
    display:block;
    max-width:100%;
    height:auto;
}
h1,h2,h3,p {
    margin-top:0;
}
h1,h2,h3 {
    line-height:1.1;
    letter-spacing:-.04em;
}
h2 {
    font-size:clamp(30px,3.4vw,48px);
    font-weight:600;
    margin-bottom:24px;
}
h3 {
    font-size:23px;
    font-weight:600;
}
p {
    margin-bottom:20px;
}
a:focus-visible,button:focus-visible,summary:focus-visible {
    outline:3px solid var(--green);
    outline-offset:5px;
}
.container {
    width:min(1280px,100% - 64px);
    margin:auto;
}
.preview {
    background:var(--ink);
    color:#d9e8dd;
    text-align:center;
    font-size:11px;
    letter-spacing:.03em;
    padding:6px 16px;
}
.header {
    position:sticky;
    top:0;
    background:#eff8f1f2;
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    z-index:20;
}
.header-inner {
    min-height:84px;
    display:flex;
    align-items:center;
    gap:34px;
    justify-content:space-between;
}
.brand {
    display:flex;
    align-items:center;
    gap:11px;
    font-size:18px;
    letter-spacing:.14em;
    font-weight:600;
}
.brand-mark {
    display:block;
    flex-shrink:0;
    width:36px;
    height:40px;
    object-fit:contain;
}
.header nav {
    display:flex;
    gap:26px;
    font-size:13px;
}
.cart-link {
    display:flex;
    gap:16px;
    align-items:center;
    background:var(--ink);
    color:white;
    border-radius:9px;
    padding:10px 16px;
    font-size:13px;
}
.cart-link span {
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    border-radius:50%;
    background:var(--lime);
    color:var(--ink);
}
.hero {
    position:relative;
    background:var(--paper);
    isolation:isolate;
    min-height:670px;
}
.hero-content {
    padding-top:64px;
    padding-bottom:58px;
}
.eyebrow {
    font-size:11px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--green);
    margin-bottom:20px;
}
.dot {
    display:inline-block;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--green);
    margin-right:8px;
    vertical-align:middle;
}
h1 {
    font-size:clamp(46px,5.5vw,78px);
    line-height:1.02;
    font-weight:600;
    margin-bottom:26px;
}
.hero h1 span {
    color:var(--green);
}
.hero-copy {
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}
.hero-actions {
    display:flex;
    align-items:center;
    gap:24px;
    margin:30px 0 24px;
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    border:1px solid transparent;
    border-radius:10px;
    background:var(--ink);
    color:white;
    padding:14px 22px;
    font-size:14px;
    font-weight:600;
    line-height:1.5;
    text-decoration:none;
    transition:background .18s;
}
.button:hover {
    text-decoration:none;
    background:#215343;
}
.button.lime {
    background:var(--lime);
    color:var(--ink);
}
.button.lime:hover {
    background:#d7ff71;
}
.button.outline {
    background:transparent;
    color:var(--ink);
    border-color:#9cbca8;
}
.button.outline:hover {
    background:#e3f1e6;
}
.button span {
    font-size:20px;
    line-height:1;
}
.hero-price {
    font-size:20px;
    font-weight:600;
}
.hero-price small {
    display:block;
    font-size:10px;
    font-weight:400;
    color:var(--muted);
    margin-top:3px;
}
.text-link {
    font-size:13px;
    font-weight:500;
    color:var(--green);
}
.hero-caption {
    position:absolute;
    bottom:24px;
    right:4%;
    font-size:10px;
    letter-spacing:.15em;
    color:white;
    text-shadow:0 1px 8px #000;
}
.three-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.benefit-strip {
    background:var(--ink);
    color:var(--paper);
    padding:38px 0;
}
.benefit-strip .three-grid {
    gap:50px;
}
.benefit-strip .number {
    font-size:11px;
    color:var(--lime);
    display:block;
    margin-bottom:14px;
}
.benefit-strip h2 {
    font-size:20px;
    letter-spacing:-.02em;
    margin-bottom:12px;
}
.benefit-strip p {
    font-size:13px;
    color:#bfd5c9;
    max-width:310px;
    margin:0;
}
.section {
    padding-top:88px;
    padding-bottom:88px;
}
.section-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:36px;
}
.section-heading h2 {
    margin:0;
}
.section-heading>p {
    color:var(--muted);
    font-size:14px;
    margin:0 0 3px;
}
.product-card {
    overflow:hidden;
    border-radius:18px;
    background:white;
    border:1px solid var(--line);
}
.product-card.featured {
    border-color:#68a67e;
}
.product-image {
    display:block;
    position:relative;
    overflow:hidden;
    aspect-ratio:1.2;
}
.product-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s;
}
.product-image:hover img {
    transform:scale(1.025);
}
.badge {
    position:absolute;
    left:18px;
    top:18px;
    background:var(--paper);
    padding:7px 10px;
    border-radius:5px;
    color:var(--green);
    font-size:9px;
    letter-spacing:.08em;
}
.product-body {
    padding:27px;
}
.product-body .eyebrow {
    font-size:10px;
    margin-bottom:12px;
}
.product-body h3 {
    font-size:23px;
    margin-bottom:14px;
}
.product-body>p:not(.eyebrow) {
    font-size:13px;
    color:var(--muted);
    min-height:63px;
}
.product-price {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:27px;
    font-weight:600;
    letter-spacing:-.03em;
    margin-bottom:20px;
}
.product-price span {
    font-size:12px;
    font-weight:400;
    letter-spacing:0;
    color:var(--muted);
}
.product-body .button {
    width:100%;
    justify-content:space-between;
}
.muted {
    color:var(--muted);
}
.small {
    font-size:12px;
}
.products+.small {
    margin:20px 0 0;
}
.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}
.care-section {
    padding:64px 0;
    background:#e0eee2;
}
.care-image img {
    border-radius:18px;
    aspect-ratio:1;
    object-fit:cover;
}
.care-copy>p:not(.eyebrow) {
    color:var(--muted);
    max-width:440px;
    font-size:14px;
}
.care-step {
    display:flex;
    gap:18px;
    padding:17px 0;
    border-top:1px solid #c1d7c7;
}
.care-step>span {
    font-size:12px;
    color:var(--green);
    padding-top:3px;
}
.care-step h3 {
    font-size:16px;
    letter-spacing:-.01em;
    margin:0 0 5px;
}
.care-step p {
    font-size:12px;
    color:var(--muted);
    margin:0;
}
.service-grid article {
    border-top:1px solid #a7c4af;
    padding:25px 15px 0 0;
}
.service-icon {
    display:block;
    color:var(--green);
    font-size:30px;
    margin-bottom:16px;
}
.service-grid h3 {
    font-size:21px;
}
.service-grid p {
    font-size:14px;
    color:var(--muted);
    max-width:310px;
}
.service-grid a {
    margin-right:15px;
}
.faq-section {
    padding:64px 0 85px;
    border-top:1px solid var(--line);
}
.faq-section .split {
    align-items:start;
}
.faq details {
    border-bottom:1px solid #bfd4c4;
    padding:19px 0;
}
.faq summary {
    font-size:16px;
    cursor:pointer;
}
.faq p {
    font-size:14px;
    color:var(--muted);
    margin:18px 0 0;
}
.footer {
    background:var(--ink);
    color:var(--paper);
    padding:55px 0 20px;
}
.footer-grid {
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr 1.2fr;
    gap:40px;
}
.footer .brand {
    font-size:16px;
    margin-bottom:20px;
}
.footer p {
    font-size:13px;
    color:#b8cec2;
}
.footer strong {
    font-size:12px;
    font-weight:500;
    display:block;
    margin-bottom:20px;
}
.footer-grid>div>a:not(.brand) {
    display:block;
    font-size:12px;
    color:#b8cec2;
    margin:8px 0;
}
.footer-bottom {
    border-top:1px solid #3f594c;
    margin-top:32px;
    padding-top:20px;
    display:flex;
    justify-content:space-between;
    font-size:10px;
    color:#a2baac;
}
.skip {
    position:absolute;
    top:-100px;
    left:10px;
    background:white;
    padding:12px;
    z-index:50;
}
.skip:focus {
    top:10px;
}
.notice,.error {
    border-radius:10px;
    padding:16px 22px;
    font-size:14px;
    margin:24px 0;
}
.notice {
    background:#dcefcf;
    border:1px solid #b5d99d;
}
.error {
    background:#fff1e9;
    color:#763b23;
    border:1px solid #edc1aa;
}
.error ul {
    margin-bottom:0;
}
.page {
    padding-top:48px;
    padding-bottom:80px;
    min-height:55vh;
}
.breadcrumbs {
    font-size:12px;
    color:var(--muted);
    margin-bottom:30px;
}
.page h1 {
    font-size:clamp(34px,4vw,52px);
    max-width:850px;
}
.prose {
    max-width:780px;
}
.prose h2 {
    font-size:26px;
    margin-top:38px;
}
.prose p,.prose li {
    color:var(--muted);
}
.prose a {
    text-decoration:underline;
}
.panel {
    padding:28px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:16px;
    margin-bottom:24px;
}
.panel h2 {
    font-size:23px;
    letter-spacing:-.025em;
}
.shop-grid {
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);
    gap:32px;
    align-items:start;
}
.order-summary {
    position:sticky;
    top:108px;
}
.line {
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-bottom:1px solid var(--line);
    padding:14px 0;
    font-size:14px;
}
.line:last-child {
    border-bottom:0;
}
.line.total {
    font-size:21px;
    font-weight:600;
}
.line span:last-child {
    white-space:nowrap;
}
.field {
    display:block;
    margin:0 0 18px;
    font-size:13px;
    font-weight:500;
}
.field input,.field select {
    display:block;
    margin-top:7px;
    width:100%;
    border:1px solid #abc9b5;
    background:#fff;
    border-radius:8px;
    padding:11px 13px;
    color:var(--ink);
    font-size:15px;
}
.field input:focus,.field select:focus {
    outline:2px solid var(--green);
    outline-offset:2px;
}
.form-row {
    display:flex;
    gap:16px;
    align-items:end;
}
.form-row>.field {
    flex:1;
}
.form-row>.button {
    margin-bottom:18px;
}
.check {
    display:flex;
    gap:10px;
    font-size:12px;
    align-items:start;
    margin:20px 0;
}
.check input {
    margin-top:5px;
}
.check a {
    text-decoration:underline;
}
.cart-item {
    display:grid;
    grid-template-columns:90px 1fr auto;
    gap:24px;
    align-items:center;
    padding:24px 0;
    border-bottom:1px solid var(--line);
}
.cart-item img {
    border-radius:10px;
    width:90px;
    height:90px;
    object-fit:cover;
}
.cart-item h2 {
    font-size:19px;
    margin:0 0 8px;
}
.cart-item p {
    font-size:13px;
    margin:0;
}
.quantity-form {
    display:flex;
    gap:8px;
    margin-top:14px;
    align-items:center;
    flex-wrap:wrap;
}
.quantity-form input {
    width:64px;
    border:1px solid #a7c4af;
    border-radius:6px;
    padding:6px;
}
.quantity-form button {
    background:transparent;
    border:0;
    color:var(--green);
    font-size:12px;
    text-decoration:underline;
    padding:7px;
}
.product-detail {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:start;
}
.product-detail>img {
    border-radius:20px;
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
}
.product-detail h1 {
    font-size:48px;
}
.product-detail .product-price {
    justify-content:start;
    gap:24px;
}
.product-detail ul {
    padding-left:20px;
    font-size:14px;
    color:var(--muted);
    margin:25px 0;
}
.product-detail .button {
    min-width:220px;
}
.empty {
    padding:40px 0 60px;
    max-width:580px;
}
.empty p {
    color:var(--muted);
}
.city-list {
    padding:0;
    list-style:none;
}
.city-list li {
    border-bottom:1px solid var(--line);
    padding:13px 0;
}
.city-list a {
    display:block;
    color:var(--green);
}
.status-label {
    display:inline-block;
    border-radius:6px;
    padding:8px 14px;
    background:#dcefcf;
    font-size:13px;
    margin:0 0 20px;
}
.full {
    width:100%;
}
.button-row {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:20px;
}
.button-row form {
    margin:0;
}
.info-box {
    background:#e6f0df;
    border-left:3px solid var(--green);
    padding:18px 22px;
    font-size:14px;
    margin:24px 0;
}
.break {
    overflow-wrap:anywhere;
}
@media(max-width:1050px) {
    .header-inner {
        gap:20px;
    }
    .header nav {
        gap:16px;
        font-size:12px;
    }
    .brand {
        font-size:15px;
    }
    .hero {
        background-position:65% center;
    }
    .split {
        gap:40px;
    }
    .product-body {
        padding:20px;
    }
    .product-body h3 {
        font-size:20px;
    }
    .product-body>p:not(.eyebrow) {
        min-height:84px;
    }
    .footer-grid {
        gap:24px;
    }
    .product-detail {
        gap:40px;
    }
}
@media(max-width:760px) {
    .container {
        width:calc(100% - 36px);
    }
    .preview {
        font-size:9px;
    }
    .header-inner {
        padding:15px 0;
        min-height:0;
        flex-wrap:wrap;
        gap:14px;
    }
    .header nav {
        order:3;
        width:100%;
        justify-content:space-between;
        gap:10px;
        font-size:11px;
    }
    .cart-link {
        padding:7px 11px;
        font-size:12px;
    }
    .hero {
        background:var(--paper);
        min-height:790px;
    }
    .hero-content {
        padding-top:34px;
        padding-bottom:295px;
    }
    .hero h1 {
        font-size:55px;
    }
    .hero .eyebrow {
        font-size:9px;
    }
    .hero-copy {
        font-size:14px;
    }
    .hero-actions {
        gap:16px;
        margin:22px 0 14px;
    }
    .hero-price {
        font-size:18px;
    }
    .hero-price small {
        font-size:9px;
        max-width:110px;
    }
    .hero .button {
        padding:13px 16px;
        gap:15px;
        font-size:12px;
    }
    .hero-caption {
        bottom:14px;
        font-size:8px;
    }
    .three-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
    .benefit-strip {
        padding:30px 0;
    }
    .benefit-strip .three-grid {
        gap:24px;
    }
    .benefit-strip .three-grid>div {
        display:grid;
        grid-template-columns:38px 1fr;
        gap:0 8px;
    }
    .benefit-strip .number {
        grid-row:span 2;
        margin:4px 0;
    }
    .benefit-strip h2 {
        margin-bottom:6px;
        font-size:18px;
    }
    .benefit-strip p {
        max-width:none;
    }
    .section {
        padding-top:50px;
        padding-bottom:50px;
    }
    .section-heading {
        align-items:start;
        flex-direction:column;
        gap:15px;
        margin-bottom:26px;
    }
    .section-heading>p br {
        display:none;
    }
    .product-image {
        aspect-ratio:1.4;
    }
    .product-body {
        padding:23px;
    }
    .product-body>p:not(.eyebrow) {
        min-height:0;
    }
    .product-body h3 {
        font-size:24px;
    }
    .split {
        grid-template-columns:1fr;
        gap:30px;
    }
    .care-section {
        padding:32px 0 45px;
    }
    .care-image img {
        max-height:420px;
        width:100%;
    }
    .service-grid article {
        padding-bottom:12px;
    }
    .service-grid p {
        max-width:none;
    }
    .faq-section {
        padding:40px 0 50px;
    }
    .faq-section .split {
        gap:0;
    }
    .footer-grid {
        grid-template-columns:1fr 1fr;
        gap:30px;
    }
    .footer-grid>div:first-child {
        grid-column:span 2;
    }
    .footer-grid>div:last-child {
        grid-column:span 2;
    }
    .footer-bottom {
        gap:20px;
        align-items:start;
    }
    .shop-grid,.product-detail {
        grid-template-columns:1fr;
        gap:25px;
    }
    .order-summary {
        position:static;
    }
    .page {
        padding-top:32px;
        padding-bottom:50px;
    }
    .panel {
        padding:20px;
    }
    .cart-item {
        grid-template-columns:65px 1fr;
        gap:16px;
    }
    .cart-item img {
        width:65px;
        height:80px;
    }
    .cart-item>strong {
        grid-column:2;
    }
    .form-row {
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .product-detail h1 {
        font-size:38px;
    }
    .product-detail>img {
        max-height:420px;
    }
    .button-row .button {
        font-size:12px;
    }
    .hero-copy br {
        display:none;
    }
    .hero-copy {
        max-width:300px;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    * {
        transition:none!important;
    }
}

.hero-copy { max-width: 370px; }
@media (max-width: 760px) {
    .hero { background: var(--paper); min-height: 0; }

    .hero-content { padding-bottom: 32px; }
    .hero h1 { font-size: 48px; }
    .hero-copy { max-width: 310px; }
}

.hero-background { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.hero-background::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#eff8f1 0%,#eff8f1f0 30%,#eff8f190 48%,#eff8f100 66%); }
.hero-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:72% center; opacity:0; transition:opacity 1.2s ease; }
.hero-slide.is-active { opacity:1; }
.hero-controls { position:absolute; bottom:22px; right:4%; display:flex; align-items:center; padding:4px 8px; border-radius:30px; background:#14322bd9; color:white; }
.hero-controls[hidden] { display:none; }
.hero-controls button { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; background:none; color:inherit; cursor:pointer; }
.hero-dot::after { content:""; width:7px; height:7px; border:1px solid currentColor; border-radius:50%; }
.hero-dot[aria-pressed="true"]::after { background:var(--lime); border-color:var(--lime); }
.hero-controls button:focus-visible { outline:2px solid var(--lime); outline-offset:-3px; border-radius:50%; }
.hero-playback { font-size:18px; }
@media(max-width:760px) {
    .hero-background { position:relative; height:320px; z-index:0; }
    .hero-background::after { display:none; }
    .hero-slide { object-position:80% center; }
    .hero-controls { z-index:1; bottom:16px; }
}
.account-link { font-size:12px; white-space:nowrap; }
.account-entry { max-width:520px; }
.account-order { display:flex; justify-content:space-between; gap:24px; margin-bottom:20px; }
.account-order h2 { font-size:25px; }
.account-order > div:last-child { display:flex; flex-direction:column; gap:20px; justify-content:center; align-items:flex-end; }
.order-timeline { list-style:none; padding:0 0 0 20px; margin:24px 0; border-left:2px solid #cbdac5; }
.order-timeline li { position:relative; margin:0 0 24px; }
.order-timeline li::before { content:""; position:absolute; left:-26px; top:5px; width:10px; height:10px; border-radius:50%; background:#387949; }
.order-timeline time { display:block; font-size:12px; color:#65766a; margin-top:4px; }
.order-timeline p { font-size:13px; }
.simple-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:24px 0; }
.email-verification { padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid #dce4db; }
button:disabled { cursor:not-allowed; opacity:.5; }
@media(max-width:760px) { .account-link { order:3; margin-left:auto; }.account-order { flex-direction:column; }.account-order > div:last-child { align-items:flex-start; } }
.email-verification [hidden] { display:none !important; }
.email-input-row { align-items:flex-end; }
.email-input-row .field { min-width:0; flex:1; }
.email-input-row button { flex-shrink:0; margin-bottom:18px; }
@media(max-width:600px) { .email-input-row { flex-wrap:wrap; align-items:stretch; }.email-input-row .field { flex-basis:100%; }.email-input-row button { margin-bottom:0; } }
