.puzzle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,100px);align-items:center}.puzzle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.puzzle-tile{margin:0;aspect-ratio:1/1;min-width:0;overflow:hidden;border-radius:3px}.puzzle-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.puzzle-image:hover img{transform:scale(1.045)}.puzzle-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(18px,2.1vw,34px);background:#e6e0d4;color:#23221f}.puzzle-card>.fi{font-size:26px;color:var(--red);margin-bottom:20px}.puzzle-card h3{font-size:clamp(20px,1.8vw,28px);line-height:1.15;margin:0 0 15px}.puzzle-card p{font-size:12px;line-height:1.8;margin:0;max-width:240px}.puzzle-card.ink-tile{background:var(--ink);color:#f7f4ec}.ink-tile>.fi{color:#e3c9a1}.puzzle-mark{display:inline-flex;color:var(--red);font-size:32px;margin-bottom:25px}.puzzle-copy h2{font-size:clamp(36px,4.5vw,65px);line-height:1.05;max-width:560px;margin-bottom:28px}.puzzle-copy>p{font-size:14px;line-height:1.9;color:#777165;max-width:510px;margin-bottom:23px}.puzzle-copy>.button{margin-top:9px}.puzzle-ready .puzzle-tile{opacity:0;transform:translate3d(-22px,30px,0) scale(.96);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--tile)*150ms)}.puzzle-ready .puzzle-tile:nth-child(even){transform:translate3d(22px,-24px,0) scale(.96)}.puzzle-ready.assembled .puzzle-tile{opacity:1;transform:none}
.comparison-stage{height:auto!important;aspect-ratio:2.65/1;background:#e3ded3}.comparison-base{position:absolute;inset:0}.comparison-scene{display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:4px;height:100%;width:100%;background:#e3ded3}.comparison-object{position:relative;margin:0;min-width:0;overflow:hidden;height:100%;background:#e3ded3}.comparison-object img{width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block}.comparison-object figcaption{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#f7f4eced;border:1px solid #d5cbbb;padding:7px 12px;border-radius:3px;text-transform:uppercase;font-size:8px;letter-spacing:1.2px;color:#4b4439}.comparison-caption{top:15px;font-size:12px;background:#faf7f0f2}.comparison-caption.first{left:15px}.comparison-caption.second{right:15px}.comparison-caption small{font-size:8px}.comparison-overlay{background:#e3ded3}
.inspiration-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.inspiration-controls .inspiration-pagination{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px;width:auto;max-width:50%}.inspiration-controls .slider-buttons{flex-shrink:0;gap:8px}.slider-buttons button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.slider-buttons .slider-pause{font-size:16px;letter-spacing:-2px}.slider-pause[aria-pressed=true]{letter-spacing:0}.slider-pause:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:1100px){.puzzle-layout{gap:35px}.puzzle-grid{gap:15px}.puzzle-card{padding:17px}.puzzle-card>.fi{font-size:23px;margin-bottom:12px}.puzzle-card h3{font-size:22px;margin-bottom:12px}.puzzle-card p{font-size:10px;line-height:1.65}.puzzle-copy h2{font-size:43px}.puzzle-copy>p{font-size:12px}.comparison-stage{aspect-ratio:2.3/1}.comparison-object figcaption{font-size:7px;padding:6px 8px;letter-spacing:.6px}}
@media(max-width:900px){.mobile-nav{inset:76px 0 0;padding:28px 24px max(28px,env(safe-area-inset-bottom));gap:20px;justify-content:safe center;text-align:center;overscroll-behavior:contain;max-height:calc(100dvh - 76px)}.mobile-nav>a{width:100%;max-width:420px;text-align:center;font-size:clamp(24px,4vw,34px)}.mobile-nav .mobile-categories{width:min(100%,520px);display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 auto;padding:19px 0;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26}.mobile-categories>a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:42px;padding:9px 12px;font-size:12px;line-height:1.4;border:1px solid #ffffff20;border-radius:5px;background:#ffffff06}.mobile-categories>a:hover{background:#ffffff12}.mobile-nav>span{width:100%;text-align:center}.nav-actions{align-items:center}.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;width:44px;height:44px;padding:10px;gap:6px}.menu-toggle span{margin:0}.puzzle-layout{grid-template-columns:1fr;gap:35px}.puzzle-grid{max-width:640px;width:100%;margin:auto;gap:20px}.puzzle-copy{max-width:640px;text-align:center;margin:auto}.puzzle-copy h2,.puzzle-copy>p{margin-left:auto;margin-right:auto;max-width:600px}.puzzle-copy h2{font-size:48px}.puzzle-copy>p{font-size:14px}.puzzle-card{padding:30px}.puzzle-card h3{font-size:26px}.puzzle-card p{font-size:13px}.puzzle-mark{margin-bottom:20px}}
@media(max-width:620px){.mobile-nav{inset:70px 0 0;max-height:calc(100dvh - 70px);gap:18px;padding:25px 22px max(25px,env(safe-area-inset-bottom))}.mobile-nav>a{font-size:26px}.mobile-nav .mobile-categories{gap:8px;padding:15px 0}.mobile-categories>a{font-size:10px;padding:8px}.puzzle-grid{gap:12px}.puzzle-card{padding:15px 12px;aspect-ratio:auto;min-height:190px}.puzzle-image{aspect-ratio:auto;min-height:190px}.puzzle-card>.fi{font-size:20px;margin-bottom:11px}.puzzle-card h3{font-size:21px;margin-bottom:10px}.puzzle-card p{font-size:10px;line-height:1.65}.puzzle-copy h2{font-size:39px}.puzzle-copy>p{font-size:12px;line-height:1.85}.puzzle-layout{gap:28px}.puzzle-copy .button{font-size:11px}.puzzle-mark{font-size:27px}.comparison-stage{aspect-ratio:2.2/1;border-radius:8px}.comparison-scene{gap:2px;grid-template-columns:1fr 1fr 1fr}.comparison-object img{object-position:center;object-fit:cover}.comparison-caption{top:10px;padding:8px;font-size:9px;max-width:45%}.comparison-caption.first{left:10px}.comparison-caption.second{right:10px}.comparison-caption small{font-size:6px;line-height:1.5}.comparison-object figcaption{font-size:5px;padding:5px 3px;letter-spacing:0;bottom:10px;max-width:95%;white-space:normal;text-align:center}.comparison-note{justify-content:center;flex-wrap:wrap;text-align:center;gap:7px}.comparison-note>span:last-child{max-width:none;text-align:center}.inspiration-controls{gap:12px;margin-top:20px}.inspiration-controls .slider-buttons{gap:6px}.inspiration-controls .slider-buttons button{width:36px;height:36px;font-size:17px}.collection-swiper .slider-footer{gap:12px}.collection-swiper .slider-footer>span{max-width:130px;font-size:9px}.collection-swiper .slider-buttons{gap:6px}.collection-swiper .slider-buttons button{width:36px;height:36px;font-size:17px}}
@media(max-width:380px){.puzzle-card h3{font-size:18px}.puzzle-card p{font-size:9px}.puzzle-card,.puzzle-image{min-height:175px}.mobile-nav{gap:13px}.mobile-nav>a{font-size:23px}}
@media(prefers-reduced-motion:reduce){.puzzle-tile,.puzzle-image img{transition:none!important;transform:none!important;opacity:1!important}}
.quiet-reveal{transition:opacity .7s ease-out}.quiet-reveal-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.quiet-reveal{transition:none!important;opacity:1!important}}
@media print{.quiet-reveal{opacity:1!important}}

.puzzle-ready .puzzle-tile,.puzzle-ready .puzzle-tile:nth-child(even){opacity:0;transform:translate3d(0,12px,0);transition:opacity .85s ease,transform .85s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--tile)*240ms)}
.puzzle-ready.assembled .puzzle-tile{opacity:1;transform:translate3d(0,0,0)}
.quiet-reveal{transition:opacity .95s cubic-bezier(.25,.46,.45,.94)}
.inspiration-photo,.material-photo{overflow:hidden}.inspiration-photo>img,.material-photo>img{transition:transform 1.1s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.inspiration-photo:hover>img,.material-photo:hover>img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.puzzle-ready .puzzle-tile,.puzzle-ready .puzzle-tile:nth-child(even){opacity:1!important;transform:none!important;transition:none!important}.quiet-reveal{opacity:1!important;transition:none!important}.inspiration-photo>img,.material-photo>img{transition:none!important;transform:none!important}}
@media print{.puzzle-ready .puzzle-tile{opacity:1!important;transform:none!important}}

/* Keep animated elements inside the viewport without creating a scroll
   container around the sticky header. */
html,body{overflow-x:clip}
@supports not (overflow:clip){html{overflow-x:hidden}}

/* Grid items and form controls must be able to shrink below their content's
   intrinsic width, especially in the two-column mobile contact form. */
.about-composition>*,.occasion-grid>*,.details-grid>*,.care-panel>*,
.faq-grid>*,.contact-intro>*,.contact-grid>*,.form-row>*,.footer-top>*,
.footer-grid>*,.category-hero-grid>*,.intent-grid>*,.intent-body>*,
.fit-grid>*,.material-panel>*,.policy-layout>*,.product-modal-grid>*,
.showcase-grid>*,.stories-layout>*,.story-minis>*,.puzzle-layout>*,
.inspiration-layout>*{min-width:0}
.swiper{min-width:0;max-width:100%}
input,textarea,select,.custom-select{min-width:0;max-width:100%}

/* Allow long headings to wrap instead of widening their grid tracks. */
.collection-section h2,.occasion-section h2,.care-panel h2,.faq-section h2,
.footer-top h2,.category-hero h1,.category-hero h1 .hero-word,
.intent-grid h2,.category-cta h2{white-space:normal;overflow-wrap:anywhere}
@media(max-width:380px){
  #contact-form .form-row{grid-template-columns:minmax(0,1fr);gap:0}
  .care-actions,.product-actions{flex-wrap:wrap}
}
