/* Shared layout, typography and interaction rules for compact and wide screens. */
:root{--sans:'Manrope',Arial,Helvetica,sans-serif;--serif:'Lora',Georgia,'Times New Roman',serif;--muted:#6d5961;--wine:#a3364d}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:95px}
body{font-family:var(--sans);line-height:1.65}
button,input,select,textarea{font-family:var(--sans)}
main,section,header,footer,nav,.hero-copy,.hero-picture,.product-content{min-width:0}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid #a3364d;outline-offset:5px}
.icon{stroke-width:1.7;display:inline-block;vertical-align:middle;flex-shrink:0}
header{height:102px;gap:28px;background:#fffdfb}
header .original-logo{width:245px;height:88px}
header .original-logo img{width:265px;max-width:none}
nav a{font-size:13px;font-weight:500;white-space:nowrap}
.hero{padding-top:20px;padding-bottom:12px;gap:42px}
.hero h1{font-family:var(--serif);font-size:clamp(40px,4.25vw,61px);line-height:1.14;letter-spacing:-2px;max-width:620px}
.hero p{font-size:14px;line-height:1.85;color:#6d5961}
.hero .eyebrow{font-size:11px;letter-spacing:1.35px;font-weight:600;color:#8d4357}
.hero .hero-note{font-size:11px;color:#79545f;line-height:1.65}
.hero .hero-picture.integrated-photo{width:100%;height:clamp(420px,37vw,535px);max-height:none;aspect-ratio:auto;margin:0;animation:none}
.hero .store-portrait{object-fit:contain;object-position:center bottom;mix-blend-mode:normal;mask-image:linear-gradient(to bottom,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 91%,transparent 100%)}
.hero-actions .button{min-height:49px;padding:14px 21px;font-size:12px;font-weight:600;border-radius:6px}
.hero-actions .text-link{font-size:12px;min-height:44px;align-items:center}
.home-assurances{font-size:11px;color:#765c65;padding:18px 0;gap:18px}
.home-assurances .icon{width:18px;height:18px;color:#9a5266}
.button,.filter{min-height:44px}
.filter{font-size:12px;border-radius:6px}
.search-wrap{min-width:0;max-width:100%}.search{min-width:0;font-size:13px}
.product h3{font-family:var(--serif);line-height:1.3;overflow-wrap:anywhere}
.product p{font-size:12px;line-height:1.75;color:#705e65}
.product-meta{font-size:10px}
.product-bottom>a{min-height:44px;font-size:11px}
.price{font-size:11px;line-height:1.6}
.disclaimer{font-size:11px;line-height:1.8;color:#7c6770}
.catalog-head h1{font-family:var(--serif);line-height:1.2;letter-spacing:-1.2px}
.catalog-head p{font-size:13px;line-height:1.8}
.result-count,.sort-label,.sort-label select{font-size:11px}
.store h2{font-family:var(--serif);line-height:1.2}
.store p{font-size:13px;line-height:1.9}
.store-google{font-size:12px;line-height:1.7}
.detail-content h2{font-family:var(--serif);font-size:clamp(27px,3vw,37px);line-height:1.2}
.detail-content>p{font-size:13px;line-height:1.75}
.detail-content .disclaimer{font-size:11px}
.close,.menu{min-width:44px;min-height:44px}
.menu{border-radius:6px}.menu:hover{background:#faedf1}
#unit-contact h2{font-family:var(--serif);font-size:29px;line-height:1.25;letter-spacing:-.6px}
#unit-contact .unit-intro{font-size:13px}#unit-contact .unit-option small{font-size:11px}#unit-contact .unit-footnote{font-size:11px}
footer{padding-top:20px;padding-bottom:20px}
.footer-top{padding-bottom:15px;gap:24px}.footer-top p{font-size:12px;line-height:1.8}.footer-top>a:last-child{font-size:12px}
.footer-bottom{font-size:10px;color:#7a646d;line-height:1.7;gap:15px}
.floating{bottom:max(24px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right))}
@supports not (backdrop-filter:blur(5px)){#unit-contact::backdrop{background:#36242b99}}
@supports not (mask-image:linear-gradient(#000,transparent)){.hero .store-portrait{mask-image:none}}
@media(max-width:1200px){header{gap:22px}header .contact{display:none}nav{gap:24px}.hero{gap:24px}.hero h1{font-size:clamp(38px,4.8vw,54px)}}
@media(max-width:900px){header{height:90px;padding-left:26px;padding-right:26px}header .original-logo{width:215px;height:80px}header .original-logo img{width:235px}nav{gap:18px}nav a{font-size:12px}.hero h1{font-size:41px;letter-spacing:-1.5px}.hero p{font-size:13px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero-actions{gap:15px}.hero-actions .button{padding:12px 16px;font-size:11px}.hero-actions .text-link{font-size:11px}.home-assurances{font-size:10px}.hero .hero-picture.integrated-photo{height:420px}}
@media(max-width:700px){
  header{height:87px;padding:0 20px;gap:14px}
  header .original-logo{width:220px;height:80px}header .original-logo img{width:244px}
  nav{top:87px;padding:12px 22px 18px}nav a{font-size:14px;min-height:45px;padding:11px 0}
  .hero{padding:22px 22px 0;gap:10px;grid-template-columns:minmax(0,1fr);background:linear-gradient(180deg,#fffaf8 0%,#fbefec 43%,#f4dcda 72%,#fffdfb 100%)}
  .hero .hero-copy{max-width:520px;width:100%;margin:auto}
  .hero .eyebrow{font-size:10px;letter-spacing:1px;line-height:1.7;margin-bottom:15px;gap:8px}
  .hero h1{font-size:clamp(36px,7.9vw,46px);line-height:1.16;letter-spacing:-1.3px;margin-bottom:16px;max-width:540px}
  .hero h1 br{display:none}
  .hero p{font-size:13px;line-height:1.8;margin-bottom:18px;max-width:420px}
  .hero-actions{gap:16px;align-items:center;flex-wrap:wrap}
  .hero-actions .button{font-size:11px;min-height:46px;padding:12px 16px;gap:9px}
  .hero-actions .text-link{font-size:11px;min-height:44px}
  .hero .hero-picture.integrated-photo{width:100%;height:clamp(300px,79vw,355px);min-height:0;max-height:none;margin:0;aspect-ratio:auto}
  .hero .store-portrait{width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,#000 93%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 93%,transparent)}
  .home-assurances{margin:0 22px;font-size:10px;line-height:1.6;padding:13px 0;gap:12px;flex-wrap:wrap;justify-content:space-between}
  .home-assurances span{gap:7px}.home-assurances .icon{width:16px;height:16px}
  .section{padding-top:28px;padding-bottom:30px}
  .catalog-head{padding:27px 22px}.catalog-head h1{font-size:32px;line-height:1.2;letter-spacing:-.7px}.catalog-head p{font-size:12px}
  .filter{font-size:11px;padding:10px 13px}.filters{gap:8px}.search{font-size:13px;min-height:44px}.catalog-tools{flex-wrap:wrap;gap:12px}
  .result-count,.sort-label,.sort-label select{font-size:10px}
  .product-content{padding:14px 12px}.product h3{font-size:20px}.product-meta{font-size:9px}.product p{font-size:11px}.price{font-size:10px}.product-bottom>a{font-size:10px;padding:10px 7px;min-height:44px}.product-meta>.illustrative-label{font-size:8px}
  .disclaimer{font-size:10px;line-height:1.8}
  .stores{gap:15px}.store{padding:22px}.store h2{font-size:29px}.store p{font-size:13px}
  .cta{padding:28px 22px}.cta h2{font-size:33px;line-height:1.2}.cta p{font-size:12px}
  .detail-content>p{font-size:12px}.detail-content .disclaimer{font-size:10px}
  footer{padding-top:16px;padding-bottom:18px;margin-left:22px;margin-right:22px}
  .footer-top{gap:15px;flex-wrap:wrap;padding-bottom:12px}.footer-top .original-logo{width:160px;height:60px}.footer-top .original-logo img{width:180px}.footer-top>a:last-child{font-size:10px;max-width:145px}.footer-bottom{font-size:10px;gap:8px}
  .floating{width:58px;height:58px;right:max(17px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
  #unit-contact{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);width:calc(100% - 36px);padding:28px 22px}#unit-contact h2{font-size:26px}#unit-contact .unit-option strong{font-size:14px}
}
@media(max-width:360px){header{padding:0 16px}header .original-logo{width:200px}header .original-logo img{width:224px}.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:35px}.hero .eyebrow{font-size:9px;letter-spacing:.65px}.hero-actions{gap:12px}.hero-actions .button{font-size:10px;padding:12px 13px}.hero-actions .text-link{font-size:10px}.hero .hero-picture.integrated-photo{height:290px}.home-assurances{font-size:9px;margin:0 18px}.products{gap:12px 10px}.product h3{font-size:18px}.product-bottom>a{font-size:9px}.footer-top{flex-direction:column;align-items:flex-start}.footer-top>a:last-child{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
