:root{
  --cream:#FBF8F1; --ivory:#F5EFE3; --paper:#FFFDF9; --ink:#24211D; --ink2:#3A352E; --muted:#635C52; --line:#E6D8BC; --line2:#EFE5D2;
  --gold:#B8892E; --gold-d:#8F6A22; --gold-l:#E2C77E; --gold-grad:linear-gradient(135deg,#97701F 0%,#C99A3B 28%,#E9D08A 50%,#C1923A 72%,#9C7424 100%);
  --navy:#22314F; --radius:14px; --shadow:0 10px 30px rgba(60,44,20,.10),0 2px 6px rgba(60,44,20,.06);
  --serif:"Playfair Display","Bodoni Moda",Georgia,serif; --sans:"Assistant","Segoe UI",Arial,sans-serif; --script:"Great Vibes",cursive;
}
*{box-sizing:border-box} [hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.6 var(--sans);overflow-x:hidden}
img,canvas{max-width:100%}
a{color:var(--gold-d)} a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;color:var(--ink);margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(36px,6vw,64px)} h2{font-size:clamp(30px,4.2vw,46px)} h3{font-size:22px}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.marble{background-color:var(--cream);background-image:radial-gradient(1200px 500px at 85% -10%,rgba(226,199,126,.18),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(200,190,170,.18),transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.006 .02' numOctaves='4' seed='8'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .52 0 0 0 0 .48 0 0 0 -2.2 1.25'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url(%23n)' opacity='.20'/%3E%3C/svg%3E")}
.rule{display:flex;align-items:center;gap:14px;justify-content:center;color:var(--gold);margin:6px auto 22px;max-width:260px}
.rule:before,.rule:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 60%)}
.rule:after{background:linear-gradient(270deg,transparent,var(--gold) 60%)}
.rule i{width:9px;height:9px;transform:rotate(45deg);background:var(--gold-grad);display:block;flex:none}
.eyebrow{font:600 14px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 17px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{box-shadow:var(--shadow);color:var(--ink)} .btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold-grad);border-color:transparent;color:#fff;text-shadow:0 1px 1px rgba(80,55,10,.35);box-shadow:0 6px 18px rgba(184,137,46,.28)}
.btn-gold:hover{color:#fff;filter:brightness(1.04)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)} .btn-dark:hover{color:#fff}
.btn-sm{min-height:40px;padding:8px 16px;font-size:16px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.link{background:none;border:0;padding:0;color:var(--gold-d);font:inherit;text-decoration:underline;cursor:pointer}
/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(251,248,241,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line2)}
.site-header .wrap{display:flex;align-items:center;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img.mark{height:44px;width:auto} .brand img.word{height:34px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{color:var(--ink2);text-decoration:none;font-weight:600;font-size:16px;padding:10px 12px;border-radius:999px}
.nav a:hover{background:var(--ivory);color:var(--ink)}
.nav .btn{margin-left:6px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:999px;width:46px;height:46px;cursor:pointer;color:var(--ink)}
@media (max-width:880px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);flex-direction:column;align-items:stretch;padding:10px 16px 18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.open{display:flex} .nav a{font-size:18px;padding:12px} .nav .btn{margin:8px 0 0}
  .brand img.word{height:28px} .brand img.mark{height:38px}
}
/* sections */
section{padding:72px 0}
.center{text-align:center}
.lead{font-size:20px;color:var(--muted);max-width:640px}
.center .lead{margin-left:auto;margin-right:auto}
.hero{padding:56px 0 64px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-note{margin-top:18px;font-size:16px;color:var(--muted)}
.fan{position:relative;height:520px}
.fan canvas{position:absolute;width:300px;border-radius:6px;box-shadow:0 22px 50px rgba(60,44,20,.22),0 2px 8px rgba(60,44,20,.1);background:#fff}
.fan canvas:nth-child(1){left:2%;top:60px;transform:rotate(-8deg)}
.fan canvas:nth-child(2){left:50%;margin-left:-150px;top:0;z-index:2}
.fan canvas:nth-child(3){right:2%;top:60px;transform:rotate(8deg)}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr}.fan{height:360px;max-width:420px;margin:0 auto;width:100%}.fan canvas{width:205px}.fan canvas:nth-child(2){margin-left:-102px}.fan canvas:nth-child(1),.fan canvas:nth-child(3){top:44px}}
@media (max-width:400px){.fan{height:300px}.fan canvas{width:170px}.fan canvas:nth-child(2){margin-left:-85px}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;counter-reset:s}
.step{background:var(--paper);border:1px solid var(--line2);border-radius:var(--radius);padding:26px 22px;position:relative}
.step:before{counter-increment:s;content:counter(s);font:500 34px/1 var(--serif);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:10px}
.step h3{margin-bottom:6px} .step p{color:var(--muted);margin:0;font-size:17px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}} @media (max-width:560px){.steps{grid-template-columns:1fr}}
.alt{background:var(--paper);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.card{background:var(--paper);border:1px solid var(--line2);border-radius:var(--radius);padding:12px;text-decoration:none;color:var(--ink);display:block;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);color:var(--ink)}
.card canvas{display:block;width:100%;height:auto;border-radius:4px;background:#f3eee4;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.card .t{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:10px;padding:0 4px}
.card .t b{font:500 20px/1.2 var(--serif)} .card .t span{font-size:15px;color:var(--muted);text-align:right}
.card .s{font-size:15px;color:var(--muted);padding:0 4px}
@media (max-width:560px){.grid{grid-template-columns:1fr 1fr;gap:12px}.card{padding:8px}.card .t{flex-direction:column;gap:0}.card .t b{font-size:18px}.card .t span{text-align:left}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 16px;font:600 16px var(--sans);color:var(--ink2);cursor:pointer;min-height:42px}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:30px}
.feature h3{font-size:21px} .feature p{color:var(--muted);font-size:17px}
.feature .ic{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--gold-d);margin-bottom:12px;font:600 20px var(--serif)}
@media (max-width:800px){.features{grid-template-columns:1fr}}
.price-card{max-width:520px;margin:30px auto 0;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:34px 26px;text-align:center;box-shadow:var(--shadow)}
.price{font:500 56px/1 var(--serif);margin:8px 0 6px} .price small{font-size:20px;color:var(--muted)}
.price-card ul{list-style:none;padding:0;margin:20px 0 26px;text-align:left;display:inline-block}
.price-card li{padding:6px 0 6px 28px;position:relative;font-size:17px}
.price-card li:before{content:"";position:absolute;left:4px;top:15px;width:8px;height:8px;transform:rotate(45deg);background:var(--gold-grad)}
.faq{max-width:820px;margin:26px auto 0}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;font:500 21px/1.35 var(--serif);padding:14px 36px 14px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:10px;font:400 28px var(--sans);color:var(--gold)}
.faq details[open] summary:after{content:"–"}
.faq p{color:var(--muted);font-size:17px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-weight:600;font-size:16px;margin-bottom:14px;color:var(--ink2)}
input,textarea,select{display:block;width:100%;margin-top:6px;font:400 17px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,46,.16)}
.contact-box{max-width:640px;margin:26px auto 0;background:var(--paper);border:1px solid var(--line2);border-radius:20px;padding:28px}
@media (max-width:560px){form .row{grid-template-columns:1fr;gap:0}}
.msg{font-size:16px;min-height:1.4em;margin-top:8px} .msg.ok{color:#2c6b3f} .msg.bad{color:#9b2c2c}
.site-footer{background:#1E1B17;color:#D9D0C0;padding:46px 0 30px;font-size:16px}
.site-footer a{color:#E9D9AE;text-decoration:none} .site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.site-footer .fbrand img{height:110px;width:auto} .site-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.site-footer .credit{border-top:1px solid #3a342c;margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#B9AF9E;font-size:15px}
.page{padding:48px 0 70px} .page .wrap{max-width:820px}
.prose h2{font-size:28px;margin-top:1.4em} .prose p,.prose li{color:var(--ink2);font-size:17px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-size:16px;z-index:200;box-shadow:var(--shadow);max-width:90vw;text-align:center}
.announce{background:var(--ink);color:#F3E7C8;text-align:center;font-size:15px;padding:8px 14px}
.modal-bg{position:fixed;inset:0;background:rgba(30,25,18,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{background:var(--paper);border-radius:18px;max-width:440px;width:100%;padding:28px 24px;box-shadow:0 30px 80px rgba(0,0,0,.3);max-height:92vh;overflow:auto}
.modal h2{font-size:28px}
.tabs{display:flex;gap:6px;background:var(--ivory);padding:4px;border-radius:999px;margin-bottom:18px}
.tabs button{flex:1;border:0;background:none;padding:10px;border-radius:999px;font:600 16px var(--sans);cursor:pointer;color:var(--ink2);min-height:42px}
.tabs button[aria-selected=true]{background:var(--paper);box-shadow:0 1px 4px rgba(0,0,0,.08);color:var(--ink)}
.muted{color:var(--muted)} .small{font-size:15px}
.badge{display:inline-block;font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:var(--ivory);color:var(--gold-d)}
.badge.paid{background:#E5F1E7;color:#2c6b3f}
/* guest pages */
.guestpage{background:var(--cream)} .gp{max-width:620px;margin:0 auto;padding:22px 14px 40px}
.gp-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px 20px;box-shadow:var(--shadow);text-align:center}
.gp-logo{height:40px;width:auto;margin:0 auto 14px;display:block}
.gp-img{width:100%;border-radius:6px;border:1px solid var(--line2);margin-bottom:16px}
.gp h1{font-size:32px} .gp-sub{color:var(--muted)} .gp-done{background:#EEF6EF;color:#2c6b3f;border-radius:10px;padding:10px}
.gp-form{text-align:left;margin-top:16px} .gp-form fieldset{border:0;padding:0;margin:0 0 14px} .gp-form legend{font-weight:600;margin-bottom:8px}
.pill{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 8px;font-weight:400;cursor:pointer;background:#fff}
.pill input{width:20px;height:20px;min-height:0;margin:0;flex:none;accent-color:var(--gold)}
.gp-msg{text-align:center;margin-top:10px} .gp-foot{text-align:center;padding:10px 0 30px;font-size:15px} .gp-foot a{color:var(--muted)}

/* ===== Luxury layer ===== */
:root{--charcoal:#1C1A18;--charcoal2:#262320;--ivory:#F7F2E8;--foil:linear-gradient(110deg,#8E6A1E 0%,#C9A04A 18%,#F3DF9C 32%,#C79A3E 46%,#9A7425 60%,#D9B868 76%,#F5E3A6 88%,#A47B2A 100%);--serif:"Bodoni Moda","Playfair Display",Georgia,serif;--shadow-paper:0 1px 1px rgba(0,0,0,.04),0 8px 14px -6px rgba(40,30,15,.18),0 30px 60px -18px rgba(40,30,15,.35)}
body{background:var(--ivory)}
.marble,body.marble{background:#f6f4f0 url("/assets/img/marble.jpg?v=6") center/cover fixed}
@media (max-width:900px){.marble,body.marble{background:#f6f4f0 url("/assets/img/marble-tile.jpg?v=6") center top/100% auto repeat-y}}
section.m1{background:linear-gradient(rgba(250,248,244,.35),rgba(250,248,244,.35)),url("/assets/img/marble.jpg?v=6") center/cover}
section.m2{background:linear-gradient(rgba(250,248,244,.25),rgba(250,248,244,.25)),url("/assets/img/marble2.jpg?v=6") center/cover}
.alt{background:rgba(255,253,249,.88);border-color:rgba(184,137,46,.18)}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.005em}
h1{font-size:clamp(40px,6.4vw,74px);line-height:1.06}
.foil,.hero h1 em,.step:before{background:var(--foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 7s ease-in-out infinite}
@keyframes foil{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.eyebrow{background:var(--foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 9s ease-in-out infinite;font-weight:700}
.btn{position:relative;overflow:hidden}
.btn-gold{background:var(--foil);background-size:220% 100%;background-position:30% 50%;box-shadow:0 10px 26px -8px rgba(150,110,30,.55),inset 0 1px 0 rgba(255,255,255,.45);transition:background-position .6s,transform .15s,box-shadow .2s}
.btn-gold:hover{background-position:80% 50%;box-shadow:0 14px 30px -8px rgba(150,110,30,.6),inset 0 1px 0 rgba(255,255,255,.5)}
.btn-gold:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sheen 5.5s ease-in-out infinite}
@keyframes sheen{0%,70%{left:-60%}100%{left:130%}}
.btn-dark{background:var(--charcoal);border-color:var(--charcoal)}
.site-header{background:rgba(250,247,241,.86);border-bottom:1px solid rgba(184,137,46,.22)}
/* hero */
.hero{position:relative;padding:70px 0 84px}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 75% 40%,rgba(255,255,255,.75),transparent 70%);pointer-events:none}
.hero .wrap{position:relative}
.hero .lead{color:#4f483f}
.fan{height:560px}
.fan .env{position:absolute;left:50%;bottom:-6px;width:min(440px,92%);transform:translateX(-50%);opacity:.95;filter:drop-shadow(0 18px 30px rgba(60,40,10,.28));z-index:0}
.fan canvas{border-radius:2px;box-shadow:var(--shadow-paper);background:#fff;z-index:1;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.fan canvas:nth-child(2){z-index:3}
.fan:hover canvas:nth-child(1){transform:rotate(-11deg) translateX(-10px)}
.fan:hover canvas:nth-child(3){transform:rotate(11deg) translateX(10px)}
@media (max-width:900px){.fan{height:420px}.fan .env{width:330px}}
@media (max-width:560px){.fan{height:340px}.fan .env{width:270px}}
/* charcoal section */
section.dark{background:radial-gradient(900px 500px at 50% -20%,#34302a,transparent 70%),var(--charcoal);color:#E9E2D5;border:0}
section.dark h2,section.dark h3{color:#F6F0E4}
section.dark .step{background:linear-gradient(180deg,#2a2723,#22201d);border:1px solid rgba(226,199,126,.22);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
section.dark .step p{color:#CFC6B6}
section.dark .rule:before{background:linear-gradient(90deg,transparent,#C9A04A 60%)} section.dark .rule:after{background:linear-gradient(270deg,transparent,#C9A04A 60%)}
.callout{display:inline-block;margin-top:34px;padding:14px 26px;border:1px solid rgba(226,199,126,.45);border-radius:999px;font:italic 400 22px/1.3 var(--serif);color:#F3E3B5}
/* stationery cards on marble */
.card{background:transparent;border:0;padding:0}
.card canvas{background:#fff;border-radius:2px;box-shadow:var(--shadow-paper);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.card:hover{transform:none;box-shadow:none}
.card:hover canvas{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 2px 2px rgba(0,0,0,.04),0 14px 20px -8px rgba(40,30,15,.2),0 44px 70px -20px rgba(40,30,15,.4)}
.card .t{margin-top:16px} .card .t b{font-family:var(--serif);font-weight:500}
.grid{gap:34px 26px} @media (max-width:560px){.grid{gap:22px 12px}}
.feature{background:rgba(255,255,255,.7);border:1px solid rgba(184,137,46,.16);border-radius:18px;padding:26px 24px;box-shadow:0 18px 40px -26px rgba(40,30,15,.35)}
.feature .ic{background:var(--charcoal);color:#E9CF8C}
.price-card{background:linear-gradient(180deg,#fffdf9,#fbf6ec);border:1px solid rgba(184,137,46,.35);box-shadow:0 2px 0 rgba(255,255,255,.6) inset,0 40px 80px -30px rgba(40,30,15,.45);position:relative}
.price-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(184,137,46,.28);border-radius:14px;pointer-events:none}
.price-card .price{font:400 72px/1 var(--serif);background:var(--foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 7s ease-in-out infinite;margin:8px 0}
.faq details{background:rgba(255,255,255,.82)}
.contact-box{background:rgba(255,255,255,.88);box-shadow:0 30px 60px -30px rgba(40,30,15,.4)}
/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.foil,.eyebrow,.btn-gold:after,.hero h1 em,.price-card .price{animation:none}}

.trk{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;background:#fff;border:1px solid rgba(184,137,46,.28);border-radius:12px;padding:8px}
.trk div{text-align:center;padding:4px 2px}.trk b{display:block;font:500 24px/1.1 var(--serif);color:var(--ink)}.trk span{display:block;font-size:15px;line-height:1.2;color:var(--muted)}
.trk div:first-child b{color:#2f6b3a}.trk div:nth-child(2) b{color:#9b2c2c}
.trk.big{padding:16px 10px;max-width:640px}.trk.big b{font-size:38px}
@media (max-width:560px){.trk{grid-template-columns:repeat(2,1fr)}.trk.big b{font-size:32px}}
.rlist{margin-top:16px;border-top:1px solid var(--line2)}.rrow{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line2);align-items:flex-start}.rrow .wish{margin:8px 0 0}

/* carousel */
.cz-wrap{padding:26px 0 18px;position:relative}
.cz-wrap:before,.cz-wrap:after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}
.cz-wrap:before{left:0;background:linear-gradient(90deg,rgba(246,244,240,.95),transparent)}.cz-wrap:after{right:0;background:linear-gradient(270deg,rgba(246,244,240,.95),transparent)}
.cz-track{display:flex;gap:28px;overflow-x:auto;padding:14px 30px 34px;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-end}
.cz-track::-webkit-scrollbar{display:none}
.cz-item{flex:none;display:block;height:300px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cz-item canvas{height:100%;width:auto;display:block;background:#fff;border-radius:2px;box-shadow:var(--shadow-paper)}
.cz-item:hover{transform:translateY(-6px)}
@media (max-width:560px){.cz-item{height:230px}.cz-track{gap:18px;padding:10px 20px 26px}.cz-wrap{padding:16px 0 8px}}
/* gallery sections */
.jump{position:sticky;top:var(--hdr,72px);z-index:30;background:rgba(250,247,241,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(184,137,46,.22);margin:0 -20px;padding:10px 20px}
.jump .chips{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0}
.jump .chips::-webkit-scrollbar{display:none}
.jump .chip{flex:none}
.gsec{scroll-margin-top:150px;padding-top:34px}
.gsec h2{display:flex;align-items:center;gap:16px;font-size:clamp(28px,4vw,40px)}
.gsec h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(184,137,46,.6),transparent)}
.sublbl{font:600 14px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:20px 0 12px}

/* wordmark + TRADITIONAL tagline */
.wm{display:inline-flex;flex-direction:column;align-items:stretch;line-height:1}
.wm img.word{height:22px!important;width:auto;display:block}
.wm .tag{display:flex;align-items:center;gap:7px;margin-top:4px;color:#B08A3E}
.wm .tag b{font:700 9.5px/1 var(--sans);letter-spacing:.34em;padding-left:.34em;text-transform:uppercase;background:var(--foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.wm .tag i{flex:1;height:1px;background:linear-gradient(90deg,transparent,#B8892E)}
.wm .tag i:last-child{background:linear-gradient(270deg,transparent,#B8892E)}
@media (max-width:900px){.wm img.word{height:19px!important}.wm .tag b{font-size:8.5px}}

.jump .chip,.chips a.chip{text-decoration:none}

/* ribbon */
.ribbon{background:var(--charcoal);color:#E9E1D2;position:relative;border-top:1px solid rgba(201,160,74,.55);border-bottom:1px solid rgba(201,160,74,.55);box-shadow:inset 0 3px 0 -2px rgba(201,160,74,.18),inset 0 -3px 0 -2px rgba(201,160,74,.18)}
.ribbon .wrap{display:flex;align-items:center;justify-content:center;min-height:40px;position:relative}
.ribbon-link{display:inline-flex;align-items:center;gap:14px;color:#EDE4D3;text-decoration:none;font:600 12px/1.2 var(--sans);letter-spacing:.28em;text-transform:uppercase;padding:11px 34px 11px 0}
.ribbon-link i{font-style:normal;color:#C9A04A;letter-spacing:0}
.ribbon-link:hover{color:#fff}
.ribbon-link .arr{display:inline-block;margin-left:6px;letter-spacing:0;background:var(--foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 5s ease-in-out infinite;transition:transform .3s}
.ribbon-link:hover .arr{transform:translateX(4px)}
.ribbon-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:0;color:#9d9483;font-size:22px;line-height:1;width:36px;height:36px;cursor:pointer;border-radius:50%}
.ribbon-x:hover{color:#fff}
@media (max-width:560px){.ribbon-link{font-size:11px;letter-spacing:.2em;gap:9px;padding-right:30px}.ribbon-x{right:4px}}
/* minimal hero */
.hero-min{padding:46px 0 8px}.hero-min:before{display:none}
.hero-min h1{font-size:clamp(34px,5.6vw,64px);margin-bottom:22px}
.hero-min h1 em{font-style:italic}
@media (max-width:560px){.hero-min{padding:30px 0 0}}
/* info sheet */
html.noscroll,html.noscroll body{overflow:hidden}
.isheet-bg{position:fixed;inset:0;z-index:100;background:rgba(20,18,15,0);display:flex;align-items:center;justify-content:center;transition:background .3s}
.isheet-bg.open{background:rgba(20,18,15,.55)}
.isheet{width:min(900px,94vw);max-height:88vh;display:flex;flex-direction:column;background:#f6f4f0 url("/assets/img/marble.jpg?v=6") center/cover;border:1px solid rgba(201,160,74,.45);border-radius:18px;box-shadow:0 40px 100px -20px rgba(0,0,0,.55);transform:translateY(24px) scale(.98);opacity:0;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .3s;overflow:hidden}
.isheet-bg.open .isheet{transform:none;opacity:1}
.isheet-top{position:relative;display:flex;align-items:center;justify-content:center;padding:16px 56px 12px;border-bottom:1px solid rgba(201,160,74,.35);background:rgba(250,248,244,.86)}
.isheet-title{font:600 12px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-d)}
.isheet-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(184,137,46,.35);background:#fff;font-size:24px;line-height:1;color:var(--ink);cursor:pointer}
.grab{display:none}
.isheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.isheet-body section{padding:40px 0}
.isheet-body .reveal{opacity:1;transform:none}
@media (max-width:700px){
 .isheet-bg{align-items:flex-end}
 .isheet{width:100%;max-height:92vh;border-radius:20px 20px 0 0;border-bottom:0;transform:translateY(100%);opacity:1;padding-bottom:env(safe-area-inset-bottom)}
 .isheet-bg.open .isheet{transform:none}
 .grab{display:block;position:absolute;top:7px;left:50%;width:44px;height:4px;margin-left:-22px;border-radius:4px;background:rgba(0,0,0,.18)}
 .isheet-top{padding-top:20px}
 .isheet-body section{padding:30px 0}
}

.hero-min .wrap{display:block}
.hero-min .cta{margin-top:0}

.gprev{background:#fff;border:1px solid rgba(184,137,46,.3);border-radius:12px;padding:12px 14px;margin:12px 0}
.gplist{max-height:260px;overflow:auto;border-top:1px solid var(--line2);margin:8px 0 12px;padding-top:6px}.gplist div{padding:4px 0;border-bottom:1px dashed var(--line2)}
.gtext{display:block;margin-top:2px}.gtext a{color:var(--gold-d)}
.btn.wa{background:#1f8f4e;color:#fff;border-color:#1f8f4e}.btn.wa:hover{color:#fff}
.guestpage .gp-card.wide{max-width:900px}

.pwrap{position:relative;display:block}.pwrap input{padding-right:70px}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--gold-d);font:600 15px var(--sans);padding:8px;cursor:pointer}
.chk{display:flex!important;align-items:center;gap:10px;font-weight:600}.chk input{width:22px!important;height:22px;min-height:0!important;margin:0}
.pwstr{margin:-6px 0 12px;min-height:1.2em}.pwstr[data-s="Strong"],.pwstr[data-s="Very strong"]{color:#2f6b3a}.pwstr[data-s="Too short"],.pwstr[data-s="Weak"]{color:#9b2c2c}
.okline{color:#2f6b3a;font-weight:600}

/* verify-your-email step */
.vstep{max-width:460px;margin:0 auto}
.vstep .vmark{width:58px;height:58px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;color:var(--gold-d);background:var(--ivory);border:1px solid var(--line)}
.vstep .vtitle{font-size:clamp(30px,6vw,42px);margin:0}
.vstep-compact .vtitle{font-size:28px}
.vstep .vsent{font-size:17px;color:var(--ink2);margin:0 0 18px;overflow-wrap:anywhere}
.vstep .vsent b{color:var(--ink);font-weight:600}
.vstep .vlabel{display:block;text-align:center;font:600 15px var(--sans);color:var(--muted);margin-bottom:8px}
.otp{position:relative;max-width:340px;margin:0 auto}
.otp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;z-index:2;caret-color:transparent;color:transparent;background:transparent;border:0;min-height:0;padding:0;margin:0}
.otp-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.otp-boxes span{height:58px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);display:grid;place-items:center;font:500 28px/1 var(--serif);color:var(--ink);transition:border-color .15s,box-shadow .15s}
.otp-boxes span.fill{border-color:var(--gold-l)}
.otp-boxes span.cur{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,46,.16)}
.vstep .msg{min-height:1.5em;margin:10px 0 8px}
.vsoon{margin-top:14px;padding:14px 16px;background:#FFF7E6;border:1px solid #F0DDB2;border-radius:12px;color:#6b5320;font-size:16px}
.vsoon p{margin:0 0 12px}
.vlinks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin-top:16px;font-size:16px;color:var(--muted)}
.vlinks .link{font-size:16px;padding:6px 2px}
.vlinks .link:disabled{color:var(--muted);text-decoration:none;cursor:default}
.vchange{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
@media (max-width:380px){.otp-boxes{gap:6px}.otp-boxes span{height:52px;font-size:24px}}
.vchange .btn-line{display:flex;gap:10px;flex-wrap:wrap}.vchange .btn-line .btn{flex:1 1 auto}
.vstep .eyebrow{font-size:15px}

.site-footer .fmail{margin:22px 0 0;font-size:17px;color:#E4DACA}.site-footer .fmail a{color:#F0D58C;text-decoration:underline;text-underline-offset:3px;font-weight:600;overflow-wrap:anywhere}
.gp-foot a+a{margin-left:2px}
