/* UK Wedding Websites marketing site. One layout, ten looks (body.look-*). */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pg);color:var(--pg-ink);font:16px/1.6 var(--f-ui);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:2px solid var(--accS);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.defs{position:absolute;width:0;height:0;overflow:hidden}

/* ---------- header (mega) ---------- */
.m-strip{background:var(--strip);color:var(--strip-ink);font-size:12.5px;font-weight:600;text-align:center;padding:7px 12px}
.m-head{background:var(--head);color:var(--head-ink);position:relative;z-index:30}
.m-head .wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding-block:12px}
.m-logo{display:flex;align-items:center;gap:9px;line-height:1;white-space:nowrap;text-decoration:none}
.m-logo svg{width:30px;height:30px;fill:var(--logo-mark)}
.m-logo strong{font-family:var(--f-display);font-weight:var(--logo-w,700);font-size:20px;display:block}
.m-logo small{display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.72;margin-top:4px}
.m-search{display:flex;background:var(--search-bg);border:1.5px solid var(--search-bd);border-radius:999px;padding:4px 4px 4px 16px;align-items:center;gap:8px;min-width:0}
.m-search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--head-ink);outline:none}
.m-search input::placeholder{color:var(--head-ink);opacity:.6}
.m-search button{font:inherit;font-weight:700;font-size:13px;border:0;background:var(--cta);color:var(--cta-ink);border-radius:999px;padding:8px 16px;cursor:pointer}
.m-util{display:flex;gap:16px;align-items:center;font-size:14px;white-space:nowrap}
.m-util a{text-decoration:none}
.m-util a:hover{text-decoration:underline}
.m-cta{background:var(--cta);color:var(--cta-ink)!important;padding:10px 18px;border-radius:999px;font-weight:700;text-decoration:none!important}
.m-nav{background:var(--nav);color:var(--nav-ink);position:relative;z-index:25}
.m-nav .wrap{display:flex;gap:2px;align-items:center;overflow-x:auto;scrollbar-width:none}
.m-nav .wrap::-webkit-scrollbar{display:none}
.m-nav a,.m-nav button{font:inherit;font-size:14px;font-weight:600;color:inherit;background:none;border:0;padding:12px 11px;white-space:nowrap;text-decoration:none;cursor:pointer}
.m-nav a:hover,.m-nav button:hover{text-decoration:underline}
.m-nav .dd::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);margin-left:7px;opacity:.7}
.m-nav .hi{margin-left:auto;background:var(--nav-hi);color:var(--nav-hi-ink);border-radius:999px;padding:7px 16px}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--card);color:var(--card-ink);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -20px rgba(0,0,0,.35);z-index:40}
.mega .wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 24px;padding-block:20px 24px}
.mega a{display:block;padding:8px 10px;border-radius:10px;text-decoration:none}
.mega a:hover{background:var(--alt)}
.mega a b{display:block;font-size:15px}
.mega a span{display:block;font-size:13px;color:var(--muted)}

/* ---------- hero ---------- */
.m-hero{background:var(--hero);color:var(--hero-ink);position:relative;overflow:hidden}
.m-hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;padding-block:56px 50px;min-height:560px;position:relative}
.m-deco{position:absolute;inset:0;z-index:0;pointer-events:none}
.m-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:18px;justify-content:center}
.pill{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:var(--pill-bg);color:var(--pill-ink)}
.m-h1{font-family:var(--f-display);font-size:clamp(36px,4.6vw,64px);line-height:1.03;margin:0;text-wrap:balance;font-weight:var(--h1-w,700);letter-spacing:var(--h1-ls,-.01em);font-style:var(--h1-style,normal)}
.m-h1 em{font-family:var(--f-script);font-style:normal;font-weight:400;color:var(--acc);font-size:1.18em;line-height:.85;letter-spacing:0}
.m-sub{font-size:17px;line-height:1.55;margin:0;max-width:46ch}
.m-ctas{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:inherit}
.b1{background:var(--cta);color:var(--cta-ink);box-shadow:0 10px 22px -12px var(--cta-shadow,rgba(0,0,0,.5))}
.b2{border-color:currentColor;color:inherit;background:transparent}
.m-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.m-chips small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-right:4px}
.m-chips a{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--chip-bg);color:var(--chip-ink);text-decoration:none}
.m-chips a:hover{text-decoration:underline}
.m-trust{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;margin:0;padding:0;list-style:none;font-weight:600}
.m-trust li{display:flex;align-items:center;gap:6px}
.m-trust svg{width:12px;height:12px;fill:var(--acc)}
.urdu{font-family:"Noto Nastaliq Urdu",serif;font-size:28px;line-height:2;margin:-8px 0 -12px;color:var(--acc)}
.m-art{position:relative;z-index:1;min-height:460px}
.d{position:absolute;display:block;fill:currentColor;overflow:visible}
.phone{position:absolute;left:46%;top:50%;width:212px;aspect-ratio:9/18.5;transform:translate(-50%,-52%) rotate(-6deg);background:#141014;border-radius:32px;padding:7px;box-shadow:0 26px 50px -10px rgba(0,0,0,.45);z-index:3;text-decoration:none}
.phone::before{content:"";position:absolute;top:13px;left:50%;width:54px;height:6px;border-radius:6px;background:#000;transform:translateX(-50%);z-index:2}
.scr{height:100%;border-radius:25px;background:var(--s-bg);color:var(--s-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px 12px;overflow:hidden}
.scr .e{font-size:8px;letter-spacing:.22em;text-transform:uppercase;opacity:.8}
.scr .n{font-family:var(--f-script);font-size:31px;line-height:1.05;color:var(--s-acc)}
.scr .t{font-family:var(--f-display);font-size:11px;letter-spacing:.04em}
.scr .cd{display:flex;gap:9px;margin-top:6px;font-variant-numeric:tabular-nums}
.scr .cd span{display:grid;font-size:14px;font-weight:700;line-height:1.1}
.scr .cd i{font-style:normal;font-size:6.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.scr .r{margin-top:10px;font-size:8.5px;font-weight:700;letter-spacing:.18em;background:var(--s-acc);color:var(--s-on);padding:7px 16px;border-radius:999px}
.scr .pev{display:flex;gap:4px;margin-top:4px}
.scr .pev em{font-style:normal;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:2px 6px;opacity:.85}
.price{position:absolute;right:0;bottom:4%;z-index:4;background:var(--pcard-bg,#fff);color:var(--pcard-ink,#241a24);border:var(--pcard-bd,0);border-radius:14px;padding:12px 14px 10px;width:222px;box-shadow:0 16px 34px -8px rgba(0,0,0,.35);font-size:13px;text-decoration:none;display:block}
.price h2{margin:0 0 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:6px;font-family:inherit}
.price h2::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pcard-dot,#2BB673)}
.price ul{list-style:none;margin:0;padding:0}
.price li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--pcard-line,rgba(0,0,0,.08));font-variant-numeric:tabular-nums}
.price li b{font-weight:800}
.price p{margin:5px 0 0;font-size:11px;opacity:.72}
.pearl{position:absolute;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0 10%,#F8EEF3 28%,#E7D3DE 62%,#C6A9BA 100%);box-shadow:0 3px 7px rgba(80,30,60,.28)}
.m-usp{background:var(--usp);color:var(--usp-ink)}
.m-usp .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-block:13px;font-size:14px;font-weight:600}
.m-usp span{display:flex;align-items:center;gap:8px}
.m-usp span::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--usp-dot)}
@media (prefers-reduced-motion:no-preference){
  .float{animation:float 6s ease-in-out infinite}
  .float.s2{animation-duration:8s;animation-delay:-2s}
  .float.s3{animation-duration:7s;animation-delay:-4s}
  @keyframes float{50%{translate:0 -10px}}
}

/* ---------- page sections ---------- */
.sec{padding-block:72px}
.sec.alt{background:var(--alt)}
.sec.band{background:var(--nav);color:var(--nav-ink)}
.sec-hd{display:grid;gap:8px;margin-bottom:30px;max-width:760px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accS);margin:0}
.band .eyebrow{color:var(--nav-hi)}
.sec h2,.page-h1{font-family:var(--f-display);font-weight:var(--h2-w,700);font-size:clamp(28px,3.4vw,44px);line-height:1.1;margin:0;text-wrap:balance;letter-spacing:var(--h1-ls,-.01em)}
.sec h2 em,.page-h1 em{font-family:var(--f-script);font-style:normal;font-weight:400;color:var(--accS);font-size:1.15em}
.band h2 em{color:var(--nav-hi)}
.lead{font-size:17.5px;color:var(--muted);margin:0;max-width:62ch}
.band .lead{color:inherit;opacity:.85}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.chip{font:inherit;font-size:13.5px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}
.rail{display:grid;align-items:start;grid-auto-flow:column;grid-auto-columns:minmax(230px,250px);gap:16px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.rail>*{scroll-snap-align:start}
.more{display:inline-flex;margin-top:18px;font-weight:700;color:var(--accS);text-decoration:none}
.more:hover{text-decoration:underline}

/* theme preview card (shared with /themes/) */
.tc{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.tc[hidden]{display:none!important}
.tc:hover{box-shadow:0 14px 30px -18px rgba(0,0,0,.45)}
.pv{background:var(--t-bg);color:var(--t-text);padding:16px;min-height:230px;display:grid}
.frame{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:20px 12px;position:relative;color:var(--t-text)}
.pv .eb{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.pv .nm{line-height:1.12;text-wrap:balance;max-width:100%;overflow-wrap:anywhere}
.pv .lg{font-size:18px;line-height:1.9}
.pv .dt{font-size:12.5px;letter-spacing:.03em;text-wrap:balance}
.pv .bt{margin-top:7px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--t-btn);color:var(--t-btn-ink);padding:6px 16px;border-radius:999px}
.fx-frame .frame{border:1px solid var(--t-acc2);box-shadow:inset 0 0 0 4px var(--t-bg),inset 0 0 0 5px var(--t-acc2)}
.fx-lace .frame{border:2px dotted var(--t-acc2);border-radius:16px;box-shadow:inset 0 0 0 5px var(--t-bg),inset 0 0 0 6px var(--t-acc2)}
.fx-arch .frame{background:var(--t-surface);border:1.5px solid var(--t-acc2);border-radius:50% 50% 10px 10px/30% 30% 10px 10px;padding-top:38px}
.fx-deco .frame{border:1px solid var(--t-acc);box-shadow:inset 0 0 0 5px var(--t-bg),inset 0 0 0 6px var(--t-acc);margin-top:14px}
.fx-deco .frame::before{content:"";position:absolute;top:-15px;left:calc(50% - 14px);width:28px;height:28px;border:1px solid var(--t-acc);background:var(--t-bg);transform:rotate(45deg)}
.fx-glow .frame{border:1px solid var(--t-acc);border-radius:8px;box-shadow:0 0 16px -3px var(--t-acc),inset 0 0 16px -8px var(--t-acc)}
.fx-glow .nm{text-shadow:0 0 8px var(--t-acc),0 0 22px var(--t-acc)}
.fx-tape .frame{background:var(--t-surface);transform:rotate(-1.4deg);box-shadow:0 8px 18px rgba(0,0,0,.18);margin:6px 4px}
.fx-tape .frame::before{content:"";position:absolute;top:-10px;left:calc(50% - 34px);width:68px;height:20px;background:var(--t-acc2);opacity:.6;transform:rotate(3deg)}
.pv.fx-dots{background:radial-gradient(var(--t-acc2) 1.3px,transparent 1.7px) 0 0/9px 9px,var(--t-bg)}
.fx-dots .frame{background:var(--t-surface);border:3px solid #111;box-shadow:6px 6px 0 #111}
.pv.fx-grain{background:radial-gradient(circle at 28% 18%,var(--t-surface),transparent 62%),var(--t-bg)}
.fx-grain .frame{border:1px solid var(--t-acc2)}
.fx-none .frame{align-items:flex-start;text-align:left;justify-content:flex-end;padding:18px 4px}
.fx-none .nm{font-weight:800;letter-spacing:-.02em}
.tc .mt{padding:12px 14px 14px;display:grid;gap:4px}
.tc .mt b{font-size:16px}
.tc .mt span{font-size:13px;color:var(--muted)}
.tc .tag{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--alt);color:var(--accS);padding:2px 8px;border-radius:999px}

/* packages */
.pk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.pk{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;gap:12px;position:relative}
.pk.pop{border:2px solid var(--cta);box-shadow:0 18px 40px -24px var(--cta)}
.pk .tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--alt);color:var(--accS);padding:3px 9px;border-radius:999px}
.pk.pop .tag{background:var(--cta);color:var(--cta-ink)}
.pk h3{margin:0;font-family:var(--f-display);font-size:24px;font-weight:var(--h2-w,700)}
.pk .amt{font-size:38px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.pk .amt small{font-size:14px;font-weight:600;color:var(--muted);margin-right:4px}
.pk p{margin:0;color:var(--muted);font-size:14.5px}
.pk ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:14px}
.pk li{display:flex;gap:8px;align-items:flex-start}
.pk li::before{content:"";flex:none;width:16px;height:16px;margin-top:3px;border-radius:50%;background:var(--accS) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.5 2.5L12 5.2' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.pk .btn{margin-top:auto}
.note{font-size:13.5px;color:var(--muted);margin:16px 0 0}

/* split + feature rows */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.ticks{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.ticks li{display:grid;grid-template-columns:28px 1fr;gap:10px}
.ticks li b{display:block}
.ticks li span{color:var(--muted);font-size:15px}
.band .ticks li span{color:inherit;opacity:.8}
.ticks svg{width:24px;height:24px;fill:var(--accS)}
.band .ticks svg{fill:var(--nav-hi)}
.qr-card{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:22px;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;box-shadow:0 30px 50px -36px rgba(0,0,0,.5)}
.qr-card .qr{width:170px;height:170px;background:#fff;padding:10px;border-radius:14px;border:1px solid var(--line)}
.qr-card .qr svg{width:100%;height:100%}
.qr-card h3{margin:0 0 6px;font-family:var(--f-display);font-size:22px}
.qr-card p{margin:0;color:var(--muted);font-size:14.5px}
.qr-card code{display:block;margin-top:10px;font-size:13px;word-break:break-all;color:var(--accS)}
.wa{background:#E7DDD3;border-radius:22px;padding:18px;display:grid;gap:10px;max-width:380px;margin-top:20px;font-family:system-ui,sans-serif}
.wa .wab{background:#fff;color:#111;border-radius:12px 12px 12px 2px;padding:8px;max-width:300px;box-shadow:0 1px 1px rgba(0,0,0,.1);font-size:14px}
.wa .wab.me{justify-self:end;background:#D9FDD3;border-radius:12px 12px 2px 12px}
.wa .og{border-radius:8px;overflow:hidden;background:#f3f3f3;margin-bottom:6px}
.wa .og img{aspect-ratio:1.9/1;object-fit:cover;width:100%}
.wa .og div{padding:6px 8px;font-size:12.5px}
.wa .og b{display:block;font-size:13px}
.wa time{display:block;text-align:right;font-size:11px;color:#667}
.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px}
.ev{border-radius:16px;padding:16px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);display:grid;gap:4px}
.ev b{font-family:var(--f-display);font-size:19px}
.ev span{font-size:13.5px;color:var(--muted)}
.ev em{font-style:normal;justify-self:start;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--alt);color:var(--accS)}
.photo{border-radius:22px;overflow:hidden;box-shadow:0 30px 50px -30px rgba(0,0,0,.55)}
.photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;gap:6px;counter-increment:s}
.steps li::before{content:counter(s);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--cta);color:var(--cta-ink)}
.steps b{font-size:17px}
.steps span{font-size:14.5px;color:var(--muted)}
.dash{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 30px 50px -34px rgba(0,0,0,.5)}
.dash h3{margin:0 0 12px;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.dash h3 span{font-size:12px;font-weight:600;color:#1E8E57;background:#E3F7EC;padding:2px 8px;border-radius:999px}
.dash-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.dash-tiles div{background:var(--alt);border-radius:12px;padding:10px;display:grid}
.dash-tiles b{font-size:24px;font-variant-numeric:tabular-nums;line-height:1.1}
.dash-tiles span{font-size:12px;color:var(--muted)}
.dash table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.dash th,.dash td{text-align:left;padding:7px 4px;border-top:1px solid var(--line)}
.dash th{font-size:12px;color:var(--muted);font-weight:600}
.dash td:not(:first-child),.dash th:not(:first-child){text-align:right}
.ex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ex{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.ex img{aspect-ratio:4/3;object-fit:cover;width:100%}
.ex div{padding:16px;display:grid;gap:4px}
.ex b{font-family:var(--f-display);font-size:20px}
.ex span{color:var(--muted);font-size:14.5px}
.ex em{font-style:normal;font-weight:700;color:var(--accS);font-size:14px;margin-top:4px}
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:14px;padding:4px 18px}
.faq summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;line-height:1;color:var(--accS)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 14px;color:var(--muted)}
.cta-band{background:var(--hero);color:var(--hero-ink);position:relative;overflow:hidden}
.cta-band .wrap{padding-block:64px;display:grid;gap:14px;justify-items:start;position:relative;z-index:1}
.cta-band h2{font-family:var(--f-display);font-size:clamp(30px,3.8vw,50px);line-height:1.08;margin:0;max-width:20ch;font-weight:var(--h1-w,700);font-style:var(--h1-style,normal)}
.cta-band h2 em{font-family:var(--f-script);font-style:normal;font-weight:400;color:var(--acc)}

/* ---------- footer (mega) ---------- */
.foot{background:var(--usp);color:var(--usp-ink)}
.foot .wrap{padding-block:52px 28px}
.foot-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.foot h3{margin:0 0 10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.foot ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:14.5px}
.foot a{text-decoration:none;opacity:.92}
.foot a:hover{text-decoration:underline;opacity:1}
.foot .brand p{margin:12px 0 0;font-size:14.5px;opacity:.85;max-width:36ch}
.foot .m-logo svg{fill:var(--usp-dot)}
.foot-legal{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;font-size:13px;opacity:.78;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

/* look picker */
.looks{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;background:#fff;color:#1c1a22;border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.28);padding:10px 12px;display:flex;gap:8px;align-items:center;font:13px/1.3 system-ui,sans-serif}
.looks label{font-weight:700}
.looks select{font:inherit;padding:6px 8px;border-radius:8px;border:1px solid #ccc}
.looks button{font:inherit;border:0;background:#1c1a22;color:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}

/* ---------- inner pages ---------- */
.page-hero{background:var(--hero);color:var(--hero-ink);position:relative;overflow:hidden}
.page-hero .wrap{padding-block:54px 92px;display:grid;gap:12px;position:relative;z-index:1}
.page-hero .lead{color:inherit;opacity:.9}
.crumbs{font-size:13px;opacity:.8}
.crumbs a{text-decoration:none}
.tg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.fam-hd{margin:44px 0 16px;display:grid;gap:4px}
[data-group]+[data-group]{margin-top:56px}
[data-group] .fam-hd{margin-top:0}
.fam-hd h2{font-family:var(--f-display);font-size:30px;margin:0}
.fam-hd p{margin:0;color:var(--muted)}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px}
.toolbar input{font:inherit;flex:1 1 260px;min-width:0;padding:11px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--card-ink)}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.cmp th:first-child,.cmp td:first-child{position:sticky;left:0;background:var(--card);z-index:1}
.cmp thead th:first-child{background:var(--alt)}
.swipe{display:none;font-size:13px;color:var(--muted);margin:0 0 8px}
.dp-ev{min-width:0!important}
.cmp{width:100%;border-collapse:collapse;min-width:720px;font-size:14.5px;color:var(--card-ink)}
.cmp th,.cmp td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:center}
.cmp th:first-child,.cmp td:first-child{text-align:left}
.cmp thead th{font-family:var(--f-display);font-size:17px;background:var(--alt)}
.cmp .y{color:var(--accS);font-weight:800}
.cmp .n{color:var(--muted)}
.addons{width:100%;border-collapse:collapse;font-size:15px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.addons td{padding:11px 16px;border-bottom:1px solid var(--line)}
.addons td:last-child{text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.form{display:grid;gap:22px;max-width:860px}
.fs{border:1px solid var(--line);background:var(--card);color:var(--card-ink);border-radius:18px;padding:20px 22px;margin:0;display:grid;gap:14px}
.fs legend{font-family:var(--f-display);font-size:20px;padding:0 6px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:grid;gap:6px}
.fld label,.fld .lbl{font-weight:700;font-size:14px}
.fld input,.fld select,.fld textarea{font:inherit;font-size:15px;padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);background:var(--pg);color:var(--pg-ink);width:100%}
.fld textarea{min-height:110px;resize:vertical}
.fld small{color:var(--muted);font-size:13px}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.opt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:var(--pg)}
.opt input,.fld .opt input{flex:none;width:18px;height:18px;margin:2px 0 0;padding:0;border:0;accent-color:var(--cta)}
.opts.ev-opts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ev-opts .opt{align-items:center;padding:11px 12px}
.ev-opts .opt input{margin:0}
.ev-opts .opt b{font-size:15px}
.opt b{display:block;font-size:14.5px}
.opt span{font-size:13px;color:var(--muted)}
.opt:has(input:checked){border-color:var(--cta);box-shadow:0 0 0 1px var(--cta)}
.hp{position:absolute;left:-9999px}
.form-msg{border-radius:14px;padding:14px 16px;font-weight:600}
.form-msg.ok{background:#E3F7EC;color:#135C37}
.form-msg.err{background:#FDE7EA;color:#8A1427}
.prose{max-width:760px}
.prose h2{font-family:var(--f-display);font-size:26px;margin:34px 0 8px}
.prose p,.prose li{color:var(--pg-ink)}


/* ---------- package examples ---------- */
.ex-pk{display:grid;gap:22px}
.xp{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:26px;align-items:start;background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:22px;padding:18px}
.xp.pop{border:2px solid var(--cta)}
.xp-shot{display:block;border-radius:16px;overflow:hidden;text-decoration:none}
.xp-shot .pv{min-height:300px}
.xp-body{display:grid;gap:10px;align-content:start}
.xp-body .tag{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--alt);color:var(--accS);padding:3px 9px;border-radius:999px}
.xp-body h2{margin:0;font-family:var(--f-display);font-size:30px;font-weight:var(--h2-w,700)}
.xp-body h2 span{font-family:var(--f-ui);font-size:17px;color:var(--accS);font-weight:800;margin-left:6px}
.xp-body p{margin:0;color:var(--muted)}
.xp-url{font-size:14px}
.xp-url a{color:var(--accS);font-weight:700;word-break:break-all}
.xp-body ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14.5px}
.xp-hh{font-size:14px}
.xp-hh a{color:var(--accS);font-weight:600}
.xp-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
/* ---------- dashboard demo ---------- */
.dashpage .page-h1 em{font-family:var(--f-script)}
.dp-head{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:flex-end;margin:10px 0 22px}
.dp-pk{margin:0}
.dp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.dp-card{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:18px;padding:18px 20px;margin-bottom:16px;display:grid;gap:10px}
.dp-grid .dp-card{margin-bottom:0}
.dp-card h2{margin:0;font-size:19px;font-family:var(--f-ui);font-weight:800}
.dp-card h3{margin:6px 0 0;font-size:16px}
.dp-card h3 small{color:var(--muted);font-weight:500;margin-left:6px}
.dp-small{margin:0;color:var(--muted);font-size:14px}
.dp-link{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dp-link code{flex:1 1 220px;min-width:0;background:var(--alt);padding:10px 12px;border-radius:10px;font-size:13px;word-break:break-all}
.dp-tiles{grid-template-columns:repeat(2,1fr)}
.dp-tiles div{background:var(--alt);border-radius:14px;padding:12px 14px;display:grid}
.dp-tiles b{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.dp-tiles span{font-size:13px;color:var(--muted)}
.dp-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.dp-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dp-tools input{font:inherit;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--pg);color:var(--pg-ink)}
.dp-tools .chips{margin:0}
.dp-tools .btn,.dp-card .btn{padding:9px 16px;font-size:14px}
.dp-guests{min-width:760px}
.st{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.st-coming{background:#E3F7EC;color:#135C37}
.st-not-replied{background:#FFF1D6;color:#7A4B00}
.st-declined{background:#EEE;color:#555}
.dp-msg{font:inherit;font-size:14.5px;width:100%;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--pg);color:var(--pg-ink);resize:vertical}
.dp-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dp-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}
.dp-list li span{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}
.dp-list .on{background:#E3F7EC;color:#135C37}.dp-list .off{background:#EEE;color:#555}.dp-list .soon{background:#EEE8FF;color:#4B2C8F}
.dp-cater-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dp-cater-grid .cmp{min-width:0}
.dp-allergy{margin:0;padding-left:18px;display:grid;gap:4px}
.dp-log{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dp-log li{display:grid;grid-template-columns:150px 1fr;gap:12px;border-left:3px solid var(--cta);padding-left:12px}
.dp-log time{font-weight:700;font-size:14px}
@media (max-width:900px){.xp{grid-template-columns:1fr}.dp-grid{grid-template-columns:1fr}.dp-cater-grid{grid-template-columns:1fr}.dp-log li{grid-template-columns:1fr;gap:2px}}
@media print{
  body.print-cater .m-strip,body.print-cater .m-head,body.print-cater .m-nav,body.print-cater .foot,body.print-cater .looks{display:none!important}
  body.print-cater .dashpage .dp-card:not(.dp-cater),body.print-cater .dashpage .dp-grid,body.print-cater .dashpage .dp-head,body.print-cater .dashpage .crumbs,body.print-cater .dashpage .m-ctas{display:none!important}
  body.print-cater .dp-cater button{display:none}
}

@media (max-width:1000px){
  .pk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-top{grid-template-columns:1fr 1fr}
  .foot .brand{grid-column:1/-1}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .m-head .wrap{grid-template-columns:1fr auto}
  .m-search{grid-column:1/-1;order:3}
  .m-util .tx{display:none}
  .m-hero .wrap{grid-template-columns:1fr;padding-block:34px 28px}
  .m-art{min-height:440px}
  .m-usp .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:1fr;gap:28px}
  .ev-grid,.ex-grid{grid-template-columns:1fr}
  .price{right:2px}
}
@media (max-width:600px){
  body{font-size:15.5px}
  .wrap{padding-inline:16px}
  .sec{padding-block:52px}
  .pk-grid,.steps{grid-template-columns:1fr}
  .m-usp .wrap{grid-template-columns:1fr}
  .phone{width:176px}
  .price{width:184px;font-size:12px}
  .qr-card{grid-template-columns:1fr;justify-items:start}
  .row{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .looks{right:16px;flex-wrap:wrap}
}

/* =================== LOOKS =================== */
.look-dreamland{--f-display:"Playfair Display",Georgia,serif;--f-script:"Pinyon Script",cursive;--f-ui:"DM Sans",system-ui,sans-serif;--h1-w:800;
  --strip:linear-gradient(90deg,#B79CFF,#FF9ACB,#FFC9A8);--strip-ink:#2B1B4A;--head:#FFFFFF;--head-ink:#2B1B4A;--logo-mark:#FF5FA8;
  --search-bg:#F7F2FF;--search-bd:#E4D7FF;--nav:#2B1B4A;--nav-ink:#F4EEFF;--nav-hi:#FF5FA8;--nav-hi-ink:#fff;--cta:#C72C78;--cta-ink:#fff;--cta-shadow:#FF4FA3;
  --hero:linear-gradient(160deg,#C9B5FF 0%,#F4B6E2 48%,#FFD8C6 100%);--hero-ink:#2B1B4A;--acc:#C2187A;--pill-bg:rgba(255,255,255,.65);--pill-ink:#6A2FA0;
  --chip-bg:rgba(255,255,255,.6);--chip-ink:#2B1B4A;--usp:#2B1B4A;--usp-ink:#F4EEFF;--usp-dot:#FF9ACB;
  --s-bg:linear-gradient(180deg,#EFE6FF,#FFE3F1);--s-ink:#3B2A5C;--s-acc:#C2187A;--s-on:#fff;
  --pg:#FFFBFE;--pg-ink:#2B1B4A;--muted:#66568A;--alt:#F6F0FF;--card:#FFFFFF;--card-ink:#2B1B4A;--line:#E9DEFA;--accS:#B3166F}
.look-champagne{--f-display:"Bodoni Moda",Georgia,serif;--f-script:"Great Vibes",cursive;--f-ui:"Jost",system-ui,sans-serif;--h1-w:800;--h2-w:800;
  --strip:#1A0A12;--strip-ink:#F6D78B;--head:#FFF5F9;--head-ink:#3A0A22;--logo-mark:#E8156F;
  --search-bg:#FFFFFF;--search-bd:#F7C3D9;--nav:#C80E5F;--nav-ink:#FFFFFF;--nav-hi:#1A0A12;--nav-hi-ink:#F6D78B;--cta:#1A0A12;--cta-ink:#F6D78B;
  --hero:radial-gradient(120% 130% at 88% 8%,#FF9CCB 0%,#FF3E8F 40%,#C40B59 100%);--hero-ink:#FFFFFF;--acc:#F9DA8E;--pill-bg:#1A0A12;--pill-ink:#F6D78B;
  --chip-bg:rgba(255,255,255,.16);--chip-ink:#fff;--usp:#1A0A12;--usp-ink:#F6D78B;--usp-dot:#FF3E8F;
  --s-bg:linear-gradient(180deg,#FFF1F6,#FFD3E5);--s-ink:#5A0B33;--s-acc:#C40B59;--s-on:#FFF1F6;
  --pg:#FFF7FA;--pg-ink:#3A0A22;--muted:#7A4760;--alt:#FFE9F2;--card:#FFFFFF;--card-ink:#3A0A22;--line:#F5CDDE;--accS:#B80A55}
.look-ribbon{--f-display:"Abril Fatface",Georgia,serif;--f-script:"Parisienne",cursive;--f-ui:"Nunito",system-ui,sans-serif;--h1-w:400;--h2-w:400;
  --strip:linear-gradient(90deg,#E8137F,#FF8AC4,#E8137F);--strip-ink:#fff;--head:#FFFFFF;--head-ink:#5A0838;--logo-mark:#FF2E93;
  --search-bg:#FFF0F7;--search-bd:#FFC1DD;--nav:#FFE3F0;--nav-ink:#5A0838;--nav-hi:#E0107A;--nav-hi-ink:#fff;--cta:#E0107A;--cta-ink:#fff;--cta-shadow:#FF2E93;
  --hero:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 24 24'%3E%3Cg fill='%23FF2E93' fill-opacity='.13' transform='translate(6 6) scale(.5)'%3E%3Cpath d='M12 12C9 7 3 5 2.5 8.5S7 14 12 12z'/%3E%3Cpath d='M12 12c3-5 9-7 9.5-3.5S17 14 12 12z'/%3E%3Cpath d='M11 12.5 7 21l2.6-.6L12 14l2.4 6.4L17 21l-4-8.5z'/%3E%3C/g%3E%3C/svg%3E") 0 0/46px 46px,linear-gradient(180deg,#FFF2F8,#FFDDEC);
  --hero-ink:#5A0838;--acc:#E0107A;--pill-bg:#E0107A;--pill-ink:#fff;--chip-bg:#FFFFFF;--chip-ink:#5A0838;--usp:#C80A6A;--usp-ink:#fff;--usp-dot:#FFE3F0;
  --s-bg:#FFF7FB;--s-ink:#5A0838;--s-acc:#E0107A;--s-on:#fff;
  --pg:#FFF8FB;--pg-ink:#5A0838;--muted:#87476B;--alt:#FFEAF4;--card:#FFFFFF;--card-ink:#5A0838;--line:#FFD0E5;--accS:#C80A6A}
.look-garden{--f-display:"Yeseva One",Georgia,serif;--f-script:"Caveat",cursive;--f-ui:"Nunito",system-ui,sans-serif;--h1-w:400;--h2-w:400;
  --strip:#2F6B3A;--strip-ink:#FFFFFF;--head:#FFFDF8;--head-ink:#3A1030;--logo-mark:#FF4F8B;
  --search-bg:#FFFFFF;--search-bd:#F5C2D4;--nav:#D9306B;--nav-ink:#FFFFFF;--nav-hi:#2F6B3A;--nav-hi-ink:#fff;--cta:#2F6B3A;--cta-ink:#fff;
  --hero:linear-gradient(180deg,#FFF6EE 0%,#FFE6EC 100%);--hero-ink:#3A1030;--acc:#D3134F;--pill-bg:#2F6B3A;--pill-ink:#fff;
  --chip-bg:#FFFFFF;--chip-ink:#3A1030;--usp:#2F6B3A;--usp-ink:#fff;--usp-dot:#FF8FB5;
  --s-bg:#FFFDF8;--s-ink:#3A1030;--s-acc:#D3134F;--s-on:#fff;
  --pg:#FFFDF8;--pg-ink:#3A1030;--muted:#6E4A60;--alt:#FFF0EA;--card:#FFFFFF;--card-ink:#3A1030;--line:#F3D6CC;--accS:#C0124A}
.look-garden .m-hero .wrap{padding-top:80px}
.look-garden .m-h1 em{font-weight:700;font-size:1.25em}
.look-velvet{--f-display:"Bodoni Moda",Georgia,serif;--f-script:"Pinyon Script",cursive;--f-ui:"Jost",system-ui,sans-serif;--h1-w:600;--h1-style:italic;--h2-w:600;
  --strip:#000000;--strip-ink:#E7C77B;--head:#14020B;--head-ink:#F7E3EA;--logo-mark:#E7C77B;
  --search-bg:#2A0715;--search-bd:#5A1430;--nav:#2A0715;--nav-ink:#F2D7E1;--nav-hi:#E7C77B;--nav-hi-ink:#2A0715;--cta:#E7C77B;--cta-ink:#2A0715;--cta-shadow:#E7C77B;
  --hero:radial-gradient(ellipse 90% 110% at 72% 32%,#A31C57 0%,#5E0A2E 46%,#1C0210 100%);--hero-ink:#FBEAF0;--acc:#E7C77B;--pill-bg:rgba(231,199,123,.14);--pill-ink:#E7C77B;
  --chip-bg:rgba(255,255,255,.08);--chip-ink:#F7E3EA;--usp:#000;--usp-ink:#E7C77B;--usp-dot:#C2185B;
  --pcard-bg:#1C0210;--pcard-ink:#F7E3EA;--pcard-bd:1px solid rgba(231,199,123,.45);--pcard-line:rgba(231,199,123,.18);--pcard-dot:#E7C77B;
  --s-bg:radial-gradient(circle at 50% 30%,#4A0623,#14020B);--s-ink:#F7E3EA;--s-acc:#E7C77B;--s-on:#2A0715;
  --pg:#16030C;--pg-ink:#FBEAF0;--muted:#D3B0C1;--alt:#22061A;--card:#24071B;--card-ink:#FBEAF0;--line:#4A1530;--accS:#E7C77B;color-scheme:dark}
.look-sugar{--f-display:"Shrikhand",Georgia,serif;--f-script:"Pacifico",cursive;--f-ui:"Nunito",system-ui,sans-serif;--h1-w:400;--h1-ls:0;--h2-w:400;
  --strip:linear-gradient(90deg,#FF7EC7,#FFD36E,#7EE8C8,#B59CFF);--strip-ink:#3A1450;--head:#FFFFFF;--head-ink:#3A1450;--logo-mark:#FF4FB3;
  --search-bg:#FFF4FB;--search-bd:#FFC2E6;--nav:#3A1450;--nav-ink:#FFFFFF;--nav-hi:#FF4FB3;--nav-hi-ink:#2A0F3A;--cta:#C2247F;--cta-ink:#fff;--cta-shadow:#FF4FB3;
  --hero:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg opacity='.8'%3E%3Crect x='8' y='10' width='12' height='4' rx='2' fill='%23FF4FB3' transform='rotate(30 14 12)'/%3E%3Crect x='42' y='6' width='12' height='4' rx='2' fill='%2338C9A0' transform='rotate(-40 48 8)'/%3E%3Crect x='24' y='34' width='12' height='4' rx='2' fill='%23FFC23D' transform='rotate(70 30 36)'/%3E%3Crect x='52' y='46' width='12' height='4' rx='2' fill='%239C7CFF' transform='rotate(15 58 48)'/%3E%3Crect x='6' y='54' width='12' height='4' rx='2' fill='%23ffffff' transform='rotate(-20 12 56)'/%3E%3C/g%3E%3C/svg%3E") 0 0/72px 72px,linear-gradient(135deg,#FF9AD5 0%,#FFC8EA 38%,#C2F5E5 72%,#FFF2A6 100%);
  --hero-ink:#3A1450;--acc:#7A1FA8;--pill-bg:#FFFFFF;--pill-ink:#C21E83;--chip-bg:rgba(255,255,255,.8);--chip-ink:#3A1450;--usp:#C2247F;--usp-ink:#fff;--usp-dot:#FFF2A6;
  --s-bg:linear-gradient(180deg,#FFE3F4,#E2FFF5);--s-ink:#3A1450;--s-acc:#D2348F;--s-on:#fff;
  --pg:#FFFBFE;--pg-ink:#3A1450;--muted:#6A4A82;--alt:#F0FFF8;--card:#FFFFFF;--card-ink:#3A1450;--line:#FFD3EE;--accS:#B81A78}
.look-sugar .m-h1 em{font-size:1.02em}
.lolly{position:absolute;border-radius:50%;background:conic-gradient(#FF4FB3 0 12.5%,#fff 0 25%,#7EE8C8 0 37.5%,#fff 0 50%,#FFD36E 0 62.5%,#fff 0 75%,#B59CFF 0 87.5%,#fff 0);box-shadow:inset -6px -8px 14px rgba(0,0,0,.12),0 8px 16px rgba(120,30,90,.25)}
.lolly::after{content:"";position:absolute;left:50%;top:96%;width:9px;height:120px;margin-left:-4.5px;border-radius:5px;background:#fff;box-shadow:inset -2px 0 0 rgba(0,0,0,.08)}
.look-boudoir{--f-display:"Italiana",Georgia,serif;--f-script:"Great Vibes",cursive;--f-ui:"Jost",system-ui,sans-serif;--h1-w:400;--h1-ls:.01em;--h2-w:400;
  --strip:#0E0B0C;--strip-ink:#F3D2CB;--head:#FBEDEA;--head-ink:#1A1214;--logo-mark:#9E2A4A;
  --search-bg:#FFFFFF;--search-bd:#E8C8C0;--nav:#1A1214;--nav-ink:#F3D2CB;--nav-hi:#C9A24A;--nav-hi-ink:#1A1214;--cta:#1A1214;--cta-ink:#F7DCD6;
  --hero:linear-gradient(118deg,#F8DCD6 0%,#F0C5BE 52%,#E5ABA6 100%);--hero-ink:#1A1214;--acc:#9E2A4A;--pill-bg:#1A1214;--pill-ink:#F3D2CB;
  --chip-bg:rgba(255,255,255,.55);--chip-ink:#1A1214;--usp:#1A1214;--usp-ink:#F3D2CB;--usp-dot:#C9A24A;
  --s-bg:linear-gradient(180deg,#F8E2DD,#EDC3BC);--s-ink:#1A1214;--s-acc:#1A1214;--s-on:#F8E2DD;
  --pg:#FFF8F6;--pg-ink:#1A1214;--muted:#6B5356;--alt:#FBEAE6;--card:#FFFFFF;--card-ink:#1A1214;--line:#EED3CD;--accS:#9E2A4A}
.look-boudoir .m-h1{font-size:clamp(38px,4.8vw,66px)}
.look-boudoir .sec h2,.look-boudoir .page-h1{letter-spacing:.01em}
.lace{position:absolute;left:0;right:0;bottom:0;height:64px;opacity:.9;
  background:radial-gradient(circle at 50% 0,transparent 11px,#1A1214 12px 13px,transparent 14px) 0 0/28px 18px repeat-x,
             radial-gradient(#1A1214 1.3px,transparent 1.8px) 7px 20px/14px 14px,
             radial-gradient(circle,transparent 3px,#1A1214 3.5px 4.3px,transparent 5px) 0 24px/28px 28px;
  -webkit-mask:linear-gradient(transparent,#000 30%);mask:linear-gradient(transparent,#000 30%)}
.satin{position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.35) 36%,transparent 50%),linear-gradient(100deg,transparent 58%,rgba(255,255,255,.22) 68%,transparent 80%)}
.look-sunset{--f-display:"DM Serif Display",Georgia,serif;--f-script:"Allura",cursive;--f-ui:"DM Sans",system-ui,sans-serif;--h1-w:400;--h2-w:400;
  --strip:#3B1A5E;--strip-ink:#FFD39A;--head:#FFFFFF;--head-ink:#3B1A5E;--logo-mark:#FF6F91;
  --search-bg:#FFF3EA;--search-bd:#FFC9A3;--nav:#C93D5E;--nav-ink:#FFFFFF;--nav-hi:#3B1A5E;--nav-hi-ink:#FFD39A;--cta:#3B1A5E;--cta-ink:#FFD39A;
  --hero:linear-gradient(100deg,#FFD9AE 0%,#FFB8A3 30%,#FF7DA1 55%,#D452B8 78%,#6E3FC4 100%);--hero-ink:#3B1A5E;--acc:#A3106F;--pill-bg:rgba(255,255,255,.6);--pill-ink:#3B1A5E;
  --chip-bg:rgba(255,255,255,.6);--chip-ink:#3B1A5E;--usp:#3B1A5E;--usp-ink:#FFE7C9;--usp-dot:#FF9A6B;
  --s-bg:linear-gradient(180deg,#FFD6A8,#FF8FB0 60%,#C95BC4);--s-ink:#3B1A5E;--s-acc:#3B1A5E;--s-on:#FFD6A8;
  --pg:#FFFAF5;--pg-ink:#3B1A5E;--muted:#6B5285;--alt:#FFF0E6;--card:#FFFFFF;--card-ink:#3B1A5E;--line:#FFD9C2;--accS:#A3106F}
.sun{position:absolute;border-radius:50%;background:linear-gradient(#FFF3A6,#FFB867 52%,#FF6F91);
  -webkit-mask:linear-gradient(#000 54%,transparent 54%),repeating-linear-gradient(180deg,#000 0 15px,transparent 15px 21px);
  mask:linear-gradient(#000 54%,transparent 54%),repeating-linear-gradient(180deg,#000 0 15px,transparent 15px 21px);box-shadow:0 0 80px rgba(255,214,140,.6)}
.look-holo{--f-display:"Unbounded",system-ui,sans-serif;--f-script:"Pinyon Script",cursive;--f-ui:"DM Sans",system-ui,sans-serif;--h1-w:800;--h1-ls:-.025em;--h2-w:800;
  --strip:linear-gradient(90deg,#FBD3FF,#C9F1FF,#FFF4C2,#FFD0E7);--strip-ink:#2A2340;--head:#FFFFFF;--head-ink:#2A2340;--logo-mark:#B26BFF;
  --search-bg:#F7F4FF;--search-bd:#E0D8FF;--nav:#2A2340;--nav-ink:#FFFFFF;--nav-hi:#FF7AC6;--nav-hi-ink:#2A2340;--cta:#2A2340;--cta-ink:#FFFFFF;
  --hero:conic-gradient(from 200deg at 72% 42%,#FFD6F5,#CDEBFF,#FFF5C8,#FFD3E6,#DCD3FF,#FFD6F5);--hero-ink:#2A2340;--acc:#B0127A;--pill-bg:#2A2340;--pill-ink:#fff;
  --chip-bg:rgba(255,255,255,.7);--chip-ink:#2A2340;--usp:#2A2340;--usp-ink:#fff;--usp-dot:#FF9BD2;
  --s-bg:linear-gradient(160deg,#FFE8F7,#E3F3FF 50%,#FFF7D6);--s-ink:#2A2340;--s-acc:#9D2E8C;--s-on:#fff;
  --pg:#FBFAFF;--pg-ink:#2A2340;--muted:#5F5880;--alt:#F3F0FF;--card:#FFFFFF;--card-ink:#2A2340;--line:#E4DEFA;--accS:#8E2A82}
.look-holo .m-h1{font-size:clamp(32px,4vw,56px)}
.look-holo .sec h2,.look-holo .page-h1{font-size:clamp(26px,3vw,38px)}
.look-holo .m-h1 em{background:linear-gradient(90deg,#E5338F,#8E5CFF,#1E9BD7);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.35em;padding-right:.08em}
.holo{position:absolute;inset:0;background:linear-gradient(120deg,transparent 22%,rgba(255,255,255,.6) 36%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(255,255,255,.55),transparent 40%)}
.look-henna{--f-display:"Rozha One",Georgia,serif;--f-script:"Great Vibes",cursive;--f-ui:"Mukta",system-ui,sans-serif;--h1-w:400;--h2-w:400;
  --strip:#5A0B2E;--strip-ink:#FFD166;--head:#FFF8EE;--head-ink:#5A0B2E;--logo-mark:#FF2E7E;
  --search-bg:#FFFFFF;--search-bd:#FFC27A;--nav:#5A0B2E;--nav-ink:#FFE7C2;--nav-hi:#FF2E7E;--nav-hi-ink:#fff;--cta:#5A0B2E;--cta-ink:#FFD166;
  --hero:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.2' stroke-width='.9'%3E%3Cpath d='M26 6c9 0 15 7.5 13.5 16.5C38 31 29.5 38 20.5 37.5c5-3 7-8 3.5-12-4.5-5-13-2-13 5C7 17 13 6 26 6z'/%3E%3Cpath d='M25 11c6 0 10 5 9 11'/%3E%3Ccircle cx='24' cy='22' r='3'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.2'%3E%3Ccircle cx='6' cy='6' r='1.4'/%3E%3Ccircle cx='42' cy='42' r='1.4'/%3E%3Ccircle cx='6' cy='42' r='1'/%3E%3C/g%3E%3C/svg%3E") 0 0/96px 96px,linear-gradient(135deg,#B3124F 0%,#E0294F 36%,#FF6A2B 66%,#FFB52E 100%);
  --hero-ink:#FFFFFF;--acc:#FFE58A;--pill-bg:#FFD166;--pill-ink:#5A0B2E;--chip-bg:rgba(90,11,46,.35);--chip-ink:#FFF4E0;--usp:#5A0B2E;--usp-ink:#FFE7C2;--usp-dot:#FF9F1C;
  --s-bg:linear-gradient(180deg,#FFF3DE,#FFD9B0);--s-ink:#5A0B2E;--s-acc:#C2185B;--s-on:#fff;
  --pg:#FFF8EE;--pg-ink:#5A0B2E;--muted:#82506A;--alt:#FFEFD9;--card:#FFFFFF;--card-ink:#5A0B2E;--line:#F5D5AE;--accS:#B3124F}
.look-henna .m-h1 em{font-size:1.1em}
.garland{position:absolute;top:-6px;display:flex;flex-direction:column;align-items:center}
.garland::before{content:"";position:absolute;top:0;bottom:10px;width:1.5px;background:rgba(255,240,200,.7)}
.garland svg{position:relative;width:24px;height:24px;margin-top:-5px;fill:#FFB703;--fc:#E85D04}
.garland svg:nth-child(even){fill:#FFE066;--fc:#FF7A00}
.awning{position:absolute;left:0;right:0;top:0;height:48px;background:repeating-linear-gradient(90deg,#FF4F8B 0 28px,#FFFFFF 28px 56px);
  -webkit-mask:linear-gradient(#000,#000) top/100% 34px no-repeat,radial-gradient(circle 14px at 14px 34px,#000 96%,transparent 100%) 0 0/28px 49px repeat-x;
  mask:linear-gradient(#000,#000) top/100% 34px no-repeat,radial-gradient(circle 14px at 14px 34px,#000 96%,transparent 100%) 0 0/28px 49px repeat-x;
  filter:drop-shadow(0 4px 4px rgba(160,40,90,.2))}
.cloud{position:absolute;width:var(--w,170px);height:calc(var(--w,170px)*.34);background:#fff;border-radius:999px;opacity:.9;filter:drop-shadow(0 8px 12px rgba(120,80,170,.18))}
.cloud::before,.cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
.cloud::before{width:46%;height:125%;left:14%;bottom:32%}
.cloud::after{width:34%;height:95%;left:52%;bottom:42%}
.bub{position:absolute;border-radius:50%;border:1.5px solid rgba(255,232,165,.8);background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.8) 0 12%,rgba(255,255,255,.1) 32%,transparent 70%)}
.sheen{position:absolute;inset:0;background:linear-gradient(112deg,transparent 28%,rgba(255,170,205,.14) 44%,transparent 58%),linear-gradient(112deg,transparent 56%,rgba(255,170,205,.08) 66%,transparent 76%)}

@media (max-width:600px){
  .swipe{display:block}
  .cmp th:first-child,.cmp td:first-child{min-width:150px;box-shadow:6px 0 8px -6px rgba(0,0,0,.18)}
  .m-art{min-height:420px}
  .m-art .phone{left:36%;width:170px}
  .m-art .price{right:0;bottom:3%;width:172px;font-size:11.5px;padding:10px 12px 8px}
  .m-nav .wrap{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
  .dp-guests{min-width:0!important}
  .dp-guests thead{display:none}
  .dp-guests tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .dp-guests td{border:0!important;padding:0!important;text-align:left!important;position:static!important;box-shadow:none!important;min-width:0!important;background:none!important}
  .dp-guests td:first-child{grid-column:1/-1;font-weight:800;font-size:16px}
  .dp-guests td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
}

/* ---------- review round 2 ---------- */
@media (min-width:1100px){.tg-grid{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}}
.start-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
.start-grid .form{max-width:none}
.pk-opts{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts.ev-opts{grid-template-columns:repeat(4,minmax(0,1fr))}
.sum{position:sticky;top:20px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:12px;box-shadow:0 24px 40px -32px rgba(0,0,0,.45)}
.sum .eyebrow{margin:0}
.sum-pk{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.sum-pk b{font-family:var(--f-display);font-size:26px;font-weight:var(--h2-w,700)}
.sum-pk span{font-weight:800;font-size:20px;color:var(--accS);font-variant-numeric:tabular-nums}
.sum-pitch,.sum-theme{margin:0;color:var(--muted);font-size:14.5px}
.sum-theme b{color:var(--card-ink)}
.sum h2{margin:8px 0 0;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.sum-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:14.5px}
.sum-note{margin:0;font-size:13px;color:var(--muted)}
@media (min-width:900px){.faq{max-width:none;grid-template-columns:1fr 1fr;align-items:start}}
@media (max-width:1000px){.start-grid{grid-template-columns:1fr}.sum{position:static;order:-1}.pk-opts{grid-template-columns:repeat(2,minmax(0,1fr))}.opts.ev-opts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.pk-opts{grid-template-columns:1fr}.opts.ev-opts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- inclusive imagery ---------- */
.collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:200px 200px;gap:10px}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 18px 30px -22px rgba(0,0,0,.55)}
.collage img:nth-child(2){grid-row:span 1}
.cult{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
.cult a{display:flex;align-items:center;min-height:56px;padding:10px 14px;border-radius:14px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);font-weight:700;font-size:14px;text-decoration:none;line-height:1.3}
.cult a:hover{border-color:var(--cta)}
@media (max-width:900px){.cult{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.collage{grid-template-rows:150px 150px}}

/* ---------- start form: add-ons, live total, checkout button ---------- */
.fs legend small{font-family:var(--f-ui);font-size:13px;color:var(--muted);font-weight:500}
.opts.ad-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
.fs-note{margin:0;font-size:13.5px;color:var(--muted)}
#ev-note{color:var(--muted);font-size:13px}
#ev-note.warn{color:#8A1427;font-weight:700}
.submit-row{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.pay-note{font-size:13.5px;color:var(--muted)}
.sum-lines{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.sum-lines li,.sum-total{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}
.sum-lines li{color:var(--muted)}
.sum-lines b{color:var(--card-ink);font-weight:700}
.sum-total{border-top:1px solid var(--line);padding-top:10px;font-weight:700;font-size:16px}
.sum-total b{font-size:20px;color:var(--accS)}
.sum-dep{margin:0;font-size:13.5px;background:var(--alt);border-radius:12px;padding:10px 12px}
@media (max-width:640px){.opts.ad-opts{grid-template-columns:1fr}}
.addons td small{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
@media (max-width:420px){
  .m-head .wrap{gap:10px}
  .m-logo strong{font-size:17px}
  .m-logo small{font-size:8.5px;letter-spacing:.12em}
  .m-cta{padding:9px 14px;font-size:13px}
}
.pay-card{margin-top:28px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.pay-card h3{margin:0 0 10px;font-family:var(--f-display);font-size:22px;font-weight:var(--h2-w,700)}
.pay-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:15px;color:var(--muted)}
.pay-card b{color:var(--card-ink)}
.pay-card a{color:var(--accS);font-weight:600}

/* ---------- admin bar on the static pages (logged-in admins only) ---------- */
.adm-bar{background:#1d2327;color:#f0f0f1;font:13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;position:relative;z-index:70}
.adm-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:7px}
.adm-bar b{background:#2271b1;color:#fff;padding:3px 8px;border-radius:6px;font-weight:700}
.adm-bar label{font-weight:600}
.adm-bar select{font:inherit;padding:5px 8px;border-radius:6px;border:0;background:#fff;color:#1d2327}
.adm-bar button{font:inherit;font-weight:700;border:0;border-radius:6px;padding:6px 12px;background:#72aee6;color:#1d2327;cursor:pointer}
.adm-bar button:disabled{opacity:.6}
.adm-bar #adm-msg{color:#c3c4c7}
.adm-bar nav{margin-left:auto;display:flex;gap:12px}
.adm-bar nav a{color:#f0f0f1;text-decoration:none}
.adm-bar nav a:hover{color:#72aee6;text-decoration:underline}
@media (max-width:640px){.adm-bar nav{margin-left:0}}

/* ---------- launch offer: one real deadline for everyone; prices rise after it ---------- */
.pk .amt .was{display:block;font-size:17px;font-weight:600;color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--accS);margin-bottom:4px}
.pk .was-note{font-size:12.5px!important;font-weight:700;color:var(--accS)!important;margin:-4px 0 0!important}
.offer{margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center;background:var(--card);color:var(--card-ink);border:1.5px solid var(--accS);border-radius:20px;padding:20px 24px;box-shadow:0 24px 40px -32px rgba(0,0,0,.45)}
.offer h3{margin:4px 0 6px;font-family:var(--f-display);font-size:24px;font-weight:var(--h2-w,700)}
.offer-txt p:last-child{margin:0;color:var(--muted);font-size:14.5px}
.sum-offer{margin:0;font-size:13.5px;font-weight:700;color:var(--accS)}
@media (max-width:760px){.offer{grid-template-columns:1fr}}

/* ---------- photo mosaics beside section headings (no empty right halves) ---------- */
.hd-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:28px;align-items:center;margin-bottom:30px}
.hd-row .sec-hd{margin-bottom:0}
.hd-pics{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px;align-items:end;height:220px}
.hd-pics img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 18px 30px -22px rgba(0,0,0,.55)}
.hd-pics img:nth-child(2){height:82%;align-self:start;border-radius:999px 999px 18px 18px}
.hd-pics img:nth-child(3){height:90%}
@media (max-width:900px){.hd-row{grid-template-columns:1fr}.hd-pics{height:160px}}

/* ---------- QR section: photo behind the QR card ---------- */
.qr-side{position:relative;display:grid;align-self:stretch;min-height:520px}
.qr-side .qr-photo{width:78%;height:440px;object-fit:cover;border-radius:28px 28px 120px 28px;justify-self:end;box-shadow:0 30px 50px -30px rgba(0,0,0,.6)}
.qr-side .qr-photo2{position:absolute;left:0;top:40px;width:34%;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 20px 20px;border:6px solid var(--pg);box-shadow:0 20px 34px -24px rgba(0,0,0,.6)}
.qr-side .qr-card{position:absolute;left:4%;right:6%;bottom:0}
@media (max-width:900px){.qr-side{min-height:0;gap:14px}.qr-side .qr-photo{width:100%;height:280px}.qr-side .qr-photo2{display:none}.qr-side .qr-card{position:static}}

/* ---------- dashboard example with a photo header ---------- */
.dash-photo{width:calc(100% + 36px);max-width:none;margin:-18px -18px 14px;height:150px;object-fit:cover;border-radius:20px 20px 0 0}

/* ---------- pink call to action: photos on the right ---------- */
.cta-split{grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:center}
.cta-band .cta-split{display:grid}
.cta-copy{display:grid;gap:14px;justify-items:start}
.cta-pics{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:300px}
.cta-pics img{width:100%;height:100%;object-fit:cover;border-radius:22px;border:4px solid rgba(255,255,255,.55);box-shadow:0 24px 40px -26px rgba(0,0,0,.6)}
.cta-pics img:first-child{grid-row:1/span 2;border-radius:200px 200px 22px 22px}
@media (max-width:900px){.cta-band .cta-split{grid-template-columns:1fr}.cta-pics{height:220px}}

/* ---------- page heroes with photos on the right ---------- */
.page-hero.has-pics .wrap{grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:center;gap:28px}
.ph-copy{display:grid;gap:12px}
.ph-pics{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:300px;position:relative;z-index:1}
.ph-pics img{width:100%;height:100%;object-fit:cover;border-radius:20px;border:4px solid rgba(255,255,255,.6);box-shadow:0 24px 40px -26px rgba(0,0,0,.55)}
.ph-pics img:first-child{grid-row:1/span 2;border-radius:200px 200px 20px 20px}
@media (max-width:900px){.page-hero.has-pics .wrap{grid-template-columns:1fr}.ph-pics{height:200px}}

/* ---------- culture pages ---------- */
.ev-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.ev-chips span{padding:7px 14px;border-radius:999px;background:var(--alt);color:var(--accS);font-weight:700;font-size:14px}
.cult-feature{position:relative;display:block;border-radius:28px;overflow:hidden;text-decoration:none;box-shadow:0 30px 50px -30px rgba(0,0,0,.6)}
.cult-feature img{width:100%;height:480px;object-fit:cover}
.cult-feature span{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.92);color:#1a1214;border-radius:16px;padding:12px 16px;display:grid;gap:2px;font-size:14px}
.cult-feature b{font-size:17px}
.cult-themes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.cult-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cult-card{position:relative;border-radius:18px;overflow:hidden;text-decoration:none;color:#fff;aspect-ratio:4/3}
.cult-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cult-card:hover img{transform:scale(1.04)}
.cult-card span{position:absolute;inset:auto 0 0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-weight:700;font-size:15px;line-height:1.3}
.cult-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cult-big{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.cult-big img{aspect-ratio:3/2;object-fit:cover;width:100%}
.cult-big div{padding:16px;display:grid;gap:4px}
.cult-big b{font-family:var(--f-display);font-size:20px}
.cult-big span{color:var(--muted);font-size:14px}
.cult-big em{font-style:normal;font-weight:700;color:var(--accS);font-size:14px;margin-top:4px}
@media (max-width:1100px){.cult-themes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.cult-grid{grid-template-columns:1fr 1fr}.cult-hub{grid-template-columns:1fr 1fr}.cult-feature img{height:320px}}
@media (max-width:560px){.cult-hub{grid-template-columns:1fr}.cult-themes{grid-template-columns:1fr 1fr}}

/* ---------- romantic mega footer: faded photo, lace trim, moments strip ---------- */
.foot{position:relative;overflow:hidden;isolation:isolate}
.foot-bg{position:absolute;inset:0;z-index:-2}
.foot-bg img{width:100%;height:100%;object-fit:cover;opacity:.16;filter:saturate(.7)}
.foot::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(circle at 12% 18%,rgba(255,255,255,.07) 0 2px,transparent 2.5px) 0 0/26px 26px,
  linear-gradient(180deg,color-mix(in srgb,var(--usp) 80%,transparent),var(--usp) 72%)}
.foot-lace{height:30px;background:
  radial-gradient(circle at 50% 0,rgba(255,255,255,.16) 0 12px,transparent 12.5px) 0 0/28px 30px repeat-x,
  radial-gradient(circle at 50% 4px,var(--usp-dot) 0 2.2px,transparent 2.7px) 14px 14px/28px 30px repeat-x,
  linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.12)) 0 0/100% 2px no-repeat;opacity:.9}
.foot .wrap{padding-block:28px 28px}
.foot-moments{display:flex;justify-content:center;gap:clamp(8px,1.6vw,18px);flex-wrap:wrap}
.foot-moments span{width:clamp(70px,8vw,112px);aspect-ratio:1;border-radius:50%;padding:4px;background:conic-gradient(from 0deg,rgba(255,255,255,.7),var(--usp-dot),rgba(255,255,255,.7),var(--usp-dot),rgba(255,255,255,.7));box-shadow:0 14px 26px -16px rgba(0,0,0,.8)}
.foot-moments span:nth-child(even){transform:translateY(12px)}
.foot-moments img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid var(--usp)}
.foot-script{text-align:center;font-family:var(--f-script);font-size:clamp(26px,3vw,38px);color:var(--usp-dot);margin:22px 0 30px}
.foot-top{grid-template-columns:1.4fr repeat(6,minmax(0,1fr));gap:24px}
.foot .brand .foot-contact{margin-top:10px}
.foot .brand .foot-contact a{font-weight:700;opacity:1}
.foot-cta{margin-top:14px}
.foot-orn{display:flex;align-items:center;gap:14px;margin:34px 0 0}
.foot-orn span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent)}
.foot-orn svg{width:18px;height:18px;fill:var(--usp-dot)}
.foot-legal{border-top:0;margin-top:14px}
@media (max-width:1100px){.foot-top{grid-template-columns:1fr 1fr 1fr}.foot .brand{grid-column:1/-1}}
@media (max-width:640px){.foot-top{grid-template-columns:1fr 1fr}.foot-moments span:nth-child(n+6){display:none}}
/* fixes after the photo pass */
.qr-side{display:flex;flex-direction:column;min-height:0}
.qr-side .qr-photo{flex:1;min-height:380px;height:auto;width:78%;align-self:flex-end}
.qr-side .qr-card{position:relative;left:auto;right:auto;bottom:auto;margin:-120px 6% 0 4%}
.cta-pics,.ph-pics{grid-template-rows:repeat(2,minmax(0,1fr))}
.cta-pics img,.ph-pics img{min-height:0}
.foot .foot-cta{background:var(--usp-dot);color:#1A1214;opacity:1;text-decoration:none}
@media (max-width:900px){.qr-side .qr-photo{width:100%;min-height:260px;flex:none;height:280px}.qr-side .qr-card{margin:-60px 4% 0}}

/* ---------- spin the wheel ---------- */
.wheel-tab{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:65;font:inherit;font-weight:800;font-size:14px;border:0;border-radius:999px;padding:11px 16px;background:var(--cta);color:var(--cta-ink);box-shadow:0 14px 30px -12px rgba(0,0,0,.55);cursor:pointer}
.wheel-tab span{margin-right:4px}
.wheel-dlg{position:fixed;inset:0;z-index:120;background:rgba(20,10,16,.62);display:grid;place-items:center;padding:16px}
body.wheel-open{overflow:hidden}
.wheel-box{position:relative;background:var(--card);color:var(--card-ink);border-radius:26px;padding:26px 24px 20px;width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;gap:12px;justify-items:center;text-align:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.wheel-box h2{margin:0;font-family:var(--f-display);font-size:32px;font-weight:var(--h2-w,700)}
.wheel-box h2 em{font-family:var(--f-script);font-style:normal;font-weight:400;color:var(--accS);font-size:1.2em}
.wheel-x{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 10px}
.wheel-stage{position:relative;width:min(300px,78vw);aspect-ratio:1}
.wheel-rot{width:100%;height:100%;border-radius:50%;box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.wheel-svg{width:100%;height:100%;display:block}
.wheel-svg text{fill:#fff;font:800 17px var(--f-ui,system-ui);paint-order:stroke;stroke:rgba(0,0,0,.25);stroke-width:2px}
.wheel-pin{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:28px solid var(--pg-ink);z-index:2;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35))}
.wheel-out{display:grid;gap:8px;justify-items:center;min-height:0}
.wheel-out b{font-size:20px}
.wheel-code{display:flex;gap:8px;align-items:center}
.wheel-code code{font-size:18px;font-weight:800;letter-spacing:.06em;background:var(--alt);padding:6px 12px;border-radius:10px;color:var(--accS)}
.wheel-copy{font:inherit;font-weight:700;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;cursor:pointer}
.wheel-out small,.wheel-odds{font-size:12.5px;color:var(--muted);margin:0;max-width:40ch}
@media (max-width:600px){.wheel-tab{padding:10px 14px;font-size:13px}}
.looks{left:auto;right:16px}

/* ---------- WhatsApp + "Ask us" helper ---------- */
.hp-dock{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:66;display:flex;gap:10px;align-items:center}
.hp-wa{width:52px;height:52px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.55)}
.hp-wa svg{width:30px;height:30px;fill:#fff}
.hp-open{font:inherit;font-weight:800;font-size:14.5px;border:0;border-radius:999px;padding:14px 20px;background:var(--cta);color:var(--cta-ink);box-shadow:0 14px 30px -12px rgba(0,0,0,.55);cursor:pointer;display:flex;align-items:center;gap:8px}
.hp-dot{width:9px;height:9px;border-radius:50%;background:#2BB673;box-shadow:0 0 0 3px rgba(43,182,115,.3)}
.hp-panel{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:110;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 120px));background:var(--card);color:var(--card-ink);border-radius:22px;box-shadow:0 30px 70px -20px rgba(0,0,0,.55);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}
.hp-hd{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;background:var(--cta);color:var(--cta-ink)}
.hp-hd b{display:block;font-size:16px}
.hp-hd small{font-size:12px;opacity:.85}
.hp-hd small a{color:inherit;font-weight:700}
.hp-x{border:0;background:transparent;color:inherit;font-size:26px;line-height:1;cursor:pointer;padding:2px 6px}
.hp-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--pg)}
.hp-msg{max-width:88%;padding:9px 12px;border-radius:16px;font-size:14.5px;line-height:1.45;overflow-wrap:anywhere}
.hp-msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}
.hp-msg.me{align-self:flex-end;background:var(--cta);color:var(--cta-ink);border-bottom-right-radius:4px}
.hp-msg a{color:var(--accS);font-weight:600}
.hp-msg.me a{color:inherit}
.hp-msg small{display:block;margin-top:6px;color:var(--muted);font-size:12.5px}
.hp-msg.typing{display:flex;gap:4px;padding:12px}
.hp-msg.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:hpdot 1s infinite}
.hp-msg.typing span:nth-child(2){animation-delay:.15s}.hp-msg.typing span:nth-child(3){animation-delay:.3s}
@keyframes hpdot{50%{opacity:.25;transform:translateY(-3px)}}
.hp-sum{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;font-variant-numeric:tabular-nums}
.hp-sum li{display:flex;justify-content:space-between;gap:10px}
.hp-sum li.tot{border-top:1px solid var(--line);padding-top:4px;font-size:15.5px}
.hp-consent{display:flex;gap:8px;align-items:flex-start;margin-top:8px;font-size:13px}
.hp-consent input{margin-top:3px;accent-color:var(--cta)}
.hp-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line);max-height:44%;overflow-y:auto;background:var(--card)}
.hp-chips:empty{display:none}
.hp-chip{font:inherit;font-size:13.5px;font-weight:600;border:1.5px solid var(--line);background:var(--card);color:var(--card-ink);border-radius:999px;padding:7px 12px;cursor:pointer;text-decoration:none}
.hp-chip.pri{background:var(--cta);color:var(--cta-ink);border-color:var(--cta)}
.hp-tick{display:flex;align-items:center;gap:6px;font-size:13.5px;border:1.5px solid var(--line);border-radius:12px;padding:6px 10px;cursor:pointer}
.hp-tick input{accent-color:var(--cta);width:16px;height:16px}
.hp-date{font:inherit;padding:7px 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--pg);color:var(--pg-ink)}
.hp-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--card)}
.hp-form input{flex:1;min-width:0;font:inherit;font-size:15px;padding:10px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--pg);color:var(--pg-ink)}
.hp-form button{border:0;width:42px;border-radius:50%;background:var(--cta);color:var(--cta-ink);font-size:16px;cursor:pointer}
body.hp-on .wheel-tab{display:none}
@media (max-width:600px){.hp-open{padding:12px 16px}.hp-panel{right:8px;left:8px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));height:calc(100vh - 100px)}}

/* ---------- old-style flip clock for the launch offer ----------
   Sizes come from the clock's own width (container units), so the same clock fills
   a narrow package card, the order summary or the big offer box without overflowing. */
.flipclock{container-type:inline-size;display:grid;gap:8px;background:linear-gradient(180deg,#fff7ea,#f6e3c4);border:2px solid #c9a35c;border-radius:20px;padding:14px 8px 12px;box-shadow:0 18px 30px -20px rgba(80,40,10,.55),inset 0 0 0 4px rgba(255,255,255,.55);color:#3a1d14;position:relative}
.flipclock::before,.flipclock::after{content:"";position:absolute;top:9px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3c4,#b8862e 70%);box-shadow:0 1px 2px rgba(0,0,0,.35)}
.flipclock::before{left:9px}.flipclock::after{right:9px}
.fc-l{margin:0 12px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 6px;text-align:center;font-size:clamp(10px,4.6cqi,14px);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#9b1b3a;line-height:1.3;text-wrap:balance}
.fc-l svg{width:1.35em;height:1.35em;flex:none}
.fc-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;column-gap:2px;width:100%;max-width:440px;justify-self:center}
.fc-sep{width:clamp(7px,3.4cqi,18px);text-align:center;font-style:normal;font-weight:800;font-size:clamp(14px,7cqi,32px);line-height:1;color:#9b1b3a}
.fc-card{position:relative;aspect-ratio:1/1.08;display:grid;place-items:center;border-radius:clamp(7px,3cqi,14px);
  background:linear-gradient(180deg,#3b3034 0,#2a2124 49.5%,#141012 50.5%,#221a1d 100%);
  box-shadow:0 10px 16px -8px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -2px 0 rgba(0,0,0,.4);perspective:300px}
.fc-card::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:rgba(0,0,0,.65);box-shadow:0 1px 0 rgba(255,255,255,.08);z-index:2}
.fc-card::after{content:"";position:absolute;top:50%;left:-3px;right:-3px;height:8px;margin-top:-4px;background:radial-gradient(circle at 3px 4px,#8a8a8a 0 2.4px,transparent 3px),radial-gradient(circle at calc(100% - 3px) 4px,#8a8a8a 0 2.4px,transparent 3px);z-index:3}
.fc-card b{font-family:var(--f-ui,system-ui),sans-serif;font-weight:800;font-size:clamp(20px,16cqi,62px);line-height:1;color:#f7ecd6;font-variant-numeric:tabular-nums;text-shadow:0 2px 0 rgba(0,0,0,.45);display:block;transform-origin:50% 50%}
.fc-card.flip b{animation:fcflip .45s ease-in-out}
@keyframes fcflip{0%{transform:rotateX(0)}45%{transform:rotateX(-88deg);opacity:.6}55%{transform:rotateX(88deg);opacity:.6}100%{transform:rotateX(0)}}
.fc-names{margin-top:-2px}
.fc-names small{text-align:center;font-size:clamp(8px,3.9cqi,12px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b4a2e}
.fc-lg{padding:16px 16px 14px}
.fc-sm::before,.fc-sm::after{top:auto;bottom:6px;width:8px;height:8px}
.fc-sm::before{left:6px}.fc-sm::after{right:6px}
@container (max-width:215px){.fc-l svg{display:none}.fc-l{letter-spacing:.03em}}
.pk .flipclock{margin:2px 0 4px}
@media (min-width:761px){.offer .flipclock{width:clamp(300px,38vw,460px)}}
@media (prefers-reduced-motion:reduce){.fc-card.flip b{animation:none}}

/* ---------- knowledge library, questions and tools ---------- */
.kb-hero{padding-block:34px 26px;background:linear-gradient(180deg,var(--alt),transparent);border-bottom:1px solid var(--line)}
.kb-hero .wrap{display:grid;gap:12px}
.kb-crumbs{font-size:13.5px;color:var(--muted);margin:0}
.kb-crumbs a{color:inherit}
.kb-h1{font-size:clamp(28px,3.6vw,46px);max-width:24ch}
.kb-hero .lead{max-width:70ch}
.kb-meta{margin:0;font-size:13.5px;color:var(--muted)}
.kb-meta a{color:var(--accS)}
.kb-hero-big .ph-copy{display:grid;gap:14px;align-content:center}
.kb-stats{display:flex;gap:10px;flex-wrap:wrap}
.kb-stats a{display:flex;gap:6px;align-items:baseline;padding:8px 14px;border-radius:999px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);text-decoration:none;font-size:14px}
.kb-stats b{font-size:18px;color:var(--accS)}
.kb-sec{padding-block:36px 64px}
.kb-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.kb-main{display:grid;gap:22px;min-width:0}
.kb-label{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accS)}
.kb-short{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-left:5px solid var(--accS);border-radius:14px;padding:18px 20px;box-shadow:0 18px 30px -26px rgba(0,0,0,.4)}
.kb-short p:last-child{margin:0;font-size:18px;line-height:1.55}
.kb-body{font-size:16.5px;line-height:1.72;max-width:70ch}
.kb-body p{margin:0 0 14px}
.kb-body ul{margin:0 0 14px;padding-left:20px;display:grid;gap:6px}
.kb-body a{color:var(--accS);font-weight:600}
.kb-tip{display:flex;gap:12px;align-items:flex-start;background:var(--alt);border-radius:14px;padding:14px 16px;max-width:70ch}
.kb-tip svg{width:22px;height:22px;fill:var(--accS);flex:none;margin-top:2px}
.kb-tip p{margin:0}
.kb-also ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.kb-also li{font-size:13px;padding:4px 10px;border-radius:999px;border:1px dashed var(--line);color:var(--muted)}
.kb-helpful{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14.5px;color:var(--muted)}
.kb-helpful .chip.on{background:var(--accS);color:#fff;border-color:var(--accS)}
.kb-offer{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--card);color:var(--card-ink)}
.kb-offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.kb-prod{display:grid;gap:4px;align-content:start;padding:14px;border-radius:14px;border:1px solid var(--line);color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}
.kb-prod:hover{transform:translateY(-2px);box-shadow:0 14px 24px -18px rgba(0,0,0,.5)}
.kb-prod-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kb-prod b{font-family:var(--f-display);font-size:18px}
.kb-prod-p{font-weight:800;color:var(--accS)}
.kb-prod-p small{font-weight:600;color:var(--muted)}
.kb-prod-d{font-size:14px;color:var(--muted)}
.kb-prod-c{font-size:14px;font-weight:700;color:var(--accS);margin-top:4px}
.kb-disc{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
.kb-comm h2,.kb-rel h2,.kb-article h2,.kb-subhead h2{font-family:var(--f-display);font-size:clamp(22px,2.2vw,28px);margin:0 0 10px;text-wrap:balance}
.kb-subhead h2 a{color:inherit;text-decoration:none}
.kb-comm-list{display:grid;gap:10px;margin-bottom:12px}
.kb-ans{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card);color:var(--card-ink)}
.kb-ans p{margin:0 0 6px}
.kb-ans span{font-size:13px;color:var(--muted)}
.kb-add summary{list-style:none;cursor:pointer;display:inline-flex}
.kb-add summary::-webkit-details-marker{display:none}
.kb-form{display:grid;gap:10px;margin-top:12px;max-width:640px}
.kb-form label{display:grid;gap:4px;font-size:14px;font-weight:600}
.kb-form textarea,.kb-form input[name=name]{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--card-ink)}
.kb-form .kb-ck{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:13.5px}
.kb-hp{position:absolute;left:-9999px}
.kb-form-msg{margin:0;font-size:14px;color:var(--accS)}
.kb-qlist{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.kb-qlist a{display:grid;gap:3px;padding:10px 12px;border-radius:10px;color:inherit;text-decoration:none;border:1px solid transparent}
.kb-qlist a:hover{background:var(--alt);border-color:var(--line)}
.kb-qlist b{font-weight:600}
.kb-qlist.with-snip a{border-color:var(--line);background:var(--card);color:var(--card-ink);margin-bottom:6px}
.kb-qlist span{font-size:14px;color:var(--muted)}
.kb-side{display:grid;gap:16px;position:sticky;top:16px}
.kb-box{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--card);color:var(--card-ink)}
.kb-small{font-size:14px;color:var(--muted);margin:0 0 6px}
.kb-links{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}
.kb-links a{color:inherit}
.kb-guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.kb-guide{display:grid;gap:6px;align-content:start;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);text-decoration:none}
.kb-guide b{font-family:var(--f-display);font-size:19px;line-height:1.2}
.kb-guide span{font-size:14px;color:var(--muted)}
.kb-guide .kb-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accS)}
.kb-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.kb-tools.compact{grid-template-columns:1fr;gap:6px}
.kb-tool{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);text-decoration:none}
.kb-tools.compact .kb-tool{padding:8px 10px;align-items:center}
.kb-tool-i{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--alt)}
.kb-tools.compact .kb-tool-i{width:30px;height:30px}
.kb-tool-i svg{width:20px;height:20px;fill:var(--accS)}
.kb-tool b{display:block;font-size:15px}
.kb-tool span span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.kb-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:22px}
.kb-cat{display:grid;gap:6px;align-content:start;padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);text-decoration:none}
.kb-cat b{font-family:var(--f-display);font-size:20px}
.kb-cat span{font-size:14px;color:var(--muted)}
.kb-cat em{font-style:normal;font-size:13px;font-weight:700;color:var(--accS)}
.kb-cat-i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--alt)}
.kb-cat-i svg{width:24px;height:24px;fill:var(--accS)}
.kb-chips{display:flex;flex-wrap:wrap;gap:6px}
.kb-chips .chip{text-decoration:none}
.kb-chips .chip.on{background:var(--accS);color:#fff;border-color:var(--accS)}
.kb-subsec{display:grid;gap:12px;padding-block:22px;border-top:1px solid var(--line)}
.kb-subsec:first-child{border-top:0;padding-top:0}
.kb-subhead p{margin:0;color:var(--muted)}
.kb-cols .kb-qlist{columns:2;column-gap:24px;display:block}
.kb-cols .kb-qlist li{break-inside:avoid}
.kb-qcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.kb-qcat{border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--card);color:var(--card-ink)}
.kb-qcat-h{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none;margin-bottom:8px}
.kb-qcat-h b{font-family:var(--f-display);font-size:19px;flex:1}
.kb-qcat-h em{font-style:normal;font-weight:800;color:var(--accS)}
.kb-qcat ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14.5px}
.kb-qcat li{display:flex;justify-content:space-between;gap:8px}
.kb-qcat li a{color:inherit}
.kb-qcat li span{color:var(--muted);font-size:13px}
.kb-search{position:relative;max-width:620px;width:100%}
.kb-search input{width:100%;font:inherit;font-size:16px;padding:13px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--card-ink)}
.kb-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);list-style:none;margin:0;padding:6px;border-radius:16px;border:1px solid var(--line);background:var(--card);box-shadow:0 24px 40px -20px rgba(0,0,0,.45);max-height:60vh;overflow:auto}
.kb-results a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:10px;color:var(--card-ink);text-decoration:none;font-size:14.5px}
.kb-results a:hover,.kb-results a:focus{background:var(--alt)}
.kb-results small{color:var(--accS);font-weight:700;flex:none}
.kb-toc{border:1px solid var(--line);border-radius:14px;padding:14px 18px;background:var(--card);color:var(--card-ink)}
.kb-toc ol{margin:0;padding-left:20px;display:grid;gap:4px;font-size:15px}
.kb-toc a{color:inherit}
.kb-article h2{margin-top:6px;scroll-margin-top:20px}
.kb-check ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.kb-check li{display:flex;gap:10px;align-items:flex-start}
.kb-check svg{width:20px;height:20px;fill:var(--accS);flex:none;margin-top:2px}
.kb-steps{margin:0;padding-left:22px;display:grid;gap:6px}
.kb-prose{max-width:760px;display:grid;gap:10px}
.kb-prose h2{font-family:var(--f-display);margin:14px 0 0}
.kb-prose p{margin:0;line-height:1.7}
.kb-who .kb-chips{margin-bottom:12px}
.kb-top{margin-bottom:6px}
@media (max-width:1000px){.kb-grid{grid-template-columns:1fr}.kb-side{position:static}.kb-cols .kb-qlist{columns:1}}

/* tools */
.kb-toolsec{padding-block:26px 30px}
.tool{display:grid;gap:14px}
.tool-loading{color:var(--muted)}
.tool-privacy{margin-top:10px}
.tl-card{background:var(--card);color:var(--card-ink);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:14px;box-shadow:0 22px 40px -34px rgba(0,0,0,.5);min-width:0}
.tl-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.tl-split-wide{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.tl-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}
.tl-f{display:grid;gap:5px;font-size:13.5px;font-weight:600;min-width:0}
.tl-f small{font-weight:400;color:var(--muted)}
.tl-f input,.tl-f select,.tl-f textarea,.tl-table input,.tl-table select,.tl-add input{font:inherit;font-size:15px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);width:100%;min-width:0}
.tl-f input[type=color]{padding:3px;height:42px}
.tl-f input[type=checkbox],.tl-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--accS)}
.tl-f textarea{resize:vertical}
.tl-out{display:grid;gap:10px}
.tl-res{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:var(--alt)}
.tl-res span{font-size:13px;color:var(--muted)}
.tl-res b{font-size:19px;font-variant-numeric:tabular-nums}
.tl-res small{font-size:13px;color:var(--muted)}
.tl-note{margin:0;font-size:13.5px;color:var(--muted)}
.tl-note a{color:var(--accS);font-weight:600}
.tl-warn{color:#B3261E;font-weight:600}
.tl-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tl-btn{padding:10px 18px;font-size:14px}
.tl-label{margin:0;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accS)}
.tl-head{display:grid;gap:6px}
.tl-count{margin:0;font-weight:700}
.tl-progress{height:8px;border-radius:999px;background:var(--alt);overflow:hidden}
.tl-progress span{display:block;height:100%;width:0;background:var(--accS);transition:width .3s}
.tl-lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.tl-group h3{margin:0 0 8px;font-family:var(--f-display);font-size:18px}
.tl-check{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tl-check li{display:flex;gap:6px;align-items:flex-start;justify-content:space-between}
.tl-check label{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:15px}
.tl-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accS);flex:none}
.tl-check li.done span{text-decoration:line-through;color:var(--muted)}
.tl-check li.gone{opacity:.35}
.tl-x{border:0;background:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}
.tl-x:hover{background:var(--alt)}
.tl-x-wide{font-size:12px;margin-top:6px;width:100%;text-align:right}
.tl-add{display:flex;gap:6px;margin-top:8px}
.tl-scroll{overflow-x:auto}
table.tl-table{width:100%;border-collapse:collapse;font-size:14.5px}
table.tl-table th,table.tl-table td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:middle}
table.tl-table th{font-size:12.5px;color:var(--muted);font-weight:700}
table.tl-table input[type=number]{width:84px}
.tl-gl td{min-width:90px}
.tl-gl td:first-child{min-width:180px}
.tl-count-big{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;text-align:center}
.tl-count-big div{background:var(--alt);border-radius:14px;padding:14px 6px}
.tl-count-big b{display:block;font-size:clamp(28px,5vw,48px);font-variant-numeric:tabular-nums;color:var(--accS);line-height:1.1}
.tl-count-big span{font-size:13px;color:var(--muted)}
.tl-version{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tl-version-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:var(--alt)}
.tl-version pre{margin:0;padding:14px;white-space:pre-wrap;font:inherit;font-size:15px;line-height:1.6}
.tl-ideas{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tl-ideas li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--alt)}
.tl-ideas code{font-size:15px;word-break:break-all}
.tl-ideas-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.tl-names{margin:0;padding-left:22px;columns:2}
.tl-qr-prev,.tl-mono{display:grid;place-items:center;background:var(--alt);border-radius:14px;padding:14px}
.tl-qr-prev canvas,.tl-mono svg{max-width:100%;height:auto;border-radius:8px;box-shadow:0 10px 24px -16px rgba(0,0,0,.5)}
.tl-pal{display:grid;grid-template-columns:200px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px}
.tl-pal-c{display:flex;height:64px;border-radius:10px;overflow:hidden}
.tl-pal-c span{flex:1}
.tl-pal b{display:block;font-family:var(--f-display);font-size:18px}
.tl-pal code{display:block;font-size:12.5px;color:var(--muted);margin:2px 0}
.tl-pal-t{display:block;font-size:13.5px;margin-bottom:6px}
.tl-pal-t a{color:var(--accS)}
.tl-quiz fieldset{border:0;padding:0;margin:0 0 12px;display:grid;gap:6px}
.tl-quiz legend{font-weight:700;margin-bottom:6px}
.tl-opt{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.tl-quiz-res h3{margin:0;font-family:var(--f-display);font-size:28px}
.tl-pool{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border:1.5px dashed var(--line);border-radius:14px;min-height:56px}
.tl-pool .tl-label{width:100%}
.tl-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
div.tl-table{border:1px solid var(--line);border-radius:14px;padding:10px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;min-height:120px;cursor:pointer}
div.tl-table.target{outline:2px dashed var(--accS);outline-offset:-4px}
.tl-table-h{width:100%;display:grid;grid-template-columns:1fr 64px auto;gap:6px;align-items:center}
.tl-table-h input{font:inherit;padding:6px 8px;font-size:14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);min-width:0}
.tl-table-h span{font-size:13px;color:var(--muted)}
.tl-guest{font:inherit;font-size:13.5px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);cursor:grab}
.tl-guest.on{background:var(--accS);color:#fff;border-color:var(--accS)}
.tl-rows{display:grid;gap:8px}
.tl-ck{display:flex;gap:8px;align-items:center;font-size:14.5px}
.tl-group.tl-late h3{color:#B3261E}
.tl-group.tl-now h3{color:var(--accS)}
.tl-group ul{margin:4px 0 10px;padding-left:20px}
@media (max-width:900px){.tl-split,.tl-split-wide{grid-template-columns:1fr}.tl-pal{grid-template-columns:1fr}.tl-count-big{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- order form: traditions and events with dates ---------- */
.trad{display:grid;gap:10px}
.trad-g{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.trad-g>span{width:100%;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.trad .trad-c{display:inline-flex;width:auto;white-space:nowrap;margin:0;font-weight:600;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);cursor:pointer;font-size:14px}
.trad-c input{accent-color:var(--accS)}
.trad-c:has(input:checked){border-color:var(--accS);box-shadow:0 0 0 1px var(--accS) inset}
.ev-list{display:grid;gap:6px}
.ev-row{display:grid;grid-template-columns:auto minmax(0,1fr) 160px;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);cursor:pointer}
.ev-row.on{border-color:var(--accS)}
.ev-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accS)}
.ev-t b{display:block;font-size:15px}
.ev-t small{display:block;font-size:12.5px;color:var(--muted)}
.ev-d{font:inherit;font-size:14px;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);width:100%}
.ev-row:not(.on) .ev-d{opacity:.45}
.ev-add{display:flex;gap:8px;margin-top:8px}
.ev-add input{flex:1;font:inherit;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--card-ink);min-width:0}
@media (max-width:560px){.ev-row{grid-template-columns:auto minmax(0,1fr)}.ev-row .ev-d{grid-column:2}}

/* ---------- worldwide pages ---------- */
.place-hero{--ph-bg:#FBF6EF;--ph-ink:#2A1E1A;--ph-muted:#6B5A50;--ph-acc:#9E2A4A;background:var(--ph-bg);color:var(--ph-ink);position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.place-hero::before{content:"";position:absolute;inset:0;background-image:var(--ph-pat,none);background-size:var(--ph-size,60px);opacity:var(--ph-op,1);pointer-events:none}
.place-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;align-items:center;padding-block:38px 40px}
.place-copy{display:grid;gap:12px;align-content:center}
.place-hero .kb-crumbs,.place-hero .kb-crumbs a,.place-hero .lead{color:var(--ph-muted)}
.place-hero .eyebrow{color:var(--ph-acc)}
.place-hero .page-h1{color:var(--ph-ink)}
.place-hero .page-h1 em{color:var(--ph-acc)}
.place-hero .b2{color:var(--ph-ink)}
.place-facts{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.place-facts li{font-size:13px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid color-mix(in srgb,var(--ph-ink) 18%,transparent);color:var(--ph-ink)}
.place-facts b{margin-right:6px;color:var(--ph-acc)}
.place-pics{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:380px}
.place-pics img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.place-pics img:first-child{grid-row:1/3}
.place-pics.two{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.place-pics.two img:first-child{grid-row:auto}
.skin-arabesque{--ph-bg:linear-gradient(135deg,#0E1630,#1B1030 60%,#2A1A12);--ph-ink:#F7EBD3;--ph-muted:#E4D2AE;--ph-acc:#E2B65A;--ph-size:64px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23E2B65A' stroke-opacity='.28' stroke-width='1.2'%3E%3Cpath d='M32 6l7.5 18.5L58 32l-18.5 7.5L32 58l-7.5-18.5L6 32l18.5-7.5z'/%3E%3Cpath d='M32 15l12 5 5 12-5 12-12 5-12-5-5-12 5-12z'/%3E%3Cpath d='M0 0l10 10M64 0L54 10M0 64l10-10M64 64L54 54'/%3E%3C/g%3E%3C/svg%3E");background:var(--ph-bg)}
.skin-zen{--ph-bg:#F6F2EA;--ph-ink:#1E1B18;--ph-muted:#5C554C;--ph-acc:#B8322A;--ph-size:48px 24px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cg fill='none' stroke='%23A89F92' stroke-opacity='.35'%3E%3Cpath d='M0 24a24 24 0 0 1 48 0M8 24a16 16 0 0 1 32 0M16 24a8 8 0 0 1 16 0M-24 12a24 24 0 0 1 48 0M24 12a24 24 0 0 1 48 0'/%3E%3C/g%3E%3C/svg%3E")}
.skin-deco{--ph-bg:linear-gradient(160deg,#0B0B0D,#1C1712);--ph-ink:#F5EAD4;--ph-muted:#D9C9A8;--ph-acc:#D4AF37;--ph-size:56px 28px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28' viewBox='0 0 56 28'%3E%3Cg fill='none' stroke='%23D4AF37' stroke-opacity='.3'%3E%3Cpath d='M0 28a28 28 0 0 1 56 0M9 28a19 19 0 0 1 38 0M18 28a10 10 0 0 1 20 0M28 0v28M8 8l20 20M48 8L28 28'/%3E%3C/g%3E%3C/svg%3E");background:var(--ph-bg)}
.skin-paisley{--ph-bg:linear-gradient(140deg,#5A0F24,#7A1F2B 55%,#8A3B12);--ph-ink:#FFF3DC;--ph-muted:#F5DDB4;--ph-acc:#F7B32B;--ph-size:56px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23F7B32B' stroke-opacity='.3'%3E%3Ccircle cx='28' cy='28' r='12'/%3E%3Ccircle cx='28' cy='28' r='5'/%3E%3Cpath d='M28 8c8 8 8 32 0 40M8 28c8-8 32-8 40 0'/%3E%3C/g%3E%3Cg fill='%23F7B32B' fill-opacity='.3'%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='56' cy='0' r='3'/%3E%3Ccircle cx='0' cy='56' r='3'/%3E%3Ccircle cx='56' cy='56' r='3'/%3E%3C/g%3E%3C/svg%3E");background:var(--ph-bg)}
.skin-tropic{--ph-bg:linear-gradient(150deg,#0E3B3B,#145A52);--ph-ink:#F1FBF6;--ph-muted:#CBEADF;--ph-acc:#FFC93C;--ph-size:70px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70' viewBox='0 0 70 70'%3E%3Cg fill='none' stroke='%23CBEADF' stroke-opacity='.22'%3E%3Cpath d='M10 60C20 30 40 15 62 10C50 30 35 48 10 60zM10 60l30-28'/%3E%3C/g%3E%3C/svg%3E");background:var(--ph-bg)}
.skin-kente{--ph-bg:#1A1410;--ph-ink:#FFF4E0;--ph-muted:#F0DCBA;--ph-acc:#F2B705;--ph-pat:repeating-linear-gradient(90deg,rgba(242,183,5,.16) 0 14px,transparent 14px 28px,rgba(46,133,64,.18) 28px 36px,transparent 36px 50px,rgba(200,16,46,.16) 50px 58px,transparent 58px 72px);--ph-size:auto;background:var(--ph-bg)}
.skin-uk{--ph-bg:#FBF6EF;--ph-acc:#1B2A4A;--ph-size:36px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cg fill='none' stroke='%231B2A4A' stroke-opacity='.12'%3E%3Ccircle cx='18' cy='18' r='9'/%3E%3Ccircle cx='0' cy='0' r='9'/%3E%3Ccircle cx='36' cy='0' r='9'/%3E%3Ccircle cx='0' cy='36' r='9'/%3E%3Ccircle cx='36' cy='36' r='9'/%3E%3C/g%3E%3C/svg%3E")}
.skin-europe{--ph-bg:#F8F4EC;--ph-acc:#8C6A2F;--ph-size:44px;--ph-pat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg fill='none' stroke='%238C6A2F' stroke-opacity='.18'%3E%3Cpath d='M22 4c6 6 6 12 0 18-6-6-6-12 0-18zM22 40c-6-6-6-12 0-18 6 6 6 12 0 18zM4 22c6-6 12-6 18 0-6 6-12 6-18 0zM40 22c-6 6-12 6-18 0 6-6 12-6 18 0z'/%3E%3C/g%3E%3C/svg%3E")}
.skin-world{--ph-bg:linear-gradient(135deg,#FFF6F3,#F3F0FF);--ph-acc:#9E2A4A}
.place-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:20px}
.place-set{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--card);color:var(--card-ink)}
.place-set h3{margin:0 0 10px;font-family:var(--f-display);font-size:21px}
.place-set ol{margin:0 0 10px;padding-left:22px;display:grid;gap:8px}
.place-set li b{display:block}
.place-set li span{display:block;font-size:13px;font-weight:700;color:var(--accS)}
.place-set li small{display:block;font-size:13.5px;color:var(--muted)}
.place-split{align-items:start}
.place-col{display:grid;gap:14px}
.place-big{width:100%;height:320px;object-fit:cover;border-radius:18px}
.place-pk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.place-faq details{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--card);color:var(--card-ink);margin-bottom:8px}
.place-faq summary{cursor:pointer;font-weight:700}
.place-faq p{margin:8px 0 0;color:var(--muted)}
.place-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:18px}
.place-cities.small{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-top:10px}
.place-city{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3;color:#fff;text-decoration:none;box-shadow:0 16px 30px -22px rgba(0,0,0,.6)}
.place-city img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.place-city:hover img{transform:scale(1.05)}
.place-city span{position:absolute;inset:auto 0 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.place-city b{display:block;font-family:var(--f-display);font-size:19px}
.place-city em{display:block;font-style:normal;font-size:12px;opacity:.9}
.place-reg{border-top:1px solid var(--line)}
.place-reg-h{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;color:inherit;text-decoration:none}
.place-reg-h img{width:120px;height:80px;object-fit:cover;border-radius:12px}
.place-reg-h b{display:block;font-family:var(--f-display);font-size:24px}
.place-reg-h em{display:block;font-style:normal;color:var(--muted);font-size:14px}
@media (max-width:900px){.place-hero-in{grid-template-columns:1fr}.place-pics{height:240px}.place-pk{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.place-pk{grid-template-columns:1fr}.place-reg-h{grid-template-columns:80px minmax(0,1fr)}.place-reg-h img{width:80px;height:60px}}

/* footer cities */
.foot-world{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center;padding:16px 0 4px;margin-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px}
.foot-world b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.foot-world a{color:inherit;opacity:.85;text-decoration:none}
.foot-world a:hover{opacity:1;text-decoration:underline}

/* traditions hub */
.trad-demos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.trad-demo{display:grid;gap:8px;padding:16px;border-radius:18px;border:1px solid var(--line);border-top:5px solid var(--a);background:var(--card);color:var(--card-ink)}
.trad-demo-h{display:grid;gap:4px;color:inherit;text-decoration:none}
.trad-demo-h b{font-family:var(--f-display);font-size:21px}
.trad-demo-h em{font-style:normal;font-size:13.5px;color:var(--muted)}
.trad-demo-ev{font-size:13.5px}
.trad-start{font-size:13.5px;font-weight:700;color:var(--accS)}

/* home hero: cultural weddings pills */
.m-cult{margin-top:2px}
.m-cult a{border:1px solid color-mix(in srgb,var(--chip-ink) 22%,transparent);font-weight:600}
.m-cult a.all{background:transparent;border-style:dashed}
@media (max-width:700px){.m-cult{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:4px;mask-image:linear-gradient(90deg,#000 88%,transparent)}.m-cult::-webkit-scrollbar{display:none}.m-cult a,.m-cult small{flex:none;white-space:nowrap}}
.m-copy{min-width:0}
.m-cult{max-width:100%}

/* ---------- wedding print ---------- */
.pr-hero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center}
.pr-photo{width:100%;height:300px;object-fit:cover;border-radius:18px;box-shadow:0 20px 40px -26px rgba(0,0,0,.55)}
.pr-from{margin:0;font-size:16px}
.pr-from b{font-size:24px;color:var(--accS)}
.pr-from small{color:var(--muted)}
.pr-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.pr-form{gap:16px}
.pr-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.pr-art{display:grid;gap:8px}
.pr-art-o{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.pr-art-o:has(input:checked){border-color:var(--accS);box-shadow:0 0 0 1px var(--accS) inset}
.pr-art-o input{margin-top:3px;accent-color:var(--accS)}
.pr-art-o b{display:block}
.pr-art-o small{display:block;color:var(--muted);font-size:13.5px}
.pr-files input[type=file]{padding:8px;border:1.5px dashed var(--line);border-radius:12px;width:100%}
.pr-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding:14px 16px;border-radius:14px;background:var(--alt)}
.pr-price span{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pr-price b{font-size:30px;color:var(--accS);font-variant-numeric:tabular-nums}
.pr-price small{color:var(--muted)}
.pr-msg{margin:0;font-size:14px;color:var(--accS);min-height:1.2em}
.pr-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.pr-card{display:grid;gap:4px;align-content:start;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);color:var(--card-ink);text-decoration:none;padding-bottom:12px}
.pr-card img{width:100%;height:150px;object-fit:cover}
.pr-card b,.pr-card em,.pr-card span{padding-inline:12px}
.pr-card b{font-family:var(--f-display);font-size:18px;margin-top:6px}
.pr-card em{font-style:normal;font-size:13.5px;color:var(--muted)}
.pr-card span{font-weight:800;color:var(--accS)}
@media (max-width:1000px){.pr-grid{grid-template-columns:1fr}.pr-hero-in{grid-template-columns:1fr}.pr-photo{height:220px}}
.page-hero .kb-crumbs,.page-hero .kb-crumbs a{color:inherit;opacity:.85}
.pr-art-o input{position:static;flex:none;width:18px;height:18px;margin:2px 0 0;opacity:1;appearance:auto}

/* online designer */
.pr-dz{display:grid;gap:6px}
.pr-dz-done{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--accS);border-radius:12px;background:var(--alt)}
.pr-dz-done img{width:70px;height:auto;border-radius:6px;box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.pr-dz-done span{flex:1}
.pr-dz-done b{display:block}
.pr-dz-done small{color:var(--muted)}
body.dz-on{overflow:hidden}
.dz{position:fixed;inset:0;z-index:1000;background:rgba(20,10,14,.62);display:grid;place-items:center;padding:16px}
.dz[hidden]{display:none}
.dz-in{background:var(--card);color:var(--card-ink);border-radius:20px;width:min(1180px,100%);max-height:calc(100vh - 32px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.dz-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-family:var(--f-display);font-size:20px}
.dz-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:18px;overflow:auto}
.dz-ctrl{display:grid;gap:10px;align-content:start}
.dz-prev{display:grid;gap:12px;align-content:start;justify-items:center;position:sticky;top:0}
.dz-canvas{max-width:100%;max-height:62vh;width:auto;height:auto;border-radius:6px;box-shadow:0 20px 40px -20px rgba(0,0,0,.55);background:#fff}
@media (max-width:900px){.dz{padding:0}.dz-in{border-radius:0;max-height:100vh;height:100vh}.dz-body{grid-template-columns:1fr}.dz-prev{position:static;order:-1}.dz-canvas{max-height:44vh}}

/* hero orbs and bubbles (added by kb.js) */
.kb-hero{position:relative;overflow:hidden;isolation:isolate}
.kb-hero>.wrap{position:relative;z-index:1}
.kb-orbs{position:absolute;inset:0;pointer-events:none;z-index:0}
.kb-orb{position:absolute;border-radius:50%;transform:translate(-50%,-50%);opacity:.55;filter:blur(1px);
  background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.95) 0,rgba(255,255,255,.35) 18%,color-mix(in srgb,var(--accS) 34%,transparent) 46%,transparent 70%);
  animation:kbFloat 20s ease-in-out infinite alternate}
.kb-orb.o1{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.9) 0,color-mix(in srgb,var(--cta,#9E2A4A) 22%,transparent) 45%,transparent 70%);opacity:.5}
.kb-orb.o2{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.95) 0,rgba(255,226,170,.45) 38%,transparent 70%);opacity:.6}
.kb-bub{position:absolute;bottom:-30px;border-radius:50%;border:1px solid rgba(255,255,255,.75);
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.95) 0,rgba(255,255,255,.25) 35%,color-mix(in srgb,var(--accS) 12%,transparent) 70%);
  box-shadow:0 0 12px rgba(255,255,255,.35);opacity:.0;animation:kbRise 12s linear infinite}
@keyframes kbFloat{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-46%,-56%) scale(1.06)}100%{transform:translate(-54%,-46%) scale(.96)}}
@keyframes kbRise{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.75}50%{transform:translateY(-55vh) translateX(10px)}90%{opacity:.6}100%{transform:translateY(-110vh) translateX(-8px);opacity:0}}
@media (max-width:760px){.kb-orb{opacity:.3}.kb-orb.o0{width:180px!important;height:180px!important}.kb-bub:nth-of-type(n+8){display:none}}
@media (prefers-reduced-motion:reduce){.kb-orb,.kb-bub{animation:none}.kb-bub{display:none}}

/* hero ribbon, bow and lace trim */
.kb-ribbon{position:absolute;right:0;top:0;width:min(720px,62%);height:auto;opacity:.75;animation:kbRibbon 14s ease-in-out infinite alternate;transform-origin:100% 0}
.kb-bow{animation:kbBowSway 7s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 0}
@keyframes kbRibbon{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(10px) rotate(-1.5deg)}}
@keyframes kbBowSway{0%{rotate:-4deg}100%{rotate:5deg}}
.kb-laced::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:18px;z-index:1;pointer-events:none;opacity:.7;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='18' viewBox='0 0 36 18'%3E%3Cpath d='M0 18 V8 Q9 -2 18 8 Q27 -2 36 8 V18 Z' fill='%23ffffff'/%3E%3Cpath d='M0 8 Q9 -2 18 8 Q27 -2 36 8' fill='none' stroke='%23E9A9BE' stroke-width='1'/%3E%3Ccircle cx='9' cy='7' r='1.6' fill='none' stroke='%23E9A9BE' stroke-width='.8'/%3E%3Ccircle cx='27' cy='7' r='1.6' fill='none' stroke='%23E9A9BE' stroke-width='.8'/%3E%3Ccircle cx='18' cy='13' r='1' fill='%23E9A9BE'/%3E%3Ccircle cx='0' cy='13' r='1' fill='%23E9A9BE'/%3E%3C/svg%3E") repeat-x left bottom/36px 18px}
.kb-laced{border-bottom:0}
@media (max-width:760px){.kb-ribbon{width:90%;opacity:.45}}
@media (prefers-reduced-motion:reduce){.kb-ribbon,.kb-bow{animation:none}}

/* logo (scripts/logo/make_logo.py) */
.m-logo img{display:block;height:54px;width:auto}
.m-logo .lg-l{display:none}
.look-velvet .m-head .lg-d{display:none}.look-velvet .m-head .lg-l{display:block}
.foot .m-logo img{height:52px}
@media (max-width:600px){.m-logo img{height:40px}}
@media (max-width:380px){.m-logo img{height:31px}}

/* ---------- home hero: busier right side, faint icon grid, shorter (owner, 12 Oct 2026) ---------- */
.m-hero .wrap{min-height:0;padding-block:34px 18px;gap:18px 28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.m-hero .m-copy{gap:14px}
.m-hero .m-h1{font-size:clamp(38px,4.4vw,64px)}
.m-art{min-height:470px}
/* a very faint grid of wedding things behind everything, in the look's own ink colour */
.m-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.075;background:var(--hero-ink,#fff);
  -webkit-mask:var(--hx-grid) repeat 0 0/240px 200px;mask:var(--hx-grid) repeat 0 0/240px 200px;
  --hx-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='200' viewBox='0 0 240 200'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='28' cy='34' r='11'/%3E%3Ccircle cx='42' cy='34' r='11'/%3E%3Cpath d='M128 26c-3-6-12-6-12 1 0 6 8 10 12 14 4-4 12-8 12-14 0-7-9-7-12-1z'/%3E%3Crect x='190' y='22' width='34' height='24' rx='3'/%3E%3Cpath d='M190 24l17 12 17-12'/%3E%3Cg transform='translate(66 112)'%3E%3Ccircle cx='0' cy='-9' r='6'/%3E%3Ccircle cx='9' cy='-2' r='6'/%3E%3Ccircle cx='5' cy='8' r='6'/%3E%3Ccircle cx='-5' cy='8' r='6'/%3E%3Ccircle cx='-9' cy='-2' r='6'/%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3C/g%3E%3Cpath d='M150 96h28l-4 12a10 10 0 0 1-20 0zM164 118v16M156 134h16'/%3E%3Cpath d='M20 160c8-10 18-10 18 0-6 6-12 6-18 0zM20 160c-8-10-18-10-18 0 6 6 12 6 18 0zM20 160l-6 14M20 160l6 14'/%3E%3Cpath d='M214 150l3 8 8 3-8 3-3 8-3-8-8-3 8-3z'/%3E%3Cpath d='M106 168c10-6 20-6 30 0M110 174c8-4 14-4 22 0'/%3E%3Ccircle cx='121' cy='158' r='4'/%3E%3C/g%3E%3C/svg%3E")}
.m-hero>.m-deco{z-index:0}
.m-hero .wrap{z-index:1}
/* polaroid prints, behind the phone */
.hx-pol{position:absolute;margin:0;z-index:2;background:#fff;padding:7px 7px 24px;border-radius:4px;box-shadow:0 18px 30px -16px rgba(0,0,0,.5);width:150px}
.hx-pol img{display:block;width:100%;height:120px;object-fit:cover;border-radius:2px}
.hx-pol figcaption{position:absolute;left:0;right:0;bottom:5px;text-align:center;font:400 15px/1 var(--f-script),cursive;color:#5a3a40}
.hx-p1{left:2%;top:6%;transform:rotate(-8deg);animation:hxFloat 9s ease-in-out infinite alternate}
.hx-p2{left:8%;bottom:6%;transform:rotate(6deg);width:136px;animation:hxFloat 11s ease-in-out infinite alternate-reverse}
.hx-p2 img{height:104px}
/* live-looking cards */
.hx-toast{position:absolute;right:2%;top:5%;z-index:4;display:flex;gap:9px;align-items:center;max-width:230px;background:rgba(255,255,255,.95);color:#2A1418;border-radius:14px;padding:10px 12px;font-size:12.5px;line-height:1.3;box-shadow:0 16px 30px -14px rgba(0,0,0,.45);animation:hxPop 6s ease-in-out infinite}
.hx-toast b{display:block;font-size:13px}
.hx-dot{flex:none;width:28px;height:28px;border-radius:50%;background:#2E9E62 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:0 0 0 4px rgba(46,158,98,.18)}
.hx-qr{position:absolute;right:31%;bottom:3%;z-index:4;background:#fff;color:#2A1418;border-radius:12px;padding:8px 8px 6px;display:grid;justify-items:center;gap:3px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 28px -14px rgba(0,0,0,.45);transform:rotate(4deg)}
.hx-qr svg{width:64px;height:64px;display:block}
.hx-sw{position:absolute;right:4%;top:33%;z-index:4;display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.92);border-radius:999px;padding:6px 10px 6px 7px;text-decoration:none;color:#2A1418;font-size:12px;font-weight:700;box-shadow:0 12px 24px -14px rgba(0,0,0,.45)}
.hx-sw i{width:16px;height:16px;border-radius:50%;border:2px solid #fff;margin-left:-6px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.hx-sw i:first-child{margin-left:0}
.hx-sw span{margin-left:5px}
@keyframes hxFloat{0%{translate:0 0}100%{translate:0 -8px}}
@keyframes hxPop{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
/* the culture strip runs under both columns */
.hx-cult{grid-column:1/-1;justify-content:center;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--hero-ink,#fff) 18%,transparent);margin-top:2px}
@media (min-width:1500px){.m-art{min-height:500px}.hx-pol{width:170px}.hx-pol img{height:136px}}
@media (max-width:1000px){.m-hero .wrap{grid-template-columns:1fr}.hx-p2,.hx-qr{display:none}.hx-cult{justify-content:flex-start}}
@media (max-width:600px){.m-art{min-height:400px}.hx-p1{width:118px;left:0;top:2%}.hx-p1 img{height:92px}.hx-sw{display:none}.hx-toast{max-width:180px;font-size:11.5px;right:0;top:auto;bottom:30%}}
@media (prefers-reduced-motion:reduce){.hx-p1,.hx-p2,.hx-toast{animation:none}}
.hx-qr{right:37%;bottom:-1%;z-index:5}

/* ---------- no dead space: city events, offer cards, sidebar shop, cross-sell band (owner, 12 Oct 2026) ---------- */
.pset-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 14px}
.pset-tabs .chip{font-weight:700}
.pset-tabs .chip small{opacity:.65;margin-left:3px}
.pset-tabs .chip.on{background:var(--accS);color:#fff;border-color:var(--accS)}
.pset{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card);color:var(--card-ink);margin-top:22px}
.pset-tabs~.pset{margin-top:0}
.pset-pic{position:relative;min-height:360px}
.pset-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pset-pic>div{position:absolute;left:0;right:0;bottom:0;padding:70px 22px 22px;background:linear-gradient(transparent,rgba(24,8,14,.88));color:#fff;display:flex;flex-wrap:wrap;gap:8px}
.pset-pic h3{flex-basis:100%;margin:0;font-family:var(--f-display);font-size:28px;line-height:1.1;color:#fff}
.pset-pic p{flex-basis:100%;margin:0 0 6px;font-size:14px;opacity:.92}
.pset-pic .btn{padding:10px 16px;font-size:14px}
.pset-pic .b2{color:#fff}
.pset-line{list-style:none;margin:0;padding:26px 28px;display:grid;grid-auto-flow:column;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--rows,3),auto);gap:18px 26px;align-content:center}
.pset-line li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start}
.pset-line i{font-style:normal;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accS);color:#fff;font-weight:800;font-size:13px;box-shadow:0 0 0 5px color-mix(in srgb,var(--accS) 14%,transparent)}
.pset-line b{display:block;font-size:16px}
.pset-line em{display:block;font-style:normal;font-size:13px;font-weight:700;color:var(--accS)}
.pset-line small{display:block;font-size:13.5px;line-height:1.45;color:var(--muted)}
@media (max-width:900px){.pset{grid-template-columns:1fr}.pset-pic{min-height:280px}}
@media (max-width:560px){.pset-line{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none;padding:20px}.pset-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.pset-tabs .chip{flex:none}}
/* region city grid: column count chosen at build time so the last row is full */
.place-cities[style*="--cols"]{grid-template-columns:repeat(var(--cols),minmax(0,1fr))}
@media (max-width:1100px){.place-cities[style*="--cols"]{grid-template-columns:repeat(var(--cols-m),minmax(0,1fr))}}
@media (max-width:600px){.place-cities[style*="--cols"]{grid-template-columns:1fr 1fr}.place-cities[style*="--cols"] .place-city:last-child:nth-child(odd){grid-column:1/-1}}
/* FAQ answers shown open beside the library box */
.place-faq details[open]{padding-block:12px}
/* "From us": four cards with photos, 2 x 2 (4 across when full width) */
.kb-offer{padding:18px 18px 20px}
.kb-offer-h{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
.kb-offer-h .kb-label{margin:0}
.kb-offer-h span{font-size:13px;color:var(--muted)}
.kb-offer-h a{color:var(--accS);font-weight:700;text-decoration:none}
.kb-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.kb-offer.wide{margin-top:28px}
.kb-offer.wide .kb-offer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.kb-prod{padding:0;gap:0;overflow:hidden;grid-template-rows:auto 1fr;background:var(--card)}
.kb-prod>img{display:block;width:100%;height:136px;object-fit:cover}
.kb-prod-in{display:grid;gap:4px;align-content:start;padding:12px 14px 14px}
@media (max-width:1000px){.kb-offer.wide .kb-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.kb-offer-grid,.kb-offer.wide .kb-offer-grid{grid-template-columns:1fr}.kb-prod{grid-template-columns:112px minmax(0,1fr);grid-template-rows:none}.kb-prod>img{height:100%;min-height:120px}}
/* sidebar shop boxes */
.sd-pack{display:grid;padding:0;overflow:hidden;text-decoration:none;color:var(--card-ink);transition:box-shadow .15s}
.sd-pack:hover{box-shadow:0 16px 30px -20px rgba(0,0,0,.55)}
.sd-pack img{display:block;width:100%;height:150px;object-fit:cover}
.sd-pack-in{display:grid;gap:5px;padding:14px 16px 16px}
.sd-pack-in .kb-label{margin:0}
.sd-pack b{font-family:var(--f-display);font-size:23px;line-height:1.1}
.sd-btn{justify-self:start;margin-top:6px;padding:9px 18px;font-size:14px}
.sd-prints{display:grid;gap:8px;margin-top:4px}
.sd-print{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:6px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none;transition:border-color .15s}
.sd-print:hover{border-color:var(--accS)}
.sd-print img{width:64px;height:52px;object-fit:cover;border-radius:8px;display:block}
.sd-print b{display:block;font-size:14px;line-height:1.25}
.sd-print small{display:block;margin-top:2px;font-size:12.5px;font-weight:700;color:var(--accS)}
.kb-side .more{margin-top:10px}
/* cross-sell band above the footer */
.xs{position:relative;padding-block:60px 56px;background:var(--alt);border-top:1px solid var(--line);overflow:hidden}
.xs::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background:radial-gradient(600px 300px at 8% 0%,color-mix(in srgb,var(--accS) 12%,transparent),transparent 70%),radial-gradient(500px 280px at 95% 100%,color-mix(in srgb,var(--accS) 10%,transparent),transparent 70%)}
.xs .wrap{position:relative;display:grid;gap:18px}
.xs-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px 40px;align-items:end}
.xs-head h2{margin:0}
.xs-head>p{margin:0;color:var(--muted);font-size:16px;max-width:52ch}
.xs-packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.xs-pack{position:relative;display:grid;min-height:210px;border-radius:20px;overflow:hidden;color:#fff;text-decoration:none;box-shadow:0 18px 34px -24px rgba(0,0,0,.6);transition:transform .18s}
.xs-pack:hover{transform:translateY(-3px)}
.xs-pack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xs-pack>span{position:relative;align-self:end;display:grid;gap:3px;padding:60px 16px 16px;background:linear-gradient(transparent,rgba(22,8,14,.9))}
.xs-pack small{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.xs-pack b{font-family:var(--f-display);font-size:22px;line-height:1.1}
.xs-pack em{font-style:normal;font-weight:800;font-size:17px;color:#FFD9E6}
.xs-pack i{font-style:normal;font-size:13px;line-height:1.35;opacity:.9}
.xs-prints{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.xs-print{display:grid;gap:2px;align-content:start;padding:8px 8px 12px;border-radius:16px;background:var(--card);color:var(--card-ink);border:1px solid var(--line);text-decoration:none;transition:transform .18s,border-color .18s}
.xs-print:hover{transform:translateY(-2px);border-color:var(--accS)}
.xs-print img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:6px;display:block}
.xs-print b{font-size:14px;line-height:1.25;padding-inline:4px}
.xs-print span{font-size:13px;font-weight:700;color:var(--accS);padding-inline:4px}
.xs-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:4px}
@media (max-width:1000px){.xs-head{grid-template-columns:1fr}.xs-packs{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-prints{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.xs{padding-block:44px}.xs-pack{min-height:180px}.xs-pack i{display:none}.xs-prints{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-foot .btn{flex:1 1 100%}}
.hx-p2 img{object-position:74% 62%}
.pset-add i{background:transparent;color:var(--accS);border:2px dashed var(--accS);box-shadow:none;font-size:18px}.pset-add small a{color:var(--accS);font-weight:700}

/* ---------- online designer, print-shop layout: rail, templates, card, checks, approve (owner, 12 Oct 2026) ---------- */
.dzx{--dz-acc:var(--accS,#B0175B);--dz-ink:#2A1418;--dz-mut:#6E5A60;--dz-line:#EBDDE2;--dz-soft:#FBF3F6;position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;color:var(--dz-ink);font-family:var(--f-body,system-ui),system-ui,sans-serif}
.dzx[hidden]{display:none}
.dzx svg{width:20px;height:20px;flex:none}
.dzx-top{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--dz-line)}
.dzx-title{display:flex;align-items:center;gap:10px;min-width:0}
.dzx-title b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dzx-title small{display:block;font-size:12.5px;color:var(--dz-mut)}
.dzx-sp{flex:1}
.dzx-seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--dz-soft);border:1px solid var(--dz-line)}
.dzx-seg button{font:inherit;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--dz-mut);padding:6px 12px;border-radius:999px;cursor:pointer}
.dzx-seg button.on{background:#fff;color:var(--dz-ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.dzx-zoom{display:flex;align-items:center;gap:2px}
.dzx-zv{min-width:46px;text-align:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.dzx-ib{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--dz-ink);cursor:pointer}
.dzx-ib:hover{background:var(--dz-soft)}
.dzx-ib.on{background:color-mix(in srgb,var(--dz-acc) 10%,#fff);color:var(--dz-acc);border-color:color-mix(in srgb,var(--dz-acc) 25%,#fff)}
.dzx-x{border-color:var(--dz-line)}
.dzx-main{display:grid;grid-template-columns:84px 320px minmax(0,1fr) 300px;min-height:0}
.dzx-rail{display:grid;align-content:start;gap:4px;padding:10px 8px;border-right:1px solid var(--dz-line)}
.dzx-rail button{display:grid;justify-items:center;gap:4px;padding:10px 4px;border:0;border-radius:12px;background:transparent;color:var(--dz-mut);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.dzx-rail button:hover{background:var(--dz-soft);color:var(--dz-ink)}
.dzx-rail button.on{background:color-mix(in srgb,var(--dz-acc) 10%,#fff);color:var(--dz-acc)}
.dzx-rail svg{width:22px;height:22px}
.dzx-panel{overflow:auto;border-right:1px solid var(--dz-line);padding:16px}
.dzx-pane{display:grid;gap:10px;align-content:start}
.dzx-pane[hidden]{display:none}
.dzx-tip{padding:11px 13px;border-radius:12px;background:#EEF7F1;color:#24563A;font-size:13.5px;line-height:1.45}
.dzx-side .dzx-tip{background:var(--dz-soft);color:var(--dz-ink)}
.dzx-h{margin:8px 0 0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dz-ink)}
.dzx-chips{display:flex;flex-wrap:wrap;gap:6px}
.dzx-chip{font:inherit;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:999px;border:1px solid var(--dz-line);background:#fff;color:var(--dz-ink);cursor:pointer}
.dzx-chip.on{border-color:var(--dz-acc);background:color-mix(in srgb,var(--dz-acc) 9%,#fff);color:var(--dz-acc)}
.dzx-tpls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dzx-tpl{display:grid;gap:3px;align-content:start;padding:8px;border:1.5px solid var(--dz-line);border-radius:14px;background:#fff;color:var(--dz-ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.dzx-tpl:hover{border-color:color-mix(in srgb,var(--dz-acc) 45%,#fff)}
.dzx-tpl.on{border-color:var(--dz-acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--dz-acc) 14%,transparent)}
.dzx-tpl[hidden]{display:none}
.dzx-tpl-c{display:grid;place-items:center;aspect-ratio:3/4;border-radius:8px;background:repeating-conic-gradient(#F4EEF0 0 25%,#fff 0 50%) 0 0/14px 14px;overflow:hidden}
.dzx-tpl-c canvas{max-width:88%;max-height:92%;width:auto;height:auto;box-shadow:0 6px 14px -8px rgba(0,0,0,.45)}
.dzx-tpl b{font-size:13.5px;margin-top:4px}
.dzx-tpl small{font-size:11.5px;color:var(--dz-mut)}
.dzx-f{display:grid;gap:4px}
.dzx-f span{font-size:12.5px;font-weight:700;color:var(--dz-mut)}
.dzx-f input:not([type=range]):not([type=color]),.dzx-f textarea{font:inherit;font-size:15px;padding:9px 11px;border:1px solid var(--dz-line);border-radius:10px;background:#fff;color:var(--dz-ink);width:100%}
.dzx-f input:focus,.dzx-f textarea:focus{outline:2px solid color-mix(in srgb,var(--dz-acc) 45%,transparent);border-color:var(--dz-acc)}
.dzx-col{grid-template-columns:1fr auto;align-items:center}
.dzx-col input{width:54px;height:36px;border:1px solid var(--dz-line);border-radius:8px;padding:2px;background:#fff}
.dzx-up{justify-self:start;cursor:pointer}
.dzx-small{margin:0;font-size:13px;color:var(--dz-mut)}
.dzx-small a,.dzx-link{color:var(--dz-acc);font-weight:700}
.dzx-link{justify-self:start;border:0;background:none;padding:0;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.dzx-stage{position:relative;display:grid;place-items:center;align-content:center;gap:12px;overflow:auto;padding:24px;background:#F2EDEF radial-gradient(circle at 50% 40%,#FAF6F7,#EDE5E8)}
.dzx-paper{line-height:0}
.dzx-canvas{display:block;cursor:pointer;box-shadow:0 30px 60px -30px rgba(40,10,20,.55),0 2px 6px rgba(40,10,20,.12)}
.dzx-legend{display:flex;gap:12px;margin:0;padding:6px 12px;border-radius:999px;background:#fff;font-size:12px;color:var(--dz-mut);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.dzx-legend span::before{content:"";display:inline-block;width:18px;height:0;margin-right:6px;vertical-align:middle;border-top:2px solid #D62048}
.dzx-legend .safe::before{border-top:2px dashed #1E8C5A}
.dzx-legend .bleed::before{border-top:2px dotted #B9A8AE}
.dzx-side{overflow:auto;padding:16px;display:grid;gap:10px;align-content:start}
.dzx-checks{display:grid;gap:8px}
.dzx-chk{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.45}
.dzx-chk p{margin:0 0 3px}
.dzx-chk.warn{background:#FDECEF;color:#7A1D33}
.dzx-chk.warn svg{color:#D62048}
.dzx-chk.info{background:#FFF6E3;color:#6B4A0E}
.dzx-chk.ok{background:#EAF6EF;color:#1F5A3A}
.dzx-items{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.dzx-items button{width:100%;text-align:left;border:0;background:none;padding:7px 8px;border-radius:8px;font:inherit;font-size:13px;color:var(--dz-ink);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dzx-items button:hover{background:var(--dz-soft)}
.dzx-bot{display:flex;align-items:center;gap:14px;padding:10px 16px;border-top:1px solid var(--dz-line);background:#fff}
.dzx-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;border:0;background:#FFF2D6;color:#6B4A0E;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.dzx-pill.ok{background:#EAF6EF;color:#1F5A3A}
.dzx-saved{font-size:13px;color:var(--dz-mut)}
.dzx-go{padding:13px 24px}
.dzx-ap{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:16px;background:rgba(28,10,16,.6)}
.dzx-ap-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;width:min(980px,100%);max-height:100%;overflow:auto;padding:24px;border-radius:20px;background:#fff}
.dzx-ap-pic{display:grid;gap:10px;justify-items:center;align-content:center;padding:18px;border-radius:14px;background:#F2EDEF}
.dzx-ap-pic img{max-width:100%;max-height:62vh;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.dzx-ap-txt{display:grid;gap:12px;align-content:start}
.dzx-ap-txt h3{margin:0;font-family:var(--f-display,serif);font-size:28px}
.dzx-ap-txt p{margin:0;color:var(--dz-mut)}
.dzx-ap-warn{padding:12px 14px;border-radius:12px;background:#FDECEF;color:#7A1D33;font-size:13.5px}
.dzx-ap-warn ul{margin:6px 0 0;padding-left:18px}
.dzx-tick{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;cursor:pointer}
.dzx-tick input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--dz-acc)}
.dzx-ap-btns{display:flex;flex-wrap:wrap;gap:10px}
.dzx .btn.b2{color:var(--dz-ink)}
.dzx .btn[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:1280px){.dzx-main{grid-template-columns:80px 290px minmax(0,1fr) 260px}}
@media (max-width:1050px){
  .dzx-main{grid-template-columns:80px 290px minmax(0,1fr)}
  .dzx-side{display:none}
  .dzx.side-open .dzx-side{display:grid;position:absolute;right:12px;bottom:72px;width:min(340px,calc(100% - 24px));max-height:60vh;z-index:4;border:1px solid var(--dz-line);border-radius:16px;background:#fff;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
}
@media (max-width:760px){
  .dzx-top{flex-wrap:wrap;gap:8px;padding:8px 12px}
  .dzx-title{flex:1 1 60%}
  .dzx-seg{order:3}
  .dzx-zoom{order:4;margin-left:auto}
  .dzx-top>.dzx-sp{display:none}
  .dzx-main{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto}
  .dzx-stage{order:1;padding:14px}
  .dzx-panel{order:2;max-height:38vh;border-right:0;border-top:1px solid var(--dz-line);padding:12px}
  .dzx-rail{order:3;grid-auto-flow:column;grid-auto-columns:1fr;border-right:0;border-top:1px solid var(--dz-line);padding:4px 6px}
  .dzx-rail button{padding:6px 2px;font-size:11px}
  .dzx-tpls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dzx-bot{padding:8px 12px;gap:8px}
  .dzx-saved{display:none}
  .dzx-go{padding:11px 16px;font-size:14px}
  .dzx-ap-in{grid-template-columns:1fr;padding:16px}
  .dzx-ap-pic img{max-height:40vh}
}
.dzx-side,.dzx-pane,.dzx-checks{grid-template-columns:minmax(0,1fr)}.dzx-panel,.dzx-side{min-width:0}
.dzx-items{grid-template-columns:minmax(0,1fr)}.dzx input[type=range]{accent-color:var(--dz-acc);width:100%}
/* designer entry on product pages and the print hub */
.pr-dz-card,.pr-dzband{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 18px;align-items:center;padding:14px 16px;border-radius:16px;border:1.5px solid var(--accS);background:linear-gradient(120deg,var(--alt),var(--card));color:var(--card-ink)}
.pr-dzband{margin-bottom:34px;padding:18px 22px;text-decoration:none}
.pr-dz-sw{display:flex}
.pr-dz-sw i{display:grid;place-items:center;width:34px;height:46px;margin-left:-12px;border:2px solid;border-radius:5px;box-shadow:0 6px 12px -8px rgba(0,0,0,.5);font-style:normal}
.pr-dz-sw i:first-child{margin-left:0}
.pr-dz-sw i:nth-child(odd){transform:rotate(-5deg)}
.pr-dz-sw i:nth-child(even){transform:rotate(4deg) translateY(2px)}
.pr-dz-sw b{font-family:var(--f-script),cursive;font-weight:400;font-size:12px}
.pr-dz-t b{display:block;font-family:var(--f-display);font-size:19px}
.pr-dz-t span{display:block;font-size:13.5px;color:var(--muted);line-height:1.45}
.pr-dzband .pr-dz-t b{font-size:24px}
@media (max-width:760px){.pr-dz-card,.pr-dzband{grid-template-columns:1fr}.pr-dz-card .btn,.pr-dzband .btn{justify-self:start}}

/* ---------- theme cards: a printed card with the couple's photo on a colourful backdrop, all the same height (owner, 12 Oct 2026) ---------- */
.rail{align-items:stretch}
.tc .pv{position:relative;height:318px;min-height:0;padding:16px 18px;overflow:hidden;display:grid;
  background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--t-acc2) 70%,transparent),transparent 62%),radial-gradient(100% 70% at 0% 100%,color-mix(in srgb,var(--t-acc) 45%,transparent),transparent 60%),var(--t-surface,var(--t-bg))}
.tc .pv::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:radial-gradient(circle,rgba(255,255,255,.9) 1px,transparent 1.6px) 0 0/22px 22px}
.tc .pv .frame{z-index:1;justify-content:flex-start;gap:4px;padding:10px 10px 12px;min-height:0;background:var(--t-bg);border-radius:10px;box-shadow:0 18px 30px -16px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.12);transform:rotate(-1.2deg);transition:transform .25s}
.tc:hover .pv .frame{transform:rotate(0) translateY(-3px)}
.tc .pv .ph{flex:none;display:block;width:100%;height:132px;margin-bottom:6px;border-radius:7px;background:center 28%/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.tc .pv.fx-arch .frame{padding-top:10px;border-radius:999px 999px 10px 10px/90px 90px 10px 10px}
.tc .pv.fx-arch .ph{border-radius:999px 999px 6px 6px/80px 80px 6px 6px}
.tc .pv.fx-lace .ph{border-radius:50%/42%;width:86%;box-shadow:0 0 0 3px var(--t-bg),0 0 0 4px var(--t-acc2)}
.tc .pv.fx-glow .ph{box-shadow:0 0 0 1px var(--t-acc),0 0 18px -4px var(--t-acc)}
.tc .pv.fx-tape .frame{transform:rotate(-2deg);margin:8px 6px}
.tc .pv.fx-tape .ph{border-radius:2px;height:126px}
.tc .pv.fx-dots .ph{border:3px solid #111;border-radius:4px}
.tc .pv.fx-deco .frame{margin-top:16px}
.tc .pv.fx-deco .ph{box-shadow:0 0 0 2px var(--t-bg),0 0 0 3px var(--t-acc)}
.tc .pv.fx-none .frame{align-items:center;text-align:center;justify-content:flex-start;padding:10px 10px 12px}
.tc .pv .eb{font-size:9.5px}
.tc .pv .nm{font-size:24px!important;line-height:1.05;max-height:2.2em;overflow:hidden}
.tc .pv .lg{font-size:14px;line-height:1.5}
.tc .pv .dt{font-size:11.5px}
.tc .pv .bt{margin-top:auto;padding:5px 14px;font-size:9.5px}
.tc .mt{flex:1;align-content:start}
@media (max-width:560px){.tc .pv{height:290px;padding:14px}.tc .pv .ph{height:112px}.tc .pv .nm{font-size:21px!important}}
.tc .pv .ph{flex:1 1 auto;height:auto;min-height:110px}
.tc .pv.fx-tape .ph{height:auto}
.tc .pv .bt{margin-top:6px}
.tc .pv .nm{font-size:27px!important}
@media (max-width:560px){.tc .pv .ph{height:auto;min-height:96px}.tc .pv .nm{font-size:22px!important}}
/* examples: photo and scan-to-open QR fill the third column */
.xp{grid-template-columns:minmax(0,300px) minmax(0,1fr) minmax(0,230px)}
.xp-side{display:grid;gap:12px;align-content:start}
.xp-side img{width:100%;height:190px;object-fit:cover;border-radius:16px;display:block}
.xp-qr{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--alt)}
.xp-qr svg{width:84px;height:84px;display:block;border-radius:6px}
.xp-qr span{font-size:12.5px;line-height:1.4;color:var(--muted)}
.xp-qr b{display:block;color:var(--card-ink);font-size:13.5px}
@media (max-width:1100px){.xp{grid-template-columns:minmax(0,280px) minmax(0,1fr)}.xp-side{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.xp-side img{height:100%;min-height:120px}}
@media (max-width:700px){.xp-side{grid-template-columns:1fr}.xp-side img{height:170px}}
/* traditions hub: one grid of photo cards, 29 + 1 = 30 (5 x 6, 3 x 10, 2 x 15) */
.trad-filter{margin-top:0}
.trad-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.trad-card{display:grid;grid-template-rows:auto 1fr;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--card);color:var(--card-ink)}
.trad-card[hidden]{display:none}
.trad-card-pic{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.trad-card-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.trad-card:hover .trad-card-pic img{transform:scale(1.04)}
.trad-card-pic span{position:absolute;left:10px;top:10px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:#2A1418;font-size:11px;font-weight:700;letter-spacing:.04em}
.trad-card-b{display:grid;gap:6px;align-content:start;padding:12px 14px 14px;border-top:4px solid var(--a,var(--accS))}
.trad-card-b h2{margin:0;font-family:var(--f-display);font-size:20px}
.trad-card-b h2 a{color:inherit;text-decoration:none}
.trad-card-c{margin:0;font-size:13px;color:var(--muted)}
.trad-card-b ol{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px}
.trad-card-b li{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--alt)}
.trad-card-a{display:grid;gap:6px;justify-items:start;margin-top:auto;padding-top:6px}
.trad-card-a .btn{padding:9px 15px;font-size:13.5px}
.trad-card-a .more{margin-top:0;font-size:13.5px}
.trad-ask{background:linear-gradient(160deg,var(--alt),var(--card));grid-template-rows:1fr}
.trad-ask .trad-card-b{border-top:0;align-content:center;padding:20px}
.trad-ask p{margin:0;font-size:14px;color:var(--muted)}
@media (max-width:1200px){.trad-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.trad-grid{grid-template-columns:1fr 1fr;gap:10px}.trad-card-b{padding:10px}.trad-card-b h2{font-size:17px}.trad-card-b ol{display:none}}
/* home hero: four couples (English, Arab, Indian, Chinese), two each side of the phone (owner, 12 Oct 2026) */
.hx-p2 img{object-position:62% 50%}
.hx-p3,.hx-p4{width:122px;padding:6px 6px 22px}
.hx-p3 img,.hx-p4 img{height:94px}
.hx-p3 figcaption,.hx-p4 figcaption{font-size:13px}
.hx-p3{right:19%;top:30%;transform:rotate(-6deg);animation:hxFloat 10s ease-in-out infinite alternate}
.hx-p4{right:0;top:27%;transform:rotate(7deg);z-index:3;animation:hxFloat 12s ease-in-out infinite alternate-reverse}
.hx-p3 img{object-position:50% 35%}
.hx-p4 img{object-position:50% 30%}
.hx-sw{right:auto;left:3%;top:47%}
@media (min-width:1500px){.hx-p3,.hx-p4{width:136px}.hx-p3 img,.hx-p4 img{height:106px}}
@media (max-width:1000px){.hx-p3{right:22%}.hx-sw{left:auto;right:4%;top:auto;bottom:4%}}
@media (max-width:600px){.hx-p3,.hx-p4{display:none}}
@media (prefers-reduced-motion:reduce){.hx-p3,.hx-p4{animation:none}}
.hx-p3{right:17%;top:22.5%}
.hx-p4{right:-1%;top:21%}
@media (min-width:1500px){.hx-p3{top:22%}.hx-p4{top:20%}}
.hx-p2 img{object-position:78% 50%}@media (min-width:1500px){.hx-p3{right:14%}.hx-p4{right:-3%}}
/* dimmed romantic couple photos behind the quieter sections, so no section reads as empty (owner photos, 12 Oct 2026) */
.sec.alt{position:relative;isolation:isolate}
.sec.alt::before{content:"";position:absolute;top:0;bottom:0;right:0;width:min(50%,760px);z-index:-1;pointer-events:none;opacity:.2;background:url(/assets/img/demo/romance-field.webp) 50% 30%/cover no-repeat;filter:saturate(.9);
  -webkit-mask:linear-gradient(90deg,transparent,#000 60%),linear-gradient(transparent,#000 18%,#000 82%,transparent);-webkit-mask-composite:source-in;mask:linear-gradient(90deg,transparent,#000 60%) intersect,linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.sec.alt:nth-of-type(even)::before{right:auto;left:0;background-image:url(/assets/img/demo/romance-veil.webp);
  -webkit-mask:linear-gradient(270deg,transparent,#000 60%),linear-gradient(transparent,#000 18%,#000 82%,transparent);-webkit-mask-composite:source-in;mask:linear-gradient(270deg,transparent,#000 60%) intersect,linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.xs.sec.alt::before{left:0;right:0;width:auto;opacity:.13;background:url(/assets/img/demo/romance-veil.webp) 50% 35%/cover no-repeat;-webkit-mask:radial-gradient(70% 90% at 50% 50%,#000,transparent);mask:radial-gradient(70% 90% at 50% 50%,#000,transparent)}
@media (max-width:760px){.sec.alt::before,.sec.alt:nth-of-type(even)::before{width:100%;opacity:.1}}
@media (max-width:760px){.xp{grid-template-columns:1fr}.xp-side{grid-column:auto}}
@media (max-width:900px){.xp{grid-template-columns:1fr}.xp-side{grid-column:auto}}
/* a very faint couple kissing under a veil, seen through tulle net, fixed behind every page (owner idea, 12 Oct 2026) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--pg-ink) 7%,transparent) 0 .6px,transparent .6px 7px),repeating-linear-gradient(-45deg,color-mix(in srgb,var(--pg-ink) 7%,transparent) 0 .6px,transparent .6px 7px),url(/assets/img/demo/veil-bg.webp) 50% 40%/cover no-repeat;
  opacity:.075;mix-blend-mode:multiply;-webkit-mask:radial-gradient(75% 70% at 50% 45%,#000 30%,transparent 100%);mask:radial-gradient(75% 70% at 50% 45%,#000 30%,transparent 100%)}
@media (prefers-color-scheme:dark){body::before{mix-blend-mode:screen}}
@media (max-width:760px){body::before{opacity:.06;background-position:center,center,62% 40%}}
/* home hero, sleeker (owner, 12 Oct 2026): two prints, each fading through couples, mostly English */
.hx-rot{height:151px}
.hx-p2.hx-rot{height:135px}
.hx-fr{position:absolute;inset:7px 7px 24px;opacity:0;animation:hxFade 24s infinite}
.hx-fr img{width:100%;height:100%!important;object-fit:cover;border-radius:2px}
.hx-fr figcaption{bottom:-19px}
.hx-fr:nth-child(1){animation-delay:0s;animation-name:hxFade0}.hx-fr:nth-child(2){animation-delay:-18s}.hx-fr:nth-child(3){animation-delay:-12s}.hx-fr:nth-child(4){animation-delay:-6s}
.hx-p2 .hx-fr:nth-child(1){animation-name:hxFade;animation-delay:-21s}.hx-p2 .hx-fr:nth-child(2){animation-delay:-15s}.hx-p2 .hx-fr:nth-child(3){animation-delay:-9s}.hx-p2 .hx-fr:nth-child(4){animation-delay:-3s}
@keyframes hxFade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}
@keyframes hxFade0{0%{opacity:1}25%{opacity:1}29%{opacity:0}96%{opacity:0}100%{opacity:1}}
.hx-p3,.hx-p4,.hx-sw{display:none!important}
@media (min-width:1500px){.hx-rot{height:167px}.hx-p2.hx-rot{height:150px}}
@media (max-width:600px){.hx-rot{height:122px}}
@media (prefers-reduced-motion:reduce){.hx-fr{animation:none}.hx-fr:first-child{opacity:1}}
/* spin the wheel: theme colours and a faded kissing couple instead of plain white (owner, 12 Oct 2026) */
.wheel-box{isolation:isolate;overflow:hidden;background:linear-gradient(165deg,color-mix(in srgb,var(--accS) 16%,var(--card)) 0%,var(--card) 42%,color-mix(in srgb,var(--cta,var(--accS)) 12%,var(--card)) 100%);border:1px solid color-mix(in srgb,var(--accS) 30%,transparent);box-shadow:0 40px 80px -30px rgba(40,6,20,.7)}
.wheel-box::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/assets/img/demo/romance-veil-sm.webp) 50% 30%/cover no-repeat;opacity:.16;filter:saturate(.8);-webkit-mask:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.wheel-box::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(260px 200px at 0% 0%,color-mix(in srgb,var(--accS) 26%,transparent),transparent 70%),radial-gradient(260px 220px at 100% 100%,color-mix(in srgb,#E9C46A 30%,transparent),transparent 70%)}
.wheel-code code,.wheel-code b,.wheel-code span:first-child{background:rgba(255,255,255,.75)}
.wheel-copy{background:rgba(255,255,255,.8)}
/* photo-art theme cards (floral and sensual): the theme's own photo is the card (12 Oct 2026) */
.tc .pv.fx-art{background:var(--t-art) center/cover no-repeat,var(--t-bg)}
.tc .pv.fx-art::after{display:none}
.tc .pv.fx-art .frame{justify-content:center;transform:none}
.tc .pv.am-frame .frame{margin:22px 26px;background:var(--t-bg);border-radius:3px;box-shadow:0 18px 30px -14px rgba(0,0,0,.55),inset 0 0 0 6px var(--t-bg),inset 0 0 0 7px var(--t-acc2)}
.tc .pv.am-full .frame{margin:30px 22px;background:color-mix(in srgb,var(--t-bg) 74%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;border:1px solid rgba(255,255,255,.6)}
.tc .pv.am-dark{background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.6)),var(--t-art) center/cover no-repeat}
.tc .pv.am-dark .frame{background:transparent;box-shadow:none;border:0}
.tc .pv.am-dark .nm{text-shadow:0 3px 16px rgba(0,0,0,.6)}
.tc .pv.am-split{padding:0;grid-template-rows:52% 1fr;background:var(--t-bg)}
.tc .pv.am-split::before{content:"";background:var(--t-art) center/cover no-repeat}
.tc .pv.am-split .frame{border-radius:0;box-shadow:none;background:var(--t-bg);justify-content:center;padding:8px 10px}
.tc .pv.am-split .nm{font-size:23px!important}

/* cookie banner (analytics.js): its own colours so it reads the same on the shop and on every theme demo */
.ck{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1200;width:min(620px,calc(100% - 24px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;padding:14px 16px;border-radius:18px;background:#FFFDFB;color:#2A1418;border:1px solid #EBD9DF;box-shadow:0 24px 48px -20px rgba(40,6,20,.45);font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.ck[hidden]{display:none}
.ck p{margin:0}
.ck a{color:#9E2A4A;font-weight:700}
.ck-b{display:flex;gap:8px}
.ck .btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;font:700 14px/1 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;border:1.5px solid #2A1418;white-space:nowrap}
.ck .b1{background:#2A1418;color:#fff}
.ck .b2{background:transparent;color:#2A1418}
body.ck-open .wheel-tab{bottom:calc(110px + env(safe-area-inset-bottom,0px))}
@media (max-width:620px){.ck{grid-template-columns:1fr;bottom:calc(10px + env(safe-area-inset-bottom,0px))}.ck-b .btn{flex:1}body.ck-open .wheel-tab{bottom:calc(170px + env(safe-area-inset-bottom,0px))}}
.foot-legal a[data-cookie-settings]{color:inherit}

/* ---------- free wedding website section (owner, 12 Oct 2026) ---------- */
.fr-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:6px;border-radius:999px;background:var(--card);border:1px solid var(--line);width:max-content;max-width:100%}
.fr-tabs a{padding:8px 14px;border-radius:999px;font-weight:700;font-size:14px;color:var(--card-ink);text-decoration:none}
.fr-tabs a[aria-current=page]{background:var(--alt);color:var(--accS)}
.fr-tabs a.go{background:var(--cta);color:var(--cta-ink)}
.fr-ticks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;padding:0;list-style:none;font-size:14px;font-weight:600}
.fr-ticks li::before{content:"✓";margin-right:6px;color:var(--accS);font-weight:800}
.fr-phones{display:flex;gap:14px;align-items:flex-end;justify-content:center}
.fr-phone{display:grid;gap:6px;justify-items:center;align-content:center;text-align:center;width:150px;aspect-ratio:9/17;padding:14px;border-radius:26px;background:var(--t-bg);color:var(--t-text);border:6px solid #1A1214;box-shadow:0 30px 50px -26px rgba(0,0,0,.6);text-decoration:none;transition:transform .2s}
.fr-phone:nth-child(2){transform:translateY(-22px)}
.fr-phone:hover{transform:translateY(-6px)}
.fr-phone .eb{font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.fr-phone b{font-size:23px;line-height:1.05;font-weight:400}
.fr-phone small{font-size:10.5px}
.fr-phone i{font-style:normal;margin-top:6px;padding:5px 12px;border-radius:999px;background:var(--t-btn);color:var(--t-btn-ink);font-size:10px;font-weight:700;letter-spacing:.1em}
.fr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:fr}
.fr-steps li{counter-increment:fr;display:grid;gap:4px;padding:18px;border-radius:18px;background:var(--card);color:var(--card-ink);border:1px solid var(--line)}
.fr-steps li::before{content:counter(fr);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accS);color:#fff;font-weight:800;margin-bottom:6px}
.fr-steps b{font-size:16px}
.fr-steps span{font-size:14px;color:var(--muted)}
.fr-steps.sm{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}
.fr-inc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fr-inc>div{padding:20px 22px;border-radius:20px;background:var(--card);color:var(--card-ink);border:1px solid var(--line)}
.fr-inc h3{margin:0 0 10px;font-family:var(--f-display);font-size:22px}
.fr-inc ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.fr-inc li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:6px;font-size:15px}
.fr-yes li::before{content:"✓";color:#1E8C5A;font-weight:800}
.fr-no{background:linear-gradient(160deg,var(--alt),var(--card))!important}
.fr-no li::before{content:"★";color:var(--accS)}
.fr-tpl .tc .pv{height:300px}
.fr-locked .tc{position:relative}
.fr-ups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fr-up{display:grid;gap:8px;align-content:start;padding:20px;border-radius:20px;background:var(--card);color:var(--card-ink);border:1px solid var(--line)}
.fr-up.pop{border:2px solid var(--cta)}
.fr-up .tag{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--alt);color:var(--accS);padding:3px 9px;border-radius:999px}
.fr-up h3{margin:0;font-family:var(--f-display);font-size:24px}
.fr-price{margin:0;font-size:22px;font-weight:800;color:var(--accS)}
.fr-price small{font-size:13px;color:var(--muted);font-weight:600}
.fr-up p{margin:0;color:var(--muted)}
.fr-up ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14.5px}
.fr-up .btn{justify-self:start;margin-top:6px}
.fr-cta .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:20px 40px;align-items:center;padding:34px;border-radius:26px;background:linear-gradient(120deg,var(--alt),var(--card));border:1px solid var(--line)}
.fr-cta h2{margin:0}
.fr-cta .lead{margin:8px 0 0}
.fr-cta-b{display:flex;flex-wrap:wrap;gap:10px}
.fr-center{justify-content:center;margin-top:22px}
.fr-cmp .fr-col{background:color-mix(in srgb,var(--accS) 8%,transparent);font-weight:700}
.fr-rsvp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}
.fr-mock{position:relative;display:grid;place-items:center;padding:30px;border-radius:26px;background:var(--alt)}
.fr-mock-card{width:min(320px,100%);display:grid;gap:12px;padding:22px;border-radius:20px;background:var(--card);color:var(--card-ink);box-shadow:0 26px 50px -30px rgba(0,0,0,.55)}
.fr-mock-h{margin:0;font-family:var(--f-display);font-size:22px;text-align:center}
.fr-mock-r{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fr-mock-r span{padding:10px;border-radius:12px;border:1.5px solid var(--line);font-size:13px;font-weight:700;text-align:center}
.fr-mock-r .on{border-color:var(--accS);background:color-mix(in srgb,var(--accS) 10%,transparent);color:var(--accS)}
.fr-mock-n{display:flex;justify-content:space-between;font-size:14px}
.fr-mock-m{margin:0;padding:10px 12px;border-radius:12px;background:var(--alt);font-size:13px;color:var(--muted)}
.fr-mock-b{padding:11px;border-radius:999px;background:var(--cta);color:var(--cta-ink);text-align:center;font-weight:700;font-size:14px}
.fr-mock-toast{position:absolute;right:12px;top:14px;padding:9px 13px;border-radius:12px;background:#fff;color:#2A1418;font-size:12.5px;box-shadow:0 14px 28px -16px rgba(0,0,0,.45)}
.fr-mock-toast b{color:#1E8C5A;margin-right:4px}
.fr-qs{margin-top:20px}
/* sign-up */
.fr-start-in{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:34px;align-items:start;margin-top:10px}
.fr-form{display:grid;gap:18px}
.fr-form h1{margin:0}
.fr-form .lead{margin:0}
.fr-form fieldset{border:1px solid var(--line);border-radius:20px;padding:18px 20px;margin:0;display:grid;gap:12px;background:var(--card);color:var(--card-ink)}
.fr-form legend{font-weight:800;font-size:16px;padding:0 6px}
.fr-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fr-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fr-opt{position:relative;cursor:pointer}
.fr-opt input{position:absolute;opacity:0;pointer-events:none}
.fr-card{display:grid;gap:4px;justify-items:center;text-align:center;padding:16px 8px;border-radius:16px;background:var(--t-bg);color:var(--t-text);border:2px solid transparent;box-shadow:0 0 0 1px var(--line);transition:border-color .15s,transform .15s}
.fr-card .eb{font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.fr-card b{font-size:20px;font-weight:400;line-height:1.1}
.fr-card small{font-size:11.5px;font-weight:700;opacity:.85}
.fr-opt input:checked+.fr-card{border-color:var(--accS);transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(0,0,0,.5)}
.fr-opt input:focus-visible+.fr-card{outline:3px solid var(--accS);outline-offset:2px}
.fr-ok{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;font-size:14px}
.fr-ok input{width:18px;height:18px;margin-top:2px}
.fr-go{justify-self:start;padding:15px 30px;font-size:16px}
.fr-side{display:grid;gap:14px;position:sticky;top:16px}
.fr-done{max-width:760px;margin:20px auto;text-align:center;padding:30px;border-radius:24px;background:var(--card);color:var(--card-ink);border:1px solid var(--line)}
.fr-done .m-ctas{justify-content:center}
.fr-done .fr-steps{text-align:left}
.foot-free{display:inline-block;margin-left:6px;font-size:11px;font-weight:800;letter-spacing:.06em;padding:1px 7px;border-radius:999px;background:var(--cta);color:var(--cta-ink)}
.m-nav a.free::after{content:"FREE";margin-left:5px;font-size:9.5px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:#fff;color:#9E2A4A;vertical-align:1px}
.pk-free{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 20px;align-items:center;margin-bottom:18px;padding:16px 20px;border-radius:18px;border:1.5px dashed var(--accS);background:var(--alt);color:var(--pg-ink)}
.pk-free b{font-family:var(--f-display);font-size:22px}
.pk-free span{color:var(--muted)}
.pk-free .tag{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--cta);color:var(--cta-ink)}
@media (max-width:1000px){.fr-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-ups{grid-template-columns:1fr}.fr-start-in{grid-template-columns:1fr}.fr-side{position:static}.fr-rsvp{grid-template-columns:1fr}.fr-cta .wrap{grid-template-columns:1fr}}
@media (max-width:640px){.fr-inc,.fr-row{grid-template-columns:1fr}.fr-pick{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-steps,.fr-steps.sm{grid-template-columns:1fr}.fr-phone{width:110px;padding:10px}.fr-phone b{font-size:17px}.fr-phone:nth-child(3){display:none}.fr-tabs{border-radius:16px}.pk-free{grid-template-columns:1fr}.fr-cta .wrap{padding:22px}}
.pk-free,.pk-free:hover{text-decoration:none}.pk-free b{display:inline-block;margin-bottom:2px;color:var(--pg-ink)}

/* main menu: never cut the Get started button (owner, 12 Oct 2026) */
.m-nav .hi{position:sticky;right:0;flex:none;box-shadow:-18px 0 12px -6px var(--nav)}
@media (max-width:1440px){.m-nav a,.m-nav button{padding-inline:9px;font-size:13.5px}}

/* prices: Free Starter column */
.cmp th small{display:block;font-size:12px;font-weight:700;color:var(--accS);margin-top:2px}
.cmp .cmp-free{background:color-mix(in srgb,var(--accS) 7%,transparent)}
.cmp th.cmp-free a{color:inherit;text-decoration:none}
.cmp-ctas{justify-content:center;margin-top:20px}
/* footer photos: WordPress pages load styles that set img{height:auto}, which squashed these rings (owner, 12 Oct 2026) */
.foot .foot-moments span{display:block;flex:none;width:clamp(70px,8vw,112px);height:clamp(70px,8vw,112px);aspect-ratio:auto;overflow:hidden;box-sizing:border-box}
.foot .foot-moments span img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover}
.foot .foot-free{white-space:nowrap}
