*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1d2433;line-height:1.6}h1,h2,h3{font-family:Georgia,serif;color:#14284b;line-height:1.2}a{color:#14284b}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header{border-bottom:1px solid #e5e0d0;background:#fff}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}nav a{margin-left:18px;text-decoration:none;font-weight:600}nav a:hover{text-decoration:underline}
.btn{display:inline-block;padding:13px 24px;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent}.gold{background:#c9a227;color:#14284b}.gold:hover{background:#b48f1c}.outline{border-color:#14284b;color:#14284b;background:transparent}
a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:3px solid #14284b;outline-offset:3px}
.hero{background:#fbf6ea;padding:40px 0}.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero h1{font-size:clamp(2rem,4.2vw,3.1rem);margin:0 0 14px;text-wrap:balance}.hero p{font-size:1.15rem;max-width:34em}.ctas{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
.photo{border:2px dashed #14284b;border-radius:10px;aspect-ratio:4/3;background:#efe7d2;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:#14284b;font-weight:600}
.proof{list-style:none;padding:0;margin:0;display:flex;gap:18px;flex-wrap:wrap;font-size:.95rem}.proof li:before{content:"\2713  ";color:#14284b;font-weight:700}
section{padding:56px 0}.alt{background:#f6f7fa}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;list-style:none}.steps li{background:#fff;border:1px solid #dde2ea;border-radius:10px;padding:22px}.num{display:inline-block;width:34px;height:34px;border-radius:50%;background:#14284b;color:#fff;text-align:center;line-height:34px;font-weight:700}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}.contents li{margin:6px 0}
.price{background:#14284b;color:#fff;border-radius:12px;padding:28px}.price h2,.price h3{color:#fff;margin-top:0}.mini{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-28px;position:relative;margin-left:24px;margin-right:24px;padding:16px 20px;flex-wrap:wrap}.amt.sm{font-size:1.8rem}.hero .photo{aspect-ratio:16/10}.amt{font-size:3rem;font-family:Georgia,serif;font-weight:700}.price ul{padding-left:20px}
.todo{background:#fff4c2;border:2px dashed #b48f1c;color:#5a4500;padding:10px 14px;border-radius:6px;font-size:.92rem;margin:12px 0}
details{border-bottom:1px solid #dde2ea;padding:12px 0}summary{font-weight:700;cursor:pointer;color:#14284b}
.cta{background:#14284b;color:#fff;text-align:center}.cta h2{color:#fff}
footer{background:#0e1d38;color:#d7dce6;padding:32px 0;font-size:.95rem}footer a{color:#fff;margin-right:16px}
main.page{padding:40px 0 60px}
@media(max-width:860px){.hero .wrap,.two{grid-template-columns:1fr}.steps{grid-template-columns:1fr}nav a{margin:0 14px 0 0}.hero{padding:28px 0}}
.testimonials{background:#fbf6ea;padding:64px 0}.t-head{text-align:center;max-width:640px;margin:0 auto 28px}.t-head h2{font-size:clamp(1.8rem,3vw,2.3rem);margin:0 0 10px}.t-head p{color:#4a5568;margin:0}
.testimonials .stats{list-style:none;padding:0;margin:0 auto 36px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:860px;text-align:center;color:#4a5568;font-size:.95rem}.testimonials .stats strong{display:block;font-family:Georgia,serif;font-size:1.7rem;color:#14284b}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.tcard{position:relative;margin:0;background:#fff;border-radius:16px;padding:44px 28px 26px;box-shadow:0 10px 30px rgba(20,40,75,.08),0 2px 6px rgba(20,40,75,.05);display:flex;flex-direction:column;border-top:4px solid #c9a227}
.qmark{position:absolute;top:2px;left:22px;font-family:Georgia,serif;font-size:4.5rem;line-height:1;color:#c9a227}
.tcard blockquote{margin:0 0 22px;flex:1}.tcard blockquote p{margin:0;font-size:1.05rem;line-height:1.75;color:#1d2433}
.tcard figcaption{display:flex;align-items:center;gap:12px;border-top:1px solid #efe7d2;padding-top:18px}.avatar{width:44px;height:44px;border-radius:50%;background:#14284b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:Georgia,serif;flex:none}
.tcard figcaption strong{display:block;color:#14284b}.src{display:block;font-size:.88rem;color:#6b7280}
.t-note{text-align:center;font-size:.82rem;color:#6b7280;margin:26px 0 0}
@media(max-width:820px){.tgrid,.testimonials .stats{grid-template-columns:1fr}}

header{position:sticky;top:0;z-index:1000;background:#fff;transition:box-shadow .2s}header.scrolled{box-shadow:0 4px 16px rgba(20,40,75,.12)}
html{scroll-behavior:smooth}section[id],[id]{scroll-margin-top:90px}
.totop{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;border:0;background:#14284b;color:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 6px 18px rgba(20,40,75,.3);opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s;z-index:999}.totop.show{opacity:1;visibility:visible;transform:none}.totop:hover{background:#1f3a6b}.totop:focus-visible{outline:3px solid #c9a227;outline-offset:3px}

.legal{max-width:820px;padding:40px 20px 70px}.legal h2{font-size:1.35rem;margin:32px 0 8px}.legal .eff{color:#6b7280;font-size:.95rem}.legal ul{padding-left:22px}.legal li{margin:6px 0}
@media(min-width:861px){.two>.price-sticky{position:sticky;top:90px;align-self:start}}
.how{background:#fbf6ea}
.how .steps li{background:#fff;border:1px solid #ece4cf;border-top:4px solid #c9a227;border-radius:16px;padding:28px 26px;}
.liftable{box-shadow:0 1px 2px rgba(20,40,75,.06),0 4px 10px rgba(20,40,75,.06),0 12px 28px rgba(20,40,75,.07);transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}
.liftable:hover,.liftable:focus-within,.liftable:focus,.liftable:active,.liftable.lift{transform:translateY(-6px) scale(1.02);box-shadow:0 2px 4px rgba(20,40,75,.08),0 10px 20px rgba(20,40,75,.10),0 24px 48px rgba(20,40,75,.14);outline:none}
.liftable:focus-visible{outline:3px solid #14284b;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.liftable{transition:none!important}.liftable:hover,.liftable:focus-within,.liftable:focus,.liftable:active,.liftable.lift{transform:none}}
/* mobile hardening */
html{-webkit-text-size-adjust:100%}img,svg,video{max-width:100%;height:auto}
p,li,h1,h2,h3,a,blockquote,figcaption,td,th,summary{overflow-wrap:anywhere;word-break:normal}
.hero .wrap>*,.two>*,.tgrid>*,.steps>*,.stats>*,header .wrap>*{min-width:0}
table{display:block;max-width:100%;overflow-x:auto}
h1,h2{text-wrap:balance}
@media(max-width:600px){
.wrap{padding:0 16px}section{padding-top:40px;padding-bottom:40px}
.hero{padding:28px 0}.hero h1{font-size:clamp(1.75rem,7.5vw,2.2rem)}.hero p{font-size:1.05rem}
h2{font-size:clamp(1.45rem,6vw,1.8rem)}
header .wrap{justify-content:center;row-gap:6px}nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}nav a{margin-left:0;padding:6px 0}
.ctas .btn,.price .btn{display:block;text-align:center;width:100%}
.price.mini{flex-direction:column;align-items:stretch}
.testimonials{padding:44px 0}.tcard{padding:40px 20px 22px}.testimonials .stats strong{font-size:1.45rem}
.how .steps li{padding:22px 20px}.legal{padding:28px 16px 56px}.legal h1{font-size:clamp(1.7rem,7vw,2.2rem)}
.totop{right:14px;bottom:14px;width:44px;height:44px}
}

.totop{background:transparent;padding:0;width:48px;height:48px;box-shadow:none;filter:drop-shadow(0 4px 8px rgba(20,40,75,.35))}.totop svg{display:block;width:100%;height:100%;transition:transform .25s ease}.totop:hover{background:transparent}.totop:hover svg,.totop:focus-visible svg{transform:translateY(-3px) rotate(15deg)}
@media(max-width:600px){.totop{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.totop,.totop svg{transition:none}.totop:hover svg,.totop:focus-visible svg{transform:none}}
.btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background-color .18s ease;box-shadow:0 2px 6px rgba(20,40,75,.12);will-change:transform}
.btn:hover,.btn:focus-visible{filter:brightness(1.08);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px rgba(20,40,75,.22),0 3px 6px rgba(20,40,75,.12)}
.btn:active{transform:translateY(0) scale(.98);box-shadow:0 1px 3px rgba(20,40,75,.18);filter:brightness(.97)}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover,.btn:focus-visible,.btn:active{transform:none}}

.price.liftable{box-shadow:0 2px 4px rgba(20,40,75,.10),0 8px 18px rgba(20,40,75,.14),0 18px 40px rgba(20,40,75,.16)}.price.liftable:hover,.price.liftable:focus-within,.price.liftable:active,.price.liftable.lift{box-shadow:0 4px 8px rgba(20,40,75,.14),0 14px 28px rgba(20,40,75,.20),0 30px 60px rgba(20,40,75,.24)}
@media(prefers-reduced-motion:reduce){.price.liftable:hover,.price.liftable:focus-within,.price.liftable:active,.price.liftable.lift{transform:none}}
/* contact form */
.cform{background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:28px;margin-top:28px;max-width:760px}
.cform.liftable:focus-within{transform:translateY(-3px)}
.cform h2{margin:0 0 18px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.field{margin-bottom:6px;min-width:0}
.field label{display:block;font-weight:700;color:#14284b;margin-bottom:6px}
.opt{font-weight:400;color:#5b6577}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;font:inherit;padding:11px 12px;border:1px solid #c7cfdb;border-radius:6px;background:#fff;color:#1d2433}
.field textarea{resize:vertical;min-height:130px}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(201,162,39,.45);border-color:#14284b}
.field [aria-invalid=true]{border-color:#b42318}
.ferr{color:#b42318;font-size:.9rem;min-height:1.2em;margin:4px 0 8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform .btn{cursor:pointer;font:inherit;font-weight:700}
.cform .btn:disabled{opacity:.7;cursor:wait}
.fstatus{margin-top:16px;border-radius:6px}
.fstatus.ok,.fstatus.bad{padding:12px 14px}
.fstatus.ok{background:#e8f5ec;color:#1e6b3a;border:1px solid #b7e0c4}
.fstatus.bad{background:#fdecea;color:#8a1c12;border:1px solid #f3c1bb}
@media(max-width:640px){.frow{grid-template-columns:1fr}.cform{padding:20px}.cform .btn{width:100%}}
/* hero photo + mini card lift as one unit */
.hero-unit.liftable,.hero-unit.liftable:hover,.hero-unit.liftable:focus-within,.hero-unit.liftable:active,.hero-unit.liftable.lift{box-shadow:none;border-radius:12px}
.hero-unit .photo-img{box-shadow:0 1px 2px rgba(20,40,75,.06),0 4px 10px rgba(20,40,75,.06),0 12px 28px rgba(20,40,75,.07);transition:box-shadow .2s ease}
.hero-unit .mini{box-shadow:0 2px 4px rgba(20,40,75,.10),0 8px 18px rgba(20,40,75,.14),0 18px 40px rgba(20,40,75,.16);transition:box-shadow .2s ease}
.hero-unit:hover .photo-img,.hero-unit:focus-within .photo-img,.hero-unit.lift .photo-img{box-shadow:0 2px 4px rgba(20,40,75,.08),0 10px 20px rgba(20,40,75,.10),0 24px 48px rgba(20,40,75,.14)}
.hero-unit:hover .mini,.hero-unit:focus-within .mini,.hero-unit.lift .mini{box-shadow:0 4px 8px rgba(20,40,75,.14),0 14px 28px rgba(20,40,75,.20),0 30px 60px rgba(20,40,75,.24)}
.hero-unit .mini:focus-visible{outline:3px solid #c9a227;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.hero-unit .photo-img,.hero-unit .mini{transition:none}}
