:root{font-family:system-ui,sans-serif;color:#283d34;background:#faf8f4;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:#465f4b;text-underline-offset:4px}button,input,select{font:inherit}button,a.demo-primary{cursor:pointer;display:inline-block;border:1px solid #57705a;border-radius:10px;padding:11px 18px;background:#526b54;color:white;text-decoration:none;min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #af7b56;outline-offset:4px}button:hover,a.demo-primary:hover{background:#3b543f}input,select{width:100%;padding:11px;border:1px solid #bfc9be;border-radius:8px;background:#fff;color:inherit}label{display:grid;gap:6px}h1,h2,h3{line-height:1.2;font-weight:550}h1{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,3.7rem);margin:12px 0 20px}h2{font-size:1.5rem}h3{font-size:1.15rem}.demo-top{max-width:1180px;margin:auto;padding:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.demo-top>a{text-decoration:none;font-weight:650}.demo-top span{font-weight:400}.demo-top nav{display:flex;flex-wrap:wrap;gap:16px}.demo-top nav a{padding:5px 0}main{max-width:1120px;margin:auto;padding:35px 24px 70px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:650}.demo-heading{max-width:790px}.demo-notice{background:#efeee6;border-radius:12px;padding:16px;font-size:.9rem}.demo-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;margin-top:30px;align-items:start}.demo-photo{width:100%;height:210px;object-fit:cover;border-radius:20px 20px 0 0;display:block}.demo-workspace{background:#fff;border:1px solid #d9ded3;padding:clamp(18px,4vw,34px);border-radius:0 0 20px 20px}.demo-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.demo-tabs button{background:white;color:#344a39;border-color:#ccd6c9}.demo-tabs button[aria-pressed=true]{background:#526b54;color:white}.demo-aside{background:#e8eedf;padding:26px;border-radius:20px;position:sticky;top:24px}.demo-aside button{display:block;background:transparent;color:#344a39;margin-top:18px}.demo-aside .demo-primary{width:100%}form{display:grid;gap:16px;margin:24px 0}form button{justify-self:start}.demo-tasks{display:grid;gap:12px}.demo-tasks label{display:flex;align-items:center;gap:12px;padding:12px;background:#f7f8f3;border-radius:10px}.demo-tasks input{width:22px;height:22px;accent-color:#526b54}.demo-costs div{display:flex;gap:15px;justify-content:space-between;padding:12px 0;border-bottom:1px solid #dde2d6}.demo-costs dd{margin:0;white-space:nowrap}.demo-connection{margin-top:30px;background:#f9f0e7;border-radius:12px;padding:20px}.demo-total{background:#e8eedf;border-radius:10px;padding:18px}.demo-status{font-size:.9rem;min-height:1.5em}li{overflow-wrap:anywhere}@media(max-width:720px){.demo-layout{grid-template-columns:1fr}.demo-aside{position:static}.demo-top{padding:18px}main{padding:16px 18px 45px}.demo-photo{height:170px}.demo-top nav{gap:14px;font-size:.9rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

:root{color:#354138;background:#fcfaf7}main{max-width:1180px;padding-top:16px}.demo-heading{position:relative;max-width:none;min-height:460px;border-radius:28px;overflow:hidden;display:flex;align-items:end;color:white;background:#3d493c}.demo-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.demo-heading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#18241fdf,#18241f55 75%)}.demo-hero-copy{position:relative;z-index:1;padding:clamp(26px,5vw,58px);max-width:720px}.demo-hero-copy>p:not(.eyebrow){max-width:540px;font-size:19px;line-height:1.65}.demo-hero-copy h1{font-size:clamp(36px,5vw,64px);font-weight:400;margin:14px 0}.demo-hero-copy .demo-primary{background:#fff8ee;color:#374b3b;border:0;font-weight:650}.demo-highlights{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 30px}.demo-highlights span{padding:8px 16px;border-radius:40px;background:#f0e8de;font-size:14px}.demo-workspace{border-radius:22px;border-color:#e9e1d7;box-shadow:0 5px 24px #4c3b2b05}.demo-story{margin:24px 0;background:#f3ede5;padding:30px;border-radius:22px}.demo-timeline{display:grid;gap:0}.demo-timeline>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #ddd2c6}.demo-timeline>div:last-child{border:0}.demo-timeline strong{color:#865864}.demo-aside{background:#f2e5e6}.demo-aside h2{font-family:Georgia,serif;font-size:29px;font-weight:400}.demo-aside .demo-notice{background:transparent;padding:0;color:#695d5d;font-size:13px;margin-top:24px}.demo-aside .demo-primary{background:#75515d;border-color:#75515d}.demo-aside button{font-size:14px;border:0;padding-left:0}.demo-tasks label{background:#faf7f2;padding:16px}.demo-tasks label:has(input:checked){text-decoration:line-through;color:#6d796b;background:#eef2e9}progress{width:100%;height:9px;accent-color:#6f845e;margin-bottom:24px}.demo-tabs button{border-radius:30px}.demo-costs div:last-child{background:#f0f3ea;padding:16px;border:0;border-radius:12px}.demo-workspace li{padding:12px 14px;margin:8px 0;background:#faf7f2;border-radius:12px}.demo-workspace ul{list-style:none;padding:0}.demo-total{background:#f0f3ea}.profile-badge{font-size:12px;background:#f3e9de;padding:7px 12px;border-radius:20px}.profile-offerings{display:grid;gap:12px;margin:24px 0}.profile-offerings article{padding:16px 20px;border-radius:14px;background:#faf4ed}.profile-offerings h3{margin:0}.profile-offerings p{margin:8px 0 0}textarea{font:inherit;width:100%;min-height:120px;padding:14px;border:1px solid #bfc9be;border-radius:10px;resize:vertical}.demo-top nav a[aria-current=page]{font-weight:700;color:#79515c}@media(max-width:720px){.demo-heading{min-height:440px;border-radius:22px}.demo-hero-copy{padding:28px 24px}.demo-hero-copy>p:not(.eyebrow){font-size:17px}.demo-heading:after{background:linear-gradient(0deg,#18241fe8,#18241f22)}.demo-highlights{gap:7px}.demo-highlights span{padding:6px 10px;font-size:12px}.demo-timeline>div{grid-template-columns:90px 1fr;gap:10px}.demo-aside{padding:25px}.demo-story{padding:24px}.demo-layout{margin-top:15px}}

/* Wedding demo: keep the working plan within easy reach on small screens. */
@media(max-width:760px){
 #portal-demo[data-kind="wedding"] .service-header .visible-services{display:flex!important;flex-wrap:nowrap!important;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}
 #portal-demo[data-kind="wedding"] .service-header .visible-services>a{flex:0 0 auto;min-height:44px!important;padding:8px 12px!important;font-size:13px!important;white-space:nowrap;border-radius:10px!important}
 #portal-demo[data-kind="wedding"] .demo-page-content{padding-top:10px}
 #portal-demo[data-kind="wedding"] .location-path{font-size:12px;margin-bottom:8px}
 #portal-demo[data-kind="wedding"] .demo-example-banner{padding:8px 0;margin-bottom:10px;border:0;border-radius:0;background:transparent;gap:2px;font-size:11px;line-height:1.4}
 #portal-demo[data-kind="wedding"] .demo-example-banner a{min-height:44px;font-size:12px}
 #portal-demo[data-kind="wedding"] .demo-heading{padding:14px;border-radius:12px}
 #portal-demo[data-kind="wedding"] .demo-hero-photo{width:64px;height:64px;margin:0 0 8px 12px}
 #portal-demo[data-kind="wedding"] .demo-hero-copy .eyebrow{font-size:10px;letter-spacing:.06em}
 #portal-demo[data-kind="wedding"] .demo-hero-copy h1{font-size:26px;line-height:1.15;margin:6px 0 8px}
 #portal-demo[data-kind="wedding"] .demo-hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.5;margin-bottom:10px}
 #portal-demo[data-kind="wedding"] .demo-hero-copy .demo-primary{min-height:44px;font-size:13px}
 #portal-demo[data-kind="wedding"] .demo-highlights{gap:6px;margin:10px 0}
 #portal-demo[data-kind="wedding"] .demo-highlights span{font-size:11px;padding:4px 8px}
 #portal-demo[data-kind="wedding"] .demo-layout{margin-top:10px}
}

/* The interactive examples use the same service frame and shared navigation. */
body.demo-portal-page{--ink:#302b34;--muted:#665d68;--accent:#53664b;--rose:#784753;background:#faf9f6;color:var(--ink);font:400 16px/1.6 system-ui,sans-serif}
body.demo-portal-page>.demo-top{display:none}
body.demo-portal-page main{max-width:none;margin:0;padding:0!important;min-width:0}
.demo-portal-page .service-header{background:#fff8f6;border-bottom:1px solid #eadfd6}
.demo-portal-page .demo-page-content{max-width:1180px;margin:auto;padding:18px 28px 48px}
.demo-portal-page .location-path{margin:0 0 10px}
.demo-portal-page .demo-example-banner{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid #eadfd6;background:#fffdf9;border-radius:10px;font-size:12px;color:#665d68;margin-bottom:18px}
.demo-portal-page .demo-example-banner a{color:#784753;font-weight:650;min-height:32px;display:inline-flex;align-items:center}
.demo-portal-page .demo-heading{min-height:200px;display:flex;align-items:center;border:1px solid #eadfd6;border-radius:16px;background:#fff;color:#302b34;padding:26px;gap:24px;overflow:hidden}
.demo-portal-page .demo-heading:after{display:none}
.demo-portal-page .demo-hero-photo{position:static;order:2;flex:0 0 210px;width:210px;height:180px;border-radius:12px;object-fit:cover}
.demo-portal-page .demo-hero-copy{padding:0;max-width:none;flex:1;min-width:0;order:1}
.demo-portal-page .demo-hero-copy .eyebrow{color:#784753;margin:0;font-size:11px}
.demo-portal-page .demo-hero-copy h1{font:400 clamp(28px,3.2vw,40px)/1.15 Georgia,serif;letter-spacing:-.5px;margin:10px 0 12px;color:#784753}
.demo-portal-page .demo-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:580px;margin:0 0 12px}
.demo-portal-page .demo-hero-copy .demo-primary{min-height:40px;padding:8px 12px;background:#53664b;color:#fff;border-radius:8px;font-size:14px}
.demo-portal-page .demo-highlights{gap:8px;margin:14px 0}
.demo-portal-page .demo-highlights span{background:#edf1e8;color:#4f594b;padding:5px 11px;font-size:12px}
.demo-portal-page .demo-highlights span:nth-child(2){background:#fbe8ef;color:#8f3d64}
.demo-portal-page .demo-highlights span:nth-child(3){background:#f0eafb;color:#7652a0}
.demo-portal-page .demo-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px;margin-top:18px;min-width:0}
.demo-portal-page .demo-layout>div{min-width:0}
.demo-portal-page .demo-workspace{padding:24px;border:1px solid #dedfd5;border-radius:16px;box-shadow:none;min-width:0}
.demo-portal-page h2{font:400 28px/1.2 Georgia,serif;color:#784753}
.demo-portal-page h3{font-size:17px;color:#302b34}
.demo-portal-page .demo-tabs{gap:6px;margin-bottom:20px}
.demo-portal-page .demo-tabs button{border-radius:8px;background:#fff;border:1px solid #d4dacf;color:#344031;font-size:13px;padding:8px 12px}
.demo-portal-page .demo-tabs button[aria-pressed=true]{background:#53664b;color:#fff;border-color:#53664b}
.demo-portal-page .demo-aside{position:static;padding:20px;background:#fffcf8;border:1px solid #eadfd6;border-radius:16px}
.demo-portal-page .demo-aside h2{font-size:25px}
.demo-portal-page .demo-aside .demo-primary{background:#53664b;border-color:#53664b;border-radius:8px;font-size:14px}
.demo-portal-page .demo-connection{background:#fff2d9;border:1px solid #efe1c6;border-radius:12px;margin-top:20px;padding:18px}
.demo-portal-page .demo-story{background:#e8f4ed;border:1px solid #dce9df;padding:22px;border-radius:16px}
.demo-portal-page .demo-ingredients,.demo-portal-page .demo-total{background:#f0eafb;border-radius:12px;padding:18px}
.demo-portal-page .demo-workspace li.lc-tl-phase{background:none;margin:0;border-radius:0;padding:0 0 0 34px}
.demo-portal-page .lc-timeline{padding:18px;margin:18px 0;border-radius:16px}
.demo-portal-page .lc-timeline h2{font-size:26px}
.demo-portal-page .demo-task-row{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer}
.demo-portal-page .demo-task-row input{width:20px;height:20px;flex:0 0 20px;accent-color:#9c3b69}
.demo-portal-page .lc-tl-item>.lc-tl-check{display:none}
.demo-portal-page .lc-tl-item{display:block}
.demo-portal-page .demo-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.demo-portal-page .demo-overview button{display:grid;gap:8px;text-align:left;background:#fbe8ef;color:#784753;border:1px solid #ead9df;border-radius:12px;padding:18px 14px}
.demo-portal-page .demo-overview button:nth-child(2){background:#e8f4ed;color:#3c7161}
.demo-portal-page .demo-overview button:nth-child(3){background:#f0eafb;color:#7652a0}
.demo-portal-page .demo-overview span{font-size:13px}
.demo-portal-page [id^=demo-]{scroll-margin-top:18px}
.demo-portal-page .demo-rail-note{font-size:12px;color:#665d68;padding:20px 12px;border-top:1px solid #e2ddd5;margin-top:14px}
.demo-portal-page .demo-rail-note p{margin:5px 0 12px}
.demo-portal-page .demo-rail-note a{color:#784753;font-weight:600}
@media(min-width:761px){body.demo-portal-page{--lc-rail-width:224px}.demo-portal-page .demo-navigation{z-index:900}}
@media(max-width:1100px){.demo-portal-page .demo-layout{grid-template-columns:minmax(0,1fr)}.demo-portal-page .demo-aside{max-width:none}.demo-portal-page .demo-hero-photo{flex-basis:180px;width:180px;height:170px}}
@media(max-width:760px){.demo-portal-page .demo-page-content{padding:12px 16px 32px}.demo-portal-page .demo-heading{min-height:0;padding:20px;display:block;border-radius:14px}.demo-portal-page .demo-hero-photo{float:right;width:84px;height:84px;margin:0 0 12px 14px;border-radius:12px}.demo-portal-page .demo-hero-copy h1{font-size:30px}.demo-portal-page .demo-hero-copy>p:not(.eyebrow){font-size:14px}.demo-portal-page .demo-workspace{padding:16px}.demo-portal-page .demo-rail-note{display:none}.demo-portal-page .lc-timeline{padding:14px}.demo-portal-page .demo-overview{grid-template-columns:1fr}.demo-portal-page .demo-layout{gap:16px}.demo-portal-page .demo-timeline>div{grid-template-columns:75px minmax(0,1fr)}.demo-portal-page .lc-bottom-nav .lc-nav-choice{border:0}.demo-portal-page .demo-example-banner{font-size:11px}.demo-portal-page .lc-tl-title{font-size:14px}}
@media print{.demo-portal-page .demo-navigation,.demo-portal-page .service-header{display:none!important}.demo-portal-page .demo-layout{display:block}}

/* The supplier example uses the same brand header, without planning controls. */
body.demo-supplier-page>.demo-top{display:none}.demo-supplier-page #portal-demo{max-width:none;padding:0}.demo-supplier-page .service-header{background:#f7eaea;border-bottom:1px solid #eadfd6}.demo-supplier-page .demo-page-content{max-width:1180px;margin:auto;padding:20px 28px 48px}.demo-supplier-page .demo-example-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:13px 16px;margin-bottom:22px;background:#fff;border:1px solid #eadfd6;border-radius:12px;font-size:13px}.demo-supplier-page .demo-example-banner a{display:inline-flex;align-items:center;min-height:36px;font-weight:600}.demo-supplier-page .demo-supplier-price{font-size:14px;line-height:1.7}.demo-supplier-page .demo-aside .demo-primary{min-height:50px}.demo-supplier-page .service-header .store-wordmark-frame img{object-fit:contain}.demo-supplier-page .location-path{margin-bottom:16px}@media(max-width:760px){.demo-supplier-page .demo-page-content{padding:16px 16px 34px}.demo-supplier-page .demo-example-banner{font-size:12px;gap:8px}.demo-supplier-page .demo-heading{min-height:400px}.demo-supplier-page .demo-hero-copy{padding:26px 22px}.demo-supplier-page .demo-example-banner a{width:100%}}
.demo-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.demo-table-grid section{padding:16px;border:1px solid #ded5d4;border-radius:14px;background:#fff}.demo-workspace select{box-sizing:border-box;display:block;width:100%;min-height:44px;padding:9px;font:inherit;border:1px solid #a99698;border-radius:8px}.demo-workspace label:has([data-demo-seat]){display:block;margin:12px 0}.demo-tabs{flex-wrap:wrap}@media(max-width:480px){.demo-table-grid{grid-template-columns:minmax(0,1fr)}}

/* Keep the wedding example in the same compact brand frame as its entry page. */
body.demo-portal-page #portal-demo header.demo-wedding-header{position:relative!important;z-index:30;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;min-height:64px;padding:10px 20px!important;background:#f7eaea;border-bottom:1px solid #eadfd6}
.demo-wedding-brand{display:flex;align-items:center;min-height:44px}.demo-wedding-brand img{display:block!important;width:180px!important;height:36px!important;object-fit:contain;mix-blend-mode:multiply}.demo-service-menu{position:relative}.demo-service-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:64px;padding:8px 12px;border:1px solid #c8b8be;border-radius:10px;list-style:none;cursor:pointer;color:#613b49;font:600 14px/1.3 system-ui}.demo-service-menu>summary::-webkit-details-marker{display:none}.demo-service-menu-content{position:absolute;right:0;top:calc(100% + 10px);width:min(300px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow:auto;background:#fffdf9;border:1px solid #dfcdd2;border-radius:14px;padding:10px;box-shadow:0 16px 40px #32212726}.demo-service-menu-content nav.visible-services,.demo-service-menu-content nav.demo-menu-links{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;margin:0!important}.demo-service-menu-content nav a{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:44px!important;padding:9px 12px!important;text-decoration:none;color:#613b49;border:0!important;background:transparent!important;white-space:normal!important;border-radius:8px!important;font:500 14px/1.4 system-ui!important}.demo-service-menu-content nav.demo-menu-links{border-top:1px solid #eadfd6;padding-top:8px;margin-top:8px!important}.demo-service-menu-content a:focus-visible,.demo-service-menu>summary:focus-visible{outline:3px solid #754652;outline-offset:2px}
