/* Home: quiet luxury. Hairlines, not boxes. At most two decorative devices per section. */
:root{
	--th-rings:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='800' viewBox='0 0 800 800' fill='none' stroke='%23c99a2e' stroke-opacity='.75' stroke-width='1'%3E%3Ccircle cx='400' cy='400' r='60'/%3E%3Ccircle cx='400' cy='400' r='110'/%3E%3Ccircle cx='400' cy='400' r='160'/%3E%3Ccircle cx='400' cy='400' r='215'/%3E%3Ccircle cx='400' cy='400' r='270'/%3E%3Ccircle cx='400' cy='400' r='330'/%3E%3Ccircle cx='400' cy='400' r='395'/%3E%3C/svg%3E");
}
.home{background:var(--ivory);color:var(--ink-lux)}
.home em{font-style:italic}
.home-eyebrow{font:500 var(--fs-eyebrow,12px)/1.4 var(--sans-lux);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon-lux);margin:0 0 var(--sp-4,16px)}
.home-wrap{max-width:1360px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.home-section{padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--hair)}
.home-title{font:500 var(--fs-h2,clamp(2rem,3.4vw,2.75rem))/1.1 var(--serif-lux);color:var(--ink-lux);margin:0}
.home-title--sm{font-size:clamp(1.375rem,2vw,1.75rem)}
.home .orn{display:block;margin:var(--sp-3,12px) 0 var(--sp-5,24px)}
.home img{display:block;max-width:100%;height:auto;border-radius:0}
.home-hero h1 em{background:linear-gradient(transparent 64%,rgba(201,154,46,.24) 64%);padding:0 .06em}
.home-hero .link-draw::after,.home-collection .link-draw::after,.home-tile .link-draw::after,.home-gift .link-draw::after{content:"\2192";display:inline-block;margin-left:var(--sp-2,8px);transition:transform var(--dur-2,300ms) var(--ease,ease)}
.home-hero .link-draw:hover::after,.home-collection .link-draw:hover::after,.home-tile:hover .link-draw::after,.home-gift .link-draw:hover::after,.home-hero .link-draw:focus-visible::after,.home-collection .link-draw:focus-visible::after,.home-gift .link-draw:focus-visible::after{transform:translateX(4px)}

/* hero: warm glow + fading rings (two devices) + offset gold frames on the photos */
.home-hero{display:grid;grid-template-columns:1fr;position:relative;overflow:clip;isolation:isolate;background:
	radial-gradient(55% 75% at 78% 42%,rgba(201,154,46,.20),transparent 72%),
	radial-gradient(45% 60% at 6% 96%,rgba(91,26,43,.07),transparent 70%),
	var(--ivory)}
.home-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--th-rings) no-repeat right -9% center/min(78vw,820px);
	-webkit-mask-image:linear-gradient(to right,#000 55%,transparent 94%),linear-gradient(to bottom,#000 60%,transparent 96%);-webkit-mask-composite:source-in;
	mask-image:linear-gradient(to right,#000 55%,transparent 94%),linear-gradient(to bottom,#000 60%,transparent 96%);mask-composite:intersect}
.home-hero__text{position:relative;z-index:1;padding:clamp(48px,8vw,120px) clamp(20px,4vw,56px);padding-bottom:var(--sp-5,24px);align-self:center}
.home-hero h1{font:500 clamp(2.75rem,5.2vw,5rem)/1.04 var(--serif-lux);color:var(--ink-lux);margin:0 0 var(--sp-5,24px);max-width:14ch}
.home-hero__lede{font:400 var(--fs-lead,1.125rem)/1.6 var(--sans-lux);color:var(--ink-soft);max-width:44ch;margin:0 0 var(--sp-6,32px)}
.home-hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-5,24px);margin:0}
.home-hero__media{position:relative;z-index:1;isolation:isolate;padding:0 clamp(20px,4vw,56px) clamp(48px,8vw,80px)}
.home-hero__img{position:relative;display:block;overflow:hidden;background:var(--stone)}
.home-hero__img img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%}
.home-hero__img--2,.home-hero__img--3{display:none}
@media (min-width:900px){
	.home-hero{grid-template-columns:5fr 7fr;min-height:clamp(520px,74svh,700px)}
	.home-hero__text{padding:clamp(32px,4vw,64px) clamp(20px,2.5vw,40px) clamp(32px,4vw,64px) clamp(32px,5vw,80px)}
	.home-hero__media{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.2vw,20px);align-items:start;align-content:center;padding:clamp(24px,3vw,48px) clamp(16px,2vw,32px) clamp(24px,3vw,48px) 0}
	.home-hero__img--2,.home-hero__img--3{display:block}
	.home-hero__img{overflow:visible}
	.home-hero__img img{position:relative;aspect-ratio:3/4;object-position:center}
	.home-hero__img::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(201,154,46,.7);z-index:-1;pointer-events:none}
	.home-hero__img--2{margin-top:48px}
	.home-hero__img--3{margin-top:96px}
}
@media (min-width:900px) and (max-width:1500px){.home-hero__img::before{inset:10px -8px -10px 10px}}

/* rails (shared): positioned so abs children cannot leak */
.home-rail{position:relative;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--sp-4,16px);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(26,15,18,.28) transparent}
.home-rail--tiles{scroll-snap-type:x mandatory}

/* category tiles: one baseline, equal heights */
.home-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:var(--sp-5,24px)}
.home-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2,8px);min-width:0}
.home-tile__img{display:block;width:100%;overflow:hidden;background:var(--stone)}
.home-tile__img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.home-tile__name{font:500 24px/1.2 var(--serif-lux);color:var(--ink-lux);margin-top:var(--sp-3,12px)}
@media (max-width:1099px){.home-tiles{grid-template-columns:repeat(min(var(--cols,3),3),minmax(0,1fr))}.home-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:699px){
	.home-tiles,.home-tiles--4{display:flex;gap:var(--sp-4,16px)}
	.home-tile{flex:0 0 min(62vw,260px);scroll-snap-align:start}
}

/* featured rail: cards keep their own markup */
#home-featured{background:var(--stone)}
.home-rail--products ul.products{display:flex;gap:var(--sp-5,24px);margin:0;padding:0;list-style:none}
.home-rail--products ul.products li.product{position:relative;flex:0 0 min(260px,70vw);scroll-snap-align:start;float:none;margin:0;width:auto}

/* collections: swipe row below 900px, three cards above; gold frame behind each photo */
.home-collections-wrap{position:relative;border-top:1px solid var(--hair)}
.home-collections{display:flex;gap:var(--sp-4,16px);overflow-x:auto;scroll-snap-type:x proximity;position:relative;padding:var(--sp-6,32px) clamp(20px,4vw,56px);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(26,15,18,.28) transparent}
.home-collections-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;pointer-events:none;background:linear-gradient(to right,transparent,var(--ivory))}
.home-collection{position:relative;flex:0 0 min(72vw,340px);scroll-snap-align:start;display:flex;flex-direction:column;gap:var(--sp-3,12px);padding:0;border:0}
.home-collection__img{display:block;overflow:hidden;background:var(--stone);max-width:420px;width:100%}
.home-collection__img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.home-collection h3{font:500 var(--fs-h3,clamp(1.75rem,2.6vw,2.25rem))/1.15 var(--serif-lux);margin:0 0 var(--sp-3,12px);color:var(--ink-lux)}
.home-collection__cats{color:var(--ink-soft);margin:0 0 var(--sp-2,8px)}
.home-collection__count{color:var(--ink-soft);margin:0 0 var(--sp-5,24px)}
@media (min-width:900px){
	.home-collections-wrap::after{display:none}
	.home-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);max-width:1360px;margin:0 auto;padding:clamp(40px,5vw,72px) clamp(20px,4vw,56px);overflow:visible;isolation:isolate}
	.home-collection{flex:none;align-items:flex-start;gap:var(--sp-4,16px)}
	.home-collection__img{position:relative;overflow:visible;max-width:none;margin-bottom:var(--sp-5,24px)}
	.home-collection__img::after{content:"";position:absolute;inset:10px -10px -10px 10px;border:1px solid rgba(201,154,46,.65);z-index:-1;pointer-events:none}
	.home-collection__text{align-self:stretch}
}

/* occasion: compact hairline chips */
.home-text-row .home-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4,16px) var(--sp-6,32px)}
.home-occasions{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-3,12px)}
.home-occasion{display:inline-flex;align-items:baseline;gap:var(--sp-3,12px);min-height:44px;align-content:center;align-items:center;padding:0 var(--sp-5,24px);font:500 1.125rem/1 var(--serif-lux);color:var(--ink-lux);text-decoration:none;border:1px solid var(--hair);transition:color var(--dur-2,240ms) var(--ease,ease),border-color var(--dur-2,240ms) var(--ease,ease)}
.home-occasion:hover,.home-occasion:focus-visible{color:var(--maroon-lux);border-color:var(--gold-ink-lux)}
.home-count{font:400 var(--fs-small,.875rem)/1 var(--sans-lux);color:var(--ink-soft);font-variant-numeric:tabular-nums}

/* gift strip: glow + rings kept clear of the copy by a centre hole in the mask */
.home-gift{position:relative;overflow:clip;isolation:isolate;padding:clamp(40px,5vw,64px) 0;margin-bottom:calc(-1 * var(--sp-7,48px));text-align:center;border-top:1px solid var(--hair);background:radial-gradient(60% 120% at 50% 0%,rgba(201,154,46,.16),transparent 70%),var(--stone)}
.home-gift .home-title{margin-bottom:var(--sp-4,16px)}
.home-gift p{color:var(--ink-soft);margin:0 0 var(--sp-5,24px)}
.home-gift::before{content:"";position:absolute;left:50%;top:50%;width:min(70vw,640px);aspect-ratio:1;transform:translate(-50%,-50%);background:var(--th-rings) center/contain no-repeat;opacity:.25;z-index:-1;pointer-events:none;
	-webkit-mask-image:radial-gradient(circle,transparent 58%,#000 72%);mask-image:radial-gradient(circle,transparent 58%,#000 72%)}

/* big screens */
@media (min-width:1700px){
	.home-wrap,.home-collection,.home-collections{max-width:1480px}
	.home-hero h1{font-size:clamp(5rem,4.6vw,5.5rem)}
	.home-hero{min-height:clamp(620px,70svh,780px)}
}

@media (prefers-reduced-motion:no-preference){
	.home-hero::before{animation:th-drift 40s linear infinite alternate}
	@keyframes th-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-16px,10px,0) scale(1.03)}}
}
@media (forced-colors:active){
	.home-hero::before,.home-gift::before{display:none}
	.link-draw,.link-more{text-decoration:underline}
}
