* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; padding-top:112px; background:var(--mv-paper); color:var(--mv-ink); font:400 14px/1.65 var(--mv-sans); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; } button { font:inherit; } img { display:block; max-width:100%; } figure,p,h1,h2,h3,dl,dd,ol { margin:0; } ol { padding:0; list-style:none; }
::selection { background:#d9c5ad; color:#292b26; }
.kicker { font-size:9px; font-weight:500; letter-spacing:.19em; line-height:1.6; text-transform:uppercase; }

/* ---------- Hero ---------- */
section.intro { position:relative; display:grid; grid-template-columns:43% 57%; padding:32px 32px 0 4.7%; max-width:1920px; margin:auto; }
.intro-copy { position:relative; z-index:2; padding:36px 0 45px; display:flex; flex-direction:column; align-items:flex-start; }
.intro-copy>.kicker { margin-bottom:36px; }
.intro h1 { font:400 clamp(68px,7.7vw,126px)/.89 var(--mv-serif); letter-spacing:-.055em; position:relative; z-index:2; white-space:nowrap; }
.title-line { display:block; padding-bottom:.065em; overflow:hidden; }
.title-line>span,.title-line>em { display:block; }
.intro h1 em { font-weight:400; color:var(--mv-accent); line-height:.92; }
.intro-bottom { padding-top:32px; }
.intro-bottom>p { font-size:12px; line-height:1.8; color:#67695f; margin-bottom:26px; }
.button-link { position:relative; min-height:53px; display:inline-flex; gap:40px; align-items:center; justify-content:space-between; padding:16px 24px; background:var(--mv-ink); border:1px solid var(--mv-ink); color:var(--mv-paper); text-decoration:none; font-size:11px; overflow:hidden; isolation:isolate; transition:border-color .4s,translate .5s var(--mv-ease); }
/* Fill wipes up from the foot on hover */
.button-link::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--mv-accent); transform:scaleY(0); transform-origin:bottom; transition:transform .55s var(--mv-ease); }
.button-link>span { font-size:20px; line-height:1; transition:transform .4s var(--mv-ease); }
.button-link:hover { border-color:var(--mv-accent); }
.button-link:hover::before { transform:scaleY(1); }
.button-link:hover>span { transform:translate(3px,-3px) rotate(45deg); }
.intro-visual { position:relative; min-height:570px; overflow:hidden; background:#9b7c55; color:#fff5e5; isolation:isolate; }
.hero-image { position:absolute; inset:-6% 0; width:100%; height:112%; max-width:none; object-fit:cover; object-position:61% 50%; will-change:transform; transform:translateY(var(--hero-shift,0px)) scale(1.025); }
.image-shade { position:absolute; inset:0; background:linear-gradient(180deg,#1e190f45,transparent 35%,transparent 65%,#1e190f4d); pointer-events:none; }
.visual-top { position:absolute; top:25px; left:28px; right:28px; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.14em; }
.intro-visual figcaption { position:absolute; bottom:24px; left:28px; right:28px; display:flex; align-items:flex-end; justify-content:space-between; font-size:11px; line-height:1.65; }
.image-mark { font:italic 400 62px/.8 var(--mv-serif); letter-spacing:-.08em; }
/* Rotating seal on the seam between copy and picture */
.spin-badge { position:absolute; z-index:3; left:calc(43% - 60px); bottom:110px; width:120px; height:120px; border-radius:50%; background:var(--mv-paper); color:var(--mv-ink); display:grid; place-items:center; text-decoration:none; box-shadow:0 18px 40px -22px #292b2680; transition:background .4s,color .4s,scale .5s var(--mv-ease); }
.spin-badge svg { position:absolute; inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); animation:spin 22s linear infinite; }
.spin-badge text { font:500 8.6px var(--mv-sans); letter-spacing:.2em; fill:currentColor; }
.spin-badge>span { font-size:24px; transition:transform .5s var(--mv-ease); }
.spin-badge:hover { background:var(--mv-ink); color:var(--mv-paper); scale:1.06; }
.spin-badge:hover>span { transform:rotate(45deg); }
.intro-caption { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 0; font-size:8px; letter-spacing:.12em; }
.intro-caption>a { text-decoration:none; display:flex; gap:25px; align-items:center; }
.intro-caption>a span { font-size:18px; animation:nudge 2.4s var(--mv-ease) infinite; }
.intro-caption>span { color:var(--mv-muted); }
#motion-toggle { border:0; background:none; display:flex; align-items:center; gap:7px; padding:10px 0; color:var(--mv-muted); font-size:8px; cursor:pointer; }
.motion-icon { font-size:11px; } #motion-label { letter-spacing:.025em; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes nudge { 0%,60%,100% { transform:none; } 30% { transform:translateY(5px); } }

/* ---------- Brand marquee ---------- */
.brand-marquee { border-top:1px solid var(--mv-line); border-bottom:1px solid var(--mv-line); display:flex; align-items:center; }
.brand-marquee>p { flex:none; padding:30px 34px 30px 4.7%; font-size:8px; letter-spacing:.12em; line-height:1.8; color:var(--mv-muted); border-right:1px solid var(--mv-line); align-self:stretch; display:flex; align-items:center; }
.marquee { flex:1; overflow:hidden; -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee-track { display:flex; width:max-content; animation:marquee 38s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.marquee-group { display:flex; align-items:center; gap:44px; padding-right:44px; }
.marquee-group a { text-decoration:none; white-space:nowrap; transition:opacity .3s,color .3s; }
.marquee-group a:hover { color:var(--mv-accent); }
.marquee-group i { font-style:normal; font-size:14px; color:#b0a58f; }
@keyframes marquee { to { transform:translateX(-50%); } }
.brand-tom { font-size:24px; font-weight:600; letter-spacing:-.055em; }
.brand-yohji { font:italic 500 26px var(--mv-serif); letter-spacing:-.05em; }
.brand-vb { font-size:15px; font-weight:500; letter-spacing:.32em; }
.brand-max { font:500 30px var(--mv-serif); letter-spacing:-.09em; }
.brand-wolf { font-size:18px; font-weight:600; letter-spacing:.14em; }
.brand-pucci { font:italic 600 28px var(--mv-serif); letter-spacing:-.02em; }
.brand-guess { font:600 27px var(--mv-serif); letter-spacing:-.04em; }
.brand-maje { font-size:25px; font-weight:400; letter-spacing:-.04em; }
.brand-polaroid { font-size:21px; font-weight:600; letter-spacing:-.06em; }

/* ---------- Sections ---------- */
.section-pad { padding:110px 6%; }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:42px; }
.section-heading .kicker { margin-bottom:15px; }
.section-heading h2,.gallery h2 { font:400 clamp(36px,4.2vw,62px)/1.07 var(--mv-serif); letter-spacing:-.035em; }
.section-heading h2 em { font-weight:400; color:var(--mv-accent); }
.section-heading>p { font-size:11px; line-height:1.9; color:var(--mv-muted); padding-bottom:6px; }
.collection-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.collection-card { text-decoration:none; display:block; min-width:0; }
.collection-image { position:relative; aspect-ratio:1.35; background:#e9e5da; overflow:hidden; }
.collection-image.solar { background:#e5e0d5; }
.collection-image::before { content:""; position:absolute; inset:0; background:linear-gradient(130deg,transparent 20%,#ffffff58 45%,transparent 70%); pointer-events:none; transform:translateX(-60%); transition:transform 1.2s var(--mv-ease); }
.collection-card:hover .collection-image::before { transform:translateX(60%); }
.collection-image img { position:absolute; left:8%; top:12%; width:84%; height:76%; object-fit:contain; mix-blend-mode:multiply; transform:rotate(-8deg); transition:transform 1.1s var(--mv-ease); }
.collection-image.solar img { transform:rotate(7deg); }
.collection-card:hover img { transform:rotate(-3deg) scale(1.06); }
.collection-card:hover .solar img { transform:rotate(3deg) scale(1.06); }
.collection-number { position:absolute; left:24px; top:18px; font:italic 26px var(--mv-serif); color:#696e61; }
.image-caption { position:absolute; left:24px; bottom:25px; font-size:8px; letter-spacing:.13em; }
.round-arrow { position:absolute; bottom:16px; right:20px; width:43px; height:43px; display:grid; place-items:center; border:1px solid #aaa99e; border-radius:50%; font-size:23px; transition:background .4s,color .4s,transform .5s var(--mv-ease); }
.collection-card:hover .round-arrow { background:var(--mv-ink); color:var(--mv-paper); transform:rotate(45deg); }
.collection-title { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:20px 0 0; }
.collection-title h3 { font:400 32px/1.1 var(--mv-serif); }
.collection-title>span { font-size:9px; color:var(--mv-muted); } .collection-title>span span { margin-left:15px; }

/* ---------- Gallery: 3D ring of real frames ---------- */
.gallery { position:relative; background:var(--mv-dark); color:var(--mv-paper); padding:100px 0 60px; overflow:hidden; }
.gallery::before { content:""; position:absolute; left:50%; top:58%; width:1100px; height:520px; translate:-50% -50%; background:radial-gradient(closest-side,#c6b59a2e,transparent); pointer-events:none; }
.gallery-head { position:relative; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding:0 6%; }
.gallery .kicker { color:#babeb0; margin-bottom:15px; }
.gallery h2 em { color:#c6b59a; }
.stats { display:flex; gap:56px; }
.stats dt { font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#9b9e91; margin-bottom:6px; }
.stats dd { font:400 clamp(34px,3.4vw,50px)/1 var(--mv-sans); letter-spacing:-.04em; font-variant-numeric:lining-nums tabular-nums; }
.stats dd small { font-size:.4em; margin-left:4px; letter-spacing:0; color:#c6b59a; }
.ring-stage { --card-w:200px; --card-h:268px; position:relative; height:calc(var(--card-h) + 170px); margin-top:30px; touch-action:pan-y; cursor:grab; user-select:none; -webkit-user-select:none; }
.ring-stage.is-dragging { cursor:grabbing; }
.ring { position:absolute; inset:0; transform-style:preserve-3d; }
/* Without the 3D script the ring is a plain horizontal scroller */
.ring:not(.is-3d) { display:flex; gap:18px; overflow-x:auto; padding:40px 6%; scrollbar-width:none; }
.ring-card { flex:none; width:var(--card-w); height:var(--card-h); display:flex; flex-direction:column; background:#f4f1ea; color:var(--mv-ink); text-decoration:none; border-radius:4px; overflow:hidden; box-shadow:0 30px 50px -24px #000c,0 2px 6px #0004; -webkit-user-drag:none; }
.ring.is-3d .ring-card { position:absolute; left:50%; top:50%; margin:calc(var(--card-h) / -2) 0 0 calc(var(--card-w) / -2); backface-visibility:hidden; will-change:transform,opacity; }
.ring-card figure { flex:1; position:relative; display:grid; place-items:center; padding:18px; background:#fff; }
.ring-card img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; pointer-events:none; transition:transform .8s var(--mv-ease); }
.ring-card:hover img,.ring-card:focus-visible img { transform:scale(1.08) rotate(-3deg); }
.ring-card .kind { position:absolute; top:10px; left:12px; font-size:7.5px; letter-spacing:.16em; color:var(--mv-muted); text-transform:uppercase; }
.ring-card figcaption { padding:12px 14px 14px; border-top:1px solid var(--mv-line); display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.ring-card b { font:500 19px/1.1 var(--mv-serif); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ring-card small { font-size:10px; color:var(--mv-muted); white-space:nowrap; }
.drag-cursor { position:absolute; left:0; top:0; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:#f4f1ea; color:var(--mv-ink); display:grid; place-items:center; font-size:9px; letter-spacing:.14em; text-transform:uppercase; pointer-events:none; z-index:5; opacity:0; scale:.4; transition:opacity .3s,scale .45s var(--mv-ease); }
.ring-stage.show-cursor .drag-cursor { opacity:1; scale:1; }
.ring-stage.is-dragging .drag-cursor { scale:.8; }
.gallery-hint { position:relative; display:flex; justify-content:center; gap:22px; align-items:center; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:#9b9e91; }
.gallery-hint i { font-style:normal; color:#c6b59a; }

/* ---------- Perspective ---------- */
.perspective { background:#292e28; color:var(--mv-paper); padding:90px 6%; display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; }
.perspective-copy .kicker { color:#babeb0; margin-bottom:30px; }
.perspective h2 { font:400 clamp(50px,5.7vw,84px)/.99 var(--mv-serif); letter-spacing:-.03em; }
.perspective h2 em { font-weight:400; color:#c6b59a; }
.perspective-description { max-width:300px; font-size:12px; line-height:1.9; color:#c1c5ba; margin:28px 0; }
.text-link { position:relative; display:inline-flex; justify-content:space-between; align-items:center; gap:35px; font-size:11px; text-decoration:none; padding:9px 0; white-space:nowrap; }
.text-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; transform-origin:right; transition:transform .6s var(--mv-ease); }
.text-link:hover::after { animation:underline .8s var(--mv-ease); }
@keyframes underline { 0% { transform:scaleX(1); transform-origin:right; } 45% { transform:scaleX(0); transform-origin:right; } 46% { transform:scaleX(0); transform-origin:left; } 100% { transform:scaleX(1); transform-origin:left; } }
.text-link span { font-size:20px; transition:transform .4s var(--mv-ease); } .text-link:hover span { transform:translate(3px,-3px) rotate(45deg); }
.detail-visual { background:#c9c4b4; color:var(--mv-ink); position:relative; aspect-ratio:.95; overflow:hidden; }
.detail-visual>img { position:absolute; width:115%; height:90%; max-width:none; object-fit:contain; top:3%; left:-7%; mix-blend-mode:multiply; transform:rotate(-22deg); transition:transform 1.4s var(--mv-ease); }
.detail-visual:hover>img { transform:rotate(-15deg) scale(1.05); }
.detail-label { position:absolute; top:26px; left:26px; z-index:1; font-size:8px; letter-spacing:.13em; }
.detail-bottom { position:absolute; bottom:26px; left:26px; right:26px; display:flex; align-items:center; justify-content:space-between; font-size:10px; letter-spacing:.08em; }
.detail-bottom small { font-size:9px; letter-spacing:.12em; color:#626358; }
.detail-bottom a { font-size:30px; text-decoration:none; width:40px; text-align:center; transition:transform .5s var(--mv-ease); }
.detail-bottom a:hover { transform:rotate(45deg); }

/* ---------- Resellers ---------- */
.resellers .section-heading { margin-bottom:56px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; counter-reset:step; }
.steps li { position:relative; padding-top:30px; }
/* Hairline draws itself in when the step reveals */
.steps li::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:var(--mv-ink); transform-origin:left; transition:transform 1.2s var(--mv-ease) calc(var(--d,0ms) + 150ms); }
.step-no { font:400 34px/1 var(--mv-sans); letter-spacing:-.03em; color:var(--mv-accent); font-variant-numeric:lining-nums tabular-nums; }
.steps h3 { font:400 28px/1.15 var(--mv-serif); margin:18px 0 10px; letter-spacing:-.02em; }
.steps p { font-size:12px; line-height:1.85; color:var(--mv-muted); max-width:300px; }

/* ---------- Invitation ---------- */
.invitation { text-align:center; padding-top:40px; padding-bottom:35px; }
.invitation .kicker { color:var(--mv-muted); margin-bottom:23px; }
.invitation h2 { font:400 clamp(40px,5.3vw,78px)/1.08 var(--mv-serif); letter-spacing:-.03em; margin-bottom:35px; }
.invitation h2 em { font-weight:400; color:var(--mv-accent); }
.service-line { margin-top:85px; border-top:1px solid var(--mv-line); padding-top:28px; display:flex; justify-content:center; gap:50px; align-items:center; color:var(--mv-muted); font-size:10px; }
.service-line i { font-size:18px; font-style:normal; color:#8e8069; }

/* ---------- Footer ---------- */
.landing-footer { padding:45px 4.7% 24px; border-top:1px solid var(--mv-line); overflow:hidden; }
.footer-top { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.footer-top>p { font-size:11px; color:var(--mv-muted); line-height:1.8; }
.footer-top nav { display:flex; gap:28px; font-size:11px; }
.footer-top nav a { text-decoration:none; } .footer-top nav a:hover { color:var(--mv-accent); }
.footer-top .text-link { font-size:10px; }
.footer-contact { display:flex; flex-direction:column; gap:4px; font-size:11px; } .footer-contact span { font-size:8px; letter-spacing:.14em; text-transform:uppercase; color:var(--mv-muted); }
.footer-contact a { text-decoration:none; } .footer-contact a:hover { color:var(--mv-accent); }
.footer-giant { display:flex; justify-content:space-between; font:400 clamp(80px,19.4vw,370px)/.78 var(--mv-serif); letter-spacing:-.02em; color:var(--mv-ink); margin:50px 0 18px; overflow:hidden; padding-bottom:.04em; }
.footer-giant span { display:block; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--mv-line); padding-top:22px; font-size:8px; color:var(--mv-muted); }
.footer-bottom>span:nth-child(2) { letter-spacing:.1em; } .footer-bottom>a { text-decoration:none; }

/* ---------- Motion ---------- */
html.intro [data-intro],html.intro .title-line>*,html.intro .brand-header>* { opacity:0; }

@media(prefers-reduced-motion:no-preference) {
  html.motion-ready:not(.motion-paused) .reveal { transition:opacity .9s var(--mv-ease) var(--d,0ms),transform 1.1s var(--mv-ease) var(--d,0ms); }
  html.motion-ready:not(.motion-paused) .reveal:not(.is-visible) { opacity:0; transform:translateY(36px); }
  /* Pictures open like a curtain, the photo settling from a slight zoom */
  html.motion-ready:not(.motion-paused) .reveal-curtain { transition:clip-path 1.3s var(--mv-ease-io) calc(var(--d,0ms) + 100ms); }
  html.motion-ready:not(.motion-paused) .reveal-curtain img { transition:transform 1.1s var(--mv-ease),scale 1.8s var(--mv-ease) calc(var(--d,0ms) + 100ms); }
  html.motion-ready:not(.motion-paused) .reveal:not(.is-visible) .reveal-curtain { clip-path:inset(100% 0 0 0); }
  html.motion-ready:not(.motion-paused) .reveal:not(.is-visible) .reveal-curtain img { scale:1.25; }
  html.motion-ready:not(.motion-paused) .steps li.reveal:not(.is-visible)::before { transform:scaleX(0); }
  html.motion-ready:not(.motion-paused) .footer-giant span { transition:transform 1.2s var(--mv-ease) calc(var(--i) * 70ms); }
  html.motion-ready:not(.motion-paused) .footer-giant:not(.is-visible) span { transform:translateY(105%); }
}
html.motion-paused { scroll-behavior:auto; }
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after { animation:none!important; transition:none!important; }
html.motion-paused .hero-image { transform:none; will-change:auto; }
html.motion-paused .reveal { opacity:1; transform:none; }

/* ---------- Responsive ---------- */
@media(min-width:1600px) { section.intro { padding-top:40px; } .intro-copy { padding-top:65px; padding-bottom:75px; } .intro-visual { min-height:700px; } .intro-bottom { padding-top:45px; } .intro h1 { font-size:135px; } .ring-stage { --card-w:230px; --card-h:300px; } }
@media(max-width:1000px) {
  section.intro { grid-template-columns:45% 55%; padding-right:24px; } .intro-copy { padding-top:25px; padding-bottom:35px; } .intro h1 { font-size:8.6vw; } .intro-copy>.kicker { font-size:8px; margin-bottom:30px; } .intro-visual { min-height:510px; } .intro-bottom>p { font-size:11px; } .intro-caption>span { display:none; }
  .spin-badge { left:calc(45% - 50px); width:100px; height:100px; bottom:96px; }
  .section-heading>p { max-width:235px; } .perspective { gap:6%; } .service-line { gap:25px; } .detail-visual { aspect-ratio:.8; } .section-pad { padding-top:80px; padding-bottom:80px; } .invitation { padding-top:30px; padding-bottom:30px; }
  .gallery-head { flex-direction:column; align-items:flex-start; } .stats { gap:40px; } .steps { gap:20px; } .steps h3 { font-size:24px; }
}
@media(max-width:700px) {
  body { padding-top:84px; }
  section.intro { display:flex; flex-direction:column; padding:24px 6% 0; } .intro-copy { padding:0 0 33px; } .intro-copy>.kicker { margin-bottom:25px; } .intro h1 { font-size:clamp(64px,14.8vw,104px); line-height:.9; }
  .intro-bottom { padding-top:24px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; width:100%; } .intro-bottom>p { margin-bottom:0; font-size:10px; max-width:155px; } .button-link { min-height:48px; padding:13px 17px; font-size:10px; gap:20px; }
  .intro-visual { width:100%; min-height:0; aspect-ratio:1.16; } .hero-image { object-position:62% 50%; } .visual-top { top:17px; left:19px; right:19px; font-size:7px; } .intro-visual figcaption { bottom:18px; left:19px; right:19px; font-size:9px; } .image-mark { display:none; }
  .spin-badge { left:auto; right:calc(6% + 14px); bottom:auto; top:calc(100% - 52px - 100px - 50px); width:92px; height:92px; } .spin-badge text { font-size:9px; } .spin-badge>span { font-size:20px; }
  .intro-caption { padding:12px 0; width:100%; font-size:7px; gap:5px; } .intro-caption>a { gap:10px; } #motion-toggle { font-size:7px; }
  .brand-marquee { flex-direction:column; align-items:stretch; } .brand-marquee>p { border-right:0; border-bottom:1px solid var(--mv-line); padding:14px 6%; justify-content:center; font-size:7px; } .brand-marquee>p br { display:none; } .marquee { padding:22px 0; } .marquee-group { gap:30px; padding-right:30px; }
  .section-pad { padding:64px 6%; } .section-heading { display:block; margin-bottom:28px; } .section-heading h2,.gallery h2 { font-size:39px; } .section-heading>p,.section-heading>.text-link { max-width:100%; margin-top:16px; font-size:11px; } .collection-grid { grid-template-columns:1fr; gap:34px; } .collection-image { aspect-ratio:1.3; } .collection-title { padding-top:16px; } .collection-title h3 { font-size:29px; }
  .gallery { padding:64px 0 44px; } .gallery-head { gap:28px; } .stats { gap:0; width:100%; justify-content:space-between; } .stats dd { font-size:30px; } .ring-stage { --card-w:136px; --card-h:188px; margin-top:16px; } .ring-card figure { padding:12px; } .ring-card b { font-size:16px; } .ring-card figcaption { padding:9px 10px 10px; flex-direction:column; gap:0; } .gallery-hint { flex-direction:column; gap:4px; font-size:8px; } .gallery-hint i { display:none; }
  .perspective { grid-template-columns:1fr; padding:64px 6%; gap:40px; } .perspective h2 { font-size:65px; } .perspective-copy .kicker { margin-bottom:25px; } .perspective-description { max-width:340px; } .detail-visual { aspect-ratio:1.1; }
  .resellers .section-heading { margin-bottom:36px; } .steps { grid-template-columns:1fr; gap:34px; }
  .invitation h2 { font-size:43px; } .invitation .kicker { font-size:7px; letter-spacing:.13em; } .service-line { margin-top:55px; padding-top:25px; flex-direction:column; gap:12px; font-size:10px; } .service-line i { display:none; }
  .footer-top { flex-wrap:wrap; gap:22px; } .footer-top>p { font-size:10px; width:100%; } .footer-top .text-link,.footer-contact { width:100%; font-size:11px; } .footer-giant { margin-top:36px; } .footer-bottom { flex-wrap:wrap; font-size:8px; gap:14px; } .footer-bottom>span:nth-child(2) { display:none; } .footer-bottom>a { margin-left:auto; } .landing-footer { padding-top:32px; padding-bottom:22px; }
}
@media(max-width:370px) { .intro-bottom { align-items:flex-start; flex-direction:column; gap:18px; } .intro h1 { font-size:61px; } .intro-caption { align-items:flex-start; flex-direction:column; gap:0; } .section-heading h2,.gallery h2 { font-size:34px; } .invitation h2 { font-size:36px; } }
/* Full-bleed editorial photograph, with copy kept on the shaded left side. */
section.intro.intro--background {
  display:flex; flex-direction:column; justify-content:space-between;
  min-height:clamp(680px,calc(100svh - 112px),940px);
  max-width:none; margin:0; padding:64px 6% 18px;
  background:#352b21; color:#fff8eb; isolation:isolate; overflow:hidden;
}
.intro--background .intro-visual {
  position:absolute; inset:0; z-index:-1; width:100%; height:100%;
  min-height:0; aspect-ratio:auto; pointer-events:none;
}
.intro--background .hero-image { object-position:64% 54%; }
.intro--background .image-shade {
  background:linear-gradient(90deg,rgba(20,18,14,.78),rgba(20,18,14,.52) 32%,rgba(20,18,14,.06) 68%),linear-gradient(0deg,rgba(20,18,14,.65),transparent 28%);
}
.intro--background .intro-copy { max-width:580px; padding:0 0 42px; }
.intro--background .intro-copy>.kicker { color:#f4e6cf; margin-bottom:28px; }
.intro--background h1 em { color:#e7cfab; }
.intro--background .intro-bottom>p { color:#f4e6d2; font-size:13px; }
.intro--background .button-link { background:#f4f1ea; border-color:#f4f1ea; color:#292b26; }
.intro--background .button-link:hover { color:#fff8eb; }
.intro--background .intro-caption { position:relative; z-index:2; width:100%; border-top:1px solid #fff8eb45; padding:16px 0 0; }
.intro--background .intro-caption>span,.intro--background #motion-toggle { color:#f4e6d2; }
.intro--background .spin-badge { left:auto; right:6%; top:auto; bottom:110px; }
.intro--background :where(a,button):focus-visible { outline-color:#fff8eb; }
@media(max-width:1000px) { .intro--background .intro-copy { max-width:500px; } }
@media(max-width:700px) {
  section.intro.intro--background { min-height:max(660px,calc(100svh - 84px)); padding:44px 6% 18px; }
  .intro--background .intro-copy { padding-bottom:42px; max-width:100%; }
  .intro--background h1 { font-size:clamp(62px,15vw,94px); }
  .intro--background .hero-image { object-position:59% 50%; }
  .intro--background .image-shade { background:linear-gradient(90deg,#14120ed1,#14120e65 75%),linear-gradient(0deg,#14120eb3,transparent 50%); }
  .intro--background .intro-bottom { display:block; padding-top:24px; }
  .intro--background .intro-bottom>p { max-width:none; font-size:12px; margin-bottom:22px; }
  .intro--background .spin-badge { width:78px; height:78px; right:6%; bottom:100px; }
  .intro--background .intro-caption { flex-wrap:wrap; gap:8px 16px; }
}
@media(max-width:370px) { .intro--background .spin-badge { display:none; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .hero-image { transform:none; will-change:auto; } .reveal { opacity:1!important; transform:none!important; } }
