:root { color-scheme: dark; --bg:#071824; --panel:#102d3c; --panel2:#173a47; --ink:#f6f5ee; --muted:#c2d0d2; --gold:#e4ba6c; --line:#527078; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 90% 2%,#164654 0,transparent 32%),var(--bg); color:var(--ink); font:1rem/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
img { max-width:100%; }
a { color:var(--gold); }
a:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.wrap { width:min(1160px,calc(100% - 36px)); margin-inline:auto; }
.mast { border-bottom:1px solid #46616b; background:#0a2130; }
.mast-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); font:700 1.13rem Georgia,serif; letter-spacing:.07em; }
.brand img { flex:none; border-radius:50%; border:1px solid var(--gold); object-fit:cover; }
.brand em { color:var(--gold); font-style:normal; }
.mast nav { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(12px,2.8vw,34px); }
.mast nav a { color:var(--ink); font-weight:700; text-decoration:none; font-size:.95rem; }
.mast nav a:hover, .quiet-link:hover, .footer a:hover { text-decoration:underline; }
.eyebrow,.page-label { color:var(--gold); font-size:.85rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; line-height:1.1; }
h1 { font-size:clamp(2.4rem,5vw,5rem); letter-spacing:-.035em; }
h1 em { color:var(--gold); font-weight:400; }
h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.intro-block { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(210px,.55fr); gap:clamp(24px,5vw,80px); align-items:center; padding:42px 0 48px; }
.intro-block h1 { max-width:630px; margin:12px 0 20px; }
.intro-block p:not(.eyebrow) { max-width:650px; font-size:1.13rem; color:var(--muted); }
.intro-block>img { width:100%; max-height:390px; object-fit:contain; filter:drop-shadow(0 20px 30px #0009); }
.intro-actions,.order-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 22px; border-radius:8px; text-decoration:none; font-size:1rem; font-weight:800; text-align:center; }
.button:hover { filter:brightness(1.12); }
.button.gold { background:var(--gold); color:#0b2330; }
.button.outline { border:1px solid var(--gold); color:var(--ink); }
.menu { scroll-margin-top:15px; padding:28px 0 68px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:22px; }
.section-head h2 { margin:0; }
.quiet-link { text-decoration:none; white-space:nowrap; }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.product-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #45616a; border-radius:12px; background:var(--panel); color:var(--ink); text-decoration:none; transition:transform .16s,border-color .16s; }
.product-card:hover { transform:translateY(-3px); border-color:var(--gold); }
.card-art { height:242px; background:#294354; overflow:hidden; }
.card-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%; }
.card-info { display:flex; flex:1; flex-direction:column; padding:20px; }
.card-info h3 { margin:7px 0 20px; font:700 1.35rem/1.23 Georgia,serif; }
.card-bottom { display:flex; justify-content:space-between; align-items:end; gap:8px; margin-top:auto; color:var(--muted); }
.card-bottom b { color:var(--gold); white-space:nowrap; }
.closing { margin:0 0 64px; padding:32px; border:1px solid #6f7a6a; border-radius:12px; background:linear-gradient(110deg,#173746,#102b38); }
.closing h2 { margin-bottom:8px; }
.closing p { color:var(--muted); }
.footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; border-top:1px solid #45616a; padding:22px 0 32px; color:var(--muted); font-size:.9rem; }
.product-main { padding-top:24px; }
.crumb { display:flex; justify-content:space-between; gap:15px; margin-bottom:24px; color:var(--muted); font-size:.9rem; font-weight:800; letter-spacing:.05em; }
.crumb a { text-decoration:none; }
.product-layout { display:grid; grid-template-columns:minmax(250px,.82fr) minmax(0,1fr); align-items:start; gap:clamp(24px,5vw,75px); }
.product-art { margin:0; padding:12px; border-radius:13px; border:1px solid #43616c; background:#163a49; text-align:center; }
.product-art img { display:block; width:100%; max-height:625px; object-fit:contain; border-radius:6px; background:#081d29; }
.product-art figcaption { margin-top:10px; color:var(--muted); font-size:.87rem; }
.product-detail h1 { font-size:clamp(2.4rem,4vw,4rem); margin:7px 0 20px; }
.description { color:var(--muted); font-size:1.13rem; }
.product-detail h2 { font:700 1.42rem system-ui,sans-serif; margin:30px 0 12px; }
.price-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.price-list li { display:flex; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid var(--line); }
.price-list strong { color:var(--gold); white-space:nowrap; font-size:1.08rem; }
.process { margin:23px 0 0; color:var(--muted); }
.email-fallback { margin:18px 0 0; overflow-wrap:anywhere; }
.disclaimer { margin:16px 0; font-size:.9rem; color:var(--muted); }
.pager { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; margin:40px 0 12px; padding:18px 0; border-block:1px solid var(--line); font-size:.92rem; }
.pager span:last-child { text-align:right; }
.pager strong { color:var(--muted); text-align:center; font-weight:600; }
.return-menu { display:block; margin:0 0 55px; width:max-content; font-weight:800; }
.gallery { margin:38px 0 0; }
.gallery h2 { font-size:1.9rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.gallery-grid img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:8px; border:1px solid var(--line); }
.inner-page { max-width:850px; padding:60px 0 90px; }
.inner-page h1 { margin:12px 0 22px; }
.lead { font-size:1.18rem; color:var(--muted); }
.inner-page h2 { margin-top:42px; }
.steps { list-style:none; padding:0; counter-reset:step; }
.steps li { counter-increment:step; position:relative; display:grid; gap:3px; padding:13px 0 13px 52px; border-top:1px solid var(--line); }
.steps li:before { content:counter(step,decimal-leading-zero); position:absolute; left:0; top:14px; color:var(--gold); font-weight:800; }
.steps li span { color:var(--muted); }
.payment { margin-top:40px; padding:24px; border-radius:12px; background:var(--panel); }
.payment h2 { margin:0 0 8px; font:700 1.35rem system-ui,sans-serif; }
.payment p { color:var(--muted); margin:0; }
@media (max-width:850px) { .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:26px; } }
@media (max-width:640px) { .wrap { width:min(100% - 28px,1160px); } .mast-inner { align-items:flex-start; flex-direction:column; padding:14px 0; gap:10px; } .mast nav { gap:14px 20px; } .mast nav a { font-size:.9rem; } .intro-block { grid-template-columns:1fr; padding:35px 0 27px; } .intro-block>img { display:none; } .intro-actions,.order-actions { flex-direction:column; align-items:stretch; } .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .card-art { height:170px; } .card-info { padding:14px; } .card-info h3 { font-size:1.06rem; } .page-label { font-size:.8rem; } .card-bottom { flex-direction:column; align-items:start; font-size:.88rem; } .section-head { align-items:start; } .quiet-link { font-size:.9rem; } .product-layout { grid-template-columns:1fr; } .product-art { max-width:500px; margin:auto; width:100%; } .product-art img { max-height:550px; } .product-detail h1 { margin-top:9px; } .pager { grid-template-columns:1fr 1fr; } .pager strong { order:-1; grid-column:1/-1; } .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .inner-page { padding:42px 0 70px; } }
@media (max-width:390px) { .card-grid { grid-template-columns:1fr; } .card-art { height:230px; } }
