/* A product-first public surface shared by the marketing pages. */
:root{--blue:#2764ee;--ink:#111c2c;--muted:#59677b;--line:#d9e1ec;--paper:#f3f6fb}
body{background:#fff;color:var(--ink)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.top{border-color:rgba(210,220,235,.8);background:rgba(255,255,255,.94)}
.navlinks a{font-size:14px}.btn{border-radius:11px;font-size:14px}
.eyebrow{color:#335c9f;letter-spacing:.14em}.eyebrow:before{background:#477af2}
.section{padding-block:clamp(72px,8vw,132px)}
.section-heading{max-width:790px}.section-heading h2{font-size:clamp(39px,4.4vw,63px);line-height:1.02}
.section-heading p{font-size:17px;line-height:1.6}
.page-hero{background:#eef3fb;text-align:left;padding:118px 0 84px}
.page-hero .eyebrow{justify-content:flex-start}
.page-hero h1{max-width:870px;margin:0 0 20px;font-size:clamp(48px,6vw,88px)}
.page-hero p{max-width:640px;margin:0;color:#50647b;font-size:18px}
.page-hero .actions{justify-content:flex-start}
.hero:not(.homepage-hero){background:#edf3fa}
.hero:not(.homepage-hero) h1 span{color:#275cdf}
.software-intent-links{background:#f7f9fc}
.software-intent-links .guide-links{gap:0;border-top:1px solid var(--line)}
.software-intent-links .guide-link{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;min-height:225px;padding:28px 22px}
.software-intent-links .guide-link h3{font-size:20px}
.software-intent-links .guide-link:before{display:none}
.software-intent-links .guide-link:hover{background:#edf2fa}
.price-grid{gap:12px}
.price-card{box-shadow:none;border-radius:14px;padding:32px}
.price-card.featured{transform:none;background:#eaf0ff;border-color:#95b0fa;box-shadow:0 20px 44px rgba(34,82,170,.11)}
.price-card.featured:before{background:#245de4}
.price{font-size:52px}.price-card .desc,.price-card li{font-size:14px}
.event-pass{background:#142442;border-color:#142442;color:#fff;border-radius:18px;padding:34px}
.event-pass h2,.event-pass h3{color:#fff;font-size:27px}.event-pass .event-pass-title{margin:13px 0 8px;letter-spacing:-.03em}.event-pass p{color:#c7d2e3;font-size:15px}
.event-pass .pill{background:#dce9ff;color:#1c4a9b}
.event-pass .btn:not(.primary){background:transparent;color:#fff;border-color:#8094ac}
.guide-links:not(.software-intent-links .guide-links){gap:12px}
.guide-link{background:#fff;border-radius:13px}
.software-proof{background:#f3f6fb}
.software-proof-visual{background:#10233c;border-radius:18px;overflow:hidden}
.software-proof-visual figcaption{background:#10233c;color:#e6edf8}
.article-product-stage{background:#122b49;color:#f8fbff;padding:34px 0}
.article-product-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:5vw;align-items:center}
.article-product-stage[data-kind="tent"]{background:#e7eef8;color:#142b49}
.article-product-stage figure{margin:0;overflow:hidden;border-radius:13px;background:#e9eff6}
.article-product-stage figure img{display:block;width:100%;max-height:435px;object-fit:cover}
.article-product-stage figcaption{padding:12px 17px;background:#fff;color:#526983;font-size:12px;font-weight:750;letter-spacing:.04em}
.article-product-stage .eyebrow{color:#a8ccff}
.article-product-stage[data-kind="tent"] .eyebrow{color:#2859a3}
.article-product-stage h2{color:inherit;font-size:clamp(33px,3.3vw,48px)}
.article-product-stage p{color:#c2d1e4;font-size:16px;line-height:1.6}
.article-product-stage[data-kind="tent"] p{color:#52647b}
.article-product-stage .btn{margin-top:14px}
.buyer-head{background:#152846}
.buyer-row strong{color:#1556ca}
.guide article{font-size:16px;line-height:1.75}
.guide article>p,.guide li{font-size:16px}
.footer{background:#101b2d;border-top:0;color:#d4dce7}
.footer .brand,.footer h3{color:#fff}.footer a:not(.brand){color:#c2cede;font-size:13px}
.footer p,.footer-bottom{color:#9aa9bd}
.cta-band{background:#15366e}

/* Homepage: the product demonstration, with distinct paths for both buyers. */
.wedding-hero{background:#0d1829;color:#fff;padding:57px 0 58px;position:relative;overflow:hidden}
.wedding-hero:before{content:"";position:absolute;inset:0 0 auto;height:620px;background:radial-gradient(ellipse at 78% 20%,rgba(51,100,194,.22),transparent 52%),linear-gradient(180deg,#122743 0,#0d1829 90%);pointer-events:none}
.wedding-hero .wrap{position:relative;z-index:1}
.wedding-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:5vw;align-items:end;margin-bottom:45px}
.wedding-heading .eyebrow{color:#a1bfe8;font-size:12px;margin-bottom:22px}
.wedding-heading .eyebrow:before{background:#8de0c3}
.wedding-heading h1{color:#fff;font-size:clamp(54px,6.1vw,94px);line-height:.96;margin:0;letter-spacing:-.065em}
.wedding-heading h1 span{color:#aaceff}
.wedding-pitch>p{color:#b7c7da;font-size:18px;line-height:1.55;max-width:580px;margin:0 0 22px}
.wedding-audiences{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wedding-action{display:flex;flex-direction:column;justify-content:space-between;min-height:122px;padding:18px 17px;border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.wedding-action:hover{transform:translateY(-3px);box-shadow:0 15px 28px #0004}
.wedding-action small{font-size:10px;font-weight:800;letter-spacing:.12em}
.wedding-action strong{font-size:15px;line-height:1.25;letter-spacing:-.02em}
.wedding-action strong span{display:inline-block;float:right}
.wedding-action em{font-size:12px;font-style:normal}
.business-action{background:#2865ea;color:#fff}.business-action small,.business-action em{color:#d3e3ff}
.event-action{background:#f2f6ff;color:#1b2e4b}.event-action small,.event-action em{color:#526786}
.story-heading{display:flex;justify-content:space-between;gap:20px;color:#a8bad3;font-size:11px;letter-spacing:.15em;font-weight:800;margin:0 0 13px}
.story-heading span{color:#d7e9ff}
.wedding-studio{overflow:hidden;border:1px solid #406084;border-radius:18px;background:#14243a;box-shadow:0 30px 110px rgba(0,5,18,.5);color:#f8fbff}
.story-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:51px;padding:10px 17px;background:#14243a;color:#dce9fb;font-size:13px}
.story-toolbar>div:first-child{display:flex;align-items:center;gap:11px;min-width:0}
.story-toolbar strong{white-space:nowrap}.story-toolbar .story-separator{color:#758eae}
.story-logo{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#3477ff;color:#fff;font-size:16px;font-weight:900}
.story-live,.story-scale{font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap;color:#b7c9df}
.story-live span{color:#7bebbb}
.story-view{position:relative;aspect-ratio:1.72;overflow:hidden;background:#152633;isolation:isolate}
.story-view .tour-poster,.story-view .story-canvas,.story-view .tour-3d,.story-view .story-reset{position:absolute;inset:0;display:block;width:100%;height:100%}
.story-view .tour-poster{z-index:1;object-fit:cover;transition:opacity .55s ease}
.story-view .story-canvas{z-index:2;opacity:0;transition:opacity .5s ease}
.story-view .story-canvas.is-playing,.story-view .story-canvas.show-plan{opacity:1}
.story-view .tour-3d{z-index:3;visibility:hidden}
.story-view .tour-3d.active{visibility:visible}
.story-view .tour-3d canvas{width:100%;height:100%;display:block}
.story-has-webgl .story-view .tour-poster{opacity:0}
.story-view .tour-poster.story-final{z-index:4;opacity:1}
.story-view .story-canvas.show-plan{z-index:5;opacity:1;transition:none}
.story-view .story-reset{z-index:6;opacity:0;background:#eaf2fa;pointer-events:none;transition:opacity .54s ease}
.story-view .story-reset.is-visible{opacity:1}
.story-view-label{position:absolute;z-index:7;top:18px;left:18px;padding:8px 12px;background:rgba(8,23,35,.8);border:1px solid #8da7bc66;border-radius:6px;color:#f3f8fc;font-size:12px;font-weight:650;backdrop-filter:blur(7px)}
.story-view-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#87d8bf;margin-right:5px}
.story-timeline{background:#f7f9fe;color:#162741;padding:15px 20px 17px}
.story-timeline-meta{display:flex;align-items:center;gap:18px;min-height:36px}
.story-timeline-meta>span{color:#416da8;font-size:12px;font-weight:850;white-space:nowrap;letter-spacing:.08em}
.story-timeline-meta strong{font-size:16px;flex:1;line-height:1.25}
.story-timeline-actions{display:flex;align-items:center;gap:6px}
.story-timeline-actions button{border:1px solid #cbd8ea;border-radius:8px;background:#fff;color:#193654;font-size:12px;font-weight:700;padding:8px 12px;white-space:nowrap}
.story-timeline-actions button:hover{background:#eaf1fc}
.story-progress-track{height:4px;margin-top:14px;background:#d9e5f5;overflow:hidden;border-radius:3px}
.story-progress-track span{display:block;width:100%;height:100%;background:#3068e8;transform:scaleX(0);transform-origin:left}
.story-toolbar-bottom{background:#f7f9fe;border-top:1px solid #dbe5f1;color:#2e4363;min-height:55px}
.story-toolbar-bottom .mode-group{border-color:#cbd8e8;flex-shrink:0}
.story-toolbar-bottom .mode-group button{font-size:12px;color:#2d4769;background:transparent;padding:8px 13px}
.story-toolbar-bottom .mode-group button[aria-pressed=true]{background:#d9e8ff;color:#124fb7}
.story-toolbar-bottom .tour-actions{display:flex;gap:5px;border:0;padding:0;background:transparent}
.story-toolbar-bottom .tour-actions button{font-size:11px;border:1px solid #cbd8e8;border-radius:7px;color:#304b70;background:transparent;padding:8px 10px}
.story-toolbar-bottom .tour-actions button[aria-pressed=true]{background:#e0edff;color:#164ca2}
.story-toolbar-bottom .story-scale{margin-left:auto;color:#50698c}
.story-scrub-label{display:flex;align-items:center;gap:15px;color:#476286;font-size:12px;font-weight:700;margin-top:12px}
.story-scrub-label input{width:min(380px,70%);accent-color:#3469e9}
.story-disclaimer{font-size:12px;color:#91a5c1;margin:16px 0 0}
.visual-proof{background:#fff}
.visual-proof-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:32px}
.visual-proof-heading h2{font-size:clamp(42px,5vw,70px);line-height:.98;margin:0}
.visual-proof-heading>p{max-width:410px;font-size:18px;line-height:1.55;margin:0 0 5px}
.visual-proof-scenes{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:23px}
.visual-proof-scenes figure{margin:0;overflow:hidden;border:1px solid #d4dfea;border-radius:14px;background:#f2f6fb}
.visual-proof-scenes img{display:block;width:100%;height:340px;object-fit:cover}
.visual-proof-scenes figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;background:#fff}
.visual-proof-scenes figcaption span{color:#4276b7;font-size:11px;letter-spacing:.11em;font-weight:800}
.visual-proof-scenes figcaption strong{font-size:18px}
.business-flow{background:#f3f6fb}
.business-flow-views{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.business-flow-views figure{margin:0;overflow:hidden;background:#fff;border:1px solid #cddbeb;border-radius:14px}
.business-flow-views img{display:block;width:100%;height:320px;object-fit:cover}
.business-flow-views figcaption{display:grid;gap:3px;padding:16px 19px}
.business-flow-views figcaption span,.business-flow-final strong{font-size:11px;letter-spacing:.11em;color:#2a66b6;font-weight:850}
.business-flow-views figcaption strong{font-size:18px}
.business-flow-final{display:grid;grid-template-columns:190px 1fr auto;gap:26px;align-items:center;margin-top:12px;padding:24px;border-radius:12px;background:#152e50;color:#dfeafa}
.business-flow-final strong{color:#a9ccff}
.business-flow-final span{font-size:14px;line-height:1.55}
.business-flow-final a{color:#fff;font-weight:750;white-space:nowrap}
.planning-workflow{background:#eaf0f8}
.workflow-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:8vw;align-items:center}
.workflow-layout h2{font-size:clamp(43px,4.7vw,66px);line-height:1.02}
.workflow-layout>div>p{font-size:17px;max-width:460px;line-height:1.65}
.workflow-map{border-radius:18px;background:#fff;border:1px solid #ccdaed;padding:25px 30px;box-shadow:0 28px 60px #18375914}
.workflow-map>div{display:grid;grid-template-columns:36px 1fr;column-gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid #d9e4f1}
.workflow-map>div span{grid-row:1/3;font-size:12px;color:#2764d2;font-weight:900}
.workflow-map>div strong{font-size:20px}.workflow-map>div small{font-size:13px;color:#647890}
.workflow-map>p{margin:20px 0 0;font-size:13px;line-height:1.6;color:#607289}
.event-path{background:#142742;color:#fff}
.event-path-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.event-path .eyebrow{color:#a9caff}.event-path h2{color:#fff;font-size:clamp(42px,4vw,60px);margin-bottom:12px}
.event-path p{color:#b8c9de;font-size:17px;max-width:650px;margin:0}
.event-path .btn{flex-shrink:0}
.demo-page-hero{padding-bottom:65px}
.demo-story-section{padding-top:34px}
.demo-explainer{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:23px 0}
.demo-explainer>div{border-top:1px solid #d4deec;padding-top:15px}
.demo-explainer strong{font-size:17px}
.demo-explainer p{font-size:15px;line-height:1.65;max-width:500px}
.demo-caption{color:#667589;font-size:13px;line-height:1.6;text-align:left}
.demo-cta{justify-content:flex-start}

@media(max-width:1100px){
  .story-toolbar-bottom{flex-wrap:wrap}.story-toolbar-bottom .story-scale{display:none}
  .wedding-intro{gap:25px}.wedding-action{min-height:115px}
}
@media(max-width:900px){
  .wedding-hero{padding-top:35px}.wedding-intro{grid-template-columns:1fr;gap:20px}
  .wedding-pitch>p{max-width:700px}.wedding-audiences{max-width:700px}
  .visual-proof-heading,.event-path-inner{display:block}.visual-proof-heading>p{margin-top:22px}
  .workflow-layout{grid-template-columns:1fr;gap:28px}
  .article-product-grid{grid-template-columns:1fr;gap:25px}
  .business-flow-final{grid-template-columns:1fr;gap:10px}
  .navlinks.open{border:1px solid #d5dfed;border-radius:17px;top:77px;left:12px;right:12px;box-shadow:0 24px 55px #12274b30;padding:15px}
}
@media(max-width:640px){
  .section{padding-block:65px}.section-heading h2{font-size:37px}
  .page-hero{padding:116px 0 53px}.page-hero h1{font-size:43px}.page-hero p{font-size:16px}
  .wedding-hero{padding:20px 0 36px}
  .wedding-hero .wrap{width:calc(100% - 24px)}
  .wedding-intro{margin-bottom:18px;gap:10px}
  .wedding-heading .eyebrow{font-size:10px;margin-bottom:12px}
  .wedding-heading h1{font-size:clamp(39px,10vw,55px);line-height:1;letter-spacing:-.06em}
  .wedding-pitch>p{font-size:14px;line-height:1.4;margin:0 0 13px}
  .wedding-audiences{grid-template-columns:1fr;gap:6px}
  .wedding-action{min-height:0;padding:9px 13px;display:grid;grid-template-columns:1fr auto;gap:0 8px}
  .wedding-action small{font-size:9px;line-height:1.2}
  .wedding-action strong{grid-row:2;font-size:14px}
  .wedding-action strong span{display:none}
  .wedding-action em{grid-row:2;grid-column:2;align-self:end;font-size:10px;text-align:right;white-space:nowrap}
  .story-heading{font-size:9px;margin-bottom:8px;letter-spacing:.09em}
  .story-heading span{display:none}
  .wedding-studio{border-radius:12px}
  .story-toolbar{min-height:36px;padding:6px 9px;font-size:10px}
  .story-toolbar>div:first-child{gap:5px}
  .story-toolbar strong{font-size:10px}
  .story-logo{width:20px;height:20px;font-size:13px;border-radius:5px}
  .story-live{font-size:8px;letter-spacing:0}
  .story-toolbar .story-separator,.story-toolbar>div:first-child>span:last-child{display:none}
  .story-view{aspect-ratio:1.5}
  .story-view-label{font-size:9px;top:8px;left:8px;padding:5px 7px}
  .story-timeline{padding:8px 10px 10px}
  .story-timeline-meta{gap:8px;min-height:30px}.story-timeline-meta>span{font-size:9px}
  .story-timeline-meta strong{font-size:12px}
  .story-timeline-actions button{font-size:10px;padding:5px 7px}
  .story-progress-track{margin-top:6px}
  .story-toolbar-bottom{padding:6px 9px;gap:5px}
  .story-toolbar-bottom .mode-group{width:100%}.story-toolbar-bottom .mode-group button{flex:1;padding:6px 7px;font-size:10px}
  .story-toolbar-bottom .tour-actions{width:100%;justify-content:space-between}
  .story-toolbar-bottom .tour-actions button{font-size:10px;padding:6px}
  .story-disclaimer{font-size:11px;margin-top:10px}
  .visual-proof-heading h2{font-size:39px}.visual-proof-heading>p{font-size:15px}
  .visual-proof-scenes{grid-template-columns:1fr}.visual-proof-scenes img{height:230px}
  .business-flow-views{grid-template-columns:1fr}.business-flow-views img{height:230px}
  .visual-proof-scenes figcaption{padding:12px}.visual-proof-scenes figcaption strong{font-size:15px}
  .workflow-map{padding:14px}.workflow-map>div{padding:13px 0}.workflow-map>div strong{font-size:16px}
  .event-path h2{font-size:42px}.event-path p{font-size:15px}.event-path .btn{margin-top:21px}
  .demo-explainer{grid-template-columns:1fr}
  .software-intent-links .guide-links{grid-template-columns:1fr}
  .software-intent-links .guide-link{min-height:0;border-right:0;padding:18px 4px}
  .price-card.featured{transform:none}
  .event-pass{padding:25px}
}
@media(max-width:390px){
  .wedding-heading h1{font-size:38px}
  .wedding-action em{font-size:9px}
  .story-live{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .wedding-action,.story-view .tour-poster,.story-view .story-canvas,.story-view .story-reset{transition:none}
  .wedding-studio .story-timeline-actions,.wedding-studio .story-scrub-label{display:none}
}


/* Lightweight wedding autoplay: staged SVG until the visitor explicitly opens 3D. */
.story-view .story-build-plan{
  position:absolute;
  inset:0;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  background:#e8f1df;
  opacity:1;
  pointer-events:none;
  transition:opacity .7s cubic-bezier(.22,.72,.2,1),filter .7s ease;
}
.story-view .story-canvas{display:none}
.story-build-plan [data-story-layer]{
  opacity:0;
  transform:scale(.9);
  transform-box:fill-box;
  transform-origin:center;
  transition:opacity .42s ease,transform .62s cubic-bezier(.2,.78,.2,1);
}
.story-build-plan [data-story-layer].is-visible{
  opacity:1;
  transform:scale(1);
}
.story-build-plan [data-story-layer="footprint"]{
  transform:scale(.97);
}
.story-build-plan [data-story-layer="tent"]{
  transform:scale(.95);
  transform-origin:center bottom;
}
.story-build-plan [data-story-layer="chairs"]{
  transition-duration:.5s;
}
.story-build-plan [data-story-layer="dance"]{
  transform:scale(.82) rotate(-1.5deg);
}
.story-build-plan [data-story-layer="linens"],
.story-build-plan [data-story-layer="centerpieces"],
.story-build-plan [data-story-layer="lighting"],
.story-build-plan [data-story-layer="waterslide"]{
  transition-duration:.7s;
}
.story-build-plan.is-finished{
  opacity:1;
  filter:none;
}
.story-build-plan.is-hidden{
  opacity:0;
}
.story-build-plan.show-plan{
  z-index:5;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}
.story-has-webgl .story-build-plan{opacity:0}
.story-timeline-actions [data-story-explore]{
  color:#fff;
  border-color:#245fda;
  background:linear-gradient(135deg,#3476f2,#1d55ce);
  box-shadow:0 5px 14px rgba(39,100,238,.18);
}
.story-timeline-actions [data-story-explore]:hover{
  background:linear-gradient(135deg,#407ff4,#1748b6);
}
.wedding-studio[data-phase="finished"] .story-view-label{
  background:rgba(9,25,45,.86);
}
.wedding-studio[data-phase="finished"] .story-view-dot{
  background:#ffd77b;
}
@media(max-width:640px){
  .story-timeline-actions{gap:4px}
  .story-timeline-actions [data-story-explore]{
    padding:5px 7px;
    font-size:9px;
  }
}
@media(max-width:420px){
  .story-timeline-meta{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .story-timeline-meta strong{
    order:2;
    flex:1 0 70%;
  }
  .story-timeline-actions{
    order:3;
    width:100%;
    justify-content:flex-start;
  }
}
@media(prefers-reduced-motion:reduce){
  .story-view .story-build-plan,
  .story-build-plan [data-story-layer]{transition:none}
}

.demo-explainer-secondary{
  margin-top:-5px;
  padding:21px 23px;
  border:1px solid #d7e2ef;
  border-radius:14px;
  background:#f7f9fd;
}
.demo-explainer-secondary>div{border-top:0;padding-top:0}
.demo-explainer-secondary strong{color:#244b82}
.demo-explainer-secondary p{margin-bottom:0}
@media(max-width:640px){
  .demo-explainer-secondary{padding:16px;margin-top:3px}
}
