:root{--bg:#FBF7F1;--paper:#F3EADF;--ink:#2B2420;--muted:#6B5D53;--rust:#B5552B;--rust-d:#8E3F1D;--line:#E2D5C5;--max:1100px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;font-weight:normal}
h1{font-size:clamp(2rem,5vw,3.2rem);margin:.2em 0}h2{font-size:clamp(1.6rem,3.5vw,2.3rem);margin:0 0 .4em}h3{font-size:1.25rem;margin:.2em 0 .3em}
a{color:var(--rust-d)}.wrap{max-width:var(--max);margin:auto;padding:0 1.25rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
header{position:sticky;top:0;background:rgba(251,247,241,.95);border-bottom:1px solid var(--line);z-index:5}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}.nav img{height:36px;display:block}
.nav ul{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}.nav ul a{color:var(--ink);text-decoration:none;font-size:.95rem}.nav ul a:hover{color:var(--rust)}
.menu{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:.4rem .7rem;font:inherit}
.btn{display:inline-block;background:var(--rust);color:#fff!important;padding:.75rem 1.3rem;border-radius:6px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--rust-d)}.btn.ghost{background:transparent;color:var(--ink)!important;border:1.5px solid var(--ink)}
section{padding:4.5rem 0;border-bottom:1px solid var(--line)}
.hero{background:linear-gradient(var(--bg),rgba(251,247,241,.85)),repeating-linear-gradient(0deg,transparent 0 39px,var(--line) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,var(--line) 39px 40px);padding:6rem 0 5rem}
.eyebrow{color:var(--rust);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}
.lead{font-size:1.2rem;color:var(--muted);max-width:640px}.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.datum{height:3px;background:var(--ink);max-width:220px;margin:1.8rem 0 0;position:relative}.datum:after{content:"";position:absolute;left:30px;top:-11px;border:8px solid transparent;border-bottom:11px solid var(--rust);border-top:0}
.grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.4rem}.card p{margin:.2em 0;color:var(--muted)}
.tag{display:inline-block;font-size:.75rem;background:var(--paper);color:var(--rust-d);padding:.1rem .5rem;border-radius:99px;font-weight:600}
.alt{background:var(--paper)}.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding-left:3.4rem;margin-bottom:1.6rem}.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--rust);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.2rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.note{font-size:.92rem;color:var(--muted);border-left:3px solid var(--rust);padding-left:.9rem}
.ph{border:2px dashed var(--line);border-radius:10px;padding:2rem;text-align:center;color:var(--muted);background:#fff}
form{display:grid;gap:.9rem}label{font-weight:600;font-size:.92rem}input,select,textarea{width:100%;font:inherit;padding:.65rem .75rem;border:1px solid #CDBDAA;border-radius:6px;background:#fff;margin-top:.25rem}
input:focus,textarea:focus,select:focus,a:focus-visible,.btn:focus-visible{outline:3px solid #E9A47F;outline-offset:2px}
footer{padding:2rem 0;color:var(--muted);font-size:.9rem}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
@media(max-width:800px){.two{grid-template-columns:1fr;gap:1.5rem}.menu{display:block}.nav ul{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);flex-direction:column;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.nav ul.open{display:flex}section{padding:3.2rem 0}.hero{padding:4rem 0 3.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.sample{margin:0;background:#fff;border:1px solid #dde3ea;border-radius:10px;overflow:hidden}
.sample img{display:block;width:100%;height:auto}
.sample figcaption{padding:.7rem .9rem;font-size:.9rem;color:#4a5562}

.grid.samples{grid-template-columns:repeat(2,1fr)}
.sample img{aspect-ratio:7/5;object-fit:cover;object-position:center}
.sample.top img{object-position:left top;object-fit:cover}
@media(max-width:700px){.grid.samples{grid-template-columns:1fr}}
.sample.top img{object-fit:contain;object-position:center;background:#fff}
#services .grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){#services .grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){#services .grid{grid-template-columns:1fr}}

.offer{margin:1rem 0 0;font-weight:600}
.offer a{font-weight:600;white-space:nowrap}
.badge{display:inline-block;background:#b5522b;color:#fff;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;margin-right:.4rem;vertical-align:middle}
.free{border:1px solid #e4c9b8;background:#fff7f1;border-radius:10px;padding:1rem 1.2rem;margin:1.2rem 0}
.free h3{margin:0 0 .4rem}
.free p{margin:.3rem 0}
.fine{font-size:.8rem;color:#6b6f75;line-height:1.45}
.check label{display:flex;gap:.5rem;align-items:center;font-weight:500}
.check input{width:auto;margin:0}

/* Plan table sample deck */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.plantable{margin-top:1rem;padding:clamp(1.2rem,4vw,3rem) clamp(.8rem,4vw,3rem) 1.2rem;border-radius:14px;
 background:
  linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px) 0 0/120px 120px,
  linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px) 0 0/120px 120px,
  radial-gradient(ellipse at 50% 35%,#2f5577,#1d3650 75%);
 box-shadow:inset 0 0 60px rgba(0,0,0,.35)}
.deck{position:relative;max-width:920px;margin:0 auto;aspect-ratio:7/5;perspective:1800px;cursor:pointer;outline:none;touch-action:pan-y;user-select:none}
.deck:focus-visible{box-shadow:0 0 0 3px #f2b48f;border-radius:4px}
.sheet{position:absolute;inset:0;margin:0;background:#fff;padding:1.1%;border-radius:2px;
 box-shadow:0 1px 2px rgba(0,0,0,.25),0 8px 18px rgba(0,0,0,.25);
 transform:translate(calc(var(--i,0)*7px),calc(var(--i,0)*6px)) rotate(var(--r,0deg));
 transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;transform-origin:50% 50%;backface-visibility:hidden}
.sheet img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.sheet:not(.top){filter:brightness(.97)}
.sheet.top:hover,.deck:focus-visible .sheet.top{transform:translateY(-10px) rotate(0deg);box-shadow:0 4px 8px rgba(0,0,0,.2),0 26px 50px rgba(0,0,0,.4)}
.sheet.turn-out{animation:turnOut .76s cubic-bezier(.45,.05,.3,1) forwards}
.sheet.turn-in{animation:turnIn .76s cubic-bezier(.2,.7,.3,1);z-index:99!important}
@keyframes turnOut{
 0%{transform:translateY(-10px) rotate(0)}
 45%{transform:translate(-62%,-8%) rotateY(28deg) rotate(-7deg);box-shadow:0 30px 60px rgba(0,0,0,.45)}
 100%{transform:translate(21px,18px) rotate(var(--r,0deg))}}
@keyframes turnIn{
 0%{transform:translate(21px,18px) rotate(2deg)}
 50%{transform:translate(-62%,-8%) rotateY(28deg) rotate(-7deg);box-shadow:0 30px 60px rgba(0,0,0,.45)}
 100%{transform:rotate(var(--r,0deg))}}
.deck-bar{display:flex;align-items:center;justify-content:center;gap:1rem;max-width:920px;margin:1.6rem auto 0;color:#eef3f8}
.deck-cap{margin:0;text-align:center;font-size:.95rem;flex:1}
.deck-cap a{color:#f6c7a8}
#deckCount{display:inline-block;font-variant-numeric:tabular-nums;opacity:.75;margin-right:.4rem}
.deck-btn{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff;font-size:1.2rem;cursor:pointer}
.deck-btn:hover,.deck-btn:focus-visible{background:rgba(255,255,255,.2);outline:none;box-shadow:0 0 0 3px #f2b48f}
.deck-hint{text-align:center;color:rgba(238,243,248,.65);font-size:.8rem;margin:.6rem 0 0}
@media(max-width:600px){.deck-cap{font-size:.85rem}.sheet{transform:translate(calc(var(--i,0)*4px),calc(var(--i,0)*4px)) rotate(var(--r,0deg))}}
@media(prefers-reduced-motion:reduce){.sheet{transition:none}.sheet.top:hover{transform:rotate(0)}.sheet.turn-out,.sheet.turn-in{animation:none}}
