:root {
  color-scheme: dark;
  --bg: #0b0c0d;
  --surface: #151619;
  --surface-light: #1e2022;
  --text: #f3f1ed;
  --muted: #d5d2ca;
  --gold: #cda66b;
  --line: #3c3a36;
  --serif: "Baskerville Old Face", "Baskerville", "Palatino Linotype", "Palatino", "Book Antiqua", "DejaVu Serif", Georgia, serif;
  --sans: "Gill Sans MT", "Gill Sans", "Avenir Next", "Century Gothic", "DejaVu Sans", sans-serif;
  --page-pad: clamp(1.25rem, 5.4vw, 6rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body:has(.lightbox[open]) { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, [tabindex="-1"]:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
.brand:focus-visible, .menu-toggle:focus-visible { outline-offset: 3px; border-radius: 2px; }
::selection { background: var(--gold); color: var(--bg); }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: 1rem; padding: .6rem 1rem; background: var(--text); color: var(--bg); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: absolute; z-index: 10; inset: 0 0 auto; min-height: 5.8rem; display: grid; grid-template-columns: minmax(12rem,1fr) auto minmax(12rem,1fr); grid-template-areas: "brand navigation languages"; align-items: center; gap: 1.5rem; padding: .55rem var(--page-pad); border-bottom: 1px solid rgba(243,240,234,.13); color: var(--text); }
.brand { grid-area: brand; display: flex; align-items: center; width: max-content; max-width: 100%; min-width: 0; }
.brand__picture { display: block; width: clamp(7.5rem, 10vw, 8.75rem); flex: 0 1 auto; }
.brand__image { display: block; width: 100%; max-width: 100%; height: auto; }
.primary-nav { grid-area: navigation; display: flex; align-items: center; gap: clamp(1.1rem, 2.5vw, 2.55rem); }
.primary-nav a { position: relative; padding: .7rem 0; color: var(--text); font-size: clamp(.875rem, .95vw, 1rem); letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--gold); }
.primary-nav a[aria-current="page"]::after { position: absolute; right: 0; bottom: .26rem; left: 0; height: 1px; background: var(--gold); content: ""; }
.language-switch { grid-area: languages; justify-self: end; display: flex; align-items: center; gap: .75rem; color: var(--muted); font-size: clamp(.875rem, .92vw, 1rem); letter-spacing: .1em; }
.language-switch a { padding: .5rem 0; }
.language-switch a[aria-current="page"], .language-switch a:hover { color: var(--gold); }
.language-switch span { color: #696762; }
.menu-toggle { display: none; }
.hero { position: relative; min-height: min(850px, 100svh); min-height: max(44rem, 100svh); overflow: hidden; display: grid; place-items: center; isolation: isolate; }
.hero-art, .hero-shade { position: absolute; z-index: -2; inset: 0; }
.hero-art { overflow: hidden; background: #0b0c0d; }
.hero-art__sun { position: absolute; top: 21%; left: 23%; width: clamp(4rem,8vw,8rem); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,#f2d49b 0 4%,#d99456 35%,rgba(199,114,66,.2) 70%,transparent 72%); filter: blur(2px); opacity: .8; }
.hero-art__coast { position: absolute; inset: 14% -5% 29%; background: linear-gradient(160deg,transparent 0 31%,rgba(13,16,18,.4) 31.2% 43%,transparent 43.2%),linear-gradient(170deg,transparent 0 47%,rgba(14,17,18,.75) 47.2% 63%,transparent 63.2%); clip-path: polygon(0 38%,12% 31%,25% 34%,37% 47%,49% 39%,60% 18%,73% 22%,86% 2%,100% 14%,100% 100%,0 100%); opacity: .76; }
.hero-art__water { position: absolute; inset: 47% 0 0; background: repeating-linear-gradient(178deg,transparent 0 20px,rgba(224,174,112,.075) 22px 23px,transparent 25px 37px),linear-gradient(180deg,rgba(139,91,67,.22),#101315 78%); }
.hero-art__villa { position: absolute; right: 7%; bottom: 37%; width: clamp(10rem,22vw,22rem); height: clamp(5.5rem,11vw,10rem); background: linear-gradient(180deg,rgba(25,25,24,.95),rgba(13,15,15,.93)); border-top: 2px solid rgba(216,165,111,.65); box-shadow: 0 2rem 5rem rgba(0,0,0,.32); transform: skewY(-2deg); }
.hero-art__villa::before { content: ""; position: absolute; width: 110%; height: 1.3rem; left: -5%; top: -1.2rem; background: #282724; transform: skewX(-28deg); border-top: 1px solid rgba(216,165,111,.45); }
.hero-art__villa i { display: inline-block; width: 17%; height: 48%; margin: 25% 3.6%; background: linear-gradient(180deg,rgba(255,194,114,.45),rgba(164,99,51,.28)); border: 1px solid rgba(230,180,120,.24); }
.hero-art__yacht { position: absolute; left: 5%; bottom: 31%; width: clamp(9rem,20vw,18rem); height: 2.6rem; background: linear-gradient(180deg,#8b7762,#252526 45%,#0e1011 47%); clip-path: polygon(7% 0,100% 0,85% 63%,64% 100%,19% 100%,0 34%); filter: drop-shadow(0 .7rem .8rem #080909); }
.hero-art__yacht::before { position: absolute; content: ""; left: 43%; bottom: 88%; width: 1px; height: 5rem; background: rgba(223,212,191,.55); }
.hero-art__yacht i { position: absolute; left: 43%; bottom: 95%; width: 3.2rem; height: 3.8rem; clip-path: polygon(0 100%,100% 100%,0 0); background: rgba(193,166,133,.26); }
.hero-art__car { position: absolute; bottom: 13%; left: 48%; width: clamp(17rem,44vw,43rem); height: clamp(5rem,12vw,10rem); border-radius: 58% 32% 13% 12% / 48% 47% 17% 17%; background: linear-gradient(170deg,rgba(48,48,48,.98),#080a0c 45%,#171819 72%,#060708); border: 1px solid rgba(211,178,132,.5); box-shadow: 0 1.3rem 2.8rem rgba(0,0,0,.8), inset 0 .3rem .5rem rgba(255,255,255,.1); transform: translateX(-15%) skewX(-9deg); }
.hero-art__car::before { position: absolute; content: ""; width: 58%; height: 50%; top: -36%; left: 19%; background: linear-gradient(140deg,rgba(163,171,176,.45),rgba(25,29,32,.9) 55%,rgba(199,148,90,.16)); clip-path: polygon(12% 100%,27% 0,72% 0,100% 100%); border-top: 1px solid rgba(216,174,126,.42); }
.hero-art__car i { position: absolute; left: 16%; bottom: -20%; width: 17%; aspect-ratio: 1; border: .7rem solid #101214; border-radius: 50%; background: radial-gradient(circle,#9f8664 0 13%,#272725 15% 54%,#070809 57%); box-shadow: 0 0 .6rem #000; }
.hero-art__car b { position: absolute; right: 13%; bottom: -20%; width: 17%; aspect-ratio: 1; border: .7rem solid #101214; border-radius: 50%; background: radial-gradient(circle,#9f8664 0 13%,#272725 15% 54%,#070809 57%); box-shadow: 0 0 .6rem #000; }
.hero-art__grain { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%,rgba(0,0,0,.23)),radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.4)); }
.hero-shade { z-index: -1; background: linear-gradient(90deg,rgba(5,7,8,.48),rgba(6,7,8,.1) 55%,rgba(6,7,8,.3)),linear-gradient(0deg,rgba(5,7,8,.62),transparent 47%,rgba(5,7,8,.4)); }
.hero-asset-note { position: absolute; top: 7.2rem; right: var(--page-pad); margin: 0; color: #f2dfc3; font-size: .6rem; letter-spacing: .17em; text-transform: uppercase; }
.hero-content { width: min(46rem, calc(100% - 2rem)); padding: 6rem 0 4rem; text-align: center; }
.eyebrow { margin: 0 0 .9rem; color: var(--gold); font-size: .66rem; line-height: 1.4; letter-spacing: .19em; text-transform: uppercase; }
.hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem,5.2vw,5rem); font-weight: 400; line-height: 1.08; letter-spacing: .015em; text-shadow: 0 2px 25px rgba(0,0,0,.38); }
.hero-topics { margin: 1.55rem auto 0; color: #ece7df; font-family: var(--serif); font-size: .91rem; letter-spacing: .065em; }
.hero-topics b { margin: 0 .4rem; color: var(--gold); font-weight: 400; }
.scroll-cue { position: absolute; bottom: 2.2rem; left: var(--page-pad); display: flex; flex-direction: column; align-items: center; gap: .6rem; color: var(--muted); font-size: .61rem; letter-spacing: .12em; text-transform: uppercase; }
.scroll-cue__line { height: 2.4rem; width: 1px; background: var(--gold); }
.section { padding: clamp(5rem,9vw,9rem) var(--page-pad); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin: 0 0 2.6rem; }
h2, h3, p { overflow-wrap: break-word; }
.section h2, .contact h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.45rem,4.2vw,4rem); font-weight: 400; line-height: 1.1; }
.section-intro { max-width: 29rem; margin: 0 0 .3rem; color: var(--muted); font-family: var(--serif); font-size: 1.08rem; line-height: 1.65; }
.collections { background: var(--bg); }
.collection-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .8rem; }
.collection-card { min-width: 0; background: #111214; border: 1px solid rgba(205,166,107,.17); transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.collection-card:hover { transform: translateY(-4px); border-color: rgba(205,166,107,.55); background: #17181a; }
.visual-art { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; isolation: isolate; background: linear-gradient(145deg,#38312c,#141719 55%,#090b0d); color: rgba(224,210,189,.81); }
.visual-art::before, .visual-art::after { position: absolute; z-index: -1; content: ""; }
.visual-art::before { inset: 0; background: radial-gradient(ellipse at 50% 36%,rgba(205,166,107,.2),transparent 42%),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.66)); }
.visual-art::after { right: 0; bottom: 18%; left: 0; height: 1px; background: linear-gradient(90deg,transparent,rgba(205,166,107,.28),transparent); }
.visual-art svg { width: 77%; height: auto; max-height: 72%; overflow: visible; fill: rgba(10,12,13,.35); stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1rem 1.4rem rgba(0,0,0,.4)); }
.visual-art .art-detail { fill: none; stroke: var(--gold); stroke-width: 1; opacity: .82; }
.visual-art .art-detail-fill { fill: var(--gold); stroke: none; opacity: .75; }
.visual-art .art-water { fill: rgba(159,139,111,.09); stroke: none; }
.art--yacht { background: linear-gradient(150deg,#555047,#20272a 49%,#0c1012); }
.art--watch { background: radial-gradient(circle at 50% 40%,#44403a,#191a1a 47%,#090b0c 90%); }
.art--dining { background: linear-gradient(145deg,#3b3024,#1d1c1a 58%,#090a0a); }
.art--place { background: linear-gradient(150deg,#574538,#252320 48%,#0c1010); }
.art--travel { background: linear-gradient(160deg,#70554a,#373034 44%,#0e1417); }
.asset-note { position: absolute; right: .55rem; bottom: .55rem; left: .55rem; padding: .36rem .45rem; border: 1px solid rgba(243,240,234,.19); background: rgba(8,9,10,.75); color: #f2ece2; font-size: .52rem; line-height: 1.4; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.card-copy { display: block; padding: .95rem .65rem 1.2rem; text-align: center; }
.card-title, .card-subtitle { display: block; }
.card-title { font-family: var(--serif); font-size: clamp(1rem,1.15vw,1.125rem); line-height: 1.3; }
.card-subtitle { margin-top: .4rem; color: var(--muted); font-size: .875rem; line-height: 1.5; letter-spacing: .04em; }
.asset-caption { margin: 1rem 0 0; color: var(--muted); font-size: .8125rem; line-height: 1.55; letter-spacing: .02em; }
.gallery { background: #111214; }
.section-heading--gallery { width: min(100%,90.625rem); margin: 0 auto 2.2rem; }
.gallery-grid { display: grid; width: min(100%,90.625rem); margin-inline: auto; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: none; grid-auto-rows: auto; gap: .85rem; }
.gallery-card { position: relative; display: block; width: 100%; min-width: 0; min-height: 0; aspect-ratio: 4 / 5; overflow: hidden; padding: 0; border: 1px solid rgba(205,166,107,.18); background: var(--surface); text-align: left; cursor: zoom-in; }
.gallery-card--wide { grid-row: auto; }
.gallery-card .visual-art { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.gallery-card .slot-picture img { object-fit: contain; }
.gallery-card .visual-art svg { width: min(54%,19rem); max-height: 60%; }
.gallery-card--wide .visual-art svg { width: min(65%,25rem); }
.gallery-card .asset-note { right: 1rem; bottom: 3.8rem; left: auto; width: max-content; max-width: calc(100% - 2rem); padding: .36rem .6rem; font-size: .54rem; }
.gallery-label { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .85rem 1rem; background: linear-gradient(0deg,rgba(8,9,10,.96),rgba(8,9,10,.65)); }
.gallery-label strong { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; }
.gallery-label span { color: #e0ddd6; font-size: .875rem; letter-spacing: .04em; }
.gallery-card--wide .gallery-label { padding: 1rem 1.25rem; }
.gallery-card--wide .gallery-label strong { font-size: 1.35rem; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .gallery-card { transition: border-color .45s ease-out; }
  .gallery-card .slot-picture img { transition: transform .6s ease-out; will-change: transform; }
  .gallery-card:hover .slot-picture img,
  .gallery-card:focus-visible .slot-picture img { transform: scale(1.05); }
  .gallery-card:hover, .gallery-card:focus-visible { border-color: rgba(205,166,107,.55); }
  .gallery-card .gallery-label span { transition: color .45s ease-out; }
  .gallery-card:hover .gallery-label span,
  .gallery-card:focus-visible .gallery-label span { color: #f3f1ed; }
}
.about { display: grid; grid-template-columns: .65fr 1.55fr .9fr; gap: clamp(2rem,6vw,6rem); align-items: start; background: #0d0e10; border-top: 1px solid rgba(243,240,234,.08); }
.about-label { padding-top: .25rem; }
.about-rule { display: block; width: 4.1rem; height: 2px; margin-top: 1.8rem; background: var(--gold); }
.about-main h2 { max-width: 43rem; margin: 0 0 1.55rem; font-family: var(--serif); font-size: clamp(2.35rem,4.2vw,4.15rem); font-weight: 400; line-height: 1.12; }
.about-main p, .services > p:not(.eyebrow) { max-width: 45rem; margin: 0; color: var(--muted); font-family: var(--serif); font-size: 1rem; line-height: 1.85; }
.services { padding: .1rem 0 .1rem clamp(1.5rem,3vw,3.5rem); border-left: 1px solid var(--gold); }
.services h3 { margin: 0 0 .8rem; font-family: var(--serif); font-size: clamp(1.65rem,2.3vw,2.3rem); font-weight: 400; line-height: 1.15; }
.services > p:not(.eyebrow) { font-family: var(--sans); font-size: 1rem; line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; gap: .8rem; margin-top: 1.3rem; padding-bottom: .3rem; border-bottom: 1px solid rgba(205,166,107,.55); color: var(--gold); font-size: .8125rem; letter-spacing: .04em; }
.text-link span, .link-arrow { transition: transform .2s ease; }
.text-link:hover span, .contact-links a:hover .link-arrow { transform: translate(3px,-2px); }
.contact { display: grid; grid-template-columns: 1.3fr .8fr; align-items: center; gap: 3rem; background: #151619; border-top: 1px solid rgba(243,240,234,.08); }
.contact h2 { font-size: clamp(2.3rem,4vw,3.9rem); }
.contact-links { border-top: 1px solid var(--line); }
.contact-links a { display: grid; grid-template-columns: 2.5rem 1fr auto; align-items: center; gap: .7rem; min-height: 4.2rem; border-bottom: 1px solid var(--line); color: var(--text); font-size: .875rem; transition: color .2s ease; }
.contact-links a:hover { color: var(--gold); }
.contact-icon { color: var(--gold); font-size: 1.5rem; line-height: 1; }
.link-arrow { color: var(--gold); }
.site-footer { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem 2rem; padding: 1.6rem var(--page-pad) 1.35rem; background: #0b0c0d; border-top: 1px solid var(--line); }
.footer-brand { color: var(--gold); font-family: var(--serif); font-size: 1.4rem; letter-spacing: .07em; }
.footer-brand span { display: block; margin-top: -.35rem; color: var(--muted); font-family: var(--sans); font-size: .5rem; letter-spacing: .36em; }
.disclosure { max-width: 45rem; margin: 0; color: var(--muted); font-size: .8125rem; line-height: 1.6; }
.legal-disclaimer { display: block; margin-top: .45rem; color: var(--muted); font-size: 13.5px; line-height: 1.55; }
.back-top { justify-self: end; display: inline-flex; gap: .6rem; color: var(--muted); font-size: .8125rem; }
.back-top span { color: var(--gold); }
.privacy-link { grid-column: 3; grid-row: 2; justify-self: end; display: inline-flex; min-height: 44px; align-items: center; color: var(--muted); font-size: .8125rem; text-decoration: underline; text-decoration-color: rgba(205,166,107,.55); text-underline-offset: .2em; }
.privacy-link:hover, .privacy-link[aria-current="page"] { color: var(--gold); }
.copyright { grid-column: 1 / -1; grid-row: 3; margin: 0; color: #8f8a83; font-size: .75rem; }
.lightbox { width: min(1000px, calc(100% - 2rem)); max-width: 1000px; max-height: min(90vh,900px); padding: clamp(1.1rem,3vw,2rem); overflow: auto; border: 1px solid rgba(205,166,107,.43); background: #111214; color: var(--text); box-shadow: 0 2rem 8rem rgba(0,0,0,.75); }
.lightbox::backdrop { background: rgba(3,4,5,.86); backdrop-filter: blur(5px); }
.lightbox__top { display: flex; align-items: center; justify-content: space-between; }
.lightbox__top .eyebrow { margin: 0; }
.lightbox__top form { margin: 0; }
.icon-button { width: 2.5rem; height: 2.5rem; border: 1px solid var(--line); background: transparent; color: var(--text); font-size: 1.65rem; line-height: 1; cursor: pointer; }
.icon-button:hover { border-color: var(--gold); color: var(--gold); }
.lightbox__body { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(13rem,.8fr); gap: clamp(1.5rem,4vw,3.5rem); align-items: center; padding: .8rem 0 1.1rem; }
.lightbox-art .visual-art { width: min(100%,52vh,40rem); min-height: 0; margin-inline: auto; aspect-ratio: 4 / 5; border: 1px solid rgba(205,166,107,.18); }
.lightbox-art .slot-picture img { object-fit: contain; object-position: center; }
.lightbox-art .visual-art svg { width: 52%; max-height: 72%; }
.lightbox-art .asset-note { right: 1rem; bottom: 1rem; left: 1rem; font-size: .63rem; }
.lightbox__copy h2 { margin: 0 0 .7rem; font-family: var(--serif); font-size: clamp(2rem,4vw,3.5rem); font-weight: 400; line-height: 1.12; }
.lightbox__copy > p:not(.asset-caption) { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.7; }
.lightbox__controls { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding-top: 1rem; border-top: 1px solid var(--line); }
.lightbox__controls button { padding: .6rem 0; border: 0; background: transparent; color: var(--text); font-size: .76rem; cursor: pointer; }
.lightbox__controls button:hover { color: var(--gold); }
.lightbox-prev { justify-self: start; }.lightbox-next { justify-self: end; }
.lightbox-count { color: var(--muted); font-size: .7rem; }
@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto auto; }
  .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .collection-card .visual-art { aspect-ratio: 4 / 4.5; }
  .about { grid-template-columns: .5fr 1.5fr; }
  .services { grid-column: 2; max-width: 32rem; }
}
@media (max-width: 900px) {
  :root { --page-pad: 1.25rem; }
  html { scroll-padding-top: 5.2rem; }
  .site-header { position: absolute; min-height: 4.7rem; grid-template-columns: minmax(0,1fr) auto 44px; grid-template-areas: "brand languages menu"; gap: .5rem; padding-top: .4rem; padding-bottom: .4rem; }
  .brand { width: 44px; height: 44px; min-width: 44px; }
  .brand__picture { width: 44px; flex: 0 0 44px; }
  .menu-toggle { grid-area: menu; justify-self: end; display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; padding: .55rem; border: 1px solid transparent; border-radius: 2px; background: transparent; cursor: pointer; }
  .menu-toggle span { display: block; width: 100%; height: 1px; background: var(--text); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem var(--page-pad) 1rem; border-bottom: 1px solid var(--line); background: rgba(11,12,13,.97); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: .82rem .1rem; border-bottom: 1px solid rgba(243,240,234,.08); }
  .primary-nav a[aria-current="page"]::after { right: auto; width: 2.5rem; }
  .language-switch { gap: .25rem; font-size: .67rem; }
  .hero { min-height: max(42rem, 100svh); }
  .hero-art__villa { right: 3%; bottom: 40%; width: 47vw; height: 5.5rem; }
  .hero-art__yacht { left: -1%; bottom: 35%; width: 37vw; }
  .hero-art__car { left: 43%; bottom: 18%; width: 76vw; height: 6.6rem; }
  .hero-art__sun { top: 23%; left: 17%; }
  .hero-content { padding: 5rem 0 6rem; }
  .hero-lockup { margin-bottom: 1.2rem; }
  .hero h1 { font-size: clamp(2.6rem,10vw,4.2rem); }
  .hero-topics { max-width: 25rem; width: min(100%, 25rem); font-size: .79rem; line-height: 1.9; }
  .hero-asset-note { top: 5.4rem; right: 1.25rem; font-size: .52rem; }
  .scroll-cue { bottom: 1.1rem; }
  .section { padding-top: 5rem; padding-bottom: 5rem; }
  .section-heading { align-items: start; flex-direction: column; gap: .8rem; margin-bottom: 1.8rem; }
  .section-intro { max-width: 38rem; font-size: 1rem; }
  .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
  .collection-card .visual-art { aspect-ratio: 4 / 5; }
  .card-copy { padding: .75rem .35rem .9rem; }
  .card-title { font-size: 1rem; }
  .card-subtitle { font-size: .8125rem; }
  .asset-note { font-size: .45rem; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: auto; gap: .55rem; }
  .gallery-card--wide { grid-row: auto; }
  .gallery-card .visual-art svg, .gallery-card--wide .visual-art svg { width: 65%; }
  .gallery-card .asset-note { bottom: 3.25rem; font-size: .43rem; }
  .gallery-label { align-items: start; flex-direction: column; gap: .1rem; padding: .6rem .65rem; }
  .gallery-label strong, .gallery-card--wide .gallery-label strong { font-size: .96rem; }
  .gallery-label span { font-size: .875rem; }
  .about { grid-template-columns: 1fr; gap: 1.8rem; }
  .about-rule { width: 3rem; margin-top: .8rem; }
  .about-main h2 { font-size: clamp(2.3rem,9vw,3.45rem); }
  .about-main p { font-size: 1rem; }
  .services { grid-column: auto; max-width: 35rem; padding-left: 1.2rem; }
  .contact { grid-template-columns: 1fr; gap: 2rem; }
  .contact h2 { font-size: clamp(2.3rem,8.5vw,3.5rem); }
  .site-footer { grid-template-columns: auto 1fr; gap: 1.2rem; }
  .disclosure { grid-column: 1 / -1; grid-row: 2; }
  .back-top { grid-column: 2; grid-row: 1; }
  .privacy-link { grid-column: 1 / -1; grid-row: 3; justify-self: start; }
  .copyright { grid-row: 4; }
  .lightbox__body { grid-template-columns: 1fr; gap: 1rem; }
  .lightbox-art .visual-art { min-height: 0; }
}
@media (max-width: 370px) {
  :root { --page-pad: 1rem; }
  .site-header { gap: .6rem; }
  .menu-toggle { width: 2.4rem; height: 2.4rem; }
  .collection-grid { grid-template-columns: 1fr; }
  .collection-card .visual-art { aspect-ratio: 4 / 3; }
  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Accessible touch targets and prepared media slots. */
.primary-nav a { display: flex; min-height: 44px; align-items: center; }
.language-switch a { display: grid; min-width: 44px; min-height: 44px; place-items: center; }
.collection-card { display: block; }
.hero { min-height: max(39rem, 100svh); }
.hero-art { background: #0b0c0d; }
.hero-shade { background: linear-gradient(90deg, rgba(5,7,8,.32), rgba(6,7,8,.05) 52%, rgba(6,7,8,.24)), linear-gradient(0deg, rgba(5,7,8,.43), transparent 45%, rgba(5,7,8,.25)); }
.hero-art__photo-slot { position: absolute; z-index: 0; inset: 0; pointer-events: none; }
.hero-art__photo-slot--mobile { display: none; }
.hero-art__photo-slot > .slot-picture, .visual-art > .slot-picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.slot-picture[hidden] { display: none; }
.slot-picture[data-loading="true"] { opacity: 0; }
.slot-picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-art.has-photo { background: #0b0c0d; }
.visual-art.has-photo { background: #111214; }
.visual-art.has-photo > svg { display: none; }
.hero-content { position: relative; z-index: 2; display: flex; width: min(56rem, calc(100% - 2rem)); flex-direction: column; align-items: center; padding: 0; text-align: center; }
.hero .hero-wordmark { width: 100%; margin: 0; font-size: 0; line-height: 0; letter-spacing: 0; text-shadow: none; }
.hero-wordmark__image { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.hero-tagline { margin: .48rem 0 0; color: #f3f1ed; font-family: var(--serif); font-size: clamp(1rem, 1.2vw, 1.125rem); letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.hero-topics { display: flex; flex-wrap: nowrap; justify-content: center; width: min(calc(100vw - var(--page-pad) - var(--page-pad)), 56rem); max-width: 56rem; margin: 1.15rem 0 0; column-gap: .45rem; row-gap: .1rem; color: #f3f1ed; font-family: var(--sans); font-size: clamp(.875rem, 1vw, 1rem); line-height: 1.55; letter-spacing: .065em; text-transform: uppercase; }
.hero-tagline, .hero-topics { text-shadow: 0 1px 8px rgba(0,0,0,.9); }
.hero-topics__row { display: contents; }
.hero-topics__item { white-space: nowrap; }
.hero-topics b { margin: 0; color: var(--gold); font-weight: 400; }
@media (min-width: 901px) {
  .hero-art__photo-slot--desktop { inset: 5.8rem 0 0; display: flex; align-items: stretch; justify-content: stretch; }
  .hero-art__photo-slot--desktop > .slot-picture { position: absolute; inset: 0; flex: none; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; margin: 0; }
  .hero-art__photo-slot--desktop .slot-picture img { object-fit: cover !important; object-position: center bottom !important; }
  .site-header .brand { transform: translateY(.4rem); }
  .hero-content { align-self: start; width: min(clamp(22rem, calc(17vw + 11rem), 48.75rem), calc(100% - 2rem)); margin-top: calc(5.8rem + clamp(1rem, 2vh, 1.5rem)); }
  .hero-content .hero-tagline { font-size: clamp(1.125rem, 1.375vw, 1.5rem); letter-spacing: .12em; line-height: 1.375; }
  .hero-content .hero-topics { font-size: clamp(1.03125rem, 1.1vw, 1.25rem); column-gap: .65rem; letter-spacing: .065em; line-height: 1.52; }
}
@media (min-width: 1600px) {
  .site-header { padding-inline: max(6rem, calc((100vw - 1500px) / 2)); }
}
.scroll-cue { z-index: 3; bottom: 1.65rem; left: 50%; transform: translateX(-50%); gap: .4rem; color: #f4d7aa; font-size: .75rem; text-shadow: 0 1px 8px rgba(0,0,0,.9); }
.scroll-cue__line { height: 1.9rem; }
.gallery-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .75rem; }
.filter-chip { min-height: 44px; padding: .45rem .85rem; border: 1px solid rgba(205,166,107,.3); border-radius: 999px; background: transparent; color: var(--text); font-size: .875rem; line-height: 1.35; cursor: pointer; }
.filter-chip:hover, .filter-chip[aria-pressed="true"] { border-color: var(--gold); background: rgba(205,166,107,.12); color: #f4d7aa; }
.gallery-filter-status { min-height: 1.6em; margin: 0 0 1.1rem; color: var(--muted); font-size: .8125rem; }
.gallery-card[hidden] { display: none; }
.gallery-card .visual-art, .lightbox-art { touch-action: pan-y; }
.gallery-card .gallery-label { min-width: 0; }
.gallery-label strong, .gallery-label > span { overflow-wrap: anywhere; }
.gallery-card:focus-visible, .filter-chip:focus-visible { outline-offset: 3px; }
.text-link, .back-top { min-height: 44px; }
.icon-button { min-width: 44px; min-height: 44px; }
.lightbox__controls button { min-height: 44px; }

@media (max-width: 900px) {
  :root { --page-pad: 1.25rem; }
  html { scroll-padding-top: 5.2rem; }
  .site-header { position: absolute; min-height: 4.7rem; grid-template-columns: minmax(0,1fr) auto 44px; grid-template-areas: "brand languages menu"; gap: .5rem; padding-top: .4rem; padding-bottom: .4rem; }
  .brand { width: 44px; height: 44px; min-width: 44px; }
  .brand__picture { width: 44px; flex: 0 0 44px; }
  .menu-toggle { grid-area: menu; justify-self: end; display: flex; width: 44px; height: 44px; flex-direction: column; justify-content: center; gap: 6px; padding: .55rem; border: 1px solid transparent; border-radius: 2px; background: transparent; cursor: pointer; }
  .menu-toggle span { display: block; width: 100%; height: 1px; background: var(--text); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem var(--page-pad) 1rem; border-bottom: 1px solid var(--line); background: rgba(11,12,13,.97); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: .65rem .1rem; border-bottom: 1px solid rgba(243,240,234,.08); }
  .primary-nav a[aria-current="page"]::after { right: auto; width: 2.5rem; }
  .language-switch { gap: .25rem; font-size: clamp(.8125rem, 3.5vw, .875rem); }
  .hero { min-height: max(39rem, 100svh); }
  .hero-content { width: min(100%, 29rem); padding: 5.6rem 1.25rem 4.2rem; }
  .hero-tagline { max-width: 100%; margin-top: .38rem; font-size: clamp(.875rem, 3.95vw, 1rem); letter-spacing: .065em; line-height: 1.32; }
  .hero-topics { max-width: 23rem; width: min(100%, 23rem); flex-direction: column; align-items: center; gap: .16rem; margin-top: .85rem; font-size: clamp(.8125rem, 3.85vw, .95rem); line-height: 1.5; letter-spacing: .045em; }
  .hero-topics__row { display: inline-flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: .42rem; max-width: 100%; white-space: normal; }
  .hero-topics__group-separator { display: none; }
  .scroll-cue { bottom: 1rem; left: 50%; transform: translateX(-50%); gap: .35rem; }
  .scroll-cue__line { height: 1.35rem; }
  .section { padding-top: 5rem; padding-bottom: 5rem; }
  .section-heading { align-items: start; flex-direction: column; gap: .8rem; margin-bottom: 1.8rem; }
  .section-intro { max-width: 38rem; font-size: 1rem; }
  .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
  .collection-card .visual-art { aspect-ratio: 4 / 5; }
  .card-copy { padding: .75rem .35rem .9rem; }
  .card-title { font-size: 1rem; }
  .card-subtitle { font-size: .8125rem; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: auto; gap: .55rem; }
  .gallery-card--wide { grid-row: auto; }
  .gallery-card .visual-art svg, .gallery-card--wide .visual-art svg { width: 65%; }
  .gallery-label { align-items: start; flex-direction: column; gap: .1rem; padding: .6rem .65rem; }
  .gallery-label strong, .gallery-card--wide .gallery-label strong { font-size: .96rem; }
  .gallery-label span { font-size: .875rem; }
  .about { grid-template-columns: 1fr; gap: 1.8rem; }
  .about-rule { width: 3rem; margin-top: .8rem; }
  .about-main h2 { font-size: clamp(2.3rem,9vw,3.45rem); }
  .about-main p { font-size: 1rem; }
  .services { grid-column: auto; max-width: 35rem; padding-left: 1.2rem; }
  .contact { grid-template-columns: 1fr; gap: 2rem; }
  .contact h2 { font-size: clamp(2.3rem,8.5vw,3.5rem); }
  .site-footer { grid-template-columns: auto 1fr; gap: 1.2rem; }
  .disclosure { grid-column: 1 / -1; grid-row: 2; }
  .back-top { grid-column: 2; grid-row: 1; }
  .privacy-link { grid-column: 1 / -1; grid-row: 3; justify-self: start; }
  .copyright { grid-row: 4; }
  .lightbox__body { grid-template-columns: 1fr; gap: 1rem; }
  .lightbox-art .visual-art { min-height: 0; }
}
@media (max-width: 370px) {
  :root { --page-pad: 1rem; }
  .site-header { gap: .4rem; }
  .brand, .brand__picture { width: 44px; }
  .brand { min-width: 44px; }
  .brand__picture { flex-basis: 44px; }
  .language-switch { gap: .18rem; }
  .collection-grid { grid-template-columns: 1fr; }
  .collection-card .visual-art { aspect-ratio: 4 / 3; }
  .gallery-grid { grid-template-columns: minmax(0,1fr); grid-auto-rows: auto; }
  .gallery-filters { gap: .4rem; }
  .filter-chip { padding-right: .65rem; padding-left: .65rem; }
}

@media (max-width: 600px) {
  .hero-art__photo-slot--desktop { display: none; }
  .hero-art__photo-slot--mobile { display: block; }
}

/* Use the supplied ultrawide HERO image as a single full-bleed image, without a blurred duplicate. */
@media (min-width: 601px) and (min-aspect-ratio: 2 / 1) {
  .hero-art__photo-slot--desktop { inset: 0; display: flex; align-items: stretch; justify-content: stretch; }
  .hero-art__photo-slot--desktop > .slot-picture { position: relative; inset: auto; flex: 1 1 auto; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; margin: 0; }
  .hero-art__photo-slot--desktop .slot-picture img { object-fit: cover !important; object-position: center center !important; }
}

@media (min-width: 1600px) {
  .card-title { font-size: clamp(1rem,1.15vw,1.125rem); }
  .card-subtitle { font-size: clamp(.8125rem,.42vw,.875rem); }
  .eyebrow { font-size: clamp(.8rem,.4vw,.9rem); }
  .asset-note, .hero-asset-note { font-size: clamp(.7rem,.38vw,.85rem); }
  .gallery-label span { font-size: clamp(.875rem,.4vw,.9rem); }
  .gallery-card .gallery-label strong,
  .gallery-card--wide .gallery-label strong { font-size: clamp(1.05rem,.5vw,1.3rem); }
  .filter-chip { font-size: clamp(.875rem,.4vw,.9rem); }
  .gallery-filter-status { font-size: clamp(.8125rem,.4vw,.9rem); }
  .asset-caption { font-size: clamp(.8125rem,.4vw,.9rem); }
  .services > p:not(.eyebrow) { font-size: 1rem; }
  .contact-links a { font-size: clamp(.875rem,.42vw,1rem); }
  .text-link, .back-top { font-size: clamp(.8125rem,.4vw,.9rem); }
  .disclosure { font-size: clamp(.8125rem,.4vw,.875rem); }
  .copyright { font-size: clamp(.75rem,.38vw,.85rem); }
}

@media (min-width: 901px) and (max-width: 1599px) {
  .card-subtitle { font-size: .8125rem; }
  .gallery-label span { font-size: .875rem; }
  .filter-chip { font-size: .875rem; }
  .gallery-filter-status { font-size: .8125rem; }
  .asset-caption { font-size: .8125rem; }
  .text-link { font-size: .8125rem; }
  .back-top { font-size: .8125rem; }
  .disclosure { font-size: .8125rem; }
  .copyright { font-size: .75rem; }
}

@media (max-width: 600px) {
  .gallery-grid {
    grid-template-columns: minmax(0,1fr);
    grid-auto-rows: auto;
  }
}

.site-header--legal { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "brand languages"; }
.privacy-page { min-height: calc(100svh - 8rem); padding: 9.25rem var(--page-pad) clamp(4rem,8vw,7rem); }
.privacy-content { width: min(100%, 52rem); margin: 0 auto; padding: clamp(1.25rem,4vw,3rem); border: 1px solid rgba(205,166,107,.2); background: #111214; }
.privacy-content .eyebrow { margin-bottom: .8rem; }
.privacy-content h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 400; line-height: 1.08; }
.privacy-content h2 { margin: 2.2rem 0 .55rem; font-family: var(--serif); font-size: clamp(1.45rem,2.5vw,1.85rem); font-weight: 400; line-height: 1.2; }
.privacy-content p { margin: 1rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.privacy-content a { color: #f4d7aa; text-decoration: underline; text-decoration-color: rgba(205,166,107,.65); text-underline-offset: .18em; }
.privacy-content a:hover { color: var(--text); }
.privacy-updated { margin-top: 2.5rem !important; padding-top: 1.1rem; border-top: 1px solid var(--line); font-size: .875rem !important; }
@media (max-width: 900px) {
  .site-header--legal { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "brand languages"; }
}
@media (max-width: 600px) {
  .privacy-page { min-height: 0; padding-top: 7rem; }
  .privacy-content { padding: 1.25rem; }
}
