/* Container-based geometry. No viewport-derived card heights or page-level clipping fixes. */
.v-hero picture.v-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.product-detail{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.product-detail>*,.product-grid>*,.form-grid>*,.contact-layout>*,.site-footer>*{min-width:0}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-photo{height:auto;aspect-ratio:4/5}
.product-info,.prose{overflow-wrap:anywhere}
.product-actions{flex-wrap:wrap}
.spec-list div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.spec-list dd{overflow-wrap:anywhere}
.js-product-marquee{scroll-behavior:auto!important;scroll-snap-type:none!important;touch-action:pan-y;overscroll-behavior-x:contain;scrollbar-width:none;user-select:none;cursor:grab}
.js-product-marquee::-webkit-scrollbar{display:none}
.js-product-marquee.is-dragging{cursor:grabbing}
.js-product-marquee a{-webkit-user-drag:none}
.marquee-pause{border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);padding:8px 15px;cursor:pointer;font-size:12px}
.v-hero:after{pointer-events:none}
@media(max-width:850px){
  .site-header{gap:12px}.site-header .brand{flex:1;min-width:0;max-width:calc(100% - 96px)}
  .site-header .brand img{width:220px;max-width:100%;height:54px}.header-actions{flex:0 0 auto}
  .mobile-drawer{visibility:hidden;pointer-events:none}.mobile-drawer.open{visibility:visible;pointer-events:auto}
  .site-header .brand:not(:has(img)){font-size:20px;overflow-wrap:anywhere}.brand i{flex-shrink:0}
  /* A composed mobile cover: image, copy and motion share the same stage. */
  .page-home .site-header{position:absolute;background:linear-gradient(#10251ed9,transparent);color:#fff;border:0}
  .page-home .site-header .language{color:#fff}
  .v-hero{height:auto!important;min-height:clamp(420px,62svh,540px)!important;display:flex!important;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden}
  .v-hero .v-hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto;background-size:cover!important;background-repeat:no-repeat;opacity:1!important;mix-blend-mode:normal!important;z-index:-2;animation:mobile-room-drift 14s ease-in-out infinite alternate}
  .v-hero picture.v-hero-image img{width:100%;height:100%;object-fit:cover;object-position:60% center}
  .v-hero .v-hero-copy{position:relative!important;width:100%!important;max-width:560px!important;margin:0!important;padding:96px 24px 38px!important;z-index:2;background:transparent;color:#fff}
  .v-hero .v-hero-copy h1{font-size:clamp(34px,9.5vw,48px)!important;line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere;text-shadow:0 2px 20px #10251e55}
  .v-hero .v-hero-copy p{max-width:30ch!important;color:#fff!important;overflow-wrap:anywhere}
  .v-hero .v-hero-copy a{max-width:100%;min-width:168px;min-height:48px;background:#ffffff14;color:#fff;border-color:#ffffffb3;white-space:normal;backdrop-filter:blur(8px)}
  .v-hero:after{display:block!important;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#10231e25 20%,#10231e20 35%,#10231ece 100%);pointer-events:none}
  .v-hero .v-botanical-leaf{display:block!important;pointer-events:none;z-index:1;width:120px;height:185px;border-width:10px;opacity:.22}
  .v-hero .v-leaf-one{right:-28px;top:20%}.v-hero .v-leaf-two{right:6%;bottom:-80px}
  .v-hero-copy .v-kicker{font-size:10px;letter-spacing:.18em}
  .v-hero-copy>*{animation:mobile-copy-reveal .85s both}.v-hero-copy h1{animation-delay:.1s}.v-hero-copy>p:not(.v-kicker){animation-delay:.2s}.v-hero-copy>a{animation-delay:.3s}
  .v-hero .v-scroll,.v-hero .v-vertical,.v-gallery-header,.v-studio-nav,.v-hero-index,.v-pop-caption,.v-nocturne-count{display:none!important}
  .v-section,.section{padding:56px 20px}
  .v-botanical-promise,.v-studio-intro,.v-pop-intro,.v-nocturne-intro,.v-spatial-statement{padding:56px 22px;display:block}
  .v-botanical-promise h2{font-size:clamp(26px,7vw,38px);line-height:1.45}
  .v-botanical-collections,.v-pop-categories,.v-atelier-shell{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0}
  .v-botanical-list{padding:26px 20px}.v-botanical-list a{grid-template-columns:24px 60px minmax(0,1fr) 20px;gap:12px}
  .v-botanical-list span{height:60px;aspect-ratio:1}.v-botanical-list strong{font-size:20px;overflow-wrap:anywhere}
  .v-botanical-copy,.v-botanical-feature article{padding:44px 22px;min-width:0}
  .v-botanical-feature>div{min-height:0;aspect-ratio:4/3}
  .v-botanical-products{padding:56px 20px}.v-botanical-products header{position:relative}.v-botanical-products h2{font-size:36px}
  .v-botanical-products>div.js-product-marquee{display:flex;gap:16px;margin:28px 0 0;padding:0;width:100%;overflow-x:hidden}
  .v-botanical-products>div.js-product-marquee>a{flex:0 0 78%;min-width:0;margin:0}
  .v-botanical-products>div.js-product-marquee>a>span{height:auto;aspect-ratio:4/5}
  .v-botanical-products strong{font-size:22px;overflow-wrap:anywhere}
  .v-stagger-grid,.v-products-editorial,.v-orbit-grid,.v-product-rings,.v-studio-cards,.v-atelier-products>div,.v-pop-products>div,.v-spatial-products>div,.v-nocturne-objects>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px!important;width:100%;margin:28px 0 0!important;padding:0!important;overflow:visible!important}
  .v-stagger-grid>a,.v-products-editorial>a,.v-orbit-grid>a,.v-product-rings>a,.v-studio-cards>a,.v-atelier-products>div>a,.v-pop-products>div>a,.v-spatial-products>div>a,.v-nocturne-objects>div>a{min-width:0;margin:0;overflow-wrap:anywhere}
  .v-category .v-image,.v-piece>span,.v-orbit-card .v-image,.v-ring-piece>span,.v-studio-cards a>div,.v-atelier-products a>span,.v-pop-products a>span,.v-spatial-products a>span,.v-nocturne-objects a>span{height:auto!important;aspect-ratio:4/5}
  .v-gallery-orbits,.v-gallery-products,.v-studio-catalog,.v-studio-products,.v-atelier-block,.v-atelier-products,.v-pop-products,.v-spatial-products,.v-nocturne-objects,.v-spatial-panels,.v-nocturne-categories{padding:56px 20px}
  .v-atelier-side{padding:30px 22px}.v-atelier-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.v-atelier-mosaic:before{display:none}
  .v-pop-title{padding:40px 22px}.v-pop-triangles{padding:20px;gap:12px;grid-template-columns:1fr}.v-pop-triangles a{min-height:280px;clip-path:none}
  .v-spatial-panels>div{grid-template-columns:repeat(2,minmax(0,1fr))}.v-spatial-panels a{min-height:230px}
  .v-studio-products a{grid-template-columns:28px minmax(0,1fr) 20px;gap:12px}.v-studio-products small{grid-column:2;grid-row:2}.v-studio-products strong{font-size:21px}
  .v-closing{padding:54px 22px;min-height:0}.v-closing h2{font-size:clamp(30px,8vw,44px);line-height:1.25;overflow-wrap:anywhere}
  .page-hero{padding:48px 20px 32px}.page-hero h1{font-size:clamp(34px,10vw,52px);line-height:1.15;overflow-wrap:anywhere}
  .breadcrumb{padding:24px 20px 16px;flex-wrap:wrap;overflow-wrap:anywhere}
  .product-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px;overflow:visible;margin:0;padding:0}
  .product-grid .product-card{flex:none;min-width:0;max-width:100%}.product-grid .product-photo{height:auto;min-height:0;aspect-ratio:4/5}
  .product-card h3{font-size:19px;line-height:1.35;overflow-wrap:anywhere}.product-card>div{padding-right:28px}.round-link{width:25px;height:25px}
  .product-detail{grid-template-columns:minmax(0,1fr);gap:24px;padding:12px 20px 48px}
  .gallery-main{width:100%;height:auto;max-height:none;aspect-ratio:1;background-size:contain;background-repeat:no-repeat}
  .gallery-thumbs{max-width:100%;scrollbar-width:none}.gallery-thumbs button{flex:0 0 70px;width:70px;height:64px}
  .product-info{padding-top:0}.product-info h1{font-size:clamp(32px,9vw,48px);line-height:1.2;overflow-wrap:anywhere}
  .spec-list div{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;font-size:14px}
  .product-actions .btn{flex:1 1 140px;min-width:0;padding:12px;letter-spacing:.025em}
  .product-rich-detail{padding:44px 20px}.product-rich-detail .rich-content{font-size:16px}
  .filter-row{max-width:100%;gap:12px;flex-wrap:wrap;white-space:normal}.filter-row a{font-size:12px;padding:6px}
  .contact-layout,.form-grid{grid-template-columns:minmax(0,1fr)}.contact-details,.large-form{padding:24px 20px}.form-grid input{min-width:0}
  .site-footer{grid-template-columns:minmax(0,1fr);padding:44px 22px 95px}.site-footer .brand img{max-width:100%;width:280px}.site-footer a{overflow-wrap:anywhere}
  .inquiry-modal{max-width:calc(100vw - 24px);max-height:85dvh;padding:30px 20px}.toast{max-width:calc(100vw - 32px)}
}
@media(prefers-reduced-motion:reduce){.js-product-marquee{scroll-behavior:auto!important}}

@keyframes mobile-room-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes mobile-copy-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
/* One continuous mobile collection panel: editorial heading, circular list and action. */
@media(max-width:850px){
  .v-botanical-collections{padding:38px 24px 30px;background:#dce7d9;color:#254235;gap:0;grid-template-columns:minmax(0,1fr);position:relative}
  .v-botanical-list{display:block;min-width:0;padding:16px 0 0;grid-row:3}
  .v-botanical-list a{display:grid;grid-template-columns:22px 64px minmax(0,1fr) 20px;gap:12px;align-items:center;min-width:0;margin:0;padding:14px 0;border-bottom:1px solid #aebfac}
  .v-botanical-list a:last-child{border-bottom:0}
  .v-botanical-list a span{width:64px;height:64px;aspect-ratio:1;border-radius:50%;background-position:center;background-size:cover}
  .v-botanical-list a small{font-size:11px;color:#526b57;font-variant-numeric:tabular-nums}
  .v-botanical-list a strong{font-size:clamp(18px,5vw,23px);line-height:1.25;overflow-wrap:anywhere}
  .v-botanical-list a i{justify-self:end;font-size:20px}
  .v-botanical-list a:active{background:#ffffff38;transform:none}
  .v-botanical-copy{display:contents;color:inherit}
  .v-botanical-copy h2{grid-row:2;font-size:clamp(30px,8vw,40px);line-height:1.15;margin:0;padding-bottom:24px;border-bottom:1px solid #aebfac}
  .v-botanical-copy h2 br{display:none}
  .v-botanical-copy .v-kicker{grid-row:1;font-size:9px;margin:0 0 12px;letter-spacing:.2em}
  .v-botanical-copy a{grid-row:4;justify-self:end;align-self:center;min-width:0;min-height:44px;margin:14px 0 0;padding:0 0 0 18px;border:0;border-bottom:1px solid #456a4c;background:none;color:#254235;gap:24px}
  .v-botanical-copy a:after{content:'↗';font-size:22px;font-weight:400}
  /* The caption overlaps the room photograph instead of forming a separate full-width block. */
  .v-botanical-feature{display:block;padding:28px 0 36px;background:#dce7d9}
  .v-botanical-feature>div{min-height:0;aspect-ratio:4/4.3;width:calc(100% - 24px);background-position:center;border-radius:0 64px 0 0}
  .v-botanical-feature article{position:relative;z-index:1;width:calc(100% - 48px);margin:-88px 0 0 auto;padding:25px 24px 28px;background:#fbfdf8f5;border-left:2px solid #ae865a;box-shadow:0 12px 24px #2542350c}
  .v-botanical-feature article .v-kicker{font-size:9px;margin-bottom:13px}
  .v-botanical-feature h2{font-size:clamp(28px,8vw,38px);line-height:1.15}
  .v-botanical-feature article>p:last-child{font-size:14px;line-height:1.75;margin:16px 0 0}
  .v-hero-copy .v-kicker{max-width:none!important}
  .v-hero-copy>p:not(.v-kicker){font-size:14px;line-height:1.6;margin:16px 0 0}
  .v-hero-copy>a{margin-top:22px}
}
@media(min-width:600px) and (max-width:850px){
  .v-botanical-collections{padding:44px 8vw 32px}
  .v-botanical-feature>div{aspect-ratio:4/3}.v-botanical-feature article{width:65%;margin-top:-120px;padding:32px}
}
@media(prefers-reduced-motion:reduce){.v-hero .v-hero-image,.v-hero .v-hero-copy>*,.v-hero .v-botanical-leaf{animation:none!important;transform:none!important}}
/* Standalone CMS pages keep rich content readable without constraining editorial images. */
.content-page.rich-content{width:min(100% - 44px,980px);margin:0 auto;padding:clamp(56px,8vw,110px) 0;min-width:0}
.content-page.rich-content iframe{display:block;width:100%;min-height:420px;border:0;margin:28px auto;aspect-ratio:16/9}
@media(max-width:850px){.content-page.rich-content{width:100%;padding:46px 22px 72px}.content-page.rich-content iframe{min-height:260px}}
