/* Reference-led opening and shared native carousels. */
.header{transition:height .32s ease,box-shadow .32s ease,background-color .32s ease}
.header .wordmark{transition:font-size .32s ease,gap .32s ease}
.header .brand-mark{transition:width .32s ease,height .32s ease,flex-basis .32s ease}
.header.home-header:not(.is-compact){height:112px;background:#fbf7ef}
.header.home-header:not(.is-compact) .wordmark{font-size:32px;gap:14px}
.header.home-header:not(.is-compact) .brand-mark{width:48px;height:58px;flex-basis:48px}
.header.is-compact{box-shadow:0 3px 18px #20211d08}
.brand-intro{background:#fff;text-align:center}
.brand-intro-copy{padding:8px var(--gutter) 48px;max-width:900px;margin:0 auto}
.brand-intro-copy h1{font:500 clamp(28px,3.4vw,46px)/1.22 Arial,Helvetica,sans-serif;letter-spacing:-.035em;text-wrap:balance;margin:0 auto 20px;max-width:780px}
.brand-intro-copy h1 span{display:block}
.intro-wordmark{display:block;font:18px/1.5 Georgia,serif;letter-spacing:.12em;margin-bottom:16px}
.brand-intro-copy>.text-link{display:inline-flex;margin:0 auto 16px}
.intro-demo{display:block;font-size:11px;line-height:1.6;color:var(--muted)}
.intro-banner{height:clamp(240px,36vw,480px);overflow:hidden}.intro-banner img{width:100%;height:100%;object-fit:cover}
.intro-seal{position:relative;margin:-48px auto 24px;border-radius:50%;background:#fff;width:96px;height:96px;display:grid;place-items:center}.intro-seal .brand-mark{mix-blend-mode:multiply}
.collections-carousel{background:var(--sand);overflow:hidden}
.collection-carousel-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.collection-carousel-head h2{font:var(--heading)/1.2 var(--serif);margin-top:12px}
.swipe-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;width:100%;scroll-behavior:auto}
.swipe-track::-webkit-scrollbar{display:none}
.swipe-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box}
.collection-track>.collection-feature{padding:0;margin:0;align-items:center;gap:clamp(28px,5vw,80px)}
.collection-track .feature-copy{padding-right:1px}.collection-track h3{font:var(--heading)/1.2 var(--serif);margin:12px 0 20px}
.collection-track .feature-photo{width:100%;height:100%;max-height:560px;aspect-ratio:4/5;overflow:hidden}.collection-track .feature-photo img{user-select:none;-webkit-user-drag:none}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0}
.carousel-arrow{width:44px;height:44px;min-width:44px;display:grid;place-items:center;border:1px solid #bdb2a0;border-radius:50%;background:transparent;color:var(--ink)}
.carousel-arrow:hover:not(:disabled){background:#fff8}.carousel-arrow:disabled{opacity:.3;cursor:default}
.carousel-count{font:13px/1.5 Arial,sans-serif;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.carousel-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px}.swipe-hint{font-size:12px;color:var(--muted)}.carousel-footer .text-link{margin:0}
.gallery-track{aspect-ratio:1;position:relative}.gallery-slide{height:100%;background:#fff}.gallery-slide .gallery-main{width:100%;height:100%;aspect-ratio:1;object-fit:contain;user-select:none;-webkit-user-drag:none}
.product-gallery>.carousel-controls{margin-top:12px;justify-content:space-between}.product-gallery .thumbs{position:relative;margin-top:12px}
.swipe-track:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
@media(min-width:761px) and (max-width:1050px){.header.home-header:not(.is-compact) .wordmark{font-size:26px;gap:8px}}
@media(max-width:760px){
 .header.home-header:not(.is-compact){height:100px}
 .header.home-header:not(.is-compact) .wordmark{font-size:clamp(22px,6vw,28px);gap:8px;letter-spacing:.06em}
 .header.home-header:not(.is-compact) .brand-mark{width:44px;height:52px;flex-basis:44px}
 .brand-intro-copy{padding:16px var(--gutter) 32px}.brand-intro-copy h1{font-size:clamp(26px,6.9vw,34px);line-height:1.23;margin-bottom:18px;letter-spacing:-.025em}.intro-wordmark{font-size:16px;margin-bottom:12px}
 .brand-intro-copy>.text-link{font-size:14px;margin-bottom:12px}.intro-demo{font-size:11px}
 .collection-carousel-head{align-items:center;gap:12px;margin-bottom:24px}.collection-carousel-head h2{font-size:28px;margin-top:8px}.collection-carousel-head .eyebrow{font-size:10px}.collection-carousel-head .carousel-controls{gap:4px}.carousel-count{min-width:36px;font-size:12px}
 .collection-track>.collection-feature{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:24px;align-items:start}
 .collection-track .feature-photo{height:auto;max-height:none;aspect-ratio:4/3}.collection-track h3{font-size:30px;margin:12px 0 16px}.collection-track .feature-copy{display:flex;flex-direction:column;align-items:start;height:100%}.collection-track .feature-copy .button{margin-top:auto;margin-bottom:0}.collection-track .feature-copy p{max-width:100%}.carousel-footer{align-items:start;flex-direction:column;gap:12px;margin-top:20px}
}

/* Keep the entire supplied signature, including SO·FABLE, inside its box. */
.header .wordmark .brand-mark{overflow:visible}
.brand-intro{position:relative}
.intro-seal{width:112px;height:112px;margin:-56px auto 24px;z-index:1}
.flying-seal{position:fixed;left:0;top:0;width:180px;height:180px;z-index:11;pointer-events:none;border-radius:50%;background:#fff;display:grid;place-items:center;transform-origin:0 0;will-change:transform;contain:layout paint style}
/* Reserve the expanded header footprint: shrinking it cannot move the hero. */
.header.home-header{position:fixed;left:0;right:0;top:0}
body:has(.header.home-header) #main{padding-top:112px}
.header.home-header .wordmark>span:last-child{transform:translate3d(var(--wordmark-shift,0px),0,0);will-change:transform}
@media(max-width:760px){body:has(.header.home-header) #main{padding-top:100px}}
/* Two independent crops of the owner's original identity, not recreated type. */
.brand-symbol,.brand-lettering{display:block;background-image:url("assets/images/brand/identity-original.png");background-repeat:no-repeat;mix-blend-mode:multiply}
.brand-symbol{width:52%;aspect-ratio:450/696;background-size:256% 294.2529%;background-position:49.57265% 42.60355%}
.brand-lettering{width:148px;height:28.46154px;background-size:221.53846% 2048%;background-position:54.58861% 69.8152%}
.header .brand-lettering{flex-shrink:0}
.header .wordmark,.header.home-header:not(.is-compact) .wordmark{gap:10px}
.header .wordmark .brand-mark,.header.home-header:not(.is-compact) .wordmark .brand-mark{width:44px;height:52px;flex-basis:44px;display:grid;place-items:center;transition:none}
.original-banner{width:min(100%,1000px);aspect-ratio:1280/714;margin:0 auto;overflow:hidden}
.original-banner>img{display:block;width:100%;height:100%;object-fit:contain}
.intro-seal{display:grid;place-items:center;width:112px;height:112px;margin:-56px auto 20px;position:relative;border-radius:50%;background:#fff}
.seal-in-flight .intro-seal,.header.seal-in-flight .brand-symbol{visibility:hidden}
@media(max-width:760px){
 .brand-lettering{width:124px;height:23.84615px}
 .header .wordmark .brand-mark,.header.home-header:not(.is-compact) .wordmark .brand-mark{width:40px;height:44px;flex-basis:40px}
 .intro-seal{width:96px;height:96px;margin-top:-48px}
}
@media(prefers-reduced-motion:reduce){.header,.header .wordmark,.header .brand-mark{transition:none}.header.home-header .wordmark>span:last-child{transform:none}}
@media(max-width:360px){.brand-lettering{width:108px;height:20.76923px}}
