@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:grid;
    place-items:center;
    background:var(--green);
    color:var(--lime);
    width:30px;
    height:32px;
    border-radius:12px 4px;
    font-size:25px;
    letter-spacing:0;
}
.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:linear-gradient(90deg,#eff8f1 0%,#eff8f1f0 30%,#eff8f190 48%,#eff8f100 66%),url('/assets/vegaboost-garden.webp') 72% center/cover no-repeat;
    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:linear-gradient(180deg,#eff8f1 0%,#eff8f1 49%,#eff8f100 72%),url('/assets/vegaboost-garden.webp') 77% bottom/auto 360px no-repeat;
        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::after { content: ""; display: block; height: 300px; background: url('/assets/vegaboost-garden.webp') 78% center / auto 340px no-repeat; }
    .hero-content { padding-bottom: 32px; }
    .hero h1 { font-size: 48px; }
    .hero-copy { max-width: 310px; }
}
