/* FazFuzu — brand foundation. Invitation themes stay scoped to #invite. */
:root{--fz-purple:#5426cc;--fz-orange:#ff6b45;--fz-yellow:#f7e84b;--fz-paper:#fff9ef;--fz-ink:#24212b;--fz-muted:#706a77;--fz-border:#ddd6e3;--fz-success:#166145;--bg:var(--fz-paper);--card:#fff;--ink:var(--fz-ink);--accent:var(--fz-purple);--pink:var(--fz-orange)}
html{scroll-behavior:smooth}body{background:var(--fz-paper);color:var(--fz-ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:'Bricolage Grotesque',Arial,sans-serif}button,a,input,select{touch-action:manipulation}button{border-color:var(--fz-border);font-weight:600;min-height:44px;transition:background .15s,transform .15s}button:hover{background:#eee8fa;border-color:var(--fz-purple)}button:focus-visible,a:focus-visible{outline:3px solid var(--fz-purple);outline-offset:4px}input:focus-visible,select:focus-visible{outline:3px solid #a18ce1;outline-offset:2px}.skip-link{position:fixed;left:16px;top:-100px;background:var(--fz-ink);color:white;padding:12px 18px;z-index:100}.skip-link:focus{top:12px}.primary{background:var(--fz-purple);color:white;min-height:48px;border-radius:12px;font-weight:700;box-shadow:none}.primary:hover{background:#3e1b9c;color:white;transform:translateY(-1px)}.eyebrow{color:var(--fz-purple);font-size:11px;letter-spacing:1.6px}.subtle{color:var(--fz-muted)}
.app-header{max-width:1280px;min-height:108px;padding:20px 40px;gap:30px}.brand{display:block;flex-shrink:0;letter-spacing:0}.fz-wordmark{display:block;color:var(--fz-purple);font-size:38px;font-weight:800;letter-spacing:-2.5px;line-height:1}.fz-wordmark>span{display:inline-block;color:var(--fz-orange);font-size:36px;vertical-align:top;margin-left:3px}.brand-logo{display:block;width:184px;height:auto;aspect-ratio:3/1;object-fit:contain;margin:-6px -3px -1px}.brand small{font-size:7px;letter-spacing:1.2px;color:#5d5369;margin:2px 0 0 5px;font-weight:700}.app-header nav{gap:4px;flex-wrap:wrap}.app-header nav button{color:#554b63;border-radius:12px;padding:10px 16px;font-size:13px}.app-header nav button.active{color:var(--fz-purple);background:#ede5fc;font-weight:700}.app-header nav button:hover{background:#ede5fc}.notice{background:#eee8f7;color:#5d477c;border:0;padding:9px 20px;font-size:10px;letter-spacing:.3px}.notice::before{content:'◌';margin-right:7px}.dot{color:var(--fz-orange)}
#dashboard,#gate,#studio{max-width:1280px;padding:44px 40px 60px}.dashboard-top h2{font-size:52px;font-weight:800;letter-spacing:-2.5px;margin:10px 0}.dashboard-top p,.dash-card>p{color:var(--fz-muted);font-size:14px}.dashboard-top .primary{margin:0}.event-banner{position:relative;isolation:isolate;overflow:hidden;background:var(--fz-purple);color:white;padding:32px 38px;min-height:185px;border-radius:24px;margin:28px 0 24px}.event-banner:before{content:'';position:absolute;right:125px;top:-80px;width:250px;height:350px;border:28px solid #ffffff10;border-radius:50%;transform:rotate(32deg);z-index:-1}.event-banner .eyebrow{color:#e5dcff;font-size:10px}.event-banner h3{font-size:38px;font-weight:700;letter-spacing:-1.2px;margin:12px 0 8px}.event-banner p{font-size:13px;color:#ede6ff;margin:0}.event-number{display:flex;gap:10px;align-items:center;font-family:'Bricolage Grotesque',sans-serif}.event-number>span{font-size:90px;letter-spacing:-6px;line-height:1;color:#fff}.event-number i{font-style:normal;color:var(--fz-yellow);font-size:100px;line-height:1;display:inline-block;transform:rotate(10deg)}.metrics{gap:14px;margin-bottom:25px}.metric{border:1px solid #e5deea;background:white;border-radius:18px;padding:20px 22px}.metric span{color:#62586b;font-size:12px}.metric strong{color:var(--fz-ink);font-size:36px;line-height:1.2;margin-top:10px}.metric:first-child{border-top:3px solid var(--fz-purple)}.metric:nth-child(2){border-top:3px solid var(--fz-orange)}.metric:nth-child(3){border-top:3px solid var(--fz-success)}.metric:nth-child(4){border-top:3px solid #a68bcb}.dashboard-grid{grid-template-columns:1.4fr 1fr;gap:24px}.dash-card{border:1px solid #e4dce9;background:white;border-radius:20px;padding:28px;margin-bottom:24px}.dash-card h3{font-weight:700;font-size:22px;letter-spacing:-.6px;margin:0 0 12px}.dash-card h4{font-size:17px;letter-spacing:-.3px}.dash-card button:not(.primary){color:var(--fz-purple);border-color:#d5c8e8;border-radius:10px}.dash-card form{background:transparent}.pill{background:#f4effb;color:#624c82;border:0;font-size:10px;padding:7px 11px;font-weight:600;white-space:nowrap}.invite-link{border:1px solid #e2d8ec;background:#fcfaff;border-radius:14px;padding:20px}.invite-link h4{font-size:20px;color:var(--fz-purple)}.invite-link p{color:var(--fz-muted)}.invite-link a{color:var(--fz-purple);font-weight:600}.invite-link button{background:white}.invite-link input{background:white;color:#61546f}.local-warning{color:#725413!important;background:#fff5d6;padding:12px 14px;border-radius:10px;border:1px solid #eddfb6;font-size:11px}.quick-actions{border-color:var(--fz-border);margin-top:30px;padding-top:25px}.group-summary strong{color:var(--fz-purple)}#setupMessage{color:var(--fz-success)}label{color:#4c4259;font-weight:500}input,select{background:#fcfaff;border:1px solid #d9d0e2;color:var(--fz-ink);border-radius:10px;min-height:46px;font-size:14px}input[type=checkbox]{min-height:20px;min-width:20px;accent-color:var(--fz-purple)}fieldset{border-color:var(--fz-border);border-radius:14px}legend{font-weight:600;color:#51405f}form{background:white}.setup-fields{grid-template-columns:1fr 1fr minmax(90px,.3fr)}
#studio .studio-heading h2{color:var(--fz-ink);font-weight:800;font-size:58px;letter-spacing:-2.4px}#studio .studio-heading h2 span{color:var(--fz-orange)}#studio .studio-heading .eyebrow{color:var(--fz-purple)}#studio .studio-heading p,#studio .own-art p{color:var(--fz-muted)}#studio .studio-note>span{color:var(--fz-orange);font-size:95px}.theme-filters button{color:#564565;border-color:#dcd0e8;background:#fff;font-size:12px}.theme-filters button.is-active{background:var(--fz-purple);color:white;border-color:var(--fz-purple)}.theme-card-info h3{color:var(--fz-ink);font-weight:700;font-size:20px}.theme-card-info small{color:#706078}.theme-use{color:var(--fz-purple);border-color:#d3c1e8;background:#fff;font-size:11px}.theme-preview{border:1px solid #e0d6e9;border-radius:18px}.theme-preview:hover{box-shadow:0 12px 24px #5426cc16}.own-art{border-color:var(--fz-border)}.own-art .eyebrow{color:var(--fz-purple)}.own-art button{color:var(--fz-purple);border-color:#d3c1e8}
#gate h2{font-weight:800;font-size:48px}#gate>p{color:var(--fz-muted);max-width:750px}#gate #search{max-width:700px;background:#fff}#gate .stats span{border:1px solid #e1d8e8;background:white;min-width:150px}#gate .stats b{display:block;font-size:32px;color:var(--fz-purple)}.family-card{background:white;border:1px solid #ded5e5;border-radius:18px}.family-card>p{color:var(--fz-muted);font-size:13px}.family-card .row{border-top:1px solid #ece5f1;padding:8px 0}.family-card .status{background:#eaf5ef;color:#155a40;font-weight:600;border-radius:6px;padding:4px 8px;margin-left:8px;display:inline-block}.family-card button{background:#f0eafa;color:var(--fz-purple);border-color:#ddccef;border-radius:10px}#history p{border-color:#e1d8e8;color:#62556c}#formError{color:#a51d38!important}
/* Give the family action a real visual hierarchy in every invitation theme. */
#invite #add{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#eee7fc;border:1.5px solid #bfa9ea;color:#4821ad;font-size:12px;font-weight:700;border-radius:10px;padding:11px 14px;min-height:48px;box-shadow:0 3px 0 #e2d8f1}#invite #add>span{display:grid;place-items:center;background:var(--fz-purple);color:white;width:24px;height:24px;border-radius:7px;font-size:22px;line-height:1}#invite #add:hover{background:#e2d6fb;border-color:#5426cc}.participant-heading{align-items:center;gap:14px;flex-wrap:wrap}#invite .participant-heading h3{font-size:14px}#participantCount{font-size:11px;color:#71627f;margin:8px 0 16px!important}#invite form input{font-size:16px}#invite .person input{font-size:14px}#invite .person-hint{color:#655a70!important}#invite .form-step,#invite .participant-heading small{color:#5426cc}#invite .form-step span{color:#382944}#invite form .subtle{color:#6e6378;font-size:11px}#invite #ticket{border-top:6px solid var(--fz-purple);border-radius:20px}#invite #ticket .eyebrow{color:#5426cc}#invite #ticket .row{gap:30px}#invite #ticket svg{flex-shrink:0;border:1px solid #eee;border-radius:12px}#invite .gift-info a{background:#5426cc;color:white;font-weight:600}#invite .gift-info a:hover{background:#3e1b9c}#invite .gift-source{color:#6e6277}.check input{flex-shrink:0}#emailPreview{background:#eee7fa}
/* Brand introduction */
#home{max-width:1280px;padding:38px 40px 70px}.fz-home-hero{border-radius:30px;display:grid;grid-template-columns:1.15fr .85fr;background:var(--fz-purple);color:white;padding:60px 52px;gap:32px;min-height:550px;overflow:hidden;position:relative}.fz-home-copy{position:relative;z-index:1}.fz-kicker{font-size:10px;letter-spacing:2px;color:#e5dafa;text-transform:uppercase;font-weight:700}.fz-home-hero h1{font-size:clamp(48px,5.4vw,76px);line-height:1.02;letter-spacing:-3.7px;font-weight:800;margin:28px 0}.fz-home-hero h1 em{font-style:normal;color:var(--fz-yellow)}.fz-home-hero p{font-size:15px;color:#e7defb;max-width:420px;line-height:1.8}.fz-home-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.fz-home-actions .primary{background:var(--fz-yellow);color:#292217;border:0;margin:0;font-size:13px}.fz-home-actions .secondary{color:white;border:1px solid #bda7ee;border-radius:12px;background:transparent;font-size:13px;padding:14px 19px}.fz-home-actions .secondary:hover{background:#ffffff14}.fz-pilot-note{font-size:10px!important;color:#e7defb!important;margin-top:15px}.fz-home-art{position:relative;min-height:410px;display:flex;align-items:center;justify-content:center}.fz-orbit{position:absolute;width:320px;height:320px;border:1px solid #ffffff30;border-radius:50%;transform:rotate(-20deg)}.fz-orbit:after{content:'';position:absolute;inset:-35px;border:1px solid #ffffff16;border-radius:50%}.fz-demo-ticket{position:relative;z-index:1;background:var(--fz-paper);color:var(--fz-ink);border-radius:18px;padding:13px;width:265px;transform:rotate(8deg);box-shadow:8px 14px 0 #321683;isolation:isolate}.fz-ticket-art{height:170px;background-image:url('assets/celebrar-themes-atlas.png');background-size:300% 200%;background-position:0% 0%;border-radius:10px;position:relative}.fz-ticket-art strong{position:absolute;bottom:8px;left:15px;color:white;font-size:74px;line-height:1;font-family:'Bricolage Grotesque',sans-serif}.fz-ticket-copy{padding:16px 10px 12px}.fz-ticket-copy small{font-size:8px;letter-spacing:1.5px;color:#706078}.fz-ticket-copy h3{font-size:28px;line-height:1;margin:10px 0;color:#3e2373}.fz-ticket-copy p{font-size:11px;color:#706078;margin:8px 0}.fz-ticket-bottom{border-top:1px dashed #c8b7dc;display:flex;align-items:center;gap:12px;padding:13px 10px 6px;font-size:10px;color:#62516e}.fz-ticket-bottom b{font-size:13px;color:#45237d}.fz-flower{position:absolute;font-size:140px;line-height:1;color:var(--fz-orange);z-index:2;left:-15px;bottom:20px;transform:rotate(-13deg)}.fz-sun{position:absolute;top:10px;right:0;color:var(--fz-yellow);font-size:120px;line-height:1;transform:rotate(8deg);z-index:2}.fz-confetti{position:absolute;top:70px;left:0;width:38px;height:16px;background:#d7c6f5;transform:rotate(-35deg);border-radius:5px}.fz-proof-strip{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;padding:24px 10px;border-bottom:1px solid var(--fz-border);color:#6b5b7c;font-size:11px;font-weight:600}.fz-proof-strip span::before{content:'✳';color:var(--fz-orange);margin-right:10px}.fz-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:56px 0 28px}.fz-section-head h2{font-size:44px;font-weight:800;line-height:1.07;letter-spacing:-1.8px;margin:12px 0 0}.fz-section-head p{max-width:330px;font-size:14px;color:#706a77;margin:0}.fz-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fz-step{border:1px solid var(--fz-border);border-radius:18px;padding:28px;background:white}.fz-step>span{display:grid;place-items:center;width:42px;height:42px;background:#eee5fd;color:var(--fz-purple);font-weight:700;border-radius:12px;font-size:15px}.fz-step:nth-child(2)>span{background:#fff0e8;color:#8d3219}.fz-step:nth-child(3)>span{background:#f8f2bd;color:#645c13}.fz-step h3{font-size:23px;font-weight:700;letter-spacing:-.6px;margin:22px 0 12px}.fz-step p{color:#706a77;font-size:13px;line-height:1.8}.fz-occasion-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.fz-occasion-list span{border:1px solid #d8c9e8;background:#fffdf8;color:#614c78;border-radius:100px;padding:10px 16px;font-size:12px}.fz-next{margin-top:40px;padding:26px 30px;border-radius:18px;background:#f1e8fd;display:flex;align-items:center;gap:30px;justify-content:space-between}.fz-next h3{font-size:25px;margin:0}.fz-next p{color:#706078;font-size:13px;margin:8px 0 0}.fz-next a{color:#5426cc;font-size:13px;font-weight:700;white-space:nowrap;text-underline-offset:5px}
/* The reusable brand kit is part of the site. */
#brandGuide{max-width:1280px;padding:45px 40px 70px}.fz-guide-intro{max-width:760px}.fz-guide-intro h1{font-size:65px;line-height:1;letter-spacing:-3px;color:var(--fz-purple)}.fz-guide-intro p{font-size:16px;color:#6a5c77;line-height:1.8}.fz-logo-stage{border-radius:24px;background:white;border:1px solid var(--fz-border);padding:50px 30px;display:grid;place-items:center;min-height:260px;margin:30px 0 20px}.fz-logo-stage img{width:min(540px,100%);height:auto}.fz-downloads{display:flex;gap:10px;flex-wrap:wrap}.fz-downloads a{color:#5426cc;border:1px solid #d6c7e5;padding:12px 18px;border-radius:12px;font-size:12px;font-weight:600;text-decoration:none}.fz-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.fz-swatch{border:1px solid var(--fz-border);border-radius:14px;overflow:hidden;background:white}.fz-swatch>span{height:110px;display:block}.fz-swatch div{padding:16px}.fz-swatch strong{font-size:13px;display:block}.fz-swatch code{font-size:11px;color:#706078}.fz-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fz-type-grid article{border:1px solid var(--fz-border);border-radius:18px;padding:30px;background:white}.fz-type-grid h3{font-size:30px;letter-spacing:-1px;margin:0 0 10px}.fz-type-grid p{color:#706078;font-size:13px}.fz-type-display{font:800 60px/1 'Bricolage Grotesque',Arial,sans-serif;letter-spacing:-2px;margin:25px 0;color:#5426cc}.fz-type-body{font:500 20px/1.7 'DM Sans',Arial,sans-serif;color:#3f324e}.fz-component-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid var(--fz-border);border-radius:18px;background:white;padding:25px}.fz-component-row .primary{margin:0}.fz-component-row input{width:210px;margin:0}.fz-state{background:#eaf5ef;color:#166145;padding:8px 13px;border-radius:8px;font-size:12px;font-weight:700}.fz-guide-note{background:#eee6fa;color:#604a7b;font-size:13px;line-height:1.8;padding:24px;border-radius:16px;margin-top:30px}
footer{max-width:1200px;border-color:var(--fz-border);padding:35px 0;letter-spacing:0;gap:20px;color:#6c5c7c;align-items:center}footer .footer-brand strong{font-family:'Bricolage Grotesque',sans-serif;font-size:30px;letter-spacing:-1.4px;color:#5426cc}footer .footer-brand strong>span{color:#ff6b45;margin-left:3px}footer p{margin:5px 0;font-size:12px}footer>div:last-child{text-align:right}footer a{color:#5426cc;text-underline-offset:4px;font-size:12px}footer small{display:block;margin-top:8px;color:#706078;font-size:10px}
@media(min-width:1450px){.fz-home-hero h1{font-size:78px}}
@media(max-width:980px){.app-header{padding:20px 24px;gap:20px}.app-header nav button{padding:10px 12px;font-size:12px}.fz-home-hero{padding:42px 32px;gap:20px}.fz-home-hero h1{font-size:56px}.fz-home-art{min-width:0}.fz-demo-ticket{width:230px}.fz-flower{left:-20px;font-size:110px}.fz-sun{font-size:100px;right:-20px}.fz-steps{gap:14px}.fz-step{padding:23px}footer{margin:0 30px}.dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.app-header{padding:18px 20px;display:block;min-height:0}.brand-logo{width:164px}.brand small{font-size:6.5px}.app-header nav{display:flex;gap:4px;margin-top:17px;flex-wrap:wrap}.app-header nav button{font-size:11px;padding:9px 11px;min-height:40px}.notice{font-size:9px;padding:9px 15px;line-height:1.6}#dashboard,#gate,#studio,#home,#brandGuide{padding:28px 20px 40px}.dashboard-top h2{font-size:42px}.dashboard-top .primary{margin:14px 0 0;font-size:13px}.dashboard-top .eyebrow{font-size:9px}.event-banner{padding:26px 23px;margin-top:23px;min-height:180px}.event-banner h3{font-size:30px;max-width:210px}.event-banner p{font-size:11px;max-width:215px}.event-number>span{font-size:64px}.event-number i{font-size:50px;position:absolute;right:20px;top:18px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px}.metric span{font-size:11px}.metric strong{font-size:32px}.dashboard-grid{grid-template-columns:1fr;gap:0}.dash-card{padding:22px}.dash-card .row{flex-wrap:wrap}.dash-card h3{font-size:21px}.setup-fields{grid-template-columns:1fr;gap:0}.invite-link{padding:16px}.invite-link h4{font-size:19px}.group-summary{display:block}#studio .studio-heading h2{font-size:42px}#gate h2{font-size:38px}#gate .stats{gap:10px}#gate .stats span{min-width:0;flex:1;padding:16px;font-size:10px}#gate .stats b{font-size:27px}.family-card{padding:20px}.family-card .row{align-items:start;flex-direction:column}.family-card .row button{width:100%}.fz-home-hero{grid-template-columns:1fr;padding:34px 28px;border-radius:23px;gap:20px}.fz-home-hero h1{font-size:56px;letter-spacing:-2.7px;margin:22px 0}.fz-home-hero p{font-size:14px}.fz-kicker{font-size:9px;letter-spacing:1.5px}.fz-home-actions{margin:22px 0 12px;gap:8px}.fz-home-actions .primary,.fz-home-actions .secondary{font-size:12px;padding:14px 16px}.fz-home-art{min-height:365px;margin-top:10px;max-width:330px;width:100%;justify-self:center}.fz-demo-ticket{width:235px}.fz-flower{left:-8px;bottom:15px;font-size:105px}.fz-sun{right:-4px;font-size:95px;top:0}.fz-confetti{left:0;top:35px}.fz-orbit{width:250px;height:250px}.fz-proof-strip{gap:12px;font-size:10px;justify-content:flex-start;line-height:1.8;padding:22px 0}.fz-section-head{display:block;margin:38px 0 22px}.fz-section-head h2{font-size:35px;margin-bottom:15px}.fz-section-head p{font-size:13px}.fz-steps{grid-template-columns:1fr}.fz-step{padding:26px}.fz-step h3{margin:15px 0 10px}.fz-next{display:block;padding:24px}.fz-next a{display:inline-block;margin-top:20px}.fz-guide-intro h1{font-size:49px}.fz-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.fz-swatch>span{height:95px}.fz-type-grid{grid-template-columns:1fr}.fz-logo-stage{min-height:170px;padding:35px 20px}.fz-component-row{align-items:stretch;flex-direction:column}.fz-component-row input{width:100%}.fz-component-row .fz-state{align-self:start}footer{display:flex;align-items:start;flex-direction:column;padding:28px 0;margin:0 22px}footer>div:last-child{text-align:left}#invite #add{width:100%;font-size:13px;padding:13px}#invite .participant-heading{gap:6px}#invite #ticket .row{flex-direction:column;align-items:start}#invite #ticket svg{align-self:center;width:210px;height:210px}}
@media(max-width:700px){#invite .person input{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
