/* Prototype 01: object, place, action. Extends the retained NEATSPACE styles. */
:root{--muted:#5f675a;--form-ink:#59634f;--field-line:#7a856f}
html{scroll-padding-top:40px}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.11em}
.header-inner{height:96px}
.desktop-nav a{font-size:14px}
.desktop-nav{gap:28px}
.language-switch{font-size:13px;gap:5px;padding-left:18px}
.language-switch button{font-size:13px;color:var(--muted);min-width:34px;min-height:44px;padding:8px 5px}
.language-switch span{color:var(--muted)}
.hero{grid-template-columns:1fr 1.07fr;gap:56px;padding-block:48px 50px}
.hero .eyebrow,html[lang=ru] .hero .eyebrow{font-size:11px;letter-spacing:.11em;max-width:none}
.hero-copy{padding-block:20px}
.hero h1{font-size:clamp(60px,5.9vw,86px);margin-block:25px;line-height:1.06;letter-spacing:-.055em}
.hero h1 em{letter-spacing:-.045em}
html[lang=ru] .hero h1{font-size:clamp(55px,5.2vw,75px)}
.hero-description{font-size:17px;line-height:1.7;max-width:370px;margin-bottom:28px}
.button{font-size:14px;min-height:54px;padding:15px 22px;gap:25px}
.hero-note{font-size:12px;margin-top:25px;max-width:380px}
.hero-image-wrap{aspect-ratio:1.05}
.hero-visual figcaption{font-size:12px;line-height:1.5;padding-top:14px}
.hero-object{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;background:var(--paper);color:var(--ink);text-align:left;box-shadow:0 5px 20px #2d332d10;border-radius:2px;transition:background .2s}
.hero-object-label{display:block;font-size:10px;letter-spacing:.13em;color:var(--green);margin-bottom:3px}
.hero-object-name{display:block;font-size:14px;font-weight:550}
.hero-object svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0;transition:transform .2s}
.hero-object:hover{background:#e7eadf}
.hero-object:hover svg{transform:translateX(3px)}
.photo-stamp{padding:13px;top:20px;right:20px}
.principles-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-block:0}
.principles-inner>a{display:flex;align-items:center;gap:18px;font-size:15px;padding:22px 28px;min-height:68px}
.principles-inner>a:first-child{padding-left:0}
.principles-inner>a+a{border-left:1px solid var(--line)}
.principles-inner>a:last-child{padding-right:0}
.place-number{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.place-arrow{margin-left:auto;font-size:18px;color:var(--green)}
.principles-inner>a:hover{color:var(--green)}
.section{padding-block:88px}
.section-heading{gap:60px;margin-bottom:33px}
.section-heading h2{font-size:clamp(40px,4vw,56px);line-height:1.12}
.section-intro{font-size:16px;line-height:1.65;max-width:335px}
.filters button{font-size:13px;min-height:44px;padding:10px 18px}
.collection-count{font-size:12px}
.collection-toolbar{margin-bottom:28px}
.product-grid{gap:24px}
.product-category{font-size:11px;line-height:1.5;letter-spacing:.07em;margin-bottom:7px}
.product-name,html[lang=ru] .product-name{font-size:22px;line-height:1.3;margin-bottom:8px}
.product-description{font-size:14px;line-height:1.65;max-width:none}
.product-number{font-size:11px;color:#4f594a;background:var(--paper);top:12px;left:12px;padding:2px 6px}
.product-open{width:36px;height:36px}
.product-meta{padding-top:17px}
.approach{grid-template-columns:1.05fr 1fr;gap:88px;align-items:center;padding-block:80px 90px}
.approach-image{align-self:stretch;min-height:540px}
.approach-image>img{height:100%;min-height:540px;max-height:680px;object-position:50% 50%}
.approach-image figcaption{font-size:13px;bottom:20px;left:20px;right:20px;padding:15px 18px;background:var(--paper)}
.approach-copy h2{font-size:clamp(40px,3.7vw,53px);max-width:480px;white-space:pre-line;line-height:1.12;margin-block:23px}
.approach-description{font-size:16px;line-height:1.75;max-width:440px;margin-bottom:26px}
.place-notes{margin:0 0 28px;padding:0;border-top:1px solid var(--line)}
.place-notes>div{display:grid;grid-template-columns:110px 1fr;gap:23px;padding:16px 0;border-bottom:1px solid var(--line)}
.place-notes dt{font-size:12px;color:var(--green);font-weight:650;line-height:1.6}
.place-notes dd{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.button-outline{border:1px solid var(--green);color:var(--green);background:transparent}
.button-outline:hover{background:var(--sage)}
.approach-brand{font-size:13px;line-height:1.7;color:var(--muted);max-width:420px;margin-top:26px}
.contact-section{padding-block:0 80px}
.contact-panel{padding:56px;gap:64px;grid-template-columns:1fr 1.1fr}
.contact-copy h2,html[lang=ru] .contact-copy h2{font-size:46px;max-width:none;white-space:pre-line;line-height:1.13;margin-block:20px}
.contact-copy>p:not(.eyebrow){font-size:16px;color:var(--form-ink);line-height:1.7;max-width:350px}
.demo-note{font-size:13px;color:var(--form-ink);line-height:1.7;max-width:350px;margin-top:26px}
.demo-note svg{width:19px;height:19px;margin-top:2px}
.contact-flower{width:42px;height:42px;margin-top:25px}
.field label{font-size:14px;line-height:1.6;margin-bottom:8px}
.field input,.field textarea{font-size:16px;border-bottom-color:var(--field-line);padding-bottom:13px;min-height:48px}
.field input::placeholder,.field textarea::placeholder{color:var(--form-ink)}
.field textarea{height:122px}
.field-error{font-size:12px;line-height:1.5;min-height:28px;color:#833e32}
.privacy-note{font-size:12px;line-height:1.65;color:var(--form-ink);max-width:none}
.form-status{font-size:14px}
.form-submit{font-size:14px}
.footer-main>p{font-size:14px}
.back-top{font-size:13px;min-height:44px}
.footer-bottom{font-size:12px;line-height:1.7}
.footer-object{font-size:10px}
.dialog-copy>p:not(.eyebrow){font-size:16px}
#dialog-details{font-size:14px}
.dialog-copy .button{font-size:14px}
dialog{scrollbar-gutter:stable}
button:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.hero-object:focus-visible{outline-offset:-6px}
.product-card:focus-visible{outline-offset:6px}
@media(max-width:1150px){
  .hero{gap:36px}.hero h1{font-size:65px}html[lang=ru] .hero h1{font-size:58px}
  .desktop-nav,html[lang=ru] .desktop-nav{gap:18px}
  .desktop-nav a,html[lang=ru] .desktop-nav a{font-size:13px}
  .header-inner{gap:22px}
  .approach{gap:48px}.contact-panel{padding:42px;gap:42px}
  .contact-copy h2,html[lang=ru] .contact-copy h2{font-size:40px}
}
@media(max-width:1000px){
  .desktop-nav{display:none}
  .header-tools{gap:14px}
  .language-switch{padding-left:0;border:0}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:44px;padding:9px}
  .menu-toggle>span{display:block;width:22px;height:1px;background:var(--ink);transition:transform .2s}
  .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3px) rotate(-45deg)}
}
@media(min-width:1001px){.mobile-nav{display:none!important}}
@media(max-width:900px){
  .hero{gap:28px}.hero h1{font-size:57px}html[lang=ru] .hero h1{font-size:51px}
  .hero-description{font-size:16px}.hero .eyebrow,html[lang=ru] .hero .eyebrow{font-size:10px}
  .hero-image-wrap{aspect-ratio:.8}.hero-object{left:14px;right:14px;bottom:14px;padding:14px}
  .hero-visual figcaption>span:last-child{display:none}
  .hero-object-name{font-size:13px}.hero-note{font-size:12px}
  .section{padding-block:70px}.section-heading{gap:30px}.section-intro{font-size:15px;max-width:275px}
  .product-grid{gap:36px 24px}.product-name,html[lang=ru] .product-name{font-size:24px}
  .approach{gap:36px}.approach-image,.approach-image>img{min-height:530px}
  .approach-copy h2{font-size:39px}.place-notes>div{grid-template-columns:90px 1fr;gap:15px}
  .contact-section{padding-top:0}.contact-panel{padding:36px;gap:30px}
  .contact-copy h2,html[lang=ru] .contact-copy h2{font-size:37px}
  .footer-main>p{font-size:13px}.footer-object{max-width:150px}
}
@media(max-width:760px){
  html{scroll-padding-top:24px}
  .header-inner{height:80px}
  .hero{grid-template-columns:1fr;padding-block:32px 32px;gap:30px}
  .hero-copy{padding:0}
  .hero .eyebrow,html[lang=ru] .hero .eyebrow{font-size:11px}
  .hero h1{font-size:clamp(51px,11vw,76px);margin-block:21px}
  html[lang=ru] .hero h1{font-size:clamp(46px,10.3vw,70px);letter-spacing:-.05em}
  .hero-description{font-size:16px;max-width:460px;line-height:1.7;margin-bottom:24px}
  .hero .button{font-size:14px;padding:15px 22px;min-height:54px}
  .hero-note{display:none}
  .hero-image-wrap{aspect-ratio:.98}
  .hero-visual figcaption{font-size:12px;gap:12px;padding-top:12px}
  .hero-visual figcaption>span:last-child{display:inline}
  .hero-object{bottom:14px;left:14px;right:14px;padding:14px 16px}
  .hero-object-name{font-size:14px}
  .hero-object-label{font-size:10px}
  .photo-stamp{padding:10px;top:15px;right:15px}
  .principles-inner>a{font-size:13px;padding:17px 12px;gap:9px;flex-wrap:wrap;align-content:center;line-height:1.5}
  .principles-inner>a>span:not(.place-number):not(.place-arrow){flex-basis:100%;order:2}
  .place-arrow{font-size:16px}
  .place-number{font-size:10px}
  .section{padding-block:58px}
  .section-heading h2{font-size:39px;max-width:400px}
  .section-intro{font-size:15px;line-height:1.7;max-width:440px;margin-top:20px}
  .eyebrow{font-size:11px}
  .collection-toolbar{flex-wrap:wrap;gap:13px;margin-bottom:25px}
  .filters{gap:3px}.filters button{font-size:12px;padding:9px 13px;min-height:44px}
  .collection-count{font-size:12px}
  .product-grid{gap:30px 18px}
  .product-name,html[lang=ru] .product-name{font-size:21px;line-height:1.3}
  .product-description{font-size:14px;line-height:1.65}
  .product-category{font-size:11px}
  .product-meta{padding-top:15px}
  .product-number{font-size:10px;top:11px;left:11px}
  .product-open{width:36px;height:36px;right:11px;bottom:11px}
  .approach{grid-template-columns:1fr;gap:30px}
  .approach-image,.approach-image>img{min-height:0}
  .approach-image>img{height:auto;max-height:none;aspect-ratio:1;object-position:center}
  .approach-image figcaption{font-size:13px;bottom:15px;left:15px;right:15px;padding:13px 16px}
  .approach-copy h2{font-size:40px;max-width:none;margin-block:18px}
  .approach-description{font-size:16px;max-width:none;line-height:1.75}
  .place-notes>div{grid-template-columns:95px 1fr;gap:20px;padding-block:17px}
  .place-notes dt{font-size:12px}.place-notes dd{font-size:14px}
  .story-button{font-size:14px;min-height:54px}
  .approach-brand{font-size:14px;line-height:1.7;max-width:none;margin-top:24px}
  .contact-section{padding-block:0 55px}
  .contact-panel{grid-template-columns:1fr;gap:30px;padding:32px 25px}
  .contact-copy h2,html[lang=ru] .contact-copy h2{font-size:39px;margin-block:18px}
  .contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:none}
  .demo-note{font-size:13px;margin-top:20px;max-width:none}
  .field label{font-size:14px}
  .field input,.field textarea{font-size:16px}
  .field-error{font-size:12px;min-height:29px}
  .privacy-note{font-size:12px}
  .form-submit{font-size:14px;min-height:54px}
  .footer-main>p{font-size:13px}
  .back-top{font-size:12px}
  .footer-bottom{font-size:11px;align-items:flex-start;flex-direction:column;gap:10px}
  .footer-object{font-size:10px;max-width:none;text-align:left}
  .dialog-copy{padding:28px}
  .dialog-copy>p:not(.eyebrow){font-size:15px}
  #dialog-details{font-size:14px}
  .dialog-copy .button{font-size:14px}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:1fr;gap:34px}
  .product-card{display:grid;grid-template-columns:1fr}
  .product-image{aspect-ratio:1.18}
  .product-name,html[lang=ru] .product-name{font-size:24px}
  .product-meta{padding-top:16px}
  .product-description{max-width:340px;font-size:15px}
  .collection-count{margin-left:12px}
}
@media(max-width:370px){
  .header-tools{gap:6px}.language-switch button{min-width:30px;padding-inline:3px}
  .wordmark{font-size:19px;gap:7px}.header-inner{gap:8px}
  .hero h1{font-size:49px}html[lang=ru] .hero h1{font-size:45px}
  .hero .eyebrow,html[lang=ru] .hero .eyebrow{font-size:10px}
  .hero-visual figcaption{font-size:11px}
  .hero-object{left:10px;right:10px;bottom:10px;padding:12px}
  .hero-object-name{font-size:13px}
  .section-heading h2{font-size:36px}
  .filters button{font-size:12px;padding-inline:10px}
  .approach-copy h2{font-size:36px}
  .place-notes>div{grid-template-columns:85px 1fr;gap:15px}
  .contact-panel{padding:28px 20px}
  .contact-copy h2,html[lang=ru] .contact-copy h2{font-size:34px}
  .button{gap:16px}
  .dialog-copy{padding:24px}
}
@media(prefers-reduced-motion:reduce){
 .hero-object svg{transition:none}.button:hover,.hero-object:hover svg{transform:none}
}
