@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
  --charcoal:#222222;--charcoal-2:#2e2e2e;--gold:#b8860b;--gold-soft:#d4a84b;
  --cream:#f7f4ec;--panel:#fffcf5;--ink:#1a1a1a;--muted:#5c574c;--line:#e4dcc8;
  --max:1060px;--radius:6px;--shadow:0 8px 24px rgba(34,34,34,.1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Noto Sans SC',system-ui,sans-serif;color:var(--ink);
  background:repeating-linear-gradient(-12deg,transparent,transparent 18px,rgba(184,134,11,.03) 18px,rgba(184,134,11,.03) 19px),linear-gradient(165deg,#ebe6da 0%,var(--cream) 45%,#e8e2d4 100%);
  line-height:1.82;min-height:100vh;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--charcoal);text-decoration:underline}
.wrap{width:min(100% - 2rem,var(--max));margin-inline:auto}

.site-header{position:sticky;top:0;z-index:100;background:var(--charcoal);border-bottom:1px solid rgba(184,134,11,.45)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.65rem;color:var(--gold-soft);font-family:'Playfair Display',serif;font-weight:700;font-size:1.15rem;text-decoration:none}
.brand:hover{color:#fff;text-decoration:none}
.brand img{border-radius:4px}

.nav-toggle{display:none;width:42px;height:42px;border:1px solid rgba(184,134,11,.5);border-radius:4px;background:transparent;padding:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--gold-soft);transition:transform .2s,opacity .2s}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.site-nav ul{display:flex;gap:.35rem 1.15rem;list-style:none;margin:0;padding:0}
.site-nav a{color:rgba(255,255,255,.78);font-size:.9rem;font-weight:500;text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a.active{color:var(--gold-soft);border-bottom-color:var(--gold);text-decoration:none}

.site-ads{background:var(--panel);border-bottom:1px solid var(--line);padding:.85rem 0 .5rem}
#applist{text-align:center}
.applist-title{font-family:'Playfair Display',serif;font-size:.95rem;color:var(--muted);margin-bottom:.35rem}
#ads{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem .85rem}
#ads>div{width:70px;display:flex;flex-direction:column;align-items:center}
#ads img{width:65px;height:65px;object-fit:cover;border-radius:14px;box-shadow:0 5px 14px rgba(34,34,34,.12);border:1px solid var(--line)}
#ads .caption{font-size:11px;color:#666;margin-top:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70px}

.page-main{padding-bottom:3rem}
.masthead{padding:2rem 0 1.2rem;border-bottom:1px solid var(--line)}
.masthead-kicker{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:.5rem}
.masthead h1{font-family:'Playfair Display','Noto Sans SC',serif;font-size:clamp(1.5rem,3.4vw,2.15rem);line-height:1.32;margin:0 0 .85rem;color:var(--charcoal);font-weight:700}
.masthead .lead{margin:0;color:var(--muted);max-width:46rem;font-size:1.02rem}

.layout-split{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;align-items:start;padding-top:1.4rem}
.side-nav{position:sticky;top:72px;background:var(--charcoal);color:#fff;border-radius:var(--radius);padding:1rem .85rem;border:1px solid rgba(184,134,11,.35)}
.side-nav h2{font-family:'Playfair Display',serif;font-size:.95rem;color:var(--gold-soft);margin:0 0 .7rem;padding:0 .35rem;font-weight:600}
.side-nav ul{list-style:none;margin:0;padding:0}
.side-nav a{display:block;color:rgba(255,255,255,.82);padding:.45rem .4rem;font-size:.88rem;border-left:2px solid transparent;text-decoration:none}
.side-nav a:hover{color:var(--gold-soft);border-left-color:var(--gold);text-decoration:none}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem 1.45rem 1.5rem;margin-bottom:1.2rem;box-shadow:var(--shadow)}
.panel h2{font-family:'Playfair Display','Noto Sans SC',serif;font-size:1.32rem;margin:0 0 .8rem;color:var(--charcoal);padding-bottom:.5rem;border-bottom:2px solid var(--gold);display:inline-block;min-width:40%}
.panel h3{margin:1.15rem 0 .45rem;font-size:1.05rem;color:var(--charcoal-2)}
.panel p{margin:0 0 .8rem}
.panel ul{margin:0 0 .85rem;padding-left:1.2rem}
.panel li{margin-bottom:.3rem}

.matrix-wrap{overflow-x:auto;margin:1rem 0}
.matrix{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.matrix th,.matrix td{border:1px solid var(--line);padding:.65rem .75rem;text-align:left}
.matrix thead th{background:var(--charcoal);color:var(--gold-soft);font-weight:600}
.matrix tbody th{background:#f0ebe0;font-weight:600;width:28%}
.matrix tbody tr:nth-child(even) td{background:#faf7f0}
.matrix .yes{color:#2d6a2d;font-weight:600}
.matrix .partial{color:var(--gold);font-weight:600}

.shot-duo,.shot-tri{display:grid;gap:1rem;margin:1rem 0}
.shot-duo{grid-template-columns:1fr 1fr}
.shot-tri{grid-template-columns:repeat(3,1fr);gap:.85rem}
.shot-duo figure,.shot-tri figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.shot-duo img,.shot-tri img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top}
.shot-duo figcaption,.shot-tri figcaption{padding:.5rem .7rem;font-size:.85rem;color:var(--muted);background:#faf7f0;text-align:center}

.tier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0}
.tier-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.tier-card img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.tier-card .body{padding:.85rem 1rem 1rem}
.tier-card h3{margin:0 0 .4rem;font-family:'Playfair Display','Noto Sans SC',serif;font-size:1.05rem;border:none;padding:0;display:block;min-width:0}
.tier-card p{margin:0;font-size:.9rem;color:var(--muted)}
.tier-card .price-tag{display:inline-block;margin-bottom:.35rem;font-size:.75rem;letter-spacing:.08em;color:var(--gold);font-weight:700}

.note-bar{background:var(--charcoal);color:rgba(255,255,255,.88);padding:.85rem 1rem;border-radius:var(--radius);border-left:4px solid var(--gold);margin:1rem 0;font-size:.93rem}
.note-bar p{margin:0}

.outlinks{display:flex;flex-wrap:wrap;gap:.6rem;margin:.9rem 0 .2rem}
.outlinks a{background:var(--charcoal);color:var(--gold-soft);padding:.55rem .95rem;border-radius:4px;font-weight:600;font-size:.9rem;border:1px solid var(--gold)}
.outlinks a:hover{background:var(--gold);color:var(--charcoal);text-decoration:none}

.qa-list{margin:.5rem 0 0}
.qa-item{border-bottom:1px solid var(--line);padding:.85rem 0}
.qa-item strong{display:block;color:var(--charcoal);margin-bottom:.35rem}
.qa-item p{margin:0;color:var(--muted);font-size:.95rem}

.site-footer{background:var(--charcoal);color:rgba(255,255,255,.72);padding:2rem 0 1.5rem;margin-top:.5rem;font-size:.88rem}
.site-footer a{color:var(--gold-soft)}
.site-footer a:hover{color:#fff}
.footer-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.15rem;margin-bottom:.85rem}
.footer-copy{margin:0}

.legal-main .panel{margin-top:1.4rem}
.legal-main h1{font-family:'Playfair Display','Noto Sans SC',serif;font-size:1.6rem;margin:0 0 .55rem;color:var(--charcoal)}
.err-page{min-height:55vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem}
.err-page h1{font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--charcoal);margin:0 0 .55rem}
.err-page p{color:var(--muted);max-width:28rem;margin:0 auto 1.2rem}
.btn-gold{display:inline-flex;padding:.65rem 1.2rem;background:var(--gold);color:#fff;font-weight:700;border-radius:4px;text-decoration:none}
.btn-gold:hover{background:var(--charcoal);color:var(--gold-soft);text-decoration:none}

@media (max-width:900px){
  .layout-split{grid-template-columns:1fr}
  .side-nav{position:relative;top:0}
  .side-nav ul{display:flex;flex-wrap:wrap;gap:.25rem .5rem}
  .side-nav a{border-left:none;border-bottom:2px solid transparent;padding:.35rem .5rem}
  .side-nav a:hover{border-left:none;border-bottom-color:var(--gold)}
  .shot-tri{grid-template-columns:1fr 1fr}
  .tier-grid{grid-template-columns:1fr}
  .nav-toggle{display:flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--charcoal-2);padding:.75rem 1rem 1rem;border-bottom:1px solid var(--gold)}
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column}
  .site-nav a{display:block;padding:.55rem .35rem}
  .header-inner{position:relative}
}
@media (max-width:560px){.shot-duo,.shot-tri{grid-template-columns:1fr 1fr;gap:.6rem}}
