/* Tratnik – vrtnarstvo in cvetličarstvo, Domžale. Pisave lokalno (OFL): Instrument Serif + Albert Sans. */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/albert-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/albert-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --forest:#16301b; --forest-2:#1d3d22; --forest-3:#28502c; --line-d:#36603a;
  --on-forest:#f3f1e4; --muted-d:#c9d6bf;
  --lime:#b8d65c; --lime-2:#d3e88f;
  --rose:#b8295a; --rose-d:#951d47; --rose-l:#f4a3bf;
  --sun:#f4c430; --terra:#c4643b;
  --paper:#f6f4ea; --paper-2:#ecefdd; --card:#fffef8; --line:#d8dbc6;
  --ink:#172117; --muted:#4a5647;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Albert Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:18px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;margin:0;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic}
p{margin:0}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}

/* predogled */
.preview-bar{background:var(--sun);color:#2b2205;text-align:center;font-size:16px;padding:8px 16px;line-height:1.4}

/* gumbi */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 22px;border-radius:999px;font:700 17px/1.2 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.btn svg{width:20px;height:20px;flex:none}
.btn:active{transform:translateY(1px)}
.btn-rose{background:var(--rose);color:#fff}
.btn-rose:hover{background:var(--rose-d)}
.btn-lime{background:var(--lime);color:var(--forest)}
.btn-lime:hover{background:var(--lime-2)}
.btn-dark{background:var(--forest);color:var(--on-forest)}
.btn-dark:hover{background:var(--forest-3)}
.btn-ghost{background:transparent;color:var(--on-forest);border-color:rgba(243,241,228,.55)}
.btn-ghost:hover{border-color:var(--lime);color:var(--lime)}
.btn-ghost-d{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-ghost-d:hover{background:var(--forest);color:var(--on-forest)}
.btn-sm{min-height:46px;padding:10px 18px;font-size:16px}
.btn-big{min-height:58px;padding:14px 30px;font-size:19px}

/* glava */
.site-header{position:sticky;top:0;z-index:30;background:rgba(22,48,27,.96);backdrop-filter:blur(8px);color:var(--on-forest);border-bottom:1px solid var(--line-d)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:48px}
.brand-mark{width:38px;height:38px;flex:none}
.brand-txt{display:flex;flex-direction:column;line-height:1}
.brand-word{font:400 31px/1 var(--serif);letter-spacing:.01em}
.brand-sub{font-size:16px;color:var(--muted-d);margin-top:3px;letter-spacing:.02em}
.nav{display:flex;align-items:center;gap:6px}
.nav a:not(.btn){text-decoration:none;font-weight:600;font-size:16px;padding:12px 11px;border-radius:10px;min-height:44px;display:inline-flex;align-items:center}
.nav a:not(.btn):hover{color:var(--lime)}
.nav-call{margin-left:8px}
.burger{display:none;width:50px;height:50px;border-radius:12px;border:2px solid var(--line-d);background:transparent;color:var(--on-forest);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger i{display:block;width:22px;height:2.5px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .2s}
.burger[aria-expanded="true"] i:nth-child(2){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(3){opacity:0}
.burger[aria-expanded="true"] i:nth-child(4){transform:translateY(-7.5px) rotate(-45deg)}

/* prvi zaslon */
.hero{background:radial-gradient(120% 90% at 85% 10%,#244a29 0%,var(--forest) 60%);color:var(--on-forest);padding:56px 0 0;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero-in>*{min-width:0}
.eyebrow{font-weight:700;font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}
.eyebrow-d{color:var(--rose)}
.hero h1{font-size:clamp(3rem,6.6vw,5.4rem);margin-bottom:22px}
.hero h1 em{color:var(--rose-l)}
.lead{font-size:19px;color:var(--muted-d);max-width:34em}
.status{display:inline-flex;align-items:center;gap:10px;margin:24px 0 22px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line-d);font-weight:600;font-size:16px}
.status .dot{width:11px;height:11px;border-radius:50%;background:#9aa597;flex:none}
.status.open .dot{background:#7ee07a;box-shadow:0 0 0 4px rgba(126,224,122,.18)}
.status.closed .dot{background:#f08a6c}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.proof{margin-top:22px;font-size:16px;color:var(--muted-d)}
.proof b{color:var(--on-forest);font-size:18px}
.stars{color:var(--sun);letter-spacing:2px;margin-right:8px}

.hero-art{position:relative;padding:10px 0 40px 30px}
.arch{margin:0;border-radius:999px 999px 26px 26px;overflow:hidden;aspect-ratio:3/3.7;max-height:600px;border:6px solid var(--forest-3);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.arch img{width:100%;height:100%;object-fit:cover}
.bubble{position:absolute;left:-6px;bottom:10px;width:40%;aspect-ratio:1;margin:0;border-radius:50%;overflow:hidden;border:6px solid var(--forest);box-shadow:0 16px 34px rgba(0,0,0,.35)}
.bubble img{width:100%;height:100%;object-fit:cover}
.tag-since{position:absolute;right:-6px;top:38%;width:112px;padding:20px 10px 34px;background:var(--card);color:var(--forest);text-align:center;transform:rotate(7deg);clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 30px),50% 100%,0 calc(100% - 30px));filter:drop-shadow(0 10px 18px rgba(0,0,0,.3));animation:sway 5s ease-in-out infinite;transform-origin:50% 0}
.ts-hole{display:block;width:12px;height:12px;border-radius:50%;background:var(--forest);margin:0 auto 8px}
.tag-since b{display:block;font:italic 400 30px/1 var(--serif)}
.tag-since small{display:block;font-size:16px;font-weight:700;margin-top:4px;color:var(--rose)}
@keyframes sway{0%,100%{transform:rotate(7deg)}50%{transform:rotate(3deg)}}

.ribbon{list-style:none;padding:0;margin:44px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-d)}
.ribbon li{padding:22px 22px 26px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ribbon li+li{border-left:1px solid var(--line-d)}
.ribbon b{font:400 26px/1.1 var(--serif);color:var(--lime)}
.ribbon span{font-size:16px;color:var(--muted-d)}

/* razdelki */
section{scroll-margin-top:80px}
.sec-head{max-width:720px;margin-bottom:38px}
.sec-head h2{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:14px}
.sec-head h2 em{color:var(--rose)}
.sec-lead{font-size:18px;color:var(--muted)}

/* ponudba – tablice za rastline */
.offer{padding:90px 0 80px;background:var(--paper)}
.tags{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px 22px}
.ptag{position:relative;background:var(--card);padding:30px 22px 58px;min-width:0;clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 34px),50% 100%,0 calc(100% - 34px));display:flex;flex-direction:column;gap:8px;transition:transform .25s}
.tags li{filter:drop-shadow(0 8px 14px rgba(23,33,23,.10))}
.ptag::before{content:"";position:absolute;top:12px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--paper);box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
.ptag::after{content:"";position:absolute;left:22px;right:22px;top:0;height:5px;background:var(--c)}
.ptag h3{font-size:28px;margin-top:6px}
.ptag p{font-size:16px;color:var(--muted);overflow-wrap:anywhere}
.ptag .who{font-size:16px;font-weight:700;color:var(--forest-3);margin-top:auto}
.tag-link{font-weight:700;color:var(--rose);text-decoration:none;margin-top:auto;min-height:44px;display:inline-flex;align-items:center}
.tag-link:hover{text-decoration:underline}
@media (hover:hover){.tags li:hover .ptag{transform:rotate(-1.5deg) translateY(-3px)}}

.price-note{margin-top:46px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border-radius:var(--r);background:var(--paper-2);border:1px dashed #a9b48c}
.price-note p{color:var(--muted)}
.pn-title{font:400 30px/1.1 var(--serif);color:var(--forest)!important;margin-bottom:6px}
.price-note .btn{flex:none}

/* mnenja */
.reviews{padding:86px 0;background:var(--forest);color:var(--on-forest)}
.reviews .sec-head h2 em{color:var(--lime)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev-grid>*{min-width:0}
.score{background:var(--forest-2);border:1px solid var(--line-d);border-radius:var(--r);padding:30px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.score .big{font:400 96px/1 var(--serif);color:var(--lime)}
.score .stars{font-size:22px}
.score-n{color:var(--muted-d);margin-bottom:18px}
.score .btn{margin-top:auto}
.rev{margin:0;background:var(--forest-2);border:1px solid var(--line-d);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:14px}
.rev p{font:400 23px/1.3 var(--serif);overflow-wrap:anywhere}
.rev footer{margin-top:auto;font-size:16px;color:var(--muted-d);font-weight:600}
.rev .st{color:var(--sun);letter-spacing:1px;margin-left:4px;white-space:nowrap}
.rev .st .off{color:#5d7a5c}
.rev-wide{grid-column:span 2}
.rev-wide p{font-size:clamp(23px,2.4vw,30px)}

/* od semena do cveta */
.grow{padding:90px 0;background:linear-gradient(180deg,var(--paper-2),var(--paper) 70%)}
.grow-in{display:grid;grid-template-columns:1fr 1.05fr;grid-template-areas:"copy stage" "ctrl stage";column-gap:56px;row-gap:22px;align-items:start}
.grow-in>*{min-width:0}
.grow-copy{grid-area:copy;align-self:end}
.grow-copy h2{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:14px}
.grow-copy h2 em{color:var(--rose)}
.grow-stage{grid-area:stage;background:radial-gradient(90% 80% at 50% 30%,#fbfaf2,#e6ecd2);border-radius:28px;border:1px solid var(--line);padding:8px;touch-action:manipulation}
.g-svg{display:block;width:100%;height:auto}
.grow-ctrl{grid-area:ctrl;display:flex;flex-direction:column;gap:18px}
.chips{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.chips legend{font-weight:700;font-size:16px;margin-bottom:10px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:10px 18px 10px 12px;border-radius:999px;border:2px solid var(--line);background:var(--card);font:600 17px/1 var(--sans);color:var(--ink);cursor:pointer;transition:border-color .2s,background-color .2s}
.chip i{width:22px;height:22px;border-radius:50%;background:conic-gradient(var(--c) 0 50%,var(--c2) 0);flex:none}
.chip[aria-pressed="true"]{border-color:var(--forest);background:var(--forest);color:var(--on-forest)}
.water-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.g-prog{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;color:var(--muted)}
.g-prog [data-g-dots]{display:flex;gap:6px}
.g-prog i{width:14px;height:14px;border-radius:50% 0;background:var(--line);transform:rotate(-45deg);transition:background-color .3s}
.g-prog i.on{background:#4f8f34}
.g-cap{font:italic 400 28px/1.2 var(--serif);color:var(--forest);min-height:1.2em}
.g-small{font-size:16px;color:var(--muted)}

/* SVG prizor */
.house path{fill:none;stroke:#cdd6b5;stroke-width:2}
.soil{fill:#6b4529;transition:fill .8s}
.g-svg.wet .soil{fill:#3b2414}
.seed{fill:#8b6a3e;transition:opacity .4s}
.g-svg[data-stage]:not([data-stage="0"]) .seed{opacity:0}
.stem{fill:none;stroke:#3f7d2e;stroke-width:5;stroke-linecap:round;stroke-dasharray:100 120;stroke-dashoffset:var(--off,100);transition:stroke-dashoffset 1s cubic-bezier(.3,.7,.3,1) .35s}
.leaf{fill:#5c9f3c}
.leaf.sm{fill:#79b84a}
.vein{fill:none;stroke:#3a7428;stroke-width:1.4;stroke-linecap:round}
.lf,.bud,.flower{transform:scale(0);transform-origin:0 0;transition:transform .7s cubic-bezier(.3,1.5,.5,1) .75s}
.lf.on{transform:scale(1)}
.bud.half{transform:scale(.6)}
.bud.full{transform:scale(1.05)}
.bud-tip{fill:var(--tip,#5b37a6)}
.flower{transform:scale(0) rotate(-120deg);transition:transform 1.1s cubic-bezier(.25,1.45,.45,1) .7s}
.flower.on{transform:scale(1.15) rotate(0)}
.bud.gone{transform:scale(0);transition-delay:.4s}
.plant{transform-origin:200px 259px}
.g-svg.bloom .plant{animation:breeze 4s ease-in-out 1.8s infinite}
@keyframes breeze{0%,100%{transform:rotate(0)}30%{transform:rotate(1.6deg)}70%{transform:rotate(-1.4deg)}}
.sparks path{stroke:var(--sun);stroke-width:4;stroke-linecap:round;opacity:0}
.g-svg.bloom .sparks path{animation:spark 1.4s ease-out 1.5s 2 both}
.g-svg.bloom .sparks path:nth-child(2n){animation-delay:1.7s}
@keyframes spark{0%{opacity:0;stroke-dasharray:0 20}40%{opacity:1;stroke-dasharray:14 20}100%{opacity:0;stroke-dasharray:14 20;stroke-dashoffset:-14}}
.can{transform-origin:0 0;transition:transform .45s cubic-bezier(.3,.8,.3,1);cursor:pointer}
.g-svg.pour .can{transform:rotate(-30deg)}
.g-svg.hint .can{animation:wiggle 1.3s ease-in-out .3s 2}
@keyframes wiggle{0%,100%{transform:rotate(0)}35%{transform:rotate(-12deg)}65%{transform:rotate(4deg)}}
.drop{fill:#62ade0;opacity:0;animation:fall .75s cubic-bezier(.45,0,.9,.6) both}
@keyframes fall{0%{opacity:0;translate:0 0}12%{opacity:1}85%{opacity:1}100%{opacity:0;translate:var(--dx) var(--dy)}}
.t-brand{font:800 7.5px/1 var(--sans);letter-spacing:1.2px;fill:var(--forest)}
.t-name{font:italic 400 10px/1 var(--serif);fill:var(--rose)}

/* galerija */
.gallery-sec{padding:86px 0 70px;background:var(--paper)}
.gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:auto auto;gap:18px}
.gallery figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;background:var(--paper-2);min-width:0}
.gallery img{width:100%;height:100%;object-fit:cover}
.g-wide{aspect-ratio:4/3}
.g-tall{grid-row:span 2}
.g-tall img{object-position:50% 72%}
.g-wide2{aspect-ratio:16/8}
.gallery figcaption{position:absolute;left:14px;bottom:14px;background:rgba(22,48,27,.85);color:var(--on-forest);padding:7px 14px;border-radius:999px;font-size:16px;font-weight:600}
.credit{margin-top:16px;font-size:16px;color:var(--muted)}

/* kje smo */
.visit{padding:86px 0;background:var(--forest);color:var(--on-forest)}
.visit-in{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}
.visit-in>*{min-width:0}
.hours h2{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:24px}
.hours h2 em{color:var(--rose-l)}
table{width:100%;border-collapse:collapse;margin-bottom:26px;font-size:18px}
th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line-d)}
td{text-align:right;font-weight:700;white-space:nowrap}
th{font-weight:500}
tr.today{background:rgba(184,214,92,.14)}
tr.today th::after{content:" · danes";color:var(--lime);font-weight:700}
address{font-style:normal;display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.addr{display:flex;gap:10px;align-items:flex-start;font-size:19px;line-height:1.4}
.addr svg{width:22px;height:22px;flex:none;margin-top:3px;color:var(--lime)}
.link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-btns .wide{grid-column:1/-1}
.branch{background:var(--card);color:var(--ink);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column;gap:8px}
.branch h3{font-size:40px;color:var(--forest)}
.branch-lead{color:var(--muted)}
.branch .addr{margin-top:10px}
.branch .addr svg{color:var(--rose)}
.branch .link{color:var(--forest)}
.branch-note{font-size:16px;color:var(--muted);margin-bottom:10px}
.branch .contact-btns{grid-template-columns:1fr}

/* noga */
.site-footer{background:#0f2213;color:var(--muted-d);padding:46px 0 120px}
.foot-in{display:grid;grid-template-columns:1fr auto;gap:22px 40px;align-items:start}
.site-footer .brand-word{color:var(--on-forest);font-size:38px}
.motto{margin-top:6px}
.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--on-forest)}
.small{grid-column:1/-1;font-size:16px;border-top:1px solid #23402a;padding-top:20px}

/* spodnji gumbi (telefon) */
.dock{display:none}

/* politika */
.legal{padding:50px 0 70px;max-width:760px}
.legal h1{font-size:clamp(2.6rem,6vw,3.6rem);margin-bottom:20px}
.legal h2{font-size:30px;margin:28px 0 8px}
.legal p{margin-bottom:10px;color:var(--muted)}

/* odziv */
@media (max-width:1000px){
  .tags{grid-template-columns:repeat(2,1fr)}
  .hero-in{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:900px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;background:var(--forest);padding:12px 20px 22px;border-bottom:1px solid var(--line-d)}
  .nav.open{display:flex}
  .nav a:not(.btn){font-size:18px;padding:12px 6px}
  .nav-call{margin:10px 0 0}
  .burger{display:inline-flex}
  .hero-in{grid-template-columns:1fr}
  .hero-art{max-width:470px;margin:0 auto;width:100%}
  .rev-grid{grid-template-columns:1fr 1fr}
  .score{grid-column:1/-1}
  .rev-grid>.rev:last-child{grid-column:1/-1}
  .rev-wide{grid-column:1/-1}
  .grow-in{grid-template-columns:1fr;grid-template-areas:"copy" "stage" "ctrl"}
  .visit-in{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:17px}
  .hero{padding-top:36px}
  .ribbon{grid-template-columns:1fr}
  .ribbon li+li{border-left:0;border-top:1px solid var(--line-d)}
  .ribbon li{padding:16px 4px}
  .offer,.grow,.gallery-sec,.reviews,.visit{padding:64px 0}
  .price-note{flex-direction:column;align-items:flex-start;padding:22px}
  .rev-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .g-tall{grid-row:auto;height:clamp(300px,110vw,460px)}
  .g-wide,.g-wide2{aspect-ratio:auto;height:clamp(220px,62vw,340px)}
  .dock{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--forest);border-top:1px solid var(--line-d);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;color:var(--on-forest);text-decoration:none;font-weight:700;font-size:16px;border-radius:12px}
  .dock a:first-child{background:var(--rose)}
  .dock svg{width:22px;height:22px}
  .foot-in{grid-template-columns:1fr}
}
@media (max-width:640px){
  .tags{grid-template-columns:1fr 1fr;gap:20px 12px}
  .ptag{padding:28px 14px 54px}
  .ptag h3{font-size:24px}
  .brand-sub{display:none}
  .hero h1{font-size:clamp(2.7rem,12vw,3.4rem)}
  .tag-since{width:96px;right:0}
  .tag-since b{font-size:26px}
  .contact-btns{grid-template-columns:1fr}
  .cta .btn{flex:1 1 100%}
}
@media (max-width:400px){
  .tags{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .drop{display:none}
}
