:root {
  --ink: #0b0c0d; --coal: #151719; --slate: #24272a;
  --cream: #f0e6d0; --paper: #d8c9aa; --gold: #c69a4b;
  --gold-light: #e5c77e; --red: #781f25; --red-dark: #3a1014;
  --mist: #aeb3b4; --line: rgba(229,199,126,.28);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--cream); background:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.65; }
a { color:inherit; } img { display:block; max-width:100%; }
.skip-link { position:fixed; top:-5rem; left:1rem; z-index:999; background:var(--gold-light); color:var(--ink); padding:.75rem 1rem; }
.skip-link:focus { top:1rem; }
.notice { background:var(--red); color:#fff8e9; text-align:center; padding:.45rem 1rem; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(11,12,13,.93); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.nav-wrap { width:min(1180px,calc(100% - 2rem)); min-height:76px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { text-decoration:none; display:flex; align-items:center; gap:.75rem; font-family:var(--serif); font-weight:700; letter-spacing:.11em; }
.brand-mark { width:42px; height:58px; display:grid; place-items:center; overflow:hidden; }
.brand-mark img { width:100%; height:100%; object-fit:contain; object-position:center; }
.site-nav { display:flex; align-items:center; gap:1.5rem; }
.site-nav a { color:var(--paper); text-decoration:none; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; padding:.45rem 0; border-bottom:1px solid transparent; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--gold-light); border-color:var(--gold); }
.menu-toggle { display:none; border:1px solid var(--line); background:transparent; color:var(--cream); padding:.6rem .75rem; font:inherit; }
.hero { min-height:calc(100vh - 108px); display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); border-bottom:1px solid var(--line); }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,8vw,8rem) clamp(2rem,7vw,7rem); background:radial-gradient(circle at 20% 15%,rgba(120,31,37,.26),transparent 33%),linear-gradient(135deg,#0b0c0d 0%,#161719 100%); }
.eyebrow { color:var(--gold-light); font-size:.75rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; margin:0 0 1.2rem; }
h1,h2,h3 { font-family:var(--serif); line-height:1.04; }
h1 { font-size:clamp(3.35rem,7.8vw,7.6rem); font-weight:500; letter-spacing:-.035em; margin:0; max-width:9ch; }
.hero-subtitle { color:var(--gold); font-family:var(--serif); font-size:clamp(1.25rem,2.5vw,2rem); font-style:italic; margin:1rem 0; }
.hero-lede { color:#d5d2c9; max-width:620px; font-size:1.08rem; }
.actions { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.6rem; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:.75rem 1.2rem; border:1px solid var(--gold); color:var(--ink); background:var(--gold-light); text-decoration:none; font-size:.8rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.button:hover { background:#f0d999; } .button.secondary { color:var(--gold-light); background:transparent; } .button.secondary:hover { color:var(--ink); background:var(--gold-light); }
.hero-image { position:relative; min-height:680px; overflow:hidden; }
.hero-image img { width:100%; height:100%; object-fit:cover; object-position:50% top; filter:saturate(.78) contrast(1.04); }
.hero-image .rider-state { position:absolute; inset:0; }
.rider-reveal { cursor:pointer; }
.rider-state-spirit { opacity:0; transition:opacity .65s ease; }
.rider-reveal:hover .rider-state-spirit,.rider-reveal:focus-visible .rider-state-spirit,.rider-reveal.is-revealed .rider-state-spirit { opacity:1; }
.rider-reveal:focus-visible { outline:2px solid var(--gold-light); outline-offset:-4px; }
.rider-reveal-hint { position:absolute; z-index:3; right:1.4rem; bottom:1.2rem; padding:.45rem .7rem; border:1px solid rgba(229,199,126,.48); background:rgba(11,12,13,.72); color:var(--gold-light); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; transition:opacity .3s ease; }
.rider-reveal:hover .rider-reveal-hint,.rider-reveal:focus-visible .rider-reveal-hint,.rider-reveal.is-revealed .rider-reveal-hint { opacity:0; }
.hint-tap { display:none; }
.hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,12,13,.42),transparent 28%),linear-gradient(0deg,rgba(11,12,13,.55),transparent 35%); }
.image-caption { position:absolute; z-index:2; left:1.4rem; bottom:1.2rem; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--paper); }
.caption-human,.caption-spirit { transition:opacity .3s ease; }
.caption-spirit { opacity:0; }
.rider-reveal:hover .caption-human,.rider-reveal:focus-visible .caption-human,.rider-reveal.is-revealed .caption-human { opacity:0; }
.rider-reveal:hover .caption-spirit,.rider-reveal:focus-visible .caption-spirit,.rider-reveal.is-revealed .caption-spirit { opacity:1; }
.oath { padding:1.2rem 1rem; text-align:center; background:var(--gold); color:#18120b; font-family:var(--serif); font-size:clamp(1rem,2vw,1.35rem); letter-spacing:.08em; text-transform:uppercase; }
.section { padding:clamp(4rem,9vw,8rem) 1rem; } .section-inner { width:min(1120px,100%); margin:auto; }
.section-head { max-width:760px; margin-bottom:2.6rem; } .section h2 { font-size:clamp(2.35rem,5vw,4.6rem); font-weight:500; margin:0 0 1rem; }
.section-copy { color:var(--paper); font-size:1.08rem; max-width:720px; } .rule { width:74px; height:2px; background:var(--gold); margin:1.3rem 0; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.principle { background:var(--coal); padding:2rem; min-height:245px; } .principle .number { color:var(--gold); font-family:var(--serif); font-size:2rem; }
.principle h3 { font-size:1.5rem; color:var(--cream); margin:2rem 0 .65rem; } .principle p { color:var(--mist); margin:0; }
.journey { background:#111315; } .era-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.era { padding:1.5rem; border-right:1px solid var(--line); } .era:last-child { border-right:0; }
.era-year { color:var(--gold); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; } .era strong { display:block; margin-top:.5rem; font-family:var(--serif); font-size:1.4rem; }
.spirit-band { background:linear-gradient(120deg,var(--red-dark),#6b1d24); border-top:1px solid #99404a; border-bottom:1px solid #99404a; }
.spirit-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,7vw,7rem); align-items:center; }
.gaelic { font-family:var(--serif); font-size:clamp(3.4rem,8vw,7rem); line-height:.88; color:var(--gold-light); } .pronounce { color:#e6cfc7; letter-spacing:.15em; text-transform:uppercase; font-size:.72rem; }
.quote { font-family:var(--serif); font-size:clamp(1.45rem,3vw,2.4rem); line-height:1.35; }
.shop-preview { display:grid; grid-template-columns:1.1fr .9fr; border:1px solid var(--line); } .shop-preview>div { padding:clamp(2rem,5vw,4rem); }
.shop-preview .mark { background:var(--coal); border-left:1px solid var(--line); display:grid; place-items:center; text-align:center; }
.coat-of-arms-large { width:min(280px,70vw); aspect-ratio:2/3; object-fit:contain; object-position:center; margin:0 auto 1.25rem; filter:drop-shadow(0 18px 24px rgba(0,0,0,.38)); }
.page-hero { padding:clamp(5rem,11vw,9rem) 1rem 4rem; background:radial-gradient(circle at 65% 0%,rgba(120,31,37,.32),transparent 35%); border-bottom:1px solid var(--line); }
.page-hero-inner { width:min(1120px,100%); margin:auto; } .page-hero h1 { max-width:13ch; font-size:clamp(3.2rem,7vw,6.4rem); } .page-hero p { max-width:700px; color:var(--paper); font-size:1.12rem; }
.story-layout { display:grid; grid-template-columns:270px minmax(0,720px); justify-content:center; gap:clamp(2rem,7vw,7rem); }
.story-aside { position:sticky; top:110px; align-self:start; border-top:2px solid var(--gold); padding-top:1.3rem; color:var(--paper); }
.story-aside strong { display:block; color:var(--gold-light); font-family:var(--serif); font-size:1.5rem; }
.chapter { margin-bottom:4rem; } .chapter-label { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.chapter h2 { font-size:clamp(2.1rem,4vw,3.4rem); margin:.5rem 0 1.3rem; } .chapter p { color:#d4d0c6; font-size:1.06rem; }
.pullquote { margin:2.5rem 0; padding:1.5rem 0 1.5rem 1.7rem; border-left:3px solid var(--red); font-family:var(--serif); font-size:1.55rem; color:var(--cream); }
.timeline { position:relative; max-width:940px; margin:auto; } .timeline::before { content:""; position:absolute; top:0; bottom:0; left:162px; width:1px; background:var(--line); }
.timeline-entry { display:grid; grid-template-columns:130px 1fr; gap:64px; position:relative; padding-bottom:4rem; }
.timeline-entry::before { content:""; position:absolute; left:156px; top:.45rem; width:11px; height:11px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 6px var(--ink); }
.timeline-date { color:var(--gold-light); font-family:var(--serif); font-size:1.2rem; text-align:right; }
.timeline-card { border-top:1px solid var(--line); padding-top:1.2rem; } .timeline-card h2 { font-size:clamp(1.8rem,3.5vw,2.7rem); margin:0 0 .8rem; }
.timeline-card p { color:var(--paper); margin:.7rem 0; } .fact-tag,.legend-tag { display:inline-block; font-size:.65rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; padding:.28rem .55rem; margin-bottom:.9rem; }
.fact-tag { color:#18220f; background:#b4c686; } .legend-tag { color:var(--cream); background:var(--red); }
.mounts-section { padding:clamp(3rem,7vw,5.5rem) 1rem; background:#111315; border-bottom:1px solid var(--line); }
.mounts-inner { width:min(1320px,100%); margin:auto; }
.mounts-inner h2 { margin:0 0 2rem; text-align:center; font-size:clamp(2rem,4vw,3.8rem); font-weight:500; }
.mount-gallery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.mount-card { margin:0; min-width:0; }
.mount-image { aspect-ratio:2/3; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 50% 38%,#332226 0,#17191b 62%,#0b0c0d 100%); border:1px solid var(--line); }
.mount-image>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.mount-image>img.contain { object-fit:contain; padding:.35rem; }
.mount-card figcaption { padding:.85rem .2rem 0; color:var(--gold-light); text-align:center; font-family:var(--serif); font-size:1.05rem; }
.mount-placeholder { background:repeating-linear-gradient(135deg,#151719 0,#151719 18px,#191b1d 18px,#191b1d 36px); }
.shop-toolbar { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; } .shop-toolbar p { color:var(--paper); max-width:650px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.product-card { display:flex; flex-direction:column; min-height:430px; border:1px solid var(--line); background:var(--coal); }
.product-visual { aspect-ratio:4/3; background:radial-gradient(circle at 50% 30%,#39272a 0,#17191b 65%); display:grid; place-items:center; overflow:hidden; }
.product-visual img { width:100%; height:100%; object-fit:cover; } .product-monogram { width:118px; height:118px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; color:var(--gold-light); font-family:var(--serif); font-size:1.45rem; text-align:center; line-height:1.05; padding:.7rem; }
.product-body { display:flex; flex-direction:column; flex:1; padding:1.4rem; } .product-badge { color:var(--gold); font-size:.65rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.product-card h2 { font-size:1.55rem; line-height:1.15; margin:.65rem 0; } .product-card p { color:var(--mist); margin:0 0 1.2rem; }
.product-price { margin-top:auto; padding-top:1rem; color:var(--cream); font-weight:700; } .product-card .button { margin-top:1rem; width:100%; }
.product-card .button.disabled { opacity:.55; cursor:default; border-color:#6e6e6e; background:transparent; color:#bbb; }
.shop-note { margin-top:2.5rem; padding:1.25rem; border-left:3px solid var(--gold); color:var(--paper); background:#141618; }
.site-footer { border-top:1px solid var(--line); background:#08090a; padding:3rem 1rem; } .footer-inner { width:min(1120px,100%); margin:auto; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:end; }
.footer-title { font-family:var(--serif); font-size:1.45rem; } .footer-copy { color:var(--mist); font-size:.86rem; margin:.4rem 0 0; } .footer-links { display:flex; gap:1rem; flex-wrap:wrap; justify-content:flex-end; }
.footer-links a { color:var(--paper); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
@media(max-width:900px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1rem;background:#0d0e0f;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.site-nav a{padding:.8rem}.hero{grid-template-columns:1fr}.hero-copy{min-height:580px}.hero-image{min-height:580px}.grid-3,.product-grid{grid-template-columns:1fr}.era-grid{grid-template-columns:repeat(2,1fr)}.era{border-bottom:1px solid var(--line)}.spirit-layout,.shop-preview,.story-layout{grid-template-columns:1fr}.shop-preview .mark{border-left:0;border-top:1px solid var(--line)}.story-aside{position:static}.mount-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.hint-hover{display:none}.hint-tap{display:inline}}
@media(max-width:620px){.nav-wrap{min-height:66px}.site-nav{top:66px}.hero-copy{padding:4rem 1.25rem;min-height:520px}.hero-image{min-height:510px}.era-grid{grid-template-columns:1fr}.era{border-right:0}.timeline::before{left:10px}.timeline-entry{grid-template-columns:1fr;gap:.75rem;padding-left:38px}.timeline-entry::before{left:4px}.timeline-date{text-align:left}.shop-toolbar,.footer-inner{display:block}.footer-links{justify-content:flex-start;margin-top:1.4rem}.mount-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.mount-card figcaption{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rider-state-spirit,.rider-reveal-hint,.caption-human,.caption-spirit{transition:none}}
