:root {
  --navy-950: #04111f;
  --navy-900: #071b31;
  --navy-800: #0c2948;
  --navy-700: #143e68;
  --ice-100: #edf3f7;
  --ice-50: #f7f9fb;
  --white: #fff;
  --ink: #0c1d2d;
  --muted: #647586;
  --line: rgba(9, 31, 53, .13);
  --accent: #80b9d6;
  --accent-bright: #b8e5f5;
  --success: #276f5c;
  --shadow: 0 28px 70px rgba(6, 24, 42, .13);
  --radius-xl: 32px;
  --radius-lg: 22px;
  --radius-md: 14px;
  --shell: min(1480px, calc(100% - 64px));
  --ease: cubic-bezier(.2, .75, .25, 1);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: calc(92px + env(safe-area-inset-top, 0px)); }
body {
  margin: 0;
  color: var(--ink);
  background: var(--ice-50);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.dialog-open { overflow: hidden; }
img { display: block; max-width: 100%; }
button, input, textarea { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; }
:where(a, button):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.shell {
  width: var(--shell); margin-inline: auto;
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 999; left: 16px; top: 12px; transform: translateY(-180%);
  padding: 12px 16px; border-radius: 10px; color: var(--white); background: var(--navy-900);
}
.skip-link:focus { transform: none; }

.site-header {
  position: fixed; z-index: 80; inset: 0 0 auto; height: calc(82px + env(safe-area-inset-top, 0px));
  padding-top: env(safe-area-inset-top, 0px);
  color: var(--white); border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(4, 17, 31, .76); backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  transition: background .3s ease, box-shadow .3s ease;
}
.site-header.is-scrolled { background: rgba(4, 17, 31, .94); box-shadow: 0 12px 35px rgba(0,0,0,.12); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 40px; }
.brand { display: inline-flex; align-items: center; width: 154px; text-decoration: none; }
.brand img { width: 100%; height: auto; filter: brightness(0) invert(1); }
.desktop-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.desktop-nav a {
  position: relative; color: rgba(255,255,255,.74); text-decoration: none; font-size: .77rem;
  font-weight: 750; letter-spacing: .12em; text-transform: uppercase;
}
.desktop-nav a::after { content: ""; position: absolute; inset: auto 0 -8px; height: 1px; background: var(--accent-bright); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.selection-button {
  display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-left: 18px;
  padding: 6px 7px 6px 16px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px;
  color: white; background: rgba(255,255,255,.06);
}
.selection-button span { font-size: .76rem; font-weight: 720; letter-spacing: .04em; }
.selection-button strong { display: grid; place-items: center; min-width: 30px; height: 30px; border-radius: 50%; color: var(--navy-950); background: white; }

.hero {
  position: relative; min-height: 860px; height: min(980px, 100svh); overflow: hidden;
  color: white; background:
    radial-gradient(circle at 70% 38%, rgba(67, 137, 173, .26), transparent 32%),
    linear-gradient(132deg, #03101e 0%, #071d34 48%, #0b3153 100%);
}
.hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .28;
  background-image: linear-gradient(rgba(255,255,255,.038) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.038) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: linear-gradient(to bottom, black, transparent 88%);
}
.hero::after { content: ""; position: absolute; inset: auto -8% -28% 42%; height: 66%; border-radius: 50%; background: rgba(61, 142, 185, .16); filter: blur(80px); }
.hero-glow { position: absolute; width: 460px; height: 460px; border-radius: 50%; left: -180px; top: 210px; border: 1px solid rgba(255,255,255,.08); box-shadow: 0 0 0 86px rgba(255,255,255,.018), 0 0 0 172px rgba(255,255,255,.013); }
.hero-inner { position: relative; z-index: 2; height: 100%; display: grid; grid-template-columns: minmax(420px, .92fr) minmax(480px, 1.08fr); align-items: center; gap: 5vw; padding-top: calc(82px + env(safe-area-inset-top, 0px)); }
.hero-copy { max-width: 710px; }
.eyebrow { margin: 0 0 18px; color: #5f91ad; font-size: .72rem; font-weight: 820; letter-spacing: .25em; text-transform: uppercase; }
.hero .eyebrow, .section-heading-light .eyebrow, .closing-section .eyebrow { color: var(--accent-bright); }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; max-width: 710px; font-size: clamp(4.25rem, 7vw, 7.8rem); line-height: .88; letter-spacing: -.075em; font-weight: 760; }
#hero-title { font-size: clamp(1.875rem, 4.1vw, 3.8rem); line-height: 1.08; letter-spacing: -.035em; overflow-wrap: normal; text-wrap: balance; }
.hero-lead { max-width: 640px; margin: 32px 0 0; color: rgba(255,255,255,.7); font-size: clamp(1rem, 1.2vw, 1.24rem); line-height: 1.68; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-actions [data-open-guide] { max-width: 100%; padding: 13px 22px; line-height: 1.4; text-align: center; }
.button {
  display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 0 22px;
  border: 1px solid transparent; border-radius: 999px; font-size: .78rem; font-weight: 790;
  letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: transform .25s var(--ease), box-shadow .25s ease, background .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.985); }
.button-primary { color: var(--navy-950); background: white; box-shadow: 0 14px 30px rgba(0,0,0,.14); }
.catalog-section .button-primary, .dialog-content .button-primary, .guide-dialog .button-primary, .selection-dialog .button-primary { color: white; background: var(--navy-900); }
.button-ghost { color: white; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.04); }
.button-outline { border-color: var(--line); background: white; }
.button-light { color: var(--navy-950); background: white; }
.button-full { width: 100%; }
.hero-facts { display: flex; gap: clamp(28px, 4vw, 66px); margin: 52px 0 0; }
.hero-facts div { display: grid; gap: 6px; }
.hero-facts dt { font-size: 1.5rem; font-weight: 760; }
.hero-facts dd { margin: 0; color: rgba(255,255,255,.5); font-size: .67rem; letter-spacing: .13em; text-transform: uppercase; }
.hero-visual { position: relative; min-height: 680px; isolation: isolate; }
.hero-orbit { position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; }
.orbit-one { width: 540px; height: 540px; right: 3%; top: 13%; animation: orbit 16s linear infinite; }
.orbit-two { width: 410px; height: 410px; right: 12%; top: 22%; border-style: dashed; animation: orbit 23s linear infinite reverse; }
.hero-card { position: absolute; overflow: hidden; border-radius: 7px 7px 48% 48%; box-shadow: 0 50px 100px rgba(0,0,0,.36); background: #cad8e0; }
.hero-card img { width: 100%; height: 100%; object-fit: cover; user-select: none; }
.hero-card-back { width: 41%; height: 52%; right: 2%; top: 15%; transform: rotate(7deg); opacity: 1; }
.hero-card-front { width: 52%; height: 70%; right: 28%; top: 14%; transform: rotate(-2.5deg); }
.hero-caption { position: absolute; right: 3%; bottom: 2%; left: 3%; margin: 0; text-align: center; color: rgba(255,255,255,.8); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hero-caption p { margin: 0; }
.hero-caption .hero-custom-note { margin: 7px auto 0; max-width: 40ch; font-size: .75rem; font-weight: 400; line-height: 1.45; letter-spacing: 0; text-transform: none; color: #b8d6e7; }
.hero-caption span { margin-right: 14px; color: white; }
.scroll-cue { position: absolute; z-index: 3; left: 50%; bottom: 24px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.45); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; transform: translateX(-50%); }
.scroll-cue span { display: block; width: 42px; height: 1px; background: currentColor; transform-origin: left; animation: pulse-line 2.4s ease infinite; }

.catalog-section { padding: 120px 0 132px; }
.section-heading { display: grid; grid-template-columns: minmax(320px, .95fr) minmax(280px, .7fr); align-items: end; gap: 64px; margin-bottom: 48px; }
.section-heading h2, .options-intro h2 { margin: 0; font-size: clamp(2.65rem, 5vw, 5.4rem); line-height: .95; letter-spacing: -.055em; }
.section-heading > p { justify-self: end; max-width: 560px; margin: 0 0 4px; color: var(--muted); font-size: 1.03rem; line-height: 1.7; }
.catalog-toolbar { position: sticky; z-index: 35; top: calc(95px + env(safe-area-inset-top, 0px)); display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: 16px; margin-bottom: 22px; padding: 12px; border: 1px solid rgba(9,31,53,.1); border-radius: 20px; background: rgba(247,249,251,.88); box-shadow: 0 14px 40px rgba(6,24,42,.07); backdrop-filter: blur(18px); }
.search-control { display: flex; align-items: center; min-height: 56px; gap: 14px; padding: 0 16px; border-radius: 13px; background: white; }
.search-control:focus-within { box-shadow: 0 0 0 3px rgba(20,62,104,.24); }
.search-control svg { width: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.7; color: #708292; }
.search-control input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; font-size: 1rem; }
.search-control kbd { padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; color: #71808d; background: #f7f9fa; font-size: .65rem; }
.tier-control { position: relative; display: flex; align-items: center; gap: 16px; padding-left: 14px; }
.tier-control > span { color: var(--muted); font-size: .7rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.tier-trigger { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-width: 184px; height: 56px; padding: 0 16px; border: 0; border-radius: 13px; color: white; background: var(--navy-900); }
.tier-trigger svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tier-menu { position: absolute; z-index: 8; right: 0; top: calc(100% + 10px); width: 240px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s var(--ease); }
.tier-menu.is-open { opacity: 1; visibility: visible; transform: none; }
.tier-option { width: 100%; padding: 13px 14px; border: 0; border-radius: 9px; text-align: left; background: transparent; }
.tier-option:hover, .tier-option:focus-visible, .tier-option[aria-checked="true"] { color: white; background: var(--navy-900); }
.line-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 5px 2px 16px; scrollbar-width: none; }
.line-tabs::-webkit-scrollbar { display: none; }
.line-tab { flex: 0 0 auto; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; color: #455b6e; background: transparent; font-size: .7rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.line-tab[aria-pressed="true"] { color: white; border-color: var(--navy-900); background: var(--navy-900); }
.catalog-price-basis { margin: 7px 0 0; color: var(--navy-900); font-size: .85rem; font-weight: 750; }
.results-status { margin: 7px 0 24px; color: var(--muted); font-size: .78rem; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.product-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: 0 8px 28px rgba(8,30,50,.045); transition: transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease; }
.product-card:hover { transform: translateY(-7px); border-color: rgba(12,41,72,.25); box-shadow: 0 24px 48px rgba(8,30,50,.12); }
.product-media { position: relative; width: 100%; aspect-ratio: 1 / 1.1; overflow: hidden; padding: 0; border: 0; background: #e9eff3; }
.product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease), filter .35s ease; }
.product-card:hover .product-media img { transform: scale(1.035); }
.photo-count, .view-label { position: absolute; z-index: 2; top: 14px; padding: 7px 10px; border-radius: 999px; color: white; background: rgba(4,17,31,.74); backdrop-filter: blur(8px); font-size: .61rem; font-weight: 730; letter-spacing: .08em; text-transform: uppercase; }
.photo-count { left: 14px; }
.view-label { right: 14px; opacity: 0; transform: translateY(-5px); transition: .25s var(--ease); }
.product-card:hover .view-label, .product-media:focus-visible .view-label { opacity: 1; transform: none; }
.product-card-body { display: flex; flex-direction: column; min-height: 245px; padding: 21px; }
.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #527087; font-size: .63rem; font-weight: 790; letter-spacing: .1em; text-transform: uppercase; }
.product-code { color: #84909a; }
.product-card h3 { margin: 13px 0 8px; font-size: 1.14rem; letter-spacing: -.025em; line-height: 1.18; }
.product-tagline { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); font-size: .82rem; line-height: 1.52; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.card-bottom { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-top: auto; padding-top: 22px; }
.card-price { display: grid; gap: 4px; }
.card-price small { color: var(--muted); font-size: .59rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.card-price strong { font-size: 1.28rem; letter-spacing: -.03em; }
.select-toggle { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; transition: .2s ease; }
.select-toggle svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .25s var(--ease); }
.select-toggle:hover, .select-toggle.is-selected { color: white; border-color: var(--navy-900); background: var(--navy-900); }
.select-toggle.is-selected svg { transform: rotate(45deg); }
.empty-state { padding: 80px 20px; text-align: center; }
.text-button { padding: 6px 0; border: 0; border-bottom: 1px solid; background: transparent; font-weight: 700; }

.accessories-section { padding: 112px 0; color: white; background: var(--navy-900); }
.section-heading-light h2 { color: white; }
.section-heading-light > p { color: rgba(255,255,255,.58); }
.accessories-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.14); }
.accessory-row { display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 18px; min-height: 82px; padding: 16px 24px 16px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.accessory-row:nth-child(odd) { margin-right: 34px; }
.accessory-code { color: var(--accent); font-size: .7rem; font-weight: 760; letter-spacing: .08em; }
.accessory-name { font-weight: 650; }
.accessory-price { font-size: 1.03rem; font-weight: 750; }
.secondary-select { color: white; border-color: rgba(255,255,255,.4); background: transparent; font-size: .7rem; padding: 12px 18px; min-height: 44px; }
.secondary-select.is-selected { color: var(--navy-950); background: var(--accent-bright); }
.accessory-row .secondary-select { grid-column: 2 / -1; justify-self: start; }
.other-available-card .secondary-select { margin-top: 22px; align-self: start; }
a.line-tab { text-decoration: none; display: inline-flex; align-items: center; }

.options-section { padding: 120px 0; background: white; }
.options-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 8vw, 130px); align-items: start; }
.options-intro { position: sticky; top: 120px; }
.options-intro p:last-child { max-width: 440px; color: var(--muted); line-height: 1.7; }
.options-table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { padding: 0 14px 16px; color: var(--muted); font-size: .63rem; letter-spacing: .12em; text-align: left; text-transform: uppercase; }
td { padding: 19px 14px; border-top: 1px solid var(--line); font-size: .88rem; line-height: 1.45; }
td:last-child { white-space: nowrap; font-weight: 760; text-align: right; }

.other-available-section {
  position: relative; overflow: hidden; padding: 120px 0; color: white;
  background: radial-gradient(circle at 88% 12%, rgba(128,185,214,.19), transparent 30%), linear-gradient(135deg, var(--navy-950), var(--navy-800));
}
.other-available-section::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 72px 72px; mask-image: linear-gradient(120deg, black, transparent 75%); -webkit-mask-image: linear-gradient(120deg, black, transparent 75%);
}
.other-available-section .shell { position: relative; }
.other-available-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.other-available-card {
  display: flex; flex-direction: column; min-width: 0; min-height: 320px; padding: 28px;
  border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg);
  background: rgba(255,255,255,.065); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: transform .35s var(--ease), border-color .35s ease, background .35s ease;
}
.other-available-card:hover { transform: translateY(-5px); border-color: rgba(184,229,245,.48); background: rgba(255,255,255,.09); }
.other-available-card-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.other-available-sequence { color: rgba(255,255,255,.38); font-size: .65rem; font-weight: 760; letter-spacing: .15em; }
.other-available-code {
  padding: 7px 10px; border: 1px solid rgba(184,229,245,.25); border-radius: 999px;
  color: var(--accent-bright); font-size: .61rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase;
}
.other-available-card h3 { margin: 30px 0 12px; font-size: 1.28rem; letter-spacing: -.025em; line-height: 1.15; }
.other-available-description { margin: 0; color: rgba(255,255,255,.65); font-size: .87rem; line-height: 1.6; }
.other-available-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: auto 0 0; padding-top: 30px; }
.other-available-specs div { min-width: 0; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.14); }
.other-available-specs dt { color: rgba(255,255,255,.42); font-size: .56rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.other-available-specs dd { margin: 5px 0 0; color: white; font-size: .75rem; font-weight: 680; line-height: 1.35; }

.conditions-section { padding: 120px 0; }
.conditions-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.condition-card { min-height: 235px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; }
.condition-card span { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 32px; border-radius: 50%; color: white; background: var(--navy-900); font-size: .7rem; }
.condition-card h3 { margin: 0 0 13px; font-size: 1.14rem; }
.condition-card p, .condition-card li { color: var(--muted); font-size: .86rem; line-height: 1.6; }
.condition-card ul { margin: 0; padding-left: 18px; }
.validity-note { display: flex; justify-content: space-between; gap: 32px; margin-top: 20px; padding: 24px 28px; border-radius: var(--radius-md); color: white; background: var(--navy-800); }
.validity-note p { margin: 0; line-height: 1.55; }

.closing-section { position: relative; overflow: hidden; padding: 130px 0; color: white; text-align: center; background: linear-gradient(140deg, var(--navy-950), #0d3a61); }
.closing-section::before { content: ""; position: absolute; width: 600px; height: 600px; left: 50%; top: 50%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 90px rgba(255,255,255,.02), 0 0 0 180px rgba(255,255,255,.015); }
.closing-inner { position: relative; display: grid; justify-items: center; gap: 30px; }
.closing-inner img { width: min(240px, 54vw); filter: brightness(0) invert(1); }
.closing-inner p { margin: 0; font-size: clamp(2.2rem, 5vw, 5.5rem); font-weight: 740; letter-spacing: -.055em; line-height: .98; text-transform: uppercase; }

footer { padding: 50px 0; color: rgba(255,255,255,.66); background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1.3fr .8fr .8fr; gap: 40px; }
footer strong { color: white; font-size: .76rem; letter-spacing: .15em; }
footer p { margin: 9px 0 0; font-size: .76rem; line-height: 1.7; }
footer a { text-decoration-color: rgba(255,255,255,.28); }

dialog { border: 0; padding: 0; }
dialog::backdrop { background: rgba(2, 10, 18, .75); backdrop-filter: blur(8px); }
.icon-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: white; background: rgba(4,17,31,.38); }
.icon-button svg { width: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.7; }
.product-dialog { width: min(1180px, calc(100% - 42px)); max-height: min(850px, calc(100dvh - 42px)); overflow: hidden; border-radius: 26px; background: white; box-shadow: 0 40px 120px rgba(0,0,0,.35); }
.product-dialog[open] { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr); animation: dialog-in .35s var(--ease); }
.dialog-close { position: absolute; z-index: 12; top: max(16px, env(safe-area-inset-top, 0px)); right: max(16px, env(safe-area-inset-right, 0px)); }
.dialog-gallery { position: relative; min-height: 700px; overflow: hidden; background: #e4ebef; }
.dialog-image-stage { width: 100%; height: 100%; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y pinch-zoom; }
.dialog-image-stage img { display: block; width: 100%; height: 100%; object-fit: contain; transform-origin: center; transition: width .4s var(--ease), height .4s var(--ease); }
.dialog-image-stage.is-zoomed img { width: 172%; height: 172%; max-width: none; cursor: zoom-out; }
.zoom-hint { position: absolute; z-index: 4; left: 50%; bottom: max(18px, env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; color: white; background: rgba(4,17,31,.78); transform: translateX(-50%); font-size: .69rem; font-weight: 720; }
.gallery-nav { position: absolute; z-index: 6; top: 50%; transform: translateY(-50%); font-size: 1.5rem; }
.gallery-prev { left: max(14px, env(safe-area-inset-left, 0px)); }
.gallery-next { right: max(14px, env(safe-area-inset-right, 0px)); }
.gallery-dots { position: absolute; z-index: 7; left: max(8px, env(safe-area-inset-left, 0px)); top: max(8px, env(safe-area-inset-top, 0px)); display: flex; gap: 0; }
.gallery-dot { position: relative; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; }
.gallery-dot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border: 1px solid white; border-radius: 50%; background: transparent; transform: translate(-50%, -50%); }
.gallery-dot.is-active::before { background: white; }
.dialog-content { overflow-y: auto; padding: 54px 48px 40px; }
.dialog-content .product-line { margin: 0 0 7px; color: var(--navy-700); font-size: .69rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.dialog-content .product-code { margin: 0 0 22px; color: var(--muted); font-size: .73rem; font-weight: 700; }
.dialog-content h2 { margin: 0; font-size: clamp(2.15rem, 3.3vw, 3.6rem); line-height: .98; letter-spacing: -.055em; }
.dialog-description { margin: 20px 0; color: #526678; line-height: 1.65; }
.spec-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.spec-pill { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: #486175; font-size: .62rem; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.feature-list { margin: 24px 0; padding: 20px 0 20px 19px; border-block: 1px solid var(--line); color: #526678; font-size: .84rem; line-height: 1.7; }
.dialog-price { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 25px 0 18px; }
.dialog-price span { color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.dialog-price strong { font-size: 2rem; letter-spacing: -.04em; }
.dialog-content > small { display: block; margin-top: 12px; color: var(--muted); font-size: .65rem; text-align: center; }

.selection-dialog, .guide-dialog { width: min(680px, calc(100% - 36px)); max-height: calc(100dvh - 36px); overflow-y: auto; border-radius: 25px; padding: 34px; background: white; box-shadow: 0 35px 100px rgba(0,0,0,.32); }
.selection-dialog[open], .guide-dialog[open] { animation: dialog-in .3s var(--ease); }
.selection-head { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.selection-head h2, .guide-dialog h2 { margin: 0; font-size: clamp(2.3rem, 5vw, 3.8rem); line-height: .95; letter-spacing: -.055em; }
.selection-head .icon-button, .guide-dialog .icon-button { flex: 0 0 auto; color: var(--ink); border-color: var(--line); background: white; }
.selection-intro { color: var(--muted); line-height: 1.6; }
.selection-items { display: grid; gap: 8px; margin: 24px 0; }
.selection-item { display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 14px; padding: 9px; border: 1px solid var(--line); border-radius: 13px; }
.selection-item img { width: 58px; height: 64px; border-radius: 8px; object-fit: cover; }
.selection-item img[src*="photo-non-disponibile"], .selection-item img[src*="assets/logo/"] { object-fit: contain; padding: 5px; background: #edf3f6; }
.selection-item strong { display: block; font-size: .83rem; }
.selection-item small { color: var(--muted); }
.selection-remove { width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--ice-100); font-size: 1.1rem; }
.selection-empty { margin: 34px 0; padding: 24px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.selection-notes, .selection-field { display: grid; gap: 8px; margin-top: 20px; color: #516476; font-size: .72rem; font-weight: 740; letter-spacing: .06em; text-transform: uppercase; }
.selection-notes textarea, .selection-field input { width: 100%; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; outline: 0; font-size: 16px; line-height: 1.5; text-transform: none; letter-spacing: 0; }
.selection-notes textarea { resize: vertical; }
.selection-notes textarea:focus, .selection-field input:focus { border-color: var(--navy-700); box-shadow: 0 0 0 3px rgba(20,62,104,.09); }
.selection-field input[aria-invalid="true"] { border-color: #a32d31; }
.selection-help { margin: 8px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; }
.selection-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.selection-actions .button { min-width: 0; padding: 13px 16px; line-height: 1.4; text-align: center; }
.selection-email { grid-column: 1 / -1; }
.copy-status { min-height: 1.2em; margin: 10px 0 0; color: var(--success); font-size: .72rem; text-align: center; }
.guide-dialog { padding-top: 52px; }
.guide-dialog h2 { padding-right: 20px; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.08; }
.guide-intro { margin: 22px 0 0; color: var(--muted); line-height: 1.65; }
.guide-dialog > .dialog-close { top: max(18px, env(safe-area-inset-top, 0px)); right: max(18px, env(safe-area-inset-right, 0px)); }
.guide-steps { display: grid; gap: 4px; margin: 30px 0; padding: 0; list-style: none; }
.guide-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--line); }
.guide-steps li > span { color: #6c8599; font-size: .68rem; font-weight: 760; letter-spacing: .08em; }
.guide-steps strong { font-size: .94rem; }
.guide-steps p { margin: 5px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }

.mobile-selection-bar { position: fixed; z-index: 70; left: 50%; bottom: max(14px, env(safe-area-inset-bottom, 0px)); display: none; align-items: center; justify-content: space-between; width: min(430px, calc(100% - 26px)); min-height: 58px; padding: 8px 9px 8px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: white; background: rgba(4,17,31,.94); box-shadow: 0 18px 40px rgba(0,0,0,.24); backdrop-filter: blur(15px); transform: translateX(-50%); }
.mobile-selection-bar button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; color: var(--navy-950); background: white; font-weight: 750; flex-shrink: 0; }
.mobile-selection-bar > span { font-size: .8rem; line-height: 1.4; padding-right: 10px; }

.reveal { opacity: 1; transform: none; transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js .reveal { opacity: 0; transform: translateY(22px); }
.js .reveal.is-visible { opacity: 1; transform: none; }
@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes pulse-line { 0%,100% { transform: scaleX(.35); opacity: .35; } 50% { transform: scaleX(1); opacity: 1; } }
@keyframes dialog-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }

@media (min-width: 861px) {
  .product-dialog { height: min(850px, calc(100dvh - 42px)); }
  .product-dialog[open] { grid-template-rows: minmax(0, 1fr); }
  .dialog-gallery { min-height: 0; height: 100%; }
  .dialog-content { min-height: 0; }
}

@media (max-width: 1180px) {
  :root { --shell: min(100% - 44px, 1120px); }
  .header-inner { gap: 24px; }
  .desktop-nav { gap: 18px; }
  .selection-button { margin-left: 0; }
  .hero-inner { grid-template-columns: .95fr 1.05fr; gap: 20px; }
  h1 { font-size: clamp(4rem, 8vw, 6.6rem); }
  .hero-card-front { width: 58%; right: 24%; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .conditions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  :root { --shell: calc(100% - 34px); }
  .site-header { height: calc(72px + env(safe-area-inset-top, 0px)); }
  .brand { width: 128px; }
  .desktop-nav { display: none; }
  .selection-button { margin-left: auto; }
  .selection-button span { display: none; }
  .hero { min-height: 880px; height: auto; }
  .hero-inner { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding-top: calc(132px + env(safe-area-inset-top, 0px)); padding-bottom: 90px; }
  .hero-copy { width: 100%; }
  h1 { max-width: 620px; font-size: clamp(3.9rem, 14.5vw, 7rem); }
  .hero-lead { max-width: 650px; }
  .hero-visual { width: min(100%, 650px); min-height: 520px; }
  .hero-card-front { width: 48%; height: 82%; right: 39%; top: 7%; }
  .hero-card-back { width: 39%; height: 62%; right: 7%; top: 15%; }
  .orbit-one { width: 460px; height: 460px; }
  .hero-caption { bottom: -3%; }
  .scroll-cue { display: none; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .section-heading > p { justify-self: start; }
  .catalog-toolbar { top: calc(82px + env(safe-area-inset-top, 0px)); }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .accessories-list { grid-template-columns: 1fr; }
  .accessory-row:nth-child(odd) { margin-right: 0; }
  .options-layout { grid-template-columns: 1fr; }
  .options-intro { position: static; }
  .other-available-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-dialog[open] { grid-template-columns: 1fr; overflow-y: auto; }
  .product-dialog { max-height: calc(100dvh - 22px); width: calc(100% - 22px); }
  .dialog-gallery { min-height: min(62dvh, 620px); }
  .dialog-content { overflow: visible; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  :root { --shell: calc(100% - 26px); --radius-lg: 18px; }
  html { scroll-padding-top: calc(74px + env(safe-area-inset-top, 0px)); }
  .header-inner { gap: 10px; }
  .site-header { height: calc(66px + env(safe-area-inset-top, 0px)); }
  .brand { width: 116px; }
  .selection-button { min-height: 44px; padding: 5px; border-color: transparent; background: transparent; }
  .selection-button strong { min-width: 32px; height: 32px; }
  .hero { min-height: 820px; }
  .hero::before { background-size: 42px 42px; }
  .hero-inner { padding-top: calc(104px + env(safe-area-inset-top, 0px)); padding-bottom: 58px; }
  .eyebrow { margin-bottom: 13px; font-size: .63rem; }
  h1 { font-size: clamp(3.35rem, 17vw, 5.3rem); }
  #hero-title { font-size: clamp(1.6rem, 7.5vw, 2.5rem); }
  .hero-lead { margin-top: 22px; font-size: .95rem; line-height: 1.58; }
  .hero-actions { margin-top: 25px; }
  .button { min-height: 48px; padding: 0 18px; font-size: .7rem; }
  .hero-actions .button-primary { flex: 1; }
  .hero-actions .button-ghost { flex: 1 1 100%; }
  .hero-facts { justify-content: space-between; gap: 12px; margin-top: 30px; }
  .hero-facts dt { font-size: 1.15rem; }
  .hero-facts dd { font-size: .53rem; }
  .hero-visual { min-height: 410px; margin-top: 4px; }
  .hero-card { border-radius: 5px 5px 46% 46%; }
  .hero-card-front { width: 55%; height: 76%; right: 37%; top: 2%; }
  .hero-card-back { width: 43%; height: 59%; right: 2%; top: 10%; }
  .orbit-one { width: 330px; height: 330px; top: 3%; }
  .orbit-two { width: 260px; height: 260px; top: 12%; }
  .hero-caption { right: 1%; bottom: 0; font-size: .65rem; }
  .catalog-section, .accessories-section, .options-section, .other-available-section, .conditions-section { padding: 82px 0; }
  .section-heading { margin-bottom: 32px; }
  .section-heading h2, .options-intro h2 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .section-heading > p { font-size: .91rem; line-height: 1.6; }
  .catalog-toolbar { grid-template-columns: 1fr; top: calc(74px + env(safe-area-inset-top, 0px)); gap: 8px; margin-inline: -5px; padding: 8px; border-radius: 17px; }
  .search-control { min-height: 50px; }
  .search-control kbd, .tier-control > span { display: none; }
  .tier-control { padding-left: 0; }
  .tier-trigger { width: 100%; height: 48px; }
  .tier-menu { width: 100%; }
  .line-tabs { margin-inline: -13px; padding-inline: 13px; scroll-snap-type: x proximity; }
  .line-tab { scroll-snap-align: start; min-height: 44px; }
  .product-grid { grid-template-columns: 1fr; gap: 18px; }
  .product-card { display: grid; grid-template-columns: 47% 53%; min-height: 246px; }
  .product-media { height: 100%; aspect-ratio: auto; }
  .view-label { display: none; }
  .product-card-body { min-height: 0; padding: 17px; }
  .product-meta { display: grid; justify-content: start; gap: 4px; }
  .product-card h3 { margin-top: 10px; font-size: 1.02rem; }
  .product-tagline { font-size: .75rem; -webkit-line-clamp: 3; }
  .card-bottom { align-items: center; padding-top: 15px; }
  .card-price strong { font-size: 1.12rem; }
  .select-toggle { width: 44px; height: 44px; }
  .accessory-row { grid-template-columns: 76px 1fr auto; gap: 10px; min-height: 72px; padding-right: 0; }
  .accessory-name { font-size: .82rem; }
  .accessory-price { font-size: .88rem; }
  .other-available-grid { grid-template-columns: 1fr; }
  .other-available-card { min-height: 0; padding: 24px; }
  .other-available-card h3 { margin-top: 24px; }
  .conditions-grid { grid-template-columns: 1fr; }
  .condition-card { min-height: auto; }
  .validity-note { display: grid; padding: 21px; font-size: .84rem; }
  .closing-section { padding: 94px 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 18px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .product-dialog { width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
  .product-dialog[open] { display: block; }
  .dialog-gallery { min-height: 55dvh; height: 55dvh; }
  .dialog-content { padding: 35px max(22px, env(safe-area-inset-right, 0px)) calc(38px + env(safe-area-inset-bottom, 0px)) max(22px, env(safe-area-inset-left, 0px)); }
  .dialog-content h2 { font-size: 2.45rem; }
  .gallery-nav { top: auto; bottom: max(18px, env(safe-area-inset-bottom, 0px)); transform: none; }
  .zoom-hint { bottom: max(20px, env(safe-area-inset-bottom, 0px)); }
  .selection-dialog, .guide-dialog { width: 100%; max-height: 100dvh; min-height: 100dvh; border-radius: 0; padding: calc(28px + env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px)); }
  .selection-actions { grid-template-columns: 1fr; }
  .mobile-selection-bar.has-items { display: flex; }
  body:has(.mobile-selection-bar.has-items) { padding-bottom: 82px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}

@media print {
  .site-header, .hero, .catalog-toolbar, .line-tabs, .select-toggle, .mobile-selection-bar, dialog, .closing-section, footer { display: none !important; }
  .catalog-section, .accessories-section, .options-section, .other-available-section, .conditions-section { padding: 30px 0; color: black; background: white; }
  .other-available-card { min-height: 0; color: black; border-color: var(--line); background: white; break-inside: avoid; }
  .other-available-code, .other-available-description, .other-available-specs dt, .other-available-specs dd { color: black; }
  .other-available-section .section-heading-light h2, .other-available-section .section-heading-light .eyebrow, .other-available-section .section-heading-light > p { color: black; }
  .other-available-section::before { display: none; }
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .product-card { break-inside: avoid; box-shadow: none; }
  .js .reveal { opacity: 1; transform: none; }
}

/* ANUKI — storia del brand e campionatura */
.about-section { padding: 100px 0; background: #edf3f7; border-bottom: 1px solid var(--line); }
.about-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px,7vw,110px); align-items: start; }
.about-heading h2 { margin: 0; font-size: clamp(2.1rem,3.7vw,3.6rem); line-height: 1.08; letter-spacing: -.04em; font-weight: 700; }
.about-research { display: flex; align-items: center; gap: 20px; padding: 30px 0; margin: 32px 0 0; border-top: 1px solid var(--line); }
.about-research strong { font-size: 5rem; line-height: 1; font-weight: 650; letter-spacing: -.07em; }
.about-research span { font-size: .85rem; line-height: 1.6; text-transform: uppercase; letter-spacing: .12em; }
.about-signature { color: var(--muted); font-size: .78rem; line-height: 1.6; text-transform: uppercase; letter-spacing: .1em; }
.about-story { max-width: 760px; }
.about-story p { font-size: 1rem; line-height: 1.8; margin: 0 0 22px; color: #405368; }
.about-story .about-lead { font-size: 1.2rem; line-height: 1.65; color: var(--navy-900); }
.about-story .about-promise { font-weight: 700; color: var(--navy-900); border-left: 3px solid #80b9d6; padding-left: 22px; margin-bottom: 0; }
.sample-note { padding: 18px 20px; margin: 18px 0 24px; background: var(--ice-100); border-radius: 12px; font-size: .9rem; line-height: 1.6; }
.sample-note strong { display: block; color: var(--navy-900); margin-bottom: 4px; }
@media(max-width:1200px) and (min-width:901px) { .desktop-nav { gap: 16px; } .header-inner { gap: 20px; } .desktop-nav a { font-size: .68rem; letter-spacing: .08em; } }
@media(max-width:760px) { .about-section { padding: 64px 0; } .about-layout { grid-template-columns: 1fr; gap: 30px; } .about-research { margin-top: 24px; padding: 22px 0 6px; } .about-research strong { font-size: 4rem; } .about-signature { display: none; } .about-story .about-lead { font-size: 1.1rem; } }

/* Official brand links and locale choice remain within reach on mobile. */
:root { --header-height: 130px; }
html { scroll-padding-top: calc(var(--header-height) + 16px + env(safe-area-inset-top, 0px)); }
.site-header { height: calc(var(--header-height) + env(safe-area-inset-top, 0px)); }
.header-inner { height: 82px; }
.brand-presence { height: 48px; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(2,12,23,.45); }
.brand-presence-inner { display: flex; justify-content: space-between; align-items: center; height: 100%; gap: 16px; }
.official-links { display: flex; align-items: center; gap: 24px; min-width: 0; }
.official-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .74rem; font-weight: 600; color: #e3eff7; text-decoration: none; white-space: nowrap; }
.official-links a:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }
.language-control { display: flex; align-items: center; gap: 8px; color: #fff; min-width: 0; }
.language-control select { min-height: 44px; max-width: 200px; border: 0; color: inherit; background: transparent; font: inherit; font-size: 16px; cursor: pointer; }
.language-control option { background: #fff; color: #071b31; }
.language-control select:focus-visible { outline: 2px solid #b8e5f5; outline-offset: 0; border-radius: 8px; }
.hero { height: auto; min-height: max(920px, 100svh); }
.hero-inner { padding-top: calc(var(--header-height) + 76px + env(safe-area-inset-top, 0px)); padding-bottom: 108px; }
.hero-actions .about-action { flex: 0 1 auto; }
.hero-actions [data-open-guide] { flex-basis: 100%; }
.hero-origin { max-width: 550px; font-size: .83rem; line-height: 1.6; color: #b8d6e7; margin: 24px 0 0; }
.hero-facts { margin-top: 36px; }
.catalog-toolbar { top: calc(var(--header-height) + 10px + env(safe-area-inset-top, 0px)); }
.riding-editorial { display: grid; grid-template-columns: 1.65fr 1fr; align-items: stretch; gap: 24px; margin-top: 60px; }
.riding-editorial figure { margin: 0; min-width: 0; }
.riding-editorial a { display: block; height: clamp(320px,43vw,650px); overflow: hidden; border-radius: 22px; background: #1e2e3b; }
.riding-editorial img { height: 100%; width: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.riding-editorial a:hover img { transform: scale(1.025); }
.riding-portrait img { object-position: center 30%; }
.riding-editorial figcaption { padding: 16px 4px 0; color: #566b7c; line-height: 1.5; font-size: .78rem; }
.desktop-nav a { overflow-wrap: normal; }
@media (max-width: 1100px) { .desktop-nav { display: none; } .selection-button { margin-left: auto; } }
@media (max-width: 860px) {
  :root { --header-height: 120px; }
  .header-inner { height: 72px; }
  .hero-inner { padding-top: calc(var(--header-height) + 40px + env(safe-area-inset-top, 0px)); padding-bottom: 60px; }
  .hero { min-height: 880px; }
}
@media (max-width: 600px) {
  :root { --header-height: 114px; }
  .header-inner { height: 66px; }
  .official-links { gap: 12px; }
  .official-links a { font-size: .63rem; }
  .brand-presence-inner { gap: 8px; }
  .language-control { gap: 4px; }
  .language-control select { max-width: 118px; font-size: 16px; }
  .hero-actions .button-primary, .hero-actions .about-action { flex: 1 1 calc(50% - 6px); }
  .hero-facts { margin-top: 25px; }
  .riding-editorial { grid-template-columns: 1fr; gap: 26px; margin-top: 38px; }
  .riding-editorial a { height: auto; aspect-ratio: 4/3; border-radius: 18px; }
  .riding-portrait a { aspect-ratio: 4/5; }
  .selection-button span { display: inline; font-size: .69rem; }
}
@media (max-width: 360px) { .official-links { gap: 8px; } .official-links a { font-size: .57rem; } .language-control select { max-width: 104px; } }
@media (prefers-reduced-motion: reduce) { .riding-editorial img { transition: none; } }
@media print { .riding-editorial { break-inside: avoid; } }
.photo-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; padding: 24px; background: linear-gradient(145deg,#f7f8f9,#e7ebef); color: #0e2b48; }
.photo-placeholder[hidden], img[hidden] { display: none !important; }
.photo-placeholder .photo-placeholder-logo { width: min(65%,280px); height: auto; object-fit: contain; opacity: .8; }
.photo-placeholder-text { font-size: .8rem; line-height: 1.5; text-align: center; letter-spacing: .05em; text-transform: uppercase; }
