:root{
  --ink:#141b28; --navy:#07131f; --navy2:#0d2036; --blue:#2b8edc;
  --gold:#c9a55c; --gold2:#8e6d34; --paper:#f7efdf; --paper2:#fffaf1;
  --line:#d4bf94; --muted:#665d51; --shadow:0 15px 35px rgba(18,23,31,.14);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f4eee3;font-family:Georgia,'Times New Roman',serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input{font:inherit}.site-shell{width:min(1360px,calc(100% - 32px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,239,223,.97);border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.07);backdrop-filter:blur(10px)}
.header-inner{min-height:104px;display:grid;grid-template-columns:110px 1fr minmax(530px,auto);align-items:center;gap:24px;position:relative}
.header-inner:before{content:'';position:absolute;inset:7px 0;border:1px solid rgba(142,109,52,.34);pointer-events:none}.header-inner:after{content:'';position:absolute;left:50%;bottom:-14px;width:72px;height:22px;transform:translateX(-50%);background:var(--paper);clip-path:polygon(0 0,100% 0,73% 100%,27% 100%);border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.maker-mark{width:92px;height:92px;padding:3px;z-index:1}.maker-mark img{width:100%;height:100%;object-fit:contain}.header-wordmark{justify-self:center;width:min(390px,100%);z-index:1}.header-wordmark img{width:100%;height:78px;object-fit:cover;object-position:center 64%;mix-blend-mode:multiply}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:20px;z-index:1}.main-nav{display:flex;align-items:center;gap:18px;white-space:nowrap}.main-nav a{font-size:.9rem;letter-spacing:.045em;position:relative;padding:10px 0}.main-nav a:hover:after,.main-nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}.header-actions{display:flex;gap:10px;border-left:1px solid rgba(142,109,52,.28);padding-left:16px}.icon-button,.basket-button{border:0;background:none;color:#352d23;cursor:pointer;padding:8px 6px;font-size:.9rem}.basket-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border:1px solid var(--gold2);border-radius:50%;font-size:.72rem;margin-left:5px}
.eyebrow{font:700 .72rem/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.gold{color:#e3c880}.ink{color:#31516f}.ornate-dark,.ornate-light{position:relative;border:1px solid var(--gold2);box-shadow:var(--shadow)}.ornate-dark{background:radial-gradient(circle at 76% 20%,rgba(43,142,220,.18),transparent 34%),linear-gradient(145deg,#06101d,#10243b);color:#f6eee0}.ornate-light{background:linear-gradient(180deg,#fffaf2,#f3e9d7)}.ornate-dark:before,.ornate-light:before{content:'';position:absolute;inset:9px;border:1px solid rgba(201,165,92,.32);pointer-events:none}.notched{clip-path:polygon(0 0,47% 0,48.5% 10px,51.5% 10px,53% 0,100% 0,100% 100%,53% 100%,51.5% calc(100% - 10px),48.5% calc(100% - 10px),47% 100%,0 100%)}
.home-hero{margin-top:18px;background:linear-gradient(90deg,rgba(4,11,20,.94),rgba(8,26,45,.82)),url('Images/site-background.jpg') center/cover;overflow:hidden}.hero-grid{min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px}.hero-copy{padding:46px 46px 42px}.hero-copy h1,.page-hero h1{font-size:clamp(3.4rem,6vw,6rem);line-height:.95;letter-spacing:.08em;font-weight:500;color:#e6cb85;margin:.25rem 0 .7rem}.hero-subtitle{font-size:clamp(1.25rem,2.2vw,2rem);letter-spacing:.16em;margin:0;color:#fff}.hero-tagline{color:#e3c47b;font-size:1.25rem}.hero-copy p:not(.eyebrow):not(.hero-subtitle):not(.hero-tagline){max-width:650px}.hero-art{padding:24px 34px 24px 0;height:100%;display:grid;place-items:center;position:relative}.hero-art img{
  width:100%;
  height:440px;
  object-fit:contain;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.35));
  border:0;
  background:transparent;
}
.hero-art .quote{
  position:absolute;
  right:55px;
  bottom:38px;
  max-width:none;
  color:#ead9ad;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.08rem;
  font-weight:400;
  font-style:normal;
  letter-spacing:.035em;
  line-height:1.4;
  text-align:right;
  white-space:nowrap;
  text-shadow:0 2px 8px rgba(0,0,0,.9);
  opacity:1;
}
.hero-art .quote:before{
  display:none;
}
.gold-rule{height:18px;width:360px;max-width:90%;position:relative;margin:18px 0}.gold-rule:before{content:'';position:absolute;left:0;right:0;top:8px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.gold-rule:after{content:'';position:absolute;left:50%;top:3px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:#3fa4ea;border:1px solid #e3c47b}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border:1px solid var(--gold2);font-weight:700;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.16)}.btn-parchment{background:linear-gradient(#fff9ed,#ebd8ae);color:#2a2114}.btn-dark{background:#091827;color:#fff}.btn-outline{background:transparent;color:#294a6e}
.founders-flash{margin:14px auto 22px;padding:24px 28px;display:grid;grid-template-columns:.95fr 1.05fr;gap:25px;align-items:center}.founders-flash h2,.section-title{font-size:clamp(1.7rem,3vw,2.5rem);margin:.2rem 0 .6rem;line-height:1.1}.founders-flash h2{color:#f0d598}.founder-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.founder-preview{text-align:center;padding:10px;border-left:1px solid rgba(201,165,92,.22)}.founder-preview img{height:150px;width:100%;object-fit:contain}.founder-preview strong{display:block;color:#e2c579;letter-spacing:.08em;margin-top:7px}.founder-preview small{color:#d9cfbb}
.section{padding:18px 0}.section-banner{width:min(650px,95%);margin:0 auto 16px;text-align:center;padding:15px 20px;background:linear-gradient(#fffaf0,#efe1c6);border:1px solid var(--line);clip-path:polygon(0 0,45% 0,47% 10px,53% 10px,55% 0,100% 0,100% 100%,55% 100%,53% calc(100% - 10px),47% calc(100% - 10px),45% 100%,0 100%)}.section-banner h2{margin:.2rem 0 0;font-size:1.9rem;color:#1b2c44}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;padding:28px}.intro-art{min-height:300px;background:linear-gradient(90deg,rgba(247,239,223,.88),rgba(247,239,223,.06)),url('Images/site-background.jpg') center/cover;border:1px solid var(--line)}.intro-grid p{max-width:720px}.faction-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.faction-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:365px;overflow:hidden}.faction-copy{padding:30px}.faction-copy h3{color:#f0d598;font-size:2rem;margin:.2rem 0 .6rem}.faction-media{padding:15px;display:grid;place-items:center;background:radial-gradient(circle,rgba(60,115,170,.18),transparent 60%)}.faction-media img{width:100%;height:315px;object-fit:contain}.range-note{margin-top:14px;display:inline-block;border:1px solid rgba(201,165,92,.35);padding:7px 10px;color:#ebd59f;font:700 .72rem/1.3 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:linear-gradient(#fffdf8,#f4ead9);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;position:relative}.card:before{content:'';position:absolute;inset:8px;border:1px solid rgba(201,165,92,.22);pointer-events:none}.product-media,.card-media{height:245px;padding:13px;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,rgba(62,112,165,.09),transparent 60%),#eee6d8}.product-media img,.card-media img{width:100%;height:100%;object-fit:contain}.card-body{padding:17px 18px 20px;position:relative;z-index:1}.card h3{margin:.2rem 0 .4rem;font-size:1.35rem;color:#192a42}.card p{color:#5b5245;margin:.35rem 0 .9rem}.meta-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:.7rem 0}.badge{border:1px solid #c9aa73;background:#f4e8cf;padding:4px 7px;font:700 .68rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#5a4623}.price{font-weight:700;font-size:1.12rem;color:#1e446b}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.add-to-cart{border:1px solid var(--gold2);background:linear-gradient(#fff9ed,#ebd8ae);padding:9px 12px;font-weight:700;cursor:pointer}.text-link{color:#27639b;font-weight:700}.coming-soon{color:#7c6842;font-weight:700}.dark-band{margin-top:12px;padding:26px 0;background:linear-gradient(140deg,#06101d,#112743);color:#fff;border-top:1px solid var(--gold2);border-bottom:1px solid var(--gold2)}.founders-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.founder-card{padding:18px;text-align:center;border:1px solid rgba(201,165,92,.42);background:rgba(255,255,255,.03)}.founder-card img{height:155px;width:100%;object-fit:contain}.founder-card h3{color:#ecd18d}.founder-card p{color:#eee4d3}

/* Homepage Miniatures & Collections — balance the three feature images */
main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card-media{
  height:285px;
  padding:18px;
  display:grid;
  place-items:center;
  overflow:hidden;
}

main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card-media img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}

/* Corvane lineup: give it a little breathing room */
main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card:nth-child(1) .card-media img{
  max-width:92%;
  max-height:82%;
}

/* Lethrim: slightly larger because the source image is more tightly framed */
main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card:nth-child(2) .card-media img{
  max-width:80%;
  max-height:80%;
}

/* Aether Scientists artwork: keep the decorative frame fully visible */
main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card:nth-child(3) .card-media img{
  max-width:94%;
  max-height:94%;
}

/* Keep the collection cards sensible on phones */
@media(max-width:760px){
  main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card-media{
    height:220px;
    padding:14px;
  }

  main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card:nth-child(1) .card-media img{
    max-width:94%;
    max-height:84%;
  }

  main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card:nth-child(2) .card-media img{
    max-width:86%;
    max-height:86%;
  }

  main:has(> .home-hero) > section.section:nth-of-type(5) .cards-grid .card:nth-child(3) .card-media img{
    max-width:96%;
    max-height:96%;
  }
}

.page-hero{margin-top:18px;padding:34px 0;background:linear-gradient(90deg,rgba(5,13,23,.95),rgba(7,27,47,.82)),url('Images/site-background.jpg') center/cover;color:#fff}.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px}.page-hero-copy{padding:28px 38px}.page-hero h1{font-size:clamp(2.8rem,5vw,4.8rem)}.page-hero p{max-width:720px}.page-hero-media{padding:18px;display:grid;place-items:center}.page-hero-media img{max-height:360px;width:100%;object-fit:contain}.range-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin:8px 0 14px}.range-head p{max-width:760px;color:var(--muted)}
.aether-panel{padding:26px}.aether-intro{display:grid;grid-template-columns:1fr 310px;gap:24px;align-items:center;margin-bottom:18px}.aether-intro img{height:260px;width:100%;object-fit:contain}.scientist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.scientist-card .product-media{height:220px}
.lore-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:13px;background:#f8efdf;border:1px solid var(--line);margin:0 auto 14px}.lore-nav a{font:700 .7rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#665332;padding:4px 5px}.lore-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;align-items:start}.lore-copy{padding:28px}.lore-copy h2{font-size:2rem;margin:.2rem 0 .7rem;color:#1c304b}.lore-copy h3{font-size:1.35rem;color:#264d74}.lore-copy p{font-size:1.04rem;color:#433d35}.lore-aside{position:sticky;top:130px}.lore-aside .card-body{padding:20px}.crystal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.crystal-card{padding:20px}.crystal-card.blue{border-top:4px solid #348fd1}.crystal-card.yellow{border-top:4px solid #c59a33}.crystal-card.black{border-top:4px solid #24282e}.timeline{display:grid;gap:8px}.timeline-row{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(108,91,61,.18)}
.records-band{padding:26px 0;background:linear-gradient(145deg,#06101d,#11263f);color:#fff;border-top:1px solid var(--gold2);border-bottom:1px solid var(--gold2)}.records-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.diary-paper{position:relative;background:#eee1c6;color:#2d2a27;padding:30px 30px 26px;min-height:360px;border:1px solid #af8f58;box-shadow:0 15px 30px rgba(0,0,0,.25);transform:rotate(-.35deg);overflow:hidden}.diary-paper:nth-child(even){transform:rotate(.35deg)}.diary-paper:before{content:'';position:absolute;inset:10px;border:1px solid rgba(112,82,42,.28)}.diary-paper:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 25px,rgba(90,70,40,.035) 26px);pointer-events:none}.diary-paper .doc-meta{font:700 .68rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#6f5734}.diary-paper h3{font-size:1.45rem;margin:.45rem 0}.diary-paper .hand{font-family:'Segoe Print','Bradley Hand',cursive;font-size:1rem;line-height:1.7}.diary-paper .read-record{position:relative;z-index:1;border:1px solid #91713d;background:rgba(255,255,255,.3);padding:8px 11px;cursor:pointer;font-weight:700}.record-note{color:#dac79e}.diary-decoration{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.diary-mini{transform:rotate(-2deg);max-width:330px;margin:auto}.diary-mini .hand{font-size:.9rem}.diary-modal{position:fixed;inset:0;background:rgba(3,9,15,.78);z-index:90;display:none;align-items:center;justify-content:center;padding:20px}.diary-modal.open{display:flex}.diary-modal-card{width:min(760px,95vw);max-height:85vh;overflow:auto;background:#efe0bf;border:1px solid #9c7b42;padding:36px;box-shadow:0 30px 60px rgba(0,0,0,.4)}.diary-modal-card h2{margin-top:0}.diary-modal-card .hand{font-family:'Segoe Print','Bradley Hand',cursive;white-space:pre-line;line-height:1.75}.modal-close{float:right;border:1px solid #8b6a37;background:#f7eedb;padding:7px 10px;cursor:pointer}
.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-panel{padding:27px}.contact-email{font-size:1.35rem;color:#225f96;font-weight:700}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.product-detail-media{min-height:480px;padding:25px;display:grid;place-items:center}.product-detail-media img{width:100%;height:450px;object-fit:contain}.product-detail-copy{padding:28px}.product-detail-copy h1{font-size:2.6rem;line-height:1.05;margin:.3rem 0}.product-diary{margin-top:18px}
.site-footer{margin-top:24px;padding:26px 0 16px;background:linear-gradient(145deg,#050e18,#0e2238);color:#f4ebd8;border-top:1px solid var(--gold2)}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:24px;align-items:start}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand img{width:72px;height:72px;object-fit:contain}.footer-brand strong{display:block;letter-spacing:.13em}.footer-brand small{letter-spacing:.11em;color:#ceb98a}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 15px}.footer-links a{color:#e8dfcc}.footer-quote{text-align:right;font-size:1.35rem;color:#e2c77d}.footer-bottom{margin-top:18px;padding-top:13px;border-top:1px solid rgba(201,165,92,.2);color:#bfb39d;font-size:.85rem;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:70;display:none}.cart-backdrop.open{display:block}.cart-drawer{position:fixed;right:0;top:0;width:min(430px,100%);height:100%;background:#0a1725;color:#fff;z-index:75;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column;border-left:1px solid var(--gold2)}.cart-drawer.open{transform:translateX(0)}.cart-header,.cart-footer{padding:18px;border-bottom:1px solid rgba(201,165,92,.25)}.cart-header{display:flex;justify-content:space-between;align-items:center}.cart-header h2{margin:0}.cart-close{font-size:2rem;color:#fff;background:none;border:0;cursor:pointer}.cart-items{padding:15px;display:grid;gap:10px;overflow:auto}.cart-item{padding:12px;border:1px solid rgba(201,165,92,.25);background:#102238}.cart-item-name{font-weight:700;color:#edd698}.cart-item-code{font-size:.72rem;color:#9fb2c2}.cart-item-price{margin:4px 0}.qty{display:flex;gap:8px;align-items:center;margin-top:6px}.qty button{width:28px;height:28px;background:#ead7aa;border:1px solid #9a7a43;cursor:pointer}.remove-item{margin-top:7px;background:none;color:#9fcff3;border:0;padding:0;cursor:pointer}.cart-footer{margin-top:auto;border-top:1px solid rgba(201,165,92,.25);border-bottom:0}.cart-total{display:flex;justify-content:space-between;font-size:1.15rem;margin:12px 0}.checkout-button{width:100%}.cart-empty{color:#c5ced6;padding:20px;text-align:center}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#081826;color:#fff;border:1px solid var(--gold2);padding:11px 16px;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
.search-overlay{position:fixed;inset:0;background:rgba(2,8,14,.88);z-index:80;display:none;padding:110px 18px 30px;overflow:auto}.search-overlay.open{display:block}.search-panel{width:min(900px,100%);margin:auto;background:#f8efdf;border:1px solid var(--gold2);box-shadow:0 25px 60px rgba(0,0,0,.4);padding:25px}.search-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.search-head h2{margin:0}.search-close{border:0;background:none;font-size:1.8rem;cursor:pointer}.search-input{width:100%;padding:14px 15px;margin:15px 0;border:1px solid #b79a66;background:#fffdf7;font-size:1.05rem}.search-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.search-result{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center;border:1px solid #d5c19b;background:#fffaf0;padding:9px}.search-result img{width:86px;height:72px;object-fit:contain}.search-result strong{display:block;color:#1a3554}.search-result span{font-size:.85rem;color:#63594d}.search-empty{grid-column:1/-1;padding:20px;text-align:center;color:#655a49}
@media(max-width:1150px){.header-inner{grid-template-columns:90px 1fr}.header-right{grid-column:1/-1;justify-content:center;padding-bottom:12px}.hero-grid,.page-hero-grid,.founders-flash,.intro-grid,.product-detail{grid-template-columns:1fr}.hero-art{padding:0 30px 45px}.hero-art img{height:360px}.faction-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(3,1fr)}.cards-grid,.founders-grid,.scientist-grid,.crystal-grid{grid-template-columns:repeat(2,1fr)}.lore-layout{grid-template-columns:1fr}.lore-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-quote{text-align:left}}
@media(max-width:760px){.site-shell{width:min(100% - 20px,1360px)}.site-header{position:relative}.header-inner{grid-template-columns:78px 1fr;min-height:88px}.maker-mark{width:72px;height:72px}.header-wordmark img{height:62px}.header-right{align-items:flex-start;gap:10px}.main-nav{flex-wrap:wrap;gap:11px}.main-nav a{font-size:.8rem}.header-actions{padding-left:8px}.hero-copy{padding:34px 20px}.hero-grid{min-height:0}.hero-art img{height:300px}.founder-preview-grid,.product-grid,.cards-grid,.founders-grid,.scientist-grid,.crystal-grid,.records-grid,.about-grid,.contact-grid,.footer-grid,.search-results{grid-template-columns:1fr}.faction-card{grid-template-columns:1fr}.faction-media img{height:260px}.aether-intro{grid-template-columns:1fr}.lore-copy{padding:22px}.timeline-row{grid-template-columns:1fr}.diary-decoration{grid-template-columns:1fr}.product-detail-media img{height:340px}}

/* Upload-ready responsive refinements */
.header-wordmark{width:min(470px,100%)}
.header-wordmark img{height:88px;object-fit:contain;object-position:center;mix-blend-mode:multiply}
.footer-grid{grid-template-columns:1.15fr .9fr .72fr .72fr}
.footer-social{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.footer-social-title{font:700 .72rem/1.2 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e1c77f}
.social-links{display:flex;gap:10px;flex-wrap:wrap}
.social-links a{display:block;width:50px;height:50px;transition:transform .18s ease,filter .18s ease}
.social-links a:hover,.social-links a:focus-visible{transform:translateY(-3px);filter:drop-shadow(0 0 10px rgba(43,142,220,.6));outline:none}
.social-links img{width:100%;height:100%;object-fit:contain}

/* Keep product and placeholder art safely separated from copy. */
.product-media,.card-media{overflow:hidden}
.scientist-card .product-media{height:255px;padding:16px}
.scientist-card .product-media img{max-height:100%;object-fit:contain}
.scientist-card .card-body{min-height:230px;background:linear-gradient(#fffdf8,#f4ead9)}

/* Standard desktop: preserve readable line lengths and card proportions. */
@media (min-width:1160px) and (max-width:1799px){
  .site-shell{width:min(1480px,calc(100% - 48px))}
}

/* Wide desktop / 21:9 screens. */
@media (min-width:1800px){
  html{font-size:17px}
  .site-shell{width:min(1840px,calc(100% - 80px))}
  .header-inner{grid-template-columns:126px 1fr minmax(760px,auto);min-height:118px;gap:30px}
  .maker-mark{width:106px;height:106px}
  .header-wordmark{width:min(520px,100%)}
  .header-wordmark img{height:96px}
  .main-nav{gap:22px}.main-nav a{font-size:.95rem}
  .hero-grid{min-height:610px;grid-template-columns:1fr 1fr}
  .hero-copy{padding:58px 56px}
  .hero-art img{height:520px}
  .founders-flash{padding:30px 36px}
  .product-media,.card-media{height:285px}
  .scientist-card .product-media{height:285px}
  .faction-card{min-height:420px}.faction-media img{height:365px}
  .page-hero-media img{max-height:430px}
}

/* Very wide / 32:9 screens: use more width without stretching text across the whole monitor. */
@media (min-width:3000px){
  html{font-size:18px}
  .site-shell{width:min(2700px,calc(100% - 180px))}
  .header-inner{grid-template-columns:150px 1fr minmax(980px,auto);min-height:132px}
  .maker-mark{width:118px;height:118px}
  .header-wordmark{width:min(620px,100%)}
  .header-wordmark img{height:108px}
  .main-nav{gap:28px}.main-nav a,.icon-button,.basket-button{font-size:1rem}
  .hero-grid{min-height:720px;grid-template-columns:.92fr 1.08fr;gap:54px}
  .hero-copy{padding:68px 72px}.hero-copy p:not(.eyebrow):not(.hero-subtitle):not(.hero-tagline){max-width:820px}
  .hero-art img{height:610px}
  .founders-flash{grid-template-columns:.9fr 1.1fr;padding:38px 44px}
  .founder-preview img{height:205px}
  .product-grid{gap:24px}.cards-grid,.faction-grid,.founders-grid{gap:24px}
  .product-media,.card-media{height:340px}.scientist-card .product-media{height:330px}
  .card-body{padding:22px 24px 26px}.card h3{font-size:1.45rem}
  .faction-card{min-height:500px}.faction-media img{height:430px}
  .page-hero{padding:46px 0}.page-hero-media img{max-height:500px}
}

/* Tablet and smaller laptop widths. */
@media(max-width:1150px){
  .header-wordmark{width:min(430px,100%)}
  .header-wordmark img{height:82px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-social{align-items:flex-start}
}

/* Mobile: stack the header controls cleanly and avoid horizontal overflow. */
@media(max-width:760px){
  html,body{overflow-x:hidden}
  .header-inner{grid-template-columns:68px minmax(0,1fr);gap:10px;padding-top:4px}
  .maker-mark{width:64px;height:64px}
  .header-wordmark{width:100%;justify-self:stretch}
  .header-wordmark img{height:58px;width:100%;object-fit:contain;object-position:left center}
  .header-right{grid-column:1/-1;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:4px 4px 10px}
  .main-nav{width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:7px 13px;white-space:normal}
  .main-nav a{font-size:.78rem;padding:6px 0}
  .header-actions{width:100%;justify-content:center;border-left:0;padding-left:0;border-top:1px solid rgba(142,109,52,.18);padding-top:5px}
  .icon-button,.basket-button{font-size:.82rem}
  .hero-copy h1,.page-hero h1{letter-spacing:.04em}
  .hero-art{padding:0 14px 32px}.hero-art img{height:auto;max-height:300px}
  .section{padding:12px 0}.founders-flash{margin-top:10px}
  .scientist-card .product-media{height:270px}
  .scientist-card .card-body{min-height:0}
  .footer-grid{grid-template-columns:1fr}
  .footer-social{align-items:flex-start}
  .footer-quote{text-align:left}
}

@media(max-width:430px){
  .site-shell{width:calc(100% - 14px)}
  .header-inner{grid-template-columns:58px minmax(0,1fr)}
  .maker-mark{width:56px;height:56px}
  .header-wordmark img{height:50px}
  .main-nav{gap:5px 10px}.main-nav a{font-size:.72rem}
  .hero-copy{padding:28px 14px}.hero-copy h1{font-size:2.65rem}.hero-subtitle{font-size:1rem}
  .btn{width:100%}.btn-row{gap:8px}
  .product-detail-media{min-height:330px}.product-detail-media img{height:300px}
  .diary-modal-card{padding:24px 18px}
  .social-links a{width:46px;height:46px}
}

/* Extra 32:9 tuning after QA at 5120 × 1440. */
@media (min-width:4000px){
  html{font-size:20px}
  .site-shell{width:min(3400px,calc(100% - 220px))}
  .header-inner{grid-template-columns:170px 1fr minmax(1250px,auto);min-height:148px}
  .maker-mark{width:132px;height:132px}
  .header-wordmark{width:min(760px,100%)}
  .header-wordmark img{height:124px}
  .main-nav{gap:34px}.main-nav a,.icon-button,.basket-button{font-size:1.05rem}
  .hero-grid{min-height:800px;grid-template-columns:.95fr 1.05fr;gap:70px}
  .hero-copy{padding:82px 90px}
  .hero-copy h1{font-size:7.2rem}.hero-subtitle{font-size:2.25rem}.hero-tagline{font-size:1.5rem}
  .hero-art img{height:700px}
  .founders-flash{padding:44px 54px}.founder-preview img{height:235px}
  .intro-grid{padding:42px}.intro-art{min-height:420px}
  .faction-card{min-height:560px}.faction-media img{height:485px}
  .product-media,.card-media{height:390px}.scientist-card .product-media{height:380px}
  .page-hero{padding:58px 0}.page-hero h1{font-size:5.6rem}.page-hero-media img{max-height:560px}
  .footer-grid{gap:42px}.social-links a{width:58px;height:58px}
}


/* =========================================================
   SKYGLASS MOBILE DESIGN PASS — 11 Sep 2026
   Desktop rules remain unchanged. These rules intentionally
   redesign the phone layout instead of merely stacking desktop.
   ========================================================= */
.mobile-menu-button{display:none}

@media(max-width:760px){
  .site-shell{width:calc(100% - 22px)}
  body{background:#f2eadc}
  .site-header{position:sticky;top:0;background:rgba(248,239,223,.985)}
  .header-inner{min-height:72px;grid-template-columns:54px minmax(0,1fr) 46px;gap:8px;padding:6px 2px}
  .header-inner:before{inset:5px 0}
  .header-inner:after{display:none}
  .maker-mark{width:50px;height:50px;padding:2px}
  .header-wordmark{width:100%;justify-self:center}
  .header-wordmark img{height:48px;width:100%;object-fit:contain;object-position:center}

  .mobile-menu-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(142,109,52,.55);background:linear-gradient(#fff9ed,#ecddbd);color:#352d23;cursor:pointer;z-index:3;padding:0}
  .mobile-menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mobile-menu-icon,.mobile-menu-icon:before,.mobile-menu-icon:after{display:block;width:18px;height:1.5px;background:#4d402e;position:relative;transition:.2s}
  .mobile-menu-icon:before,.mobile-menu-icon:after{content:'';position:absolute;left:0}
  .mobile-menu-icon:before{top:-6px}.mobile-menu-icon:after{top:6px}
  .mobile-menu-button.mobile-open .mobile-menu-icon{background:transparent}
  .mobile-menu-button.mobile-open .mobile-menu-icon:before{top:0;transform:rotate(45deg)}
  .mobile-menu-button.mobile-open .mobile-menu-icon:after{top:0;transform:rotate(-45deg)}

  .header-right{display:none;grid-column:1/-1;width:100%;margin:0;padding:10px 8px 12px;gap:9px;background:linear-gradient(180deg,#f8efdf,#f0e2c9);border-top:1px solid rgba(142,109,52,.25);box-shadow:0 12px 22px rgba(9,18,29,.10)}
  .header-right.mobile-open{display:grid}
  .main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;border:1px solid rgba(142,109,52,.20);background:rgba(255,255,255,.22)}
  .main-nav a{font-size:.78rem;letter-spacing:.06em;text-align:center;padding:10px 6px;border-bottom:1px solid rgba(142,109,52,.14)}
  .main-nav a:nth-child(odd){border-right:1px solid rgba(142,109,52,.14)}
  .main-nav a:hover:after,.main-nav a.active:after{left:20%;right:20%;bottom:5px}
  .header-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;padding:0;border:0}
  .icon-button,.basket-button{min-height:40px;border:1px solid rgba(142,109,52,.28);background:#fff8eb;font-size:.8rem}

  .home-hero{margin-top:10px}
  .hero-grid{display:block;min-height:0;padding:0 0 20px}
  .hero-copy{text-align:center;padding:32px 18px 20px}
  .hero-copy h1{font-size:clamp(2.7rem,14vw,4.2rem);letter-spacing:.06em;margin:.18rem 0 .5rem}
  .hero-subtitle{font-size:1.02rem;letter-spacing:.12em}
  .hero-tagline{font-size:1.05rem}
  .hero-copy p:not(.eyebrow):not(.hero-subtitle):not(.hero-tagline){font-size:.96rem;line-height:1.6;margin-left:auto;margin-right:auto}
  .gold-rule{margin:14px auto;width:250px}
  .hero-copy .btn-row{justify-content:center;margin-top:18px}
  .hero-copy .btn{min-width:150px}
  .hero-art{padding:0 22px 8px;height:auto}
  .hero-art img{width:min(230px,70vw);height:190px;max-height:none;border:0;background:transparent;filter:drop-shadow(0 16px 28px rgba(0,0,0,.38))}
  .hero-art .quote{
  position:absolute;
  right:38px;
  bottom:30px;
  max-width:none;
  color:#dfcfaa;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1rem;
  font-weight:400;
  font-style:normal;
  letter-spacing:.06em;
  line-height:1.4;
  text-align:right;
  white-space:nowrap;
  text-shadow:0 2px 6px rgba(0,0,0,.8);
  opacity:.96;
}
  .hero-art .quote:before{
    display:none;
  }

  .founders-flash{margin:10px auto 14px;padding:22px 16px;display:block;text-align:center}
  .founders-flash h2{font-size:1.8rem}
  .founders-flash>div:first-child p:not(.eyebrow){font-size:.94rem}
  .founders-flash .btn-row{justify-content:center;margin-top:15px}
  .founder-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}
  .founder-preview{padding:9px 5px;border:1px solid rgba(201,165,92,.18);background:rgba(255,255,255,.025)}
  .founder-preview img{height:112px}
  .founder-preview strong{font-size:.82rem}
  .founder-preview small{display:block;font-size:.72rem}

  .section{padding:10px 0}
  .section-banner{width:100%;padding:13px 14px;margin-bottom:12px;clip-path:none}
  .section-banner h2{font-size:1.55rem;line-height:1.15}
  .intro-grid{display:block;padding:22px 18px}
  .intro-grid h2{font-size:1.8rem}
  .intro-grid p{font-size:.96rem}
  .intro-art{min-height:170px;margin-top:18px;background-position:center}

  .faction-grid{gap:12px}
  .faction-card{display:flex;flex-direction:column;min-height:0;text-align:center}
  .faction-copy{padding:24px 18px 16px}
  .faction-copy h3{font-size:1.75rem}
  .faction-copy p{font-size:.94rem}
  .faction-copy .btn{margin-top:4px}
  .range-note{display:block;width:max-content;max-width:100%;margin:12px auto 0;font-size:.64rem}
  .faction-media{padding:4px 12px 18px}
  .faction-media img{height:225px}

  .cards-grid{gap:12px}
  .card-media,.product-media{height:220px}
  .card-body{padding:16px 16px 18px}
  .card h3{font-size:1.25rem}
  .card p{font-size:.94rem}

  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-grid .product-media{height:180px;padding:9px}
  .product-grid .card-body{padding:13px 12px 15px}
  .product-grid .card h3{font-size:1.05rem}
  .product-grid .card p{font-size:.84rem}
  .product-grid .price{font-size:1rem}
  .product-grid .card-actions{gap:6px}
  .product-grid .add-to-cart{width:100%;padding:9px 7px}

  .dark-band{padding:18px 0}
  .founders-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .founder-card{padding:13px 8px}
  .founder-card img{height:115px}
  .founder-card h3{font-size:1rem;margin:.45rem 0 .25rem}
  .founder-card p{font-size:.78rem;margin:.2rem 0 .7rem}
  .founder-card .btn{padding:9px 8px;font-size:.78rem}

  .page-hero{margin-top:10px;padding:20px 0}
  .page-hero-grid{display:block;text-align:center}
  .page-hero-copy{padding:20px 16px 14px}
  .page-hero h1{font-size:2.7rem;letter-spacing:.05em}
  .page-hero-media{padding:6px 18px 14px}
  .page-hero-media img{max-height:260px}
  .range-head{display:block;text-align:center;margin-bottom:12px}

  .aether-panel{padding:18px 14px}
  .aether-intro{grid-template-columns:1fr;text-align:center;gap:12px}
  .aether-intro img{height:210px}
  .scientist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .scientist-card .product-media{height:190px}

  .lore-nav{gap:5px;padding:9px 7px}
  .lore-nav a{font-size:.62rem;padding:5px 4px}
  .lore-copy{padding:20px 17px}
  .lore-copy h2{font-size:1.65rem}
  .crystal-grid{grid-template-columns:1fr}
  .records-grid{gap:12px}
  .diary-paper{padding:24px 20px 22px;min-height:0;transform:none!important}

  .about-grid,.contact-grid{gap:12px}
  .info-panel{padding:21px 18px}
  .contact-email{font-size:1.05rem;overflow-wrap:anywhere}

  .product-detail{display:block}
  .product-detail-media{min-height:0;padding:16px}
  .product-detail-media img{height:310px}
  .product-detail-copy{padding:20px 18px}
  .product-detail-copy h1{font-size:2rem}

  .footer-grid{text-align:center;gap:18px}
  .footer-brand{justify-content:center;flex-direction:column;gap:7px}
  .footer-brand img{width:62px;height:62px}
  .footer-links{grid-template-columns:repeat(2,1fr);gap:8px 14px}
  .footer-social{align-items:center!important}
  .social-links{justify-content:center}
  .footer-quote{text-align:center!important;font-size:1.18rem}
  .footer-bottom{justify-content:center;text-align:center}
}

@media(max-width:430px){
  .site-shell{width:calc(100% - 14px)}
  .header-inner{grid-template-columns:48px minmax(0,1fr) 42px;gap:6px}
  .maker-mark{width:45px;height:45px}
  .header-wordmark img{height:43px}
  .mobile-menu-button{width:38px;height:38px}
  .hero-copy{padding:28px 14px 18px}
  .hero-copy h1{font-size:2.75rem}
  .hero-copy .btn{width:100%;min-width:0}
  .hero-art img{height:165px}
  .founders-flash{padding:19px 12px}
  .founder-preview img{height:100px}
  .product-grid{grid-template-columns:1fr 1fr}
  .product-grid .product-media{height:155px}
  .scientist-grid{grid-template-columns:1fr}
  .founders-grid{grid-template-columns:1fr 1fr}
  .faction-media img{height:205px}
  .product-detail-media img{height:285px}
  .diary-modal-card{padding:22px 16px}
}

@media(max-width:350px){
  .product-grid,.founders-grid,.founder-preview-grid{grid-template-columns:1fr}
  .product-grid .product-media{height:210px}
}

/* =========================================================
   MOBILE PALETTE MATCH — use the same colours as desktop
   Layout stays mobile-specific; only the mobile colour overrides
   are brought back in line with the desktop Skyglass palette.
   ========================================================= */
@media(max-width:760px){
  body{
    background:#f4eee3;
  }

  .site-header{
    background:rgba(248,239,223,.97);
  }

  .mobile-menu-button{
    background:rgba(248,239,223,.97);
    border-color:var(--line);
    color:var(--ink);
  }

  .mobile-menu-icon,
  .mobile-menu-icon:before,
  .mobile-menu-icon:after{
    background:var(--ink);
  }

  .mobile-menu-button.mobile-open .mobile-menu-icon{
    background:transparent;
  }

  .header-right{
    background:rgba(248,239,223,.97);
    border-top-color:var(--line);
  }

  .main-nav{
    background:transparent;
    border-color:rgba(142,109,52,.28);
  }

  .main-nav a{
    border-bottom-color:rgba(142,109,52,.18);
  }

  .main-nav a:nth-child(odd){
    border-right-color:rgba(142,109,52,.18);
  }

  .icon-button,
  .basket-button{
    background:var(--paper2);
    color:#352d23;
    border-color:var(--line);
  }
}


/* =========================================================
   SKYGLASS MOBILE V3 — compact mobile storefront
   Desktop remains unchanged. Mobile: scrolling header/search,
   Founders swipe loop, compact faction tiles, fixed 7-icon nav.
   ========================================================= */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.mobile-search-strip,.mobile-bottom-nav,.founder-carousel-dots,.founder-swipe-hint{display:none}
.founder-preview[data-founder-clone]{display:none}
.mystery-dialog{display:none}

@media(max-width:760px){
  html,body{overflow-x:hidden}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom));background:#f4eee3}

  /* The top banner now scrolls away normally. */
  .site-header{position:relative!important;top:auto!important}

  /* Search sits directly below the normal header and scrolls with it. */
  .mobile-search-strip{
    display:block;
    padding:7px 0 9px;
    background:#f4eee3;
    border-bottom:1px solid rgba(142,109,52,.24);
  }
  .mobile-search-strip .site-shell{width:calc(100% - 22px)}
  .mobile-search-launch{
    width:100%;height:42px;display:flex;align-items:center;gap:10px;
    padding:0 14px;border:1px solid var(--line);background:var(--paper2);color:#6a5d49;
    text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(18,23,31,.06);
    font-size:.88rem;
  }
  .mobile-search-icon{
    width:15px;height:15px;border:1.8px solid #294a6e;border-radius:50%;position:relative;flex:0 0 auto;
  }
  .mobile-search-icon:after{
    content:'';position:absolute;width:7px;height:1.8px;background:#294a6e;right:-5px;bottom:-3px;transform:rotate(45deg);
  }

  /* Fixed seven-button navigation. */
  .mobile-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:160;
    display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;
    min-height:68px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(8,24,39,.985),rgba(4,14,24,.995));
    border-top:1px solid var(--gold2);box-shadow:0 -8px 24px rgba(0,0,0,.28);
  }
  .mobile-nav-item{
    min-width:0;height:56px;padding:5px 3px;border:0;border-left:1px solid rgba(201,165,92,.11);
    display:grid;place-items:center;background:transparent;color:inherit;cursor:pointer;
    -webkit-tap-highlight-color:transparent;position:relative;
  }
  .mobile-nav-item:first-child{border-left:0}
  .mobile-nav-item img{
    width:39px;height:39px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));
    transition:transform .16s ease,filter .16s ease,opacity .16s ease;opacity:.84;
  }
  .mobile-nav-item.active img{
    opacity:1;filter:drop-shadow(0 0 7px rgba(43,142,220,.75)) drop-shadow(0 2px 4px rgba(0,0,0,.55));
  }
  .mobile-nav-item:active img{transform:scale(.9)}
  .mobile-nav-home{height:62px;transform:translateY(-4px)}
  .mobile-nav-home img{width:49px;height:49px;opacity:1}
  .mobile-nav-home:before{
    content:'';position:absolute;width:55px;height:55px;border-radius:50%;
    background:#07131f;border:1px solid rgba(201,165,92,.45);z-index:-1;
  }

  /* Mystery pop-up for the first nav button. */
  .mystery-dialog{
    position:fixed;inset:0;z-index:220;align-items:center;justify-content:center;
    padding:18px;background:rgba(2,8,14,.82);backdrop-filter:blur(4px);
  }
  .mystery-dialog.open{display:flex}
  .mystery-dialog-card{
    width:min(360px,100%);position:relative;text-align:center;padding:24px 20px 22px;
    background:linear-gradient(155deg,#07131f,#102944);color:#f7efdf;
    border:1px solid var(--gold2);box-shadow:0 25px 70px rgba(0,0,0,.5);
  }
  .mystery-dialog-card:before{content:'';position:absolute;inset:8px;border:1px solid rgba(201,165,92,.28);pointer-events:none}
  .mystery-dialog-emblem{width:138px;height:138px;object-fit:contain;margin:0 auto 4px}
  .mystery-dialog-card h2{color:#efd38c;font-size:1.65rem;line-height:1.1;margin:.3rem 0 .7rem}
  .mystery-dialog-card p:not(.eyebrow){font-size:.93rem;color:#eee4d3;margin:.4rem auto 1rem;max-width:280px}
  .mystery-close{position:absolute;top:9px;right:11px;background:none;border:0;color:#f7efdf;font-size:1.8rem;cursor:pointer;z-index:2}
  .mystery-random{width:100%;position:relative;z-index:2}
  body.mystery-open{overflow:hidden}

  /* ---------------- Homepage mobile order ---------------- */
  main:has(> .home-hero) > .home-hero{display:none!important}
  main:has(> .home-hero) > section.section:nth-of-type(3){display:none!important} /* Enter Skyglass */
  main:has(> .home-hero) > section.section:nth-of-type(5){display:none!important} /* Miniatures & Collections */
  main:has(> .home-hero) > section.dark-band:nth-of-type(6){display:none!important} /* duplicate Founders grid */

  /* Founders becomes the first homepage block and shows one card at a time. */
  main:has(> .home-hero) > .founders-flash{
    margin:9px auto 12px;padding:18px 13px 16px;display:block;text-align:center;
  }
  main:has(> .home-hero) > .founders-flash h2{font-size:1.65rem;margin:.2rem 0 .45rem}
  main:has(> .home-hero) > .founders-flash>div:first-child p:not(.eyebrow){font-size:.88rem;line-height:1.5;margin:.4rem auto;max-width:320px}
  main:has(> .home-hero) > .founders-flash .btn-row{justify-content:center;margin-top:12px}
  main:has(> .home-hero) > .founders-flash .btn{width:auto;min-width:170px;padding:10px 15px}

  main:has(> .home-hero) .founder-loop-track{
    width:100%;display:flex!important;grid-template-columns:none!important;gap:0!important;
    overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;margin:15px 0 0;padding:0;
    scrollbar-width:none;overscroll-behavior-x:contain;
  }
  main:has(> .home-hero) .founder-loop-track::-webkit-scrollbar{display:none}
  main:has(> .home-hero) .founder-loop-track .founder-preview{
    flex:0 0 100%;min-width:100%;aspect-ratio:1/1;scroll-snap-align:center;scroll-snap-stop:always;
    padding:14px 12px 12px;border:1px solid rgba(201,165,92,.32)!important;
    background:rgba(255,255,255,.025);display:grid!important;grid-template-rows:minmax(0,1fr) auto auto;
    align-items:center;justify-items:center;
  }
  main:has(> .home-hero) .founder-loop-track .founder-preview[data-founder-clone]{display:grid!important}
  main:has(> .home-hero) .founder-loop-track .founder-preview img{
    width:82%;height:100%;max-height:235px;object-fit:contain;margin:auto;
  }
  main:has(> .home-hero) .founder-loop-track .founder-preview strong{
    margin-top:4px;font-size:1rem;color:#e8cd82;letter-spacing:.07em;
  }
  main:has(> .home-hero) .founder-loop-track .founder-preview small{font-size:.78rem;color:#eee4d3}
  .founder-carousel-dots{display:flex;justify-content:center;gap:6px;margin:10px 0 0}
  .founder-carousel-dots span{width:6px;height:6px;border-radius:50%;border:1px solid #d7bd78;background:transparent;transition:.15s}
  .founder-carousel-dots span.active{background:#4fa7e5;border-color:#83c9f4;box-shadow:0 0 6px rgba(43,142,220,.65)}
  .founder-swipe-hint{display:block;font:700 .62rem Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#cdbb94;margin-top:6px}

  /* Corvane + Lethrim share the screen 50/50 rather than becoming full-page cards. */
  main:has(> .home-hero) > section.section:nth-of-type(4){padding:4px 0 10px}
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card{
    min-height:0;display:flex!important;flex-direction:column;text-align:center;clip-path:none;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-media{
    order:-1;padding:7px 5px 0;background:radial-gradient(circle,rgba(60,115,170,.14),transparent 65%);
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-media img{height:112px!important;width:100%;object-fit:contain}
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy{
    padding:12px 7px 13px;
    display:flex;
    flex:1;
    flex-direction:column;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy .eyebrow{font-size:.58rem;letter-spacing:.13em}
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy h3{
    font-size:1.08rem;
    line-height:1.12;
    margin:.32rem 0 .5rem;
    min-height:2.42em;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy p,
  main:has(> .home-hero) > section.section:nth-of-type(4) .range-note{display:none!important}
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy .btn{
    width:100%;
    padding:8px 4px;
    font-size:.76rem;
    margin-top:auto;
  }

  /* Give the wider Lethrim group a little breathing room without changing the Lethrim page. */
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card:nth-child(2) .faction-media img{
    height:80px!important;
    width:82%!important;
    max-width:82%;
    object-fit:contain!important;
    object-position:center;
    margin:auto;
  }

  /* Lore follows directly after the two faction tiles. */
  main:has(> .home-hero) > section.section:nth-of-type(7){padding:7px 0 12px}
  main:has(> .home-hero) > section.section:nth-of-type(7) .section-banner{padding:11px 10px;margin-bottom:9px}
  main:has(> .home-hero) > section.section:nth-of-type(7) .section-banner h2{font-size:1.42rem}
  main:has(> .home-hero) > section.section:nth-of-type(7) .cards-grid{gap:9px}
  main:has(> .home-hero) > section.section:nth-of-type(7) .card-body{padding:14px 14px 16px}
  main:has(> .home-hero) > section.section:nth-of-type(7) .card h3{font-size:1.18rem}
  main:has(> .home-hero) > section.section:nth-of-type(7) .card p{font-size:.88rem}
  main:has(> .home-hero) > section.section:nth-of-type(7) .diary-paper{max-width:none;width:100%;padding:20px 17px 18px}

  /* Footer still works normally, with clearance for the fixed nav. */
  .site-footer{margin-bottom:0}
}

@media(max-width:430px){
  .mobile-nav-item img{width:35px;height:35px}
  .mobile-nav-home img{width:45px;height:45px}
  .mobile-nav-home:before{width:51px;height:51px}
  main:has(> .home-hero) .founder-loop-track .founder-preview img{max-height:218px}
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-media img{height:102px!important}
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy h3{font-size:1rem}
}

@media(max-width:350px){
  .mobile-bottom-nav{padding-left:1px;padding-right:1px}
  .mobile-nav-item{padding-left:1px;padding-right:1px}
  .mobile-nav-item img{width:31px;height:31px}
  .mobile-nav-home img{width:41px;height:41px}
}




/* Lethrim mobile tile finishing pass */
.lethrim-title-mobile{display:none}

@media(max-width:760px){
  main:has(> .home-hero) > section.section:nth-of-type(4) .lethrim-title-desktop{
    display:none;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .lethrim-title-mobile{
    display:flex;
    width:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .lethrim-title-divider{
    display:block;
    width:72%;
    height:1px;
    margin:5px auto 4px;
    background:currentColor;
    opacity:.95;
  }

  /* Keep the current scale, but lower the Lethrim group inside its image area. */
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card:nth-child(2) .faction-media img{
    transform:translateY(10px);
  }
}


/* Corvane mobile title: two clean lines without changing desktop */
.corvane-title-mobile{display:none}

@media(max-width:760px){
  main:has(> .home-hero) > section.section:nth-of-type(4) .corvane-title-desktop{
    display:none;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .corvane-title-mobile{
    display:block;
    width:100%;
    text-align:center;
    line-height:1.12;
  }
}


/* =========================================================
   MOBILE FACTION TILE MATCHING PASS
   Make Corvane/Lethrim tiles use the same internal geometry.
   ========================================================= */
@media(max-width:760px){
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card{
    height:226px;
    display:grid!important;
    grid-template-rows:108px 1fr;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-media{
    height:108px;
    padding:4px 4px 0;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* Corvane: a touch smaller so both faction images feel balanced. */
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card:nth-child(1) .faction-media img{
    width:88%!important;
    max-width:88%!important;
    height:88px!important;
    object-fit:contain!important;
    margin:auto;
  }

  /* Lethrim: same image zone; slightly lower within it. */
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card:nth-child(2) .faction-media img{
    width:80%!important;
    max-width:80%!important;
    height:78px!important;
    object-fit:contain!important;
    margin:auto;
    transform:translateY(6px);
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy{
    padding:5px 7px 8px;
    display:grid;
    grid-template-rows:48px 36px;
    gap:6px;
    align-content:end;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy h3{
    margin:0;
    min-height:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1rem;
    line-height:1.08;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy .btn{
    height:36px;
    min-height:36px;
    margin:0;
    padding:0 4px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.76rem;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .lethrim-title-divider{
    width:72%;
    margin:4px auto 3px;
  }
}

@media(max-width:430px){
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-media img{
    height:auto!important;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card:nth-child(1) .faction-media img{
    height:88px!important;
  }
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card:nth-child(2) .faction-media img{
    height:78px!important;
  }
}

/* =========================================================
   SKYGLASS MOBILE DARK — WARM CHARCOAL / GOLD
   Uses the same reliable mobile-dark approach that worked before,
   but removes the bright-blue cast. Desktop remains unchanged.
   Layout, spacing, images and navigation are untouched.
   ========================================================= */
@media (max-width:760px){

  :root{
    --ink:#eee5d7;
    --navy:#050b11;
    --navy2:#0b141d;
    --blue:#7096ad;
    --gold:#c9a55c;
    --gold2:#8e6d34;
    --paper:#090d11;
    --paper2:#12171c;
    --line:#5d4b30;
    --muted:#b7aa96;
    --shadow:0 15px 35px rgba(0,0,0,.34);
    color-scheme:dark;
  }

  html,
  body{
    background:#090d11!important;
    color:#eee5d7!important;
  }

  /* Header */
  .site-header,
  .header-inner,
  .header-right{
    background:#090d11!important;
    background-image:linear-gradient(180deg,#10161d,#090d11)!important;
    border-color:#5d4b30!important;
  }

  .header-inner:before{
    border-color:rgba(201,165,92,.30)!important;
  }

  .header-inner:after{
    background:#090d11!important;
    border-color:#5d4b30!important;
  }

  .header-wordmark img{
    mix-blend-mode:normal!important;
  }

  .main-nav{
    background:rgba(255,255,255,.015)!important;
    border-color:rgba(201,165,92,.18)!important;
  }

  .main-nav a,
  .icon-button,
  .basket-button{
    color:#eee2cf!important;
  }

  .icon-button,
  .basket-button{
    background:#12171c!important;
    border-color:#5d4b30!important;
  }

  .mobile-menu-button{
    background:#151a1f!important;
    background-image:linear-gradient(180deg,#1b2025,#11161b)!important;
    color:#d6bd7b!important;
    border-color:#8e6d34!important;
  }

  .mobile-menu-icon,
  .mobile-menu-icon:before,
  .mobile-menu-icon:after{
    background:#d1b66f!important;
  }

  .mobile-menu-button.mobile-open .mobile-menu-icon{
    background:transparent!important;
  }

  /* Search strip */
  .mobile-search-strip{
    background:#090d11!important;
  }

  .mobile-search-launch{
    background:#151a1f!important;
    background-image:none!important;
    color:#ded3c1!important;
    border-color:#5d4b30!important;
    box-shadow:0 5px 14px rgba(0,0,0,.24)!important;
  }

  .mobile-search-icon{
    border-color:#c9a55c!important;
  }

  .mobile-search-icon:after{
    background:#c9a55c!important;
  }

  /* Parchment/light panels -> warm charcoal, not blue */
  .ornate-light,
  .section-banner,
  .card,
  .info-panel,
  .aether-panel,
  .product-detail-copy,
  .search-panel,
  .search-result{
    background:#12171c!important;
    background-image:linear-gradient(180deg,#171c20,#101419)!important;
    color:#eee5d7!important;
    border-color:#5d4b30!important;
  }

  .ornate-light:before,
  .card:before{
    border-color:rgba(201,165,92,.19)!important;
  }

  .section-banner h2,
  .section-title,
  .card h3,
  .card h3 a,
  .product-detail-copy h1,
  .lore-copy h2,
  .lore-copy h3{
    color:#e6d3a2!important;
  }

  .section-banner p,
  .card p,
  .intro-grid p,
  .range-head p,
  .product-detail-copy p,
  .aether-panel p,
  .lore-copy p{
    color:#d7ccba!important;
  }

  .ink{
    color:#b8c5cc!important;
  }

  .gold{
    color:#d1b66f!important;
  }

  /* Image wells */
  .card-media,
  .product-media,
  .faction-media{
    background:#0b1116!important;
    background-image:radial-gradient(circle at 50% 40%,rgba(104,129,143,.08),transparent 64%)!important;
  }

  .intro-art{
    background:
      linear-gradient(90deg,rgba(9,13,17,.86),rgba(9,13,17,.18)),
      url('Images/site-background.jpg') center/cover!important;
    border-color:#5d4b30!important;
  }

  /* Homepage faction pair */
  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-card,
  .faction-card{
    background:#080d12!important;
    background-image:linear-gradient(150deg,#080d12,#111820)!important;
    border-color:#8e6d34!important;
    color:#eee5d7!important;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .faction-copy h3,
  .faction-copy h3{
    color:#d0af62!important;
  }

  .faction-copy p{
    color:#ddd3c2!important;
  }

  .range-note{
    color:#d2b875!important;
    border-color:rgba(201,165,92,.35)!important;
  }

  main:has(> .home-hero) > section.section:nth-of-type(4) .lethrim-title-divider{
    background:#a88949!important;
  }

  /* Product information */
  .badge{
    background:#191914!important;
    color:#d9c79f!important;
    border-color:#80683e!important;
  }

  .price{
    color:#d2b875!important;
  }

  .text-link,
  .contact-email{
    color:#9db9c9!important;
  }

  .coming-soon{
    color:#c5af7d!important;
  }

  /* Buttons — antique gold, not blue */
  .btn-parchment,
  .add-to-cart,
  .checkout-button{
    background:#af8b47!important;
    background-image:linear-gradient(180deg,#cfb36f,#9a773b)!important;
    color:#0a0d10!important;
    border-color:#d3b870!important;
    box-shadow:none!important;
  }

  .btn-dark{
    background:#111820!important;
    color:#eee5d7!important;
    border-color:#8e6d34!important;
  }

  .btn-outline{
    background:transparent!important;
    color:#d2b875!important;
    border-color:#8e6d34!important;
  }

  /* Lore */
  .lore-nav{
    background:#11161b!important;
    border-color:#5d4b30!important;
  }

  .lore-nav a{
    color:#d2c2a1!important;
  }

  .crystal-card{
    background:#12171c!important;
    color:#e4dacb!important;
  }

  .timeline-row{
    border-bottom-color:rgba(201,165,92,.17)!important;
  }

  /* Recovered records: dark warm paper instead of brown auto-inversion */
  .records-band{
    background:#070b0f!important;
    background-image:linear-gradient(145deg,#070b0f,#111820)!important;
  }

  .diary-paper,
  .diary-modal-card{
    background:#171713!important;
    background-image:linear-gradient(180deg,#1b1a15,#14140f)!important;
    color:#e9dfd0!important;
    border-color:#725b35!important;
  }

  .diary-paper:before{
    border-color:rgba(201,165,92,.22)!important;
  }

  .diary-paper:after{
    background:repeating-linear-gradient(
      0deg,
      transparent 0 25px,
      rgba(255,255,255,.018) 26px
    )!important;
  }

  .diary-paper .doc-meta{
    color:#bba16d!important;
  }

  .diary-paper h3,
  .diary-paper p,
  .diary-paper .hand,
  .diary-modal-card h2,
  .diary-modal-card p,
  .diary-modal-card .hand{
    color:#e9dfd0!important;
  }

  .diary-paper .read-record,
  .modal-close{
    background:#1b1b18!important;
    color:#dbc697!important;
    border-color:#80663a!important;
  }

  /* Search overlay */
  .search-panel{
    background:#10151a!important;
    color:#eee5d7!important;
    border-color:#8e6d34!important;
  }

  .search-input{
    background:#171c20!important;
    color:#eee5d7!important;
    border-color:#665234!important;
  }

  .search-input::placeholder{
    color:#a69b8a!important;
  }

  .search-result{
    background:#151a1f!important;
    border-color:#51442f!important;
  }

  .search-result strong{
    color:#dcc37c!important;
  }

  .search-result span,
  .search-empty{
    color:#bfb4a4!important;
  }

  .search-close{
    color:#eee5d7!important;
  }

  /* Basket/cart */
  .cart-drawer{
    background:#090f15!important;
  }

  .cart-item{
    background:#141b22!important;
  }

  .qty button{
    background:#b39558!important;
    color:#0a0d10!important;
    border-color:#80683e!important;
  }

  /* Footer + fixed mobile nav */
  .site-footer{
    background:#05090d!important;
    background-image:linear-gradient(145deg,#05090d,#0e171f)!important;
    color:#efe5d5!important;
    border-top-color:#8e6d34!important;
  }

  .mobile-bottom-nav{
    background:#050a0f!important;
    background-image:linear-gradient(180deg,#0b131a,#050a0f)!important;
    border-top-color:#8e6d34!important;
    box-shadow:0 -7px 20px rgba(0,0,0,.40)!important;
  }

  .mobile-nav-home:before{
    background:#090d11!important;
    border-color:rgba(201,165,92,.58)!important;
  }

  /* Mystery popup if opened */
  .mobile-mystery-panel,
  .mystery-panel{
    background:#12171c!important;
    color:#eee5d7!important;
    border-color:#8e6d34!important;
  }
}

/* =========================================================
   SKYGLASS MOBILE HEADER WORDMARK FIX
   Keep the existing coloured logo, but make the dark lettering
   readable on the charcoal mobile header. No layout/content changes.
   ========================================================= */
@media(max-width:760px){
  .header-wordmark{
    width:min(235px,100%)!important;
    justify-self:center!important;
    overflow:visible!important;
  }

  .header-wordmark img{
    width:100%!important;
    height:56px!important;
    object-fit:contain!important;
    object-position:center!important;
    mix-blend-mode:normal!important;
    opacity:1!important;
    transform:scale(1.08);
    transform-origin:center;
    filter:
      drop-shadow(1px 0 0 rgba(232,211,162,.62))
      drop-shadow(-1px 0 0 rgba(232,211,162,.62))
      drop-shadow(0 1px 0 rgba(232,211,162,.62))
      drop-shadow(0 -1px 0 rgba(232,211,162,.62))
      drop-shadow(0 0 5px rgba(201,165,92,.24))!important;
  }
}

@media(max-width:430px){
  .header-wordmark{
    width:min(220px,100%)!important;
  }

  .header-wordmark img{
    height:52px!important;
    transform:scale(1.10);
  }
}

