@font-face{font-family:"Bebas Neue";font-display:swap;src:url(fonts/bebas-neue-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Newsreader;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/newsreader-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Newsreader;font-weight:400;font-style:italic;font-display:swap;src:url(fonts/newsreader-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:Newsreader;font-weight:500;font-style:normal;font-display:swap;src:url(fonts/newsreader-latin-500-normal.woff2) format("woff2")}
:root{--bone:#EEF0E8;--forest:#2D4739;--forest-d:#1F3329;--brass:#B08A3E;--ink:#17211B;--muted:#5F6B62;--line:#CFD5C8;--card:#FFFFFF;
  --disp:"Bebas Neue",Impact,sans-serif;--text:"Newsreader",Georgia,serif;--gut:clamp(18px,4.5vw,64px)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bone);color:var(--ink);font:400 1.1rem/1.6 var(--text);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
header.top{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gut);color:var(--bone);max-width:1180px;margin:0 auto;left:0;right:0}
header.top.solid{position:sticky;top:0;background:var(--bone);color:var(--ink);border-bottom:1px solid var(--line)}
.logo{font:400 1.9rem/1 var(--disp);letter-spacing:.06em;text-decoration:none}
nav.main{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
nav.main a{text-decoration:none;font:400 1.3rem/1 var(--disp);letter-spacing:.06em}
nav.main a[aria-current="page"]{color:var(--brass)}
.btn{display:inline-block;background:var(--brass);color:#14100a;font:400 1.5rem/1 var(--disp);letter-spacing:.06em;padding:.8em 1.4em;text-decoration:none;border-radius:2px}
.btn:hover{background:var(--ink);color:var(--bone)}
.btn-sm{font-size:1.2rem;padding:.6em 1.1em}
section{padding:96px 0}
.dark{background:var(--forest);color:var(--bone)}
.dark-d{background:var(--forest-d);color:var(--bone)}
h1,h2,h3{font-family:var(--disp);font-weight:400;letter-spacing:.02em;line-height:1}
h1{font-size:clamp(4rem,11vw,9rem)}
h2{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:24px}
h3{font-size:2rem;margin-bottom:8px}
.lead{font-size:1.3rem;max-width:58ch;color:var(--muted)}
.dark .lead,.dark-d .lead,.dark p,.dark-d p{color:#cfdbd1}
.kicker{font:400 1.2rem/1 var(--disp);letter-spacing:.12em;color:var(--brass);margin-bottom:16px}
.hero{padding:140px 0 96px}
.hero h1 em{font-style:normal;color:var(--brass)}
.hero .lead{margin:24px 0 36px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}
.gal img.wide{grid-column:span 2;aspect-ratio:16/10}
.card{background:var(--card);color:var(--ink);border:1px solid var(--line);padding:30px 26px}
.card .tag{font:400 1rem/1 var(--disp);letter-spacing:.12em;color:var(--brass);margin-bottom:12px}
.card .price{font:400 2.6rem/1 var(--disp);color:var(--forest);margin:18px 0 6px}
.card .per{font-size:1rem;color:var(--muted);margin-bottom:18px}
.card ul{list-style:none;color:var(--muted);font-size:1rem}
.card li{padding:9px 0;border-top:1px solid var(--line)}
.card p{color:var(--muted);font-size:1.02rem}
.ph{background:linear-gradient(150deg,#c9d1c3,#8c9a8e);aspect-ratio:4/5;display:grid;place-items:end start;padding:14px;color:#1f2a22;font-size:.9rem}
.ph.wide{aspect-ratio:16/9}
.addons{margin-top:56px}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);font-size:1.02rem}
td,th{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font:400 1.1rem/1 var(--disp);letter-spacing:.08em;color:var(--forest);background:#e4e9de}
td.amt{font:400 1.5rem/1 var(--disp);color:var(--forest);white-space:nowrap}
.note{font-size:.98rem;color:var(--muted);margin-top:24px;max-width:70ch}
.faq details{background:var(--card);border:1px solid var(--line);margin-bottom:12px;padding:20px 24px}
.faq summary{font:400 1.6rem/1.2 var(--disp);letter-spacing:.03em;cursor:pointer;list-style:none}
.faq summary::after{content:"+";color:var(--brass);float:right;font-size:1.6em;line-height:.7}
.faq details[open] summary::after{content:"−"}
.faq p{margin-top:12px;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--forest)}
.steps>div{padding:28px 24px 0 0}
.steps b{font:400 3.6rem/1 var(--disp);color:var(--brass);display:block}
.steps h3{margin-top:12px;font-size:1.8rem}
.steps p{color:var(--muted);font-size:1rem}
.pager{display:flex;justify-content:space-between;gap:16px;padding:48px 0;border-top:1px solid var(--line);font:400 1.3rem/1 var(--disp);letter-spacing:.06em}
.pager a{text-decoration:none}
footer{background:var(--forest-d);color:#a9b9ad;padding:28px var(--gut);font-size:.95rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.wa{position:fixed;right:18px;bottom:18px;background:#1FA855;color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;font:400 1.2rem/1 var(--disp);letter-spacing:.06em;box-shadow:0 8px 22px rgba(0,0,0,.2);z-index:9}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.placeholder-note{font-size:.9rem;color:var(--muted);font-style:italic;margin-top:8px}
@media (max-width:860px){
  nav.main a:not(.btn){display:none}
  .grid2,.grid3,.grid4,.split,.steps{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr 1fr}
  .gal img.wide{grid-column:span 2}
  section{padding:72px 0}
  .hero{padding:120px 0 72px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.gal img{cursor:zoom-in}
/* lightbox */
dialog{border:0;padding:0;background:transparent;max-width:100vw;max-height:100svh;width:100vw;height:100svh}
dialog::backdrop{background:rgba(8,14,10,.94)}
dialog img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:94vw;max-height:92svh}
dialog button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font:400 1.2rem var(--disp);letter-spacing:.06em;cursor:pointer;padding:8px}
