:root { --ink:#173228; --green:#245b46; --deep:#133d31; --gold:#c89a4b; --cream:#fbf7ef; --paper:#fffdf8; --muted:#68766f; --line:#ddd9ce; font-family:'DM Sans',system-ui,sans-serif; color:var(--ink); background:var(--cream); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; background:var(--cream); }
a { color:inherit; }
.site-header { position:relative; z-index:5; display:flex; width:min(1180px,calc(100% - 40px)); margin:auto; padding:24px 0; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; }
.brand-mark { display:grid; width:40px; height:40px; place-items:center; border:1px solid var(--gold); border-radius:50% 50% 45% 45%; color:var(--gold); font-family:'Playfair Display',serif; font-size:1.35rem; }
.brand b { display:block; font-family:'Playfair Display',serif; font-size:1.08rem; }
.brand small { display:block; margin-top:1px; color:var(--muted); font-size:.65rem; letter-spacing:.03em; }
nav { display:flex; align-items:center; gap:30px; }
nav a,.header-link { font-size:.88rem; font-weight:600; text-decoration:none; }
.nav-progress,.header-link { padding:10px 16px; border:1px solid rgba(36,91,70,.35); border-radius:999px; }
nav a:not(.nav-progress) { position:relative; padding:9px 0; transition:color .28s ease,transform .28s ease; }
nav a:not(.nav-progress)::after { position:absolute; right:0; bottom:2px; left:0; height:2px; border-radius:99px; background:var(--gold); content:''; transform:scaleX(0); transform-origin:right; transition:transform .34s cubic-bezier(.22,1,.36,1); }
nav a:not(.nav-progress):hover { color:var(--green); transform:translateY(-2px); }
nav a:not(.nav-progress):hover::after { transform:scaleX(1); transform-origin:left; }
.nav-progress { transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.22,1,.36,1); }
.nav-progress:hover { border-color:var(--green); color:#fff; background:var(--green); box-shadow:0 10px 22px rgba(36,91,70,.2); transform:translateY(-3px); }
nav a:focus-visible { outline:3px solid rgba(200,154,75,.42); outline-offset:4px; }
nav a:active { transform:translateY(0) scale(.98); }
@media (prefers-reduced-motion:reduce) { nav a:not(.nav-progress),nav a:not(.nav-progress)::after,.nav-progress { transition:none; } nav a:not(.nav-progress):hover,.nav-progress:hover,nav a:active { transform:none; } }
.hero { position:relative; display:grid; width:min(1180px,calc(100% - 40px)); min-height:650px; margin:auto; grid-template-columns:1.03fr .97fr; align-items:center; gap:60px; }
.hero::before { position:absolute; top:3%; left:-18%; width:390px; height:390px; border:1px solid rgba(200,154,75,.25); border-radius:50%; content:''; }
.eyebrow { margin:0 0 17px; color:var(--gold); font-size:.72rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.hero h1,.section-intro h2,.final-cta h2,.form-intro h1,.progress-search h1 { margin:0; font-family:'Playfair Display',serif; font-size:clamp(2.75rem,5.2vw,5.15rem); font-weight:600; letter-spacing:-.045em; line-height:1.02; }
.hero h1 em { color:var(--green); font-weight:600; }
.hero-text { max-width:610px; margin:27px 0; color:var(--muted); font-size:1.08rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; min-height:50px; padding:0 24px; border:0; border-radius:5px; align-items:center; justify-content:center; gap:20px; font:inherit; font-size:.9rem; font-weight:700; text-decoration:none; cursor:pointer; }
.button-primary { background:var(--green); color:#fff; box-shadow:0 10px 22px rgba(36,91,70,.2); }
.button-primary:hover { background:var(--deep); transform:translateY(-1px); }
.button-secondary { border:1px solid #b8c0bb; background:transparent; color:var(--ink); }
.button-light { background:#fff; color:var(--deep); }
.hero-actions .button,.final-cta .button { position:relative; overflow:hidden; isolation:isolate; transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,background-color .32s ease,border-color .32s ease,color .32s ease; }
.hero-actions .button::before,.final-cta .button::before { position:absolute; z-index:0; top:-35%; left:-55%; width:38%; height:170%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent); content:''; pointer-events:none; transform:skewX(-20deg) translateX(-220%); transition:transform .68s cubic-bezier(.22,1,.36,1); }
.hero-actions .button span,.final-cta .button span { position:relative; z-index:1; display:inline-block; }
.hero-actions .button-arrow,.final-cta .button-arrow { transition:transform .32s cubic-bezier(.22,1,.36,1); }
@media (hover:hover) and (pointer:fine) { .hero-actions .button:hover,.final-cta .button:hover { transform:translateY(-4px); }.hero-actions .button:hover::before,.final-cta .button:hover::before { transform:skewX(-20deg) translateX(620%); }.hero-actions .button:hover .button-arrow,.final-cta .button:hover .button-arrow { transform:translateX(5px); }.hero-actions .button-primary:hover { background:var(--deep); box-shadow:0 16px 30px rgba(19,61,49,.27); }.hero-actions .button-secondary:hover { border-color:var(--green); background:var(--green); color:#fff; box-shadow:0 14px 26px rgba(36,91,70,.2); }.final-cta .button-light:hover { background:#fffaf0; box-shadow:0 16px 30px rgba(0,0,0,.22); } }
.hero-actions .button:active,.final-cta .button:active { transform:translateY(-1px) scale(.985); transition-duration:.1s; }
.hero-actions .button:focus-visible,.final-cta .button:focus-visible { outline:3px solid rgba(200,154,75,.45); outline-offset:4px; }
.trust-list { display:flex; margin:28px 0 0; padding:0; gap:22px; color:var(--muted); font-size:.8rem; list-style:none; }
.trust-list span { color:var(--green); font-weight:800; }
.hero-art { position:relative; min-height:610px; overflow:hidden; isolation:isolate; perspective:1000px; }
.hero-art::before { position:absolute; z-index:0; inset:5%; border:1px solid rgba(36,91,70,.12); border-radius:48% 48% 28px 28px; background:radial-gradient(circle at 76% 22%,rgba(255,255,255,.72) 0 8%,transparent 29%),radial-gradient(circle at 24% 78%,rgba(200,154,75,.13),transparent 31%),linear-gradient(145deg,#edf3ee 0%,#dce8df 54%,#cfdfd5 100%); box-shadow:inset 0 0 0 9px rgba(255,255,255,.24),0 28px 65px rgba(27,51,40,.12); content:''; }
.hero-art::after { position:absolute; z-index:0; inset:9%; border:1px solid rgba(255,255,255,.56); border-radius:46% 46% 22px 22px; background:linear-gradient(120deg,rgba(255,255,255,.1),transparent 42%); content:''; pointer-events:none; }
.card-runner { position:absolute; inset:0; z-index:1; backface-visibility:hidden; transform-style:preserve-3d; will-change:transform; }
.card-runner-back { animation:wedding-card-drift 24s linear infinite both; }
.card-runner-garden { z-index:3; animation:wedding-card-drift 24s linear -6s infinite both; }
.card-runner-front { z-index:2; animation:wedding-card-drift 24s linear -12s infinite both; }
.card-runner-islamic { z-index:4; animation:wedding-card-drift 24s linear -18s infinite both; }
.sample-card { position:absolute; display:flex; width:250px; aspect-ratio:2/3; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; border:1px solid rgba(23,50,40,.12); background:var(--paper); box-shadow:0 25px 50px rgba(27,51,40,.18); text-align:center; backface-visibility:hidden; transform-style:preserve-3d; }
.sample-card-back { top:7%; left:8%; transform:rotate(-8deg); background:linear-gradient(150deg,#edf8f7,#fff); color:#aa398e; }
.sample-card-back small { margin-bottom:70px; font-family:'Playfair Display',serif; font-style:italic; }
.sample-card-back strong { font-family:'Playfair Display',serif; font-size:2.3rem; font-style:italic; line-height:.84; }
.sample-card-back strong i { color:#d8aad0; }
.sample-card-back span { margin-top:65px; font-size:.72rem; font-weight:700; }
.sample-card-back b { font-size:.65rem; }
.sample-card-front { right:4%; bottom:2%; transform:rotate(5deg); padding:28px; }
.sample-card-garden { top:5%; right:7%; transform:rotate(4deg); }
.sample-card-islamic { bottom:3%; left:7%; transform:rotate(-5deg); }
.hero-art .sample-card-back,
.hero-art .sample-card-front,
.hero-art .sample-card-garden,
.hero-art .sample-card-islamic { top:50%; right:auto; bottom:auto; left:50%; transform:translate(-50%,-50%); }
.sample-card-front small { margin-top:55px; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.sample-card-front h2 { font-family:'Playfair Display',serif; font-size:2rem; line-height:1; }
.sample-card-front h2 i { color:var(--gold); }
.card-pattern { position:absolute; top:-74px; width:180px; height:180px; border:18px double var(--gold); opacity:.35; transform:rotate(45deg); }
.mini-details { display:flex; margin:40px 0 20px; padding:8px 18px; border-block:1px solid var(--gold); align-items:center; gap:10px; }
.mini-details b { font-family:'Playfair Display',serif; font-size:2.3rem; }
.mini-details span { font-size:.6rem; text-align:left; }
.sample-card-front p { margin-top:auto; font-family:'Playfair Display',serif; font-size:.72rem; font-style:italic; }
.sample-card-image { padding:0; background:var(--paper); user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.sample-card-image>img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; pointer-events:none; }
.landing-card-watermark { position:absolute; z-index:2; inset:0; overflow:hidden; pointer-events:none; }
.landing-card-watermark span { position:absolute; left:-28%; width:156%; color:rgba(255,255,255,.48); font:800 clamp(.52rem,.95vw,.78rem)/1 Arial,sans-serif; letter-spacing:.1em; text-align:center; text-shadow:1px 1px 2px rgba(0,0,0,.58); transform:rotate(-45deg); white-space:nowrap; }
.landing-card-watermark span:first-child { top:34%; }.landing-card-watermark span:last-child { top:62%; }
@keyframes wedding-card-drift { from { transform:translate3d(145%,0,0); } to { transform:translate3d(-145%,0,0); } }
.feature-strip { display:grid; width:calc(100% - 48px); margin:65px auto 120px; padding:38px 24px; border-block:1px solid var(--line); grid-template-columns:repeat(3,1fr); gap:60px; }
.feature-strip article { display:flex; gap:18px; }
.feature-strip article>span { color:var(--gold); font-family:'Playfair Display',serif; font-size:1.7rem; }
.feature-strip h2 { margin:0 0 7px; font-family:'Playfair Display',serif; font-size:1.25rem; }.feature-strip p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.6; }
.journey { width:min(1060px,calc(100% - 40px)); margin:0 auto 120px; }
.section-intro { max-width:670px; margin-bottom:55px; }.section-intro h2 { font-size:clamp(2.3rem,4vw,3.8rem); }
.journey ol { display:grid; margin:0; padding:0; grid-template-columns:repeat(4,1fr); gap:20px; list-style:none; }
.journey li { min-height:220px; padding:25px; border:1px solid var(--line); background:rgba(255,255,255,.5); }
.journey li>b { color:var(--gold); font-family:'Playfair Display',serif; font-size:2rem; }.journey h3 { margin:47px 0 9px; font-family:'Playfair Display',serif; font-size:1.25rem; }.journey p { margin:0; color:var(--muted); font-size:.85rem; line-height:1.6; }
.final-cta { display:flex; width:min(1180px,calc(100% - 40px)); margin:0 auto 70px; padding:54px 60px; border-radius:8px; background:var(--deep); color:#fff; align-items:center; justify-content:space-between; gap:30px; }.final-cta h2 { font-size:clamp(2rem,4vw,3.4rem); }.final-cta .eyebrow { margin-bottom:10px; }
.site-footer { display:block; width:calc(100% - 48px); margin:auto; padding:42px 0 25px; border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; }.footer-main { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; }.footer-main>div:first-child>p { margin:12px 0 0; }.footer-brand small { display:none; }.footer-social>p { margin:0 0 12px; color:var(--ink); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.social-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }.social-links a { display:flex; min-height:42px; padding:7px 13px 7px 8px; border:1px solid var(--line); border-radius:999px; align-items:center; gap:8px; background:rgba(255,255,255,.55); color:var(--ink); font-weight:700; text-decoration:none; transition:border-color .25s,background .25s,color .25s,transform .25s,box-shadow .25s; }.social-links a span { display:grid; width:27px; height:27px; border-radius:50%; place-items:center; background:var(--green); color:#fff; transition:background .25s,transform .25s; }.social-links svg { width:16px; height:16px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.social-links .social-icon-fill { fill:currentColor; stroke:none; }.social-links a:hover { color:#fff; transform:translateY(-3px); }.social-links a:hover span { background:rgba(255,255,255,.18); transform:rotate(-5deg) scale(1.08); }.social-links .social-instagram:hover { border-color:#DD2A7B; background:linear-gradient(135deg,#FEDA77 0%,#F58529 28%,#DD2A7B 52%,#8134AF 76%,#515BD4 100%); box-shadow:0 10px 22px rgba(221,42,123,.3); }.social-links .social-facebook:hover { border-color:#1877F2; background:#1877F2; box-shadow:0 10px 22px rgba(24,119,242,.3); }.social-links .social-whatsapp:hover { border-color:#25D366; background:#25D366; box-shadow:0 10px 22px rgba(37,211,102,.3); }.social-links .social-tiktok:hover { border-color:#111; background:#111; box-shadow:0 10px 22px rgba(0,0,0,.22); }.social-links a:focus-visible { outline:3px solid rgba(36,91,70,.2); outline-offset:2px; }.footer-bottom { display:flex; margin-top:30px; padding-top:18px; border-top:1px solid rgba(221,217,206,.7); justify-content:space-between; gap:20px; font-size:.72rem; }

.utility-page { background:linear-gradient(135deg,#f7f1e6 0,#fbf8f1 48%,#e7f0ea 100%); }.compact-header { min-height:90px; }.form-page,.progress-page { display:grid; width:min(1000px,calc(100% - 40px)); min-height:calc(100vh - 160px); margin:20px auto 60px; grid-template-columns:.85fr 1.15fr; align-items:center; gap:70px; }.form-intro h1,.progress-search h1 { font-size:clamp(2.7rem,5vw,4.5rem); }.form-intro>p:last-child,.progress-search>p { color:var(--muted); line-height:1.7; }
.public-form,.progress-search { padding:clamp(24px,4vw,42px); border:1px solid rgba(23,50,40,.12); border-radius:12px; background:rgba(255,255,255,.86); box-shadow:0 24px 60px rgba(23,50,40,.1); }.public-form fieldset { margin:0 0 22px; padding:0; border:0; }.public-form legend,.public-form label,.progress-search label { display:block; margin:0 0 7px; font-size:.82rem; font-weight:700; }.choice-grid,.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.choice-card { display:flex!important; margin:0!important; padding:15px; border:1px solid var(--line); border-radius:7px; align-items:flex-start; gap:10px; cursor:pointer; }.choice-card:has(input:checked) { border-color:var(--green); background:#edf5f0; }.choice-card input { margin-top:4px; accent-color:var(--green); }.choice-card b,.choice-card small { display:block; }.choice-card small { margin-top:3px; color:var(--muted); font-weight:400; }.public-form>label,.public-form>div>label,.two-columns label { margin-top:17px; }
.public-form input:not([type=radio]),.public-form select,.progress-search input { width:100%; min-height:48px; padding:11px 13px; border:1px solid #cbd2cd; border-radius:5px; background:#fff; color:var(--ink); font:inherit; }.public-form input:focus,.public-form select:focus,.progress-search input:focus { border-color:var(--green); outline:3px solid rgba(36,91,70,.12); }.submit-button { width:100%; margin-top:27px; }.privacy-note { margin:12px 0 0; color:var(--muted); font-size:.72rem; text-align:center; }.form-alert,.field-error { color:#a32626; }.form-alert { margin-bottom:18px; padding:12px; border-radius:5px; background:#fff0f0; }.field-error { margin:6px 0 0; font-size:.78rem; }
.button.is-loading{display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.button.is-loading::before{width:13px;height:13px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:'';animation:customer-button-spin .75s linear infinite}@keyframes customer-button-spin{to{transform:rotate(360deg)}}
.dropdown-field + .dropdown-field { margin-top:17px; }
.progress-page { display:block; max-width:820px; padding-top:35px; }.progress-search { text-align:center; }.progress-search h1 { font-size:3.7rem; }.progress-search form { max-width:680px; margin:28px auto 0; text-align:left; }.progress-lookup-fields { display:grid; grid-template-columns:1fr auto; align-items:end; gap:9px; }.progress-lookup-fields label { min-height:2.1em; }.progress-lookup-fields .button { min-height:48px; }.search-row { display:grid; grid-template-columns:1fr auto; gap:9px; }.public-progress-card { margin-top:24px; padding:clamp(24px,5vw,42px); border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 20px 50px rgba(23,50,40,.1); }.progress-card-heading { display:flex; align-items:center; justify-content:space-between; }.progress-card-heading small { color:var(--muted); font-weight:700; letter-spacing:.13em; }.progress-card-heading h2 { margin:4px 0 0; font-family:'Playfair Display',serif; }.progress-card-heading>strong { font-family:'Playfair Display',serif; font-size:2.4rem; }.public-progress-track { height:12px; margin:25px 0; overflow:hidden; border-radius:99px; background:#e9ecea; }.public-progress-track > span { display:block; height:100%; border-radius:inherit; }.public-progress-card[data-progress-tone=red] .public-progress-track span { background:#d64d4d; }.public-progress-card[data-progress-tone=yellow] .public-progress-track span { background:#e0ad35; }.public-progress-card[data-progress-tone=green] .public-progress-track span { background:#3a9861; }.public-progress-card h3 { margin:0; font-family:'Playfair Display',serif; font-size:1.8rem; }.public-progress-card>p { color:var(--muted); }.public-stages { display:grid; margin-top:28px; grid-template-columns:repeat(5,1fr); gap:8px; }.public-stages div { color:#a0aaa4; font-size:.68rem; text-align:center; }.public-stages i { display:grid; width:25px; height:25px; margin:0 auto 7px; border:1px solid #c9d0cc; border-radius:50%; place-items:center; font-style:normal; }.public-stages .complete { color:var(--green); font-weight:700; }.public-stages .complete i { border-color:var(--green); background:var(--green); color:#fff; }

@media (max-width:850px) { nav>a:not(.nav-progress) { display:none; }.hero { min-height:auto; padding:55px 0 0; grid-template-columns:1fr; }.hero-art { min-height:560px; }.feature-strip { grid-template-columns:1fr; }.journey ol { grid-template-columns:1fr 1fr; }.final-cta { padding:40px; }.form-page { grid-template-columns:1fr; gap:30px; }.form-intro { max-width:650px; } }
@media (max-width:700px) { .progress-lookup-fields { grid-template-columns:1fr; }.progress-lookup-fields label { min-height:0; } }
@media (max-width:560px) { .site-header { width:min(100% - 28px,1180px); padding:17px 0; }.brand small { display:none; }.site-header nav { gap:8px; }.compact-header { flex-wrap:wrap; }.compact-header nav { width:100%; justify-content:flex-end; }.compact-header .header-link { padding:9px 13px; font-size:.8rem; }.hero { width:calc(100% - 28px); }.hero h1 { font-size:2.65rem; }.hero-art { min-height:440px; }.sample-card { width:185px; }.sample-card-back strong { font-size:1.75rem; }.sample-card-front { right:0; }.trust-list { flex-wrap:wrap; gap:8px 16px; }.feature-strip,.journey,.final-cta,.site-footer { width:calc(100% - 28px); }.journey ol { grid-template-columns:1fr; }.journey li { min-height:auto; }.final-cta { padding:30px 24px; flex-direction:column; align-items:flex-start; }.choice-grid,.two-columns { grid-template-columns:1fr; }.form-page,.progress-page { width:calc(100% - 28px); }.progress-search h1 { font-size:2.65rem; }.search-row { grid-template-columns:1fr; }.public-stages { gap:3px; }.public-stages span { font-size:.58rem; }.footer-main,.footer-bottom { flex-direction:column; }.social-links { justify-content:flex-start; } }

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button,.button span,.button::before { transition:none!important; }.hero-actions .button::before,.final-cta .button::before { display:none; }.hero-actions .button:hover,.final-cta .button:hover,.hero-actions .button:hover .button-arrow,.final-cta .button:hover .button-arrow { transform:none; }.card-runner { animation:none; transform:none; will-change:auto; } }

.order-lifecycle{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.order-lifecycle-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.order-lifecycle-heading small{color:var(--green);font-size:.66rem;font-weight:800;letter-spacing:.12em}.order-lifecycle-heading h4{margin:4px 0 0;font-family:'Playfair Display',serif;font-size:1.35rem}.order-lifecycle-heading>span{color:var(--muted);font-size:.74rem;text-align:right}.order-lifecycle-list{display:grid;margin:20px 0 0;padding:0 0 7px;grid-auto-columns:minmax(142px,1fr);grid-auto-flow:column;gap:0;overflow-x:auto;list-style:none;scroll-snap-type:x proximity}.order-lifecycle-list li{position:relative;min-width:0;padding:0 13px 8px 0;color:#84908a;scroll-snap-align:start}.order-lifecycle-list li:not(:last-child)::after{position:absolute;top:17px;left:37px;right:0;height:2px;background:#dbe1dd;content:''}.order-lifecycle-marker{position:relative;z-index:1;display:grid;width:36px;height:36px;margin-bottom:10px;place-items:center;border:2px solid #cbd4cf;border-radius:50%;color:#728078;background:#fff;font-size:.76rem;font-weight:800}.order-lifecycle-list strong,.order-lifecycle-list small{display:block}.order-lifecycle-list strong{font-size:.77rem;line-height:1.25}.order-lifecycle-list small{margin-top:4px;font-size:.66rem;line-height:1.35}.order-lifecycle-list .is-complete{color:#3d6e53}.order-lifecycle-list .is-complete .order-lifecycle-marker{border-color:#6dae86;color:#fff;background:#4d976a}.order-lifecycle-list .is-complete:not(:last-child)::after{background:#77ae8c}.order-lifecycle-list .is-current{color:#173f2d}.order-lifecycle-list .is-current .order-lifecycle-marker{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 0 0 5px rgba(36,91,70,.12)}.order-lifecycle-list .is-current strong{font-weight:850}@media(max-width:560px){.order-lifecycle-heading{align-items:flex-start;flex-direction:column}.order-lifecycle-heading>span{text-align:left}}
.order-lifecycle{margin-bottom:16px}
.tracking-card { margin-top:24px; padding:18px; border:1px solid #cfe1d6; border-radius:8px; background:#f2f8f4; }.tracking-card>small { display:block; margin-bottom:12px; color:var(--green); font-weight:800; letter-spacing:.1em; }.tracking-card>div { display:flex; padding:6px 0; justify-content:space-between; gap:20px; }.tracking-card span { color:var(--muted); }.tracking-number { font-family:ui-monospace,monospace; letter-spacing:.05em; }.tracking-card>p { margin:9px 0 0; color:var(--muted); font-size:.78rem; }
.deposit-public-status { display:flex; margin-top:20px; padding:14px 16px; border-left:4px solid #d4a329; border-radius:6px; background:#fff8e8; align-items:center; justify-content:space-between; gap:14px; }.deposit-public-status[data-status=paid] { border-left-color:#2f8a55; background:#eff8f2; }.deposit-public-status[data-status=failed] { border-left-color:#c94343; background:#fff2f2; }.deposit-public-status span { color:var(--muted); }.deposit-public-status p { flex-basis:100%; margin:0; }.deposit-public-status:has(p) { flex-wrap:wrap; }
.public-artwork-action { display:flex; margin:20px 0; padding:16px; align-items:center; justify-content:space-between; gap:18px; border:1px solid #b9dac8; border-radius:9px; background:#edf7f1; }.public-artwork-action strong,.public-artwork-action span { display:block; }.public-artwork-action strong { color:#174b37; }.public-artwork-action>div span { margin-top:4px; color:#5c6e65; font-size:.78rem; }.public-artwork-action .button { flex:0 0 auto; }.public-artwork-access-note { max-width:220px; color:#7a5b1d; font-size:.75rem; font-weight:700; text-align:right; }
.public-artwork-previews { display:grid; margin:18px 0 24px; gap:16px; }.public-artwork-previews article { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#f8faf9; }.public-artwork-previews article>div { display:flex; padding:12px 14px; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); }.public-artwork-previews article>div strong { color:var(--deep); font-size:.85rem; }.public-artwork-previews article>div span { color:var(--muted); font-size:.72rem; }.public-artwork-previews iframe { display:block; width:100%; height:560px; border:0; background:#e9eeeb; }
@media (max-width:560px) { .public-artwork-action { align-items:stretch; flex-direction:column; }.public-artwork-action .button { width:100%; }.public-artwork-access-note { max-width:none; text-align:left; } }
@media (max-width:560px) { .public-artwork-previews iframe { height:440px; } }
.payment-success-message { margin-bottom:18px; padding:13px 15px; border:1px solid #b9dac8; border-radius:8px; color:#1c6840; background:#edf8f1; font-weight:700; }.balance-payment-card { margin-top:22px; padding:20px; border:1px solid #e4d5ad; border-radius:10px; background:#fffbf1; }.balance-payment-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.balance-payment-heading small { color:#8a6920; font-weight:850; letter-spacing:.11em; }.balance-payment-heading h4 { margin:4px 0 0; color:var(--deep); font-family:'Playfair Display',serif; font-size:1.35rem; }.balance-payment-heading>strong { padding:7px 11px; border-radius:99px; color:#17603d; background:#e9f5ed; white-space:nowrap; }.balance-payment-card>p { color:var(--muted); font-size:.85rem; line-height:1.6; }.balance-payment-layout { display:grid; margin-top:16px; grid-template-columns:190px 1fr; gap:18px; align-items:center; }.balance-qr-panel img,.balance-qr-placeholder { display:grid; width:100%; aspect-ratio:1; border:1px solid #d6ddd8; border-radius:8px; background:#fff; object-fit:contain; place-items:center; text-align:center; }.balance-qr-placeholder strong { display:block; font-size:2rem; }.balance-qr-placeholder span { display:block; padding:8px; color:var(--muted); font-size:.7rem; }.balance-payment-layout form label { font-size:.8rem; font-weight:800; }.balance-payment-layout form>p { margin:5px 0 10px; color:var(--muted); font-size:.72rem; }.balance-payment-layout input { width:100%; padding:10px; border:1px solid #ccd5d0; border-radius:7px; background:#fff; }.balance-payment-layout button { width:100%; margin-top:12px; }.balance-status-message { margin-top:16px; padding:15px; border-left:4px solid #d3a02c; border-radius:7px; background:#fff7e2; }.balance-status-message strong,.balance-status-message span { display:block; }.balance-status-message span { margin-top:4px; color:#665a3f; font-size:.8rem; }.balance-status-message.is-paid { border-left-color:#2d8a53; background:#edf8f1; }.balance-status-message.is-failed { border-left-color:#c84949; background:#fff1f1; }
@media (max-width:560px) { .balance-payment-layout { grid-template-columns:1fr; }.balance-qr-panel { width:min(220px,100%); margin:auto; }.balance-payment-heading { flex-direction:column; } }
.balance-receipt-picker { display:flex; align-items:center; gap:10px; min-width:0; }
.balance-receipt-picker input { flex:1; min-width:0; }
.balance-receipt-picker button { flex-shrink:0; width:auto; margin-top:0; padding:10px 14px; border:1px solid #e3bdb8; border-radius:8px; color:#a33428; background:#fff5f3; font:inherit; cursor:pointer; }
.balance-receipt-picker button:hover { background:#fce8e4; }
.balance-receipt-picker button[hidden] { display:none; }
.confirmation-dialog{width:min(92vw,460px);padding:32px;border:1px solid rgba(23,50,40,.16);border-radius:14px;color:var(--ink);background:#fff;box-shadow:0 28px 80px rgba(17,45,35,.28);text-align:center}.confirmation-dialog::backdrop{background:rgba(14,35,28,.58);backdrop-filter:blur(3px)}.confirmation-dialog-icon{display:grid;width:48px;height:48px;margin:0 auto 16px;border-radius:50%;place-items:center;color:#fff;background:var(--gold);font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700}.confirmation-dialog h2{margin:0;color:var(--deep);font-family:'Playfair Display',serif;font-size:1.8rem}.confirmation-dialog p{margin:12px 0 24px;color:var(--muted);font-size:.9rem;line-height:1.65}.confirmation-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirmation-dialog-actions .button{min-height:46px;padding:0 14px}.confirmation-dialog[open]{animation:confirmation-dialog-enter .18s ease-out}@keyframes confirmation-dialog-enter{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:560px){.confirmation-dialog{padding:25px 20px}.confirmation-dialog-actions{grid-template-columns:1fr}.confirmation-dialog-actions .button-primary{grid-row:1}}@media(prefers-reduced-motion:reduce){.confirmation-dialog[open]{animation:none}}

/* Customer proof is shown at the actual 4 x 6 card proportion (2:3). */
.public-artwork-previews article>.public-artwork-preview-frame{display:grid;width:min(100% - 32px,400px);aspect-ratio:2/3;margin:24px auto;padding:0;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#eef1ed;box-shadow:0 10px 28px rgba(13,38,27,.12)}
.public-artwork-preview-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
@media(max-width:560px){.public-artwork-previews article>.public-artwork-preview-frame{width:min(100% - 24px,320px);margin:16px auto}}

.balance-payment-notice { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:22px; padding:16px 18px; border:1px solid #e4c46b; border-left:5px solid #c99420; border-radius:10px; background:#fff8df; color:#574516; }
.balance-payment-notice strong,.balance-payment-notice span { display:block; }
.balance-payment-notice strong { color:#775817; }
.balance-payment-notice span { margin-top:4px; font-size:.82rem; line-height:1.5; }
.balance-payment-notice a { flex:0 0 auto; padding:10px 14px; border-radius:7px; background:#1d6249; color:#fff; font-size:.8rem; font-weight:800; text-decoration:none; white-space:nowrap; }
.balance-payment-notice a:hover { background:#164b38; }
@media (max-width:600px) { .balance-payment-notice { align-items:stretch; flex-direction:column; } .balance-payment-notice a { text-align:center; } }
.customer-information,.customer-policies{width:min(1180px,calc(100% - 40px));margin:80px auto}.faq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.faq-grid details,.customer-policies article{padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff}.faq-grid details{transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,border-color .22s ease}.faq-grid.faq-motion-ready details{opacity:0;transform:translateX(-28px)}.faq-grid.faq-motion-ready details:nth-child(even){transform:translateX(28px)}.faq-grid.faq-motion-ready details.is-visible{opacity:1;transform:translateX(0)}.faq-grid details:hover{border-color:#a9c4b6;box-shadow:0 10px 24px rgba(23,50,40,.12);transform:translateY(-4px)}.faq-grid.faq-motion-ready details.is-visible:hover{transform:translateY(-4px)}.faq-grid details[open]>p{animation:faq-answer-enter .3s ease-out both}.faq-grid summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;font-weight:800}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary::before{content:'›';font-size:1.35rem;line-height:1;transform:rotate(0);transition:transform .25s ease}.faq-grid details[open] summary::before{transform:rotate(90deg)}.faq-grid p,.customer-policies p{color:var(--muted);line-height:1.7}.customer-policies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-policies h2{margin-top:0;font-size:1.15rem}.footer-bottom a{color:inherit}@keyframes faq-answer-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:760px){.faq-grid,.customer-policies{grid-template-columns:1fr}.customer-information,.customer-policies{width:calc(100% - 28px);margin:50px auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* The same KingKadKahwin mark is used across public entry pages. */
.brand-logo-image{display:block;width:62px;height:62px;flex:0 0 62px;border:1px solid #b9852c;border-radius:12px;background:#111;box-shadow:0 5px 14px rgba(63,47,17,.16);object-fit:cover}
.footer-brand .brand-logo-image{width:52px;height:52px;flex-basis:52px;border-radius:10px}
@media(max-width:560px){.site-header .brand-logo-image{width:50px;height:50px;flex-basis:50px}}
