
:root{--ink:#073f3b;--deep:#051f1d;--green:#65b741;--aqua:#bfe8df;--paper:#f7f4ec;--white:#fffdfa;--muted:#5c6765;--line:rgba(7,63,59,.15);--danger:#9b2c2c}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(7,63,59,.1);background:rgba(247,244,236,.96);backdrop-filter:blur(12px)}
.header-inner{min-height:84px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;gap:11px}
.brand-mark{position:relative;width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;font-weight:800}
.brand-mark i{position:absolute;top:5px;right:6px;width:12px;height:19px;border-radius:100% 0 100% 0;background:var(--green);transform:rotate(20deg)}
.brand-copy{display:grid;line-height:.95}
.brand-copy strong,.brand-copy b{font-size:19px;letter-spacing:-.04em}
.brand-copy b{font-weight:600}
.brand-copy small{margin-top:6px;color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.16em}
.nav{justify-self:center;display:flex;gap:26px;font-size:14px;font-weight:650}
.nav a:hover{color:#479f2f}
.button,.add-cart,button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:white;font:inherit;font-weight:700;cursor:pointer;transition:.18s}
.button:hover,.add-cart:hover,button:hover{transform:translateY(-2px);background:var(--deep)}
.button.outline{background:transparent;color:var(--ink)}
.menu{display:none}
.hero{padding:76px 0;background:linear-gradient(rgba(7,63,59,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,63,59,.025) 1px,transparent 1px);background-size:42px 42px}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:58px}
.eyebrow{color:#479f2f;font-size:13px;font-weight:800;letter-spacing:.06em}
.hero h1,.page-hero h1{margin:18px 0 25px;font-size:clamp(46px,5vw,74px);line-height:1;letter-spacing:-.06em}
.lead{max-width:650px;color:#4e5957;font-size:18px;line-height:1.7}
.hero img{width:100%;height:560px;object-fit:cover;border-radius:30px;box-shadow:0 28px 70px rgba(7,63,59,.15)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.section{padding:100px 0}
.section.white{background:var(--white)}
.section.aqua{background:#e9f3f0}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}
.section-heading h2{max-width:760px;margin:0;font-size:clamp(36px,4vw,56px);line-height:1.05;letter-spacing:-.05em}
.cards,.product-grid,.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card,.product-card,.post-card{min-width:0;background:transparent}
.service-card{padding:18px 0;min-height:220px;border-top:1px solid var(--line)}
.service-card span{color:#479f2f;font-weight:800}
.service-card h3{margin-top:36px;font-size:24px;line-height:1.15}
.service-card p,.product-card p,.post-card p{color:var(--muted)}
.product-card>a{display:block;width:100%;aspect-ratio:1/1}
.product-card img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent}
.post-card img{width:100%;height:280px;object-fit:cover;border-radius:14px;background:#eef1e9}
.card-body{padding:20px 0 0}
.product-card h2,.product-card h3,.post-card h2,.post-card h3{margin:0 0 10px;font-size:22px;line-height:1.2}
.price{display:flex;gap:10px;align-items:center;margin:16px 0;color:var(--ink);font-size:21px;font-weight:800}
.price del{color:#89918f;font-size:14px}
.badge{display:inline-block;color:#479f2f;font-size:12px;font-weight:800;letter-spacing:.04em}
.product-actions{display:flex;gap:10px;align-items:center}
.product-actions .button{flex:1}
.icon-button{width:48px;padding:0}
.page-hero{padding:70px 0 50px}
.page-hero h1{font-size:clamp(42px,5vw,66px)}
.content-layout{display:grid;grid-template-columns:minmax(0,820px) 280px;justify-content:space-between;gap:60px;padding-bottom:100px}
.article{padding:42px;border:1px solid var(--line);border-radius:20px;background:var(--white)}
.article h2{margin-top:1.7em;font-size:34px;line-height:1.15}
.article h3{margin-top:1.5em;font-size:25px}
.article p,.article li{font-size:17px;line-height:1.8}
.article figure{margin:30px 0}
.article img{height:auto;border-radius:16px}
.article iframe{max-width:100%}
.sidebar-card{position:sticky;top:110px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#e9f3f0}
.sidebar-card a{display:block;padding:9px 0;border-bottom:1px solid var(--line)}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-bottom:90px}
.product-gallery img{width:100%;max-height:650px;object-fit:contain;border-radius:24px;background:var(--white)}
.product-info h1{font-size:clamp(40px,5vw,62px);line-height:1.05}
.quantity{width:78px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--white)}
.product-copy{grid-column:1/-1;padding:36px;border-top:1px solid var(--line)}
.cart-drawer{position:fixed;inset:0;z-index:90;display:none;background:rgba(5,31,29,.48)}
.cart-drawer.open{display:block}
.cart-panel{margin-left:auto;width:min(460px,100%);height:100%;padding:26px;background:var(--white);overflow:auto}
.cart-head{display:flex;justify-content:space-between;align-items:center}
.cart-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-row img{width:64px;height:64px;padding:4px;object-fit:contain;border-radius:9px;background:#fff}
.cart-total{display:flex;justify-content:space-between;margin:24px 0;font-size:21px;font-weight:800}
.checkout{display:grid;grid-template-columns:1fr 360px;gap:42px;padding-bottom:90px}
.form-card,.order-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
label{display:block;margin:15px 0 6px;font-weight:700}
input,textarea,select{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}
textarea{min-height:100px}
.notice{padding:16px;border-radius:12px;background:#dff3ee}
.error{background:#fde8e8;color:var(--danger)}
.site-footer{padding:70px 0 25px;background:var(--white)}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,.7fr);gap:45px}
.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:10px;color:var(--muted)}
.footer-bottom{display:flex;justify-content:space-between;margin-top:60px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:100;display:none;max-width:900px;margin:auto;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 20px 60px rgba(5,31,29,.2)}
.cookie.show{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.cookie-actions{display:flex;gap:8px}
.legal{max-width:850px;padding:70px 0 100px}
.legal h1{font-size:52px;line-height:1.05}
.legal h2{margin-top:35px}
.empty{text-align:center;padding:45px;color:var(--muted)}

@media(max-width:900px){.nav{display:none}
.menu{display:block}
.header-inner{grid-template-columns:1fr auto auto}
.hero-grid,.product-detail,.checkout,.content-layout{grid-template-columns:1fr}
.hero img{height:430px}
.cards,.product-grid,.post-grid{grid-template-columns:repeat(2,1fr)}
.sidebar-card{position:static}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid>div:first-child{grid-column:1/-1}
}

@media(max-width:620px){.shell{width:min(100% - 32px,1240px)}
.product-card>a{aspect-ratio:1/1}
.header-inner>.button{display:none}
.header-inner{min-height:76px;grid-template-columns:1fr auto}
.brand-mark{width:42px;height:42px}
.brand-copy strong,.brand-copy b{font-size:16px}
.hero{padding-top:40px}
.hero h1,.page-hero h1{font-size:44px}
.hero img{height:390px}
.section{padding:72px 0}
.section-heading{display:block}
.cards,.product-grid,.post-grid{grid-template-columns:1fr}
.article{padding:24px}
.article p,.article li{font-size:16px}
.product-copy{padding:20px}
.cookie{left:12px;right:12px;bottom:12px;padding:16px}
.cookie.show{grid-template-columns:1fr}
.cookie-actions{flex-wrap:wrap}
.cookie-actions .button,.cookie-actions button{flex:1}
.footer-bottom{flex-direction:column;gap:10px}
}
