:root{--bg:#0d0c0a;--tx:#f3efe6;--mu:#b9b2a3;--g:#c0924e;--gh:#dcae68;--gs:#8a6a38;--ln:#262219;--serif:"Playfair Display",Georgia,serif;--sans:Rubik,system-ui,sans-serif}
*{box-sizing:border-box;border-radius:0!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.65 var(--sans)}
a{color:inherit}img{max-width:100%;display:block}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--g);color:#000;padding:10px;z-index:99}
:focus-visible{outline:2px solid var(--gh);outline-offset:3px}
.eyebrow{font:500 .72rem var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--g)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0}h2{font-size:clamp(2rem,4.5vw,3.2rem)}
.num{font:italic 1.1rem var(--serif);color:var(--g)}em.g{color:var(--g);font-style:italic}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;font:500 .78rem var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid var(--g);transition:.25s}
.btn.solid{background:var(--g);color:#0d0c0a}.btn.solid:hover{background:var(--gh)}.btn.out{color:var(--g)}.btn.out:hover{background:var(--g);color:#0d0c0a}
.tlink{display:inline-flex;align-items:center;min-height:48px;color:var(--tx);text-decoration:none;border-bottom:1px solid var(--gs);font-size:.9rem}.tlink:hover{color:var(--gh)}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(13,12,10,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ln)}
.nav .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.mark{display:flex;align-items:center;gap:12px;text-decoration:none;font:600 .78rem var(--sans);letter-spacing:.24em;min-height:44px}.mark img{width:44px;height:44px}
.links{display:flex;gap:22px;margin-left:auto;list-style:none;padding:0}.links a{position:relative;text-decoration:none;font-size:.86rem;padding:12px 0;display:inline-block}
.links a:after{content:"";position:absolute;left:0;bottom:6px;height:1px;width:100%;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .3s}.links a:hover:after,.links a:focus-visible:after{transform:scaleX(1)}
.lang{font-size:.78rem;letter-spacing:.15em;text-decoration:none;color:var(--mu);min-height:44px;display:flex;align-items:center}
.burger{display:none;margin-left:auto;width:48px;height:48px;background:none;border:1px solid var(--ln);color:var(--g);cursor:pointer}
.burger span,.burger span:before,.burger span:after{display:block;width:20px;height:1px;background:var(--g);margin:auto;position:relative;content:""}.burger span:before{position:absolute;top:-6px}.burger span:after{position:absolute;top:6px}
.overlay{position:fixed;inset:0;background:var(--bg);z-index:60;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.overlay.open{display:flex}.overlay a{font:1.7rem var(--serif);text-decoration:none;min-height:48px;padding:6px 16px}.overlay .close{position:absolute;top:14px;right:18px;width:48px;height:48px;background:none;border:1px solid var(--ln);color:var(--g);font-size:1.6rem;cursor:pointer}
/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--ln);min-height:min(calc(100vh - 72px),860px);display:flex;align-items:center;background:radial-gradient(ellipse at 75% 40%,rgba(192,146,78,.10),transparent 60%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:60px;padding-bottom:110px}
.hero h1{font-size:clamp(3rem,8vw,6.2rem);margin:22px 0}.hero p.sub{color:var(--mu);font-size:1.12rem;max-width:34em;margin:0 0 34px}
.cta-row{display:flex;flex-wrap:wrap;gap:22px;align-items:center}
.hero-art{position:relative;display:flex;flex-direction:column;align-items:center}
.plumb{width:120px;height:120px;overflow:visible;margin-bottom:-1px}.plumb .str{stroke:var(--g);stroke-width:1.2;stroke-dasharray:200;stroke-dashoffset:200;animation:draw 1.6s ease-out forwards}
.hero-logo{width:min(440px,100%);height:auto;animation:fadein 1s .9s both;border:1px solid var(--ln);margin-top:-6px;box-shadow:0 0 0 1px rgba(192,146,78,.15)}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes swing{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes fadein{from{opacity:0}}
.scroll-hint{position:absolute;left:50%;bottom:22px;width:1px;height:56px;background:var(--ln);overflow:hidden}.scroll-hint:after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--g);animation:hint 2.2s infinite}
@keyframes hint{to{top:100%}}
/* ticker */
.ticker{border-bottom:1px solid var(--ln);overflow:hidden;padding:20px 0}.track{display:flex;width:max-content;animation:tick 48s linear infinite}
.track span{font:italic 1.25rem var(--serif);white-space:nowrap;display:flex;align-items:center}.track span:after{content:"";width:7px;height:7px;background:var(--g);transform:rotate(45deg);margin:0 34px}
@keyframes tick{to{transform:translateX(-50%)}}
/* sections */
section.s{padding:110px 0;border-bottom:1px solid var(--ln)}.head{display:flex;gap:18px;align-items:baseline;margin-bottom:54px;flex-wrap:wrap}.head .eyebrow{flex-basis:100%}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ln)}
.tier{position:relative;padding:34px 26px;border-right:1px solid var(--ln);display:flex;flex-direction:column}.tier:last-child{border-right:0}
.tier.flag{outline:1px solid var(--g);outline-offset:-1px;background:rgba(192,146,78,.04)}.badge{position:absolute;top:-1px;right:-1px;background:var(--g);color:#0d0c0a;font:600 .62rem var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:6px 10px}
.tier h3{font-size:1.6rem;margin:14px 0 10px}.price{font:500 2.6rem var(--serif);color:var(--g);line-height:1}.note{color:var(--mu);font-size:.84rem;min-height:3em;margin:10px 0 18px}
ul.dia{list-style:none;padding:0;margin:0 0 26px;flex:1}ul.dia li{position:relative;padding:9px 0 9px 22px;border-top:1px solid var(--ln);font-size:.92rem}ul.dia li:before{content:"";position:absolute;left:2px;top:17px;width:6px;height:6px;background:var(--g);transform:rotate(45deg)}
.tier .btn{width:100%}.credit{margin-top:26px;color:var(--mu);font-size:.92rem}.credit b{color:var(--gh);font-weight:500}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px}.checks{list-style:none;padding:0;margin:0;counter-reset:c}.checks li{display:flex;gap:22px;align-items:baseline;padding:16px 0;border-top:1px solid var(--ln);font-size:1.08rem}.checks li:last-child{border-bottom:1px solid var(--ln)}
.rows{border-top:1px solid var(--ln)}.rowf{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:30px 20px;border-bottom:1px solid var(--ln)}.rowf h3{font-size:1.5rem;margin-bottom:6px}.rowf p{margin:0;color:var(--mu)}
.rowf .price{text-align:right;font-size:2.2rem}.rowf .price small{display:block;font:.72rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mu);margin-top:6px}.rowf.flag{border:1px solid var(--g);margin-top:-1px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ln);margin-bottom:44px}.step{padding:34px 26px 34px 0;border-right:1px solid var(--ln)}.step+.step{padding-left:26px}.step:last-child{border-right:0}.step .num{font-size:2.6rem}.step h3{font-size:1.4rem;margin:12px 0}.step p{color:var(--mu);margin:0}
dl.facts{margin:0;border-top:1px solid var(--ln)}dl.facts div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--ln)}dl.facts dt{font:500 .72rem var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--g);padding-top:4px}dl.facts dd{margin:0}
.faq{border-top:1px solid var(--ln)}.faq h3{margin:0}.faq button{width:100%;min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;border-bottom:1px solid var(--ln);color:var(--tx);font:1.2rem var(--serif);text-align:left;cursor:pointer;padding:14px 0}
.faq button:after{content:"+";color:var(--g);font-size:1.6rem;transition:transform .3s}.faq button[aria-expanded=true]:after{transform:rotate(45deg)}.faq .ans{color:var(--mu);padding:16px 0 22px;border-bottom:1px solid var(--ln);margin:0}
.close-cta{text-align:center;padding:130px 0}.close-cta h2{font-size:clamp(2.2rem,5.5vw,4rem);max-width:15em;margin:0 auto 36px}
footer{padding:54px 0 40px;color:var(--mu);font-size:.88rem}footer .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}footer nav{display:flex;flex-wrap:wrap;gap:4px 18px}footer nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}footer nav a:hover{color:var(--g)}footer .copy{grid-column:1/-1;border-top:1px solid var(--ln);padding-top:20px;font-size:.78rem}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.js .reveal.in{opacity:1;transform:none}
@media(max-width:1020px){.links,.nav .btn.out,.nav .lang{display:none}.burger{display:block}.tiers{grid-template-columns:1fr 1fr}.tier:nth-child(2){border-right:0}.tier:nth-child(-n+2){border-bottom:1px solid var(--ln)}}
@media(max-width:720px){.hero{min-height:auto}.hero .wrap{grid-template-columns:1fr;padding-top:36px}.hero-art{order:-1}.plumb{width:60px;height:56px}.hero-logo{width:220px}
.tiers,.split,.steps,footer .wrap{grid-template-columns:1fr}.tier{border-right:0;border-bottom:1px solid var(--ln)}.step,.step+.step{padding:26px 0;border-right:0;border-bottom:1px solid var(--ln)}
.rowf{grid-template-columns:1fr;padding:24px 14px}.rowf .price{text-align:left}dl.facts div{grid-template-columns:1fr;gap:4px}section.s{padding:72px 0}.mark span{font-size:.66rem;letter-spacing:.16em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.plumb .str{stroke-dashoffset:0}.reveal{opacity:1;transform:none}.track{transform:none}}
.bob-wrap{position:relative;display:block;width:fit-content;max-width:100%;line-height:0;margin-top:120px}
.bob-wrap .plumb{position:absolute;bottom:100%;left:calc(49.8% - 60px);margin:0}
.bob-wrap .hero-logo{margin-top:0;display:block}
@media(max-width:720px){.bob-wrap{margin-top:56px}.bob-wrap .plumb{left:calc(49.8% - 30px)}}
.bob-wrap{width:min(440px,100%)}.bob-wrap picture{display:block}.bob-wrap .hero-logo{width:100%}
@media(max-width:720px){.bob-wrap{width:220px}}

.ab-intro{max-width:46em;color:var(--mu);font-size:1.08rem;margin:-20px 0 40px}
