/* =====================================================================
   LINCE — CORE STYLESHEET
   Token system:
   Ink #24282C · Void #121417 · Paper #F7F4EE · Paper-dim #EDE8DD
   Bronze #A9824A · Champagne #D8BD8A · Steel #6E7378
   Display: Fraunces (serif) · Body/UI: Inter · Utility: JetBrains Mono
   ===================================================================== */

:root{
	--ink: #24282C;
	--void: #121417;
	--paper: #F7F4EE;
	--paper-dim: #EDE8DD;
	--bronze: #A9824A;
	--champagne: #D8BD8A;
	--steel: #6E7378;
	--line: rgba(36,40,44,0.12);
	--line-dark: rgba(247,244,238,0.16);
	--white: #FFFFFF;

	--font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-mono: 'JetBrains Mono', 'SFMono-Regular', Menlo, monospace;

	--container: 1320px;
	--radius-s: 4px;
	--radius-m: 10px;
	--radius-l: 22px;
	--ease: cubic-bezier(.16,.84,.44,1);
	--ease-soft: cubic-bezier(.22,.61,.36,1);
	--header-h: 92px;
}

/* ---------------------------------------------------------------- reset */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: auto; }
body{
	margin:0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; background:none; border:none; color:inherit; }
input, textarea, select{ font-family:inherit; font-size:1rem; }
h1,h2,h3,h4,h5{ margin:0; font-family:var(--font-display); font-weight:500; letter-spacing:-0.01em; color:var(--ink); }
p{ margin:0; }
.container{ max-width: var(--container); margin:0 auto; padding:0 32px; }

@media (prefers-reduced-motion: reduce){
	*{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

::selection{ background: var(--bronze); color: var(--paper); }

:focus-visible{ outline: 2px solid var(--bronze); outline-offset: 3px; }

.screen-reader-text{ position:absolute !important; width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px); }
.skip-link{ z-index: 10000; }
.skip-link:focus{ position:fixed; top:10px; left:10px; background:var(--ink); color:var(--paper); padding:12px 18px; border-radius: var(--radius-s); width:auto; height:auto; clip:auto; }

/* ---------------------------------------------------------------- type utilities */
.eyebrow{
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bronze);
	margin: 0 0 14px;
}
.eyebrow--light{ color: var(--champagne); }

/* ---------------------------------------------------------------- scroll progress */
.site-progress{ position:fixed; top:0; left:0; width:100%; height:2px; z-index:9999; background:transparent; }
.site-progress span{ display:block; height:100%; width:0%; background: linear-gradient(90deg, var(--bronze), var(--champagne)); transition: width .05s linear; }

/* ---------------------------------------------------------------- preloader */
.preloader{
	position:fixed; inset:0; z-index:99999;
	background: var(--paper);
	display:flex; align-items:center; justify-content:center;
	transition: opacity .6s var(--ease), visibility .6s var(--ease);
}
.preloader.is-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.preloader__mark{ display:flex; flex-direction:column; align-items:center; gap:14px; }
.preloader__ring{ transform-origin:60px 60px; animation: preloader-ring 1.1s var(--ease) forwards; }
@keyframes preloader-ring{ to{ stroke-dashoffset:0; } }
.preloader__hand-h{ transform-origin:60px 60px; animation: preloader-spin 1.6s linear infinite; }
.preloader__hand-m{ transform-origin:60px 60px; animation: preloader-spin 2.4s linear infinite; }
@keyframes preloader-spin{ to{ transform: rotate(360deg); } }
.preloader__word{ font-family:var(--font-sans); font-weight:700; letter-spacing:0.3em; font-size:13px; color:var(--ink); }

/* ---------------------------------------------------------------- header */
.site-header{
	position: fixed; top:0; left:0; right:0; z-index: 900;
	height: var(--header-h);
	display:flex; align-items:center;
	background: rgba(247,244,238,0.0);
	transition: background .4s var(--ease), box-shadow .4s var(--ease), height .3s var(--ease);
}
.site-header.is-scrolled{
	background: rgba(247,244,238,0.86);
	backdrop-filter: blur(14px) saturate(140%);
	box-shadow: 0 1px 0 var(--line);
	height: 76px;
}
.lince-home .site-header:not(.is-scrolled){ color: var(--paper); }
.lince-home .site-header:not(.is-scrolled) .site-nav__list a,
.lince-home .site-header:not(.is-scrolled) .icon-btn,
.lince-home .site-header:not(.is-scrolled) .menu-toggle span:not(.menu-toggle__label){ color: var(--paper); }
.lince-home .site-header:not(.is-scrolled) .menu-toggle span{ background: var(--paper); }
.site-header:not(.lince-home .site-header):not(.is-scrolled){ background: rgba(247,244,238,0.86); backdrop-filter: blur(14px); }

.site-header__row{ display:flex; align-items:center; justify-content:space-between; width:100%; gap:24px; }
.site-header__logo{ display:flex; align-items:center; }
.site-logo img{ height:44px; width:auto; transition: height .3s var(--ease); }
.is-scrolled .site-logo img{ height:36px; }

.site-nav__list{ display:flex; align-items:center; gap:36px; }
.site-nav__list a{
	font-size: 14px; font-weight:500; letter-spacing:0.02em;
	position:relative; padding: 6px 0; color: var(--ink);
}
.site-nav__list a::after{
	content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background: var(--bronze);
	transition: right .35s var(--ease);
}
.site-nav__list a:hover::after, .site-nav__list a:focus-visible::after{ right:0; }

.site-header__actions{ display:flex; align-items:center; gap:10px; }
.icon-btn{
	position:relative; width:40px; height:40px; display:flex; align-items:center; justify-content:center;
	border-radius:50%; color: var(--ink); transition: background .25s var(--ease);
}
.icon-btn:hover{ background: rgba(169,130,74,0.12); }
.cart-count{
	position:absolute; top:-2px; right:-2px; background: var(--bronze); color:var(--paper);
	font-family: var(--font-mono); font-size:10px; line-height:1; min-width:16px; height:16px;
	border-radius:50%; display:flex; align-items:center; justify-content:center; padding:2px;
}

.menu-toggle{ display:none; flex-direction:column; gap:5px; width:40px; }
.menu-toggle span{ display:block; height:2px; width:100%; background: var(--ink); transition: transform .3s var(--ease), opacity .3s var(--ease), background .3s; }
.menu-toggle__label{ display:none; }

.search-panel{
	max-height:0; overflow:hidden; background: var(--paper); border-bottom:1px solid transparent;
	transition: max-height .45s var(--ease), border-color .45s;
}
.search-panel.is-open{ max-height:120px; border-color: var(--line); }
.search-panel .container{ padding-top:18px; padding-bottom:18px; }

.search-form{ display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--ink); padding-bottom:10px; }
.search-form__field{ flex:1; border:none; background:none; font-family:var(--font-display); font-size:22px; color:var(--ink); }
.search-form__field:focus{ outline:none; }
.search-form__submit{ color:var(--bronze); }

/* mobile nav drawer */
.mobile-nav{
	position:fixed; inset:0 0 0 auto; width:min(86vw, 420px); background: var(--void); color: var(--paper);
	transform: translateX(100%); transition: transform .5s var(--ease); z-index:1200; padding: 120px 40px 40px;
	display:flex; flex-direction:column; justify-content:space-between;
}
.mobile-nav.is-open{ transform: translateX(0); }
.mobile-nav__list{ display:flex; flex-direction:column; gap:22px; }
.mobile-nav__list a{ font-family: var(--font-display); font-size:32px; font-weight:400; }
.mobile-nav__meta{ font-family: var(--font-mono); font-size:11px; letter-spacing:0.1em; color: var(--champagne); text-transform:uppercase; }

/* cart drawer */
.cart-drawer{
	position:fixed; inset:0 0 0 auto; width:min(90vw, 440px); background: var(--paper); z-index:1300;
	transform: translateX(100%); transition: transform .5s var(--ease); display:flex; flex-direction:column;
	box-shadow: -30px 0 60px rgba(0,0,0,0.15);
}
.cart-drawer.is-open{ transform: translateX(0); }
.cart-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:26px 30px; border-bottom:1px solid var(--line); font-family:var(--font-mono); text-transform:uppercase; letter-spacing:0.08em; font-size:12px; }
.cart-drawer__head button{ font-size:22px; line-height:1; }
.cart-drawer__body{ padding: 20px 30px; overflow-y:auto; flex:1; }
.cart-drawer__overlay{ position:fixed; inset:0; background: rgba(18,20,23,0.5); z-index:1250; opacity:0; visibility:hidden; transition: opacity .4s; }
.cart-drawer__overlay.is-open{ opacity:1; visibility:visible; }

/* ---------------------------------------------------------------- buttons */
.btn{
	display:inline-flex; align-items:center; gap:10px; padding: 16px 28px; border-radius: 999px;
	font-size:14px; font-weight:600; letter-spacing:0.02em; position:relative; overflow:hidden;
	transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.btn span{ position:relative; z-index:2; }
.btn-arrow{ display:inline-block; transition: transform .3s var(--ease); }
.btn:hover .btn-arrow{ transform: translateX(4px); }
.btn--primary{ background: var(--ink); color: var(--paper); }
.btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(36,40,44,0.25); }
.btn--ghost{ background: transparent; color: var(--ink); border:1px solid var(--line); }
.btn--ghost:hover{ background: var(--ink); color: var(--paper); border-color: var(--ink); }
.btn--outline-light{ background:transparent; color: var(--paper); border:1px solid var(--line-dark); }
.btn--outline-light:hover{ background: var(--paper); color: var(--ink); }
.link-arrow{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; border-bottom:1px solid var(--bronze); padding-bottom:2px; }
.link-arrow:hover .btn-arrow{ transform: translateX(4px); }

/* ---------------------------------------------------------------- movement rule (signature element) */
.movement-rule{ display:flex; align-items:center; width:100%; margin: 48px 0; }
.movement-rule span{ display:block; height:1px; flex:1; background: linear-gradient(90deg, transparent, var(--bronze) 20%, var(--bronze) 80%, transparent); position:relative; }
.movement-rule span::before{ content:''; position:absolute; left:50%; top:50%; width:6px; height:6px; background: var(--bronze); border-radius:50%; transform: translate(-50%,-50%); }

/* ---------------------------------------------------------------- hero */
.hero{
	position:relative; min-height:100svh; display:flex; align-items:center;
	background: var(--void); color: var(--paper); overflow:hidden;
	padding-top: var(--header-h);
}
.hero__bg{
	position:absolute; inset:0;
	background:
		radial-gradient(60% 60% at 80% 15%, rgba(169,130,74,0.28), transparent 60%),
		radial-gradient(50% 50% at 10% 90%, rgba(169,130,74,0.14), transparent 60%),
		linear-gradient(160deg, #171a1d 0%, #101215 60%, #0c0d0f 100%);
}
.hero__bg::after{
	content:''; position:absolute; inset:0; opacity:0.06; mix-blend-mode:overlay;
	background-image: repeating-linear-gradient(115deg, #fff 0 1px, transparent 1px 3px);
}
.hero__inner{ position:relative; z-index:2; display:grid; grid-template-columns: 1.1fr 0.9fr; align-items:center; gap:40px; padding-top:40px; padding-bottom:60px; }
.hero__title{ font-size: clamp(48px, 7vw, 92px); line-height:0.98; font-weight:400; margin: 10px 0 26px; }
.hero__title-line{ display:block; overflow:hidden; }
.hero__sub{ max-width: 460px; font-size:17px; color: rgba(247,244,238,0.72); margin-bottom:36px; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:16px; }
.hero__watch{ display:flex; flex-direction:column; align-items:center; gap:18px; justify-self:center; }
.hero__watch svg{ width: min(100%, 380px); height:auto; filter: drop-shadow(0 30px 60px rgba(0,0,0,0.45)); }
.hero__watch-caption{ font-family: var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color: var(--champagne); }

.hero__scroll{ position:absolute; bottom:34px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; color: rgba(247,244,238,0.6); font-family:var(--font-mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; }
.hero__scroll i{ width:1px; height:34px; background: linear-gradient(var(--bronze), transparent); position:relative; overflow:hidden; }
.hero__scroll i::after{ content:''; position:absolute; top:-34px; left:0; width:100%; height:100%; background: var(--champagne); animation: scrollLine 2s var(--ease) infinite; }
@keyframes scrollLine{ to{ top:34px; } }

/* ---------------------------------------------------------------- marquee */
.marquee{ background: var(--paper-dim); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; overflow:hidden; }
.marquee__track{ display:flex; align-items:center; white-space:nowrap; width:max-content; animation: marquee 32s linear infinite; }
.marquee__track span{ font-family: var(--font-display); font-style:italic; font-size:20px; color: var(--steel); padding:0 6px; }
.marquee__track .dot{ color: var(--bronze); font-style:normal; padding: 0 22px; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------------------------------------------------------------- sections */
.section{ padding: 110px 0; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:56px; flex-wrap:wrap; }
.section-head__title{ font-size: clamp(30px, 4vw, 46px); max-width: 640px; line-height:1.08; }

/* ---------------------------------------------------------------- product grid / cards */
.product-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 34px 28px; }
.product-card{ position:relative; }
.product-card__link{ display:block; }
.product-card__media{ position:relative; border-radius: var(--radius-m); overflow:hidden; background: var(--paper-dim); aspect-ratio: 4/5; margin-bottom:18px; }
.product-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform 1.1s var(--ease); }
.product-card__link:hover .product-card__media img{ transform: scale(1.06); }
.product-card__badge{ position:absolute; top:14px; left:14px; background: var(--ink); color:var(--paper); font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; padding:6px 10px; border-radius:999px; }
.product-card__badge--muted{ background: var(--steel); }
.product-card__cat{ display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--bronze); margin-bottom:6px; }
.product-card__title{ font-size:19px; font-weight:500; margin-bottom:10px; }
.product-card__meta{ display:flex; align-items:center; justify-content:space-between; }
.product-card__price{ font-family: var(--font-mono); font-size:15px; color: var(--ink); }
.product-card__price del{ color: var(--steel); opacity:0.6; margin-right:6px; }
.product-card__price ins{ text-decoration:none; }
.product-card__cta{ font-size:13px; font-weight:600; opacity:0; transform: translateX(-6px); transition: all .3s var(--ease); display:flex; align-items:center; gap:6px; }
.product-card__link:hover .product-card__cta{ opacity:1; transform:translateX(0); }
.product-card--placeholder .product-card__title{ font-size:15px; color: var(--steel); font-family: var(--font-sans); }

.placeholder-shimmer{
	width:100%; height:100%; min-height:220px;
	background: linear-gradient(110deg, var(--paper-dim) 30%, #f4efe4 50%, var(--paper-dim) 70%);
	background-size: 220% 100%; animation: shimmer 2.2s ease-in-out infinite; border-radius: var(--radius-m);
}
@keyframes shimmer{ 0%{ background-position:200% 0; } 100%{ background-position:-200% 0; } }

/* ---------------------------------------------------------------- movement/about */
.movement__inner{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:70px; align-items:center; }
.movement-gear{ transform-origin:center; animation: spin 18s linear infinite; }
.movement-gear--b{ animation-duration: 12s; animation-direction: reverse; }
@keyframes spin{ to{ transform: rotate(360deg); } }
.movement__lead{ font-size:17px; color: var(--steel); margin: 22px 0 40px; max-width:520px; }
.movement__stats{ display:flex; gap:48px; flex-wrap:wrap; }
.stat__num{ display:block; font-family: var(--font-display); font-size:42px; color: var(--bronze); }
.stat__label{ font-size:13px; color: var(--steel); }

/* ---------------------------------------------------------------- sell CTA */
.sell-cta{ position:relative; background: var(--ink); color: var(--paper); overflow:hidden; text-align:center; }
.sell-cta__bg{ position:absolute; inset:0; background: radial-gradient(60% 90% at 50% 100%, rgba(169,130,74,0.35), transparent 70%); }
.sell-cta__inner{ position:relative; z-index:2; max-width:760px; margin:0 auto; display:flex; flex-direction:column; align-items:center; }
.sell-cta__title{ font-size: clamp(28px, 4vw, 44px); color: var(--paper); margin-bottom:36px; line-height:1.15; }

/* ---------------------------------------------------------------- journal */
.journal-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:32px; }
.journal-grid--wide{ grid-template-columns: repeat(3, 1fr); }
.journal-card__media{ display:block; border-radius: var(--radius-m); overflow:hidden; aspect-ratio: 7/5; margin-bottom:18px; background: var(--paper-dim); }
.journal-card__media img{ width:100%; height:100%; object-fit:cover; transition: transform .8s var(--ease); }
.journal-card:hover .journal-card__media img{ transform: scale(1.05); }
.journal-card__meta{ font-family: var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color: var(--steel); }
.journal-card h3{ font-size:21px; margin: 10px 0 8px; }
.journal-card p{ color: var(--steel); font-size:14.5px; }

/* ---------------------------------------------------------------- footer */
.site-footer{ background: var(--void); color: var(--paper); padding: 100px 0 30px; }
.footer-cta{ text-align:center; max-width:640px; margin: 0 auto 20px; }
.footer-cta__eyebrow{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color: var(--champagne); margin-bottom:14px; }
.footer-cta__heading{ font-size: clamp(24px,3.4vw,34px); color: var(--paper); margin-bottom:30px; }
.footer-cta__form{ display:flex; gap:12px; max-width:440px; margin:0 auto; border-bottom:1px solid var(--line-dark); padding-bottom:14px; }
.footer-cta__form input{ flex:1; background:none; border:none; color: var(--paper); font-size:15px; }
.footer-cta__form input::placeholder{ color: rgba(247,244,238,0.45); }
.footer-cta__form button{ font-weight:600; font-size:14px; color: var(--champagne); display:flex; align-items:center; gap:6px; }
.footer-grid{ display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap:40px; margin-top:20px; }
.footer-col p{ color: rgba(247,244,238,0.6); font-size:14px; margin-top:14px; max-width:280px; }
.footer-logo{ height:34px; width:auto; filter:invert(1) brightness(2); opacity:0.92; }
.footer-col h5{ font-family: var(--font-mono); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color: var(--champagne); margin-bottom:18px; }
.footer-col__list{ display:flex; flex-direction:column; gap:12px; }
.footer-col__list a{ color: rgba(247,244,238,0.72); font-size:14px; transition: color .25s; }
.footer-col__list a:hover{ color: var(--champagne); }
.footer-social{ display:flex; gap:14px; margin-top:20px; }
.footer-social a{ width:34px; height:34px; border:1px solid var(--line-dark); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; letter-spacing:0.05em; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:60px; padding-top:24px; border-top:1px solid var(--line-dark); font-size:12.5px; color: rgba(247,244,238,0.5); }

/* ---------------------------------------------------------------- generic page / journal / 404 */
.page-hero{ padding: calc(var(--header-h) + 70px) 0 60px; background: var(--paper-dim); }
.page-hero__title{ font-size: clamp(34px, 5vw, 58px); margin-top:14px; }
.page-hero__sub{ color: var(--steel); max-width:640px; margin-top:16px; }
.page-shell{ padding: 70px 0; }
.page-content{ max-width: 780px; }
.page-content__cover{ border-radius: var(--radius-l); overflow:hidden; margin-bottom:40px; }
.page-content :is(h2,h3){ margin-top:2.2em; margin-bottom:0.6em; }
.page-content p{ margin-bottom:1.2em; color: var(--ink); line-height:1.75; }

.crumbs ol{ display:flex; gap:8px; flex-wrap:wrap; font-family: var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em; color: var(--steel); margin-bottom:18px;}
.crumbs li:not(:last-child)::after{ content:'/'; margin-left:8px; color: var(--bronze); }
.crumbs a:hover{ color: var(--bronze); }
.crumbs-inline{ padding-top: calc(var(--header-h) + 26px); }
.crumbs-inline--tight{ padding-top: 0; }
.crumbs-inline--tight .crumbs ol{ margin-bottom: 0; }

.single-post__header{ padding: calc(var(--header-h) + 40px) 0 40px; text-align:center; }
.single-post__title{ font-size: clamp(32px, 5vw, 54px); max-width:780px; margin: 12px auto 18px; }
.single-post__lead{ color: var(--steel); max-width:600px; margin: 0 auto; font-size:17px; }
.single-post__cover{ margin-bottom:50px; border-radius: var(--radius-l); overflow:hidden; }
.single-post__cover img{ width:100%; }
.single-post__layout{ display:grid; grid-template-columns: 1fr 280px; gap:60px; }
.single-post__content p{ margin-bottom:1.3em; line-height:1.8; }
.single-post__content :is(h2,h3){ margin: 2em 0 0.6em; }
.widget-title{ font-family: var(--font-mono); font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--bronze); margin-bottom:14px;}

.error-404__inner{ padding: 160px 0 120px; text-align:center; }
.error-404__num{ display:block; font-family: var(--font-display); font-size: clamp(90px,14vw,180px); color: var(--paper-dim); -webkit-text-stroke: 1px var(--bronze); }
.error-404__inner h1{ font-size: clamp(26px,3.5vw,36px); margin: -20px 0 14px; }
.error-404__inner p{ color: var(--steel); max-width:440px; margin: 0 auto 30px; }
.error-404__inner .search-form{ max-width:420px; margin: 40px auto 0; }

/* ---------------------------------------------------------------- reveal / animation states (JS toggles .is-visible) */
[data-reveal]{ opacity:0; transform: translateY(28px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
[data-reveal].is-visible{ opacity:1; transform:none; }
[data-reveal-child]{ opacity:0; transform: translateY(24px); }
.no-js [data-reveal], .no-js [data-reveal-child]{ opacity:1; transform:none; }

/* ---------------------------------------------------------------- contact page */
.contact-grid{ display:grid; grid-template-columns: 0.8fr 1.2fr; gap:70px; }
.contact-detail{ display:flex; flex-direction:column; gap:4px; padding: 18px 0; border-bottom:1px solid var(--line); }
.contact-detail__label{ font-family: var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color: var(--bronze); }
.contact-detail a, .contact-detail span:not(.contact-detail__label){ font-size:16px; }
.contact-detail a:hover{ color: var(--bronze); }
.movement-rule--left{ justify-content:flex-start; margin: 34px 0 20px; }
.movement-rule--left span{ flex:0 0 90px; }
.contact-social a{ border-color: var(--line); color: var(--ink); }

/* ---------------------------------------------------------------- sell-your-watch page */
.hero--compact{ min-height: 62vh; }
.hero__inner--single{ grid-template-columns: 1fr; max-width: 760px; }
.sell-steps{ display:grid; grid-template-columns: repeat(3,1fr); gap:34px; }
.sell-step{ padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-l); transition: border-color .3s, transform .3s; }
.sell-step:hover{ border-color: var(--bronze); transform: translateY(-4px); }
.sell-step__mark{ display:block; font-family: var(--font-mono); color: var(--bronze); font-size:13px; margin-bottom:18px; }
.sell-step h3{ font-size:21px; margin-bottom:10px; }
.sell-step p{ color: var(--steel); font-size:14.5px; }
.sell-form-section{ background: var(--paper-dim); }
.lince-form{ display:flex; flex-direction:column; gap:20px; margin-top: 20px; }
.lince-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.lince-form label{ display:flex; flex-direction:column; gap:8px; font-size:13px; color: var(--steel); font-family: var(--font-mono); text-transform:uppercase; letter-spacing:0.04em; }
.lince-form input, .lince-form select, .lince-form textarea{ border:1px solid var(--line); border-radius: var(--radius-s); padding:14px 16px; font-family: var(--font-sans); font-size:15px; color: var(--ink); background: var(--paper); text-transform:none; letter-spacing:normal; }
.lince-form input:focus, .lince-form select:focus, .lince-form textarea:focus{ outline:none; border-color: var(--bronze); }
.lince-form button{ align-self:flex-start; margin-top:10px; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1080px){
	.sell-steps{ grid-template-columns:1fr; }
	.contact-grid{ grid-template-columns:1fr; gap:50px; }
	.lince-form__row{ grid-template-columns:1fr; }
	.hero__inner{ grid-template-columns:1fr; text-align:center; }
	.hero__watch{ order:-1; }
	.hero__actions{ justify-content:center; }
	.movement__inner{ grid-template-columns:1fr; }
	.footer-grid{ grid-template-columns: 1fr 1fr; }
	.single-post__layout{ grid-template-columns:1fr; }
}
@media (max-width: 860px){
	.product-grid, .journal-grid{ grid-template-columns: repeat(2,1fr); }
	:root{ --header-h: 76px; }
	.site-nav{ display:none; }
	.menu-toggle{ display:flex; }
	.container{ padding: 0 22px; }
	.section{ padding: 76px 0; }
}
@media (max-width: 560px){
	.product-grid, .journal-grid{ grid-template-columns: 1fr; }
	.footer-grid{ grid-template-columns: 1fr; gap:34px; }
	.hero__title{ font-size: clamp(40px, 12vw, 60px); }
	.footer-cta__form{ flex-direction:column; align-items:flex-start; gap:16px; border-bottom:none; }
	.footer-cta__form input{ border-bottom:1px solid var(--line-dark); padding-bottom:10px; width:100%; }
}
