*{box-sizing:border-box} [hidden]{display:none!important} :root{color-scheme:dark;--t1:#f7f2f8;--t2:#d1c5d7;--t3:#bcb0c4;--gold:#f5d87a}body{margin:0;background:#130b1a;color:var(--t1);font:16px/1.65 Inter,sans-serif}.cosmos{position:fixed;inset:0;z-index:-1;pointer-events:none}.cosmos canvas{width:100%;height:100%}header{width:min(calc(100% - 64px),1280px);margin:auto;padding:28px 0;display:flex;justify-content:space-between;font:14px 'IBM Plex Mono',monospace;letter-spacing:2px}a{color:inherit;text-decoration:none}header a:last-child{letter-spacing:0;color:var(--t2)}main{width:min(calc(100% - 64px),1120px);margin:32px auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}.scene{position:relative;min-height:620px;overflow:hidden;border-radius:26px;border:1px solid #ffffff20;background:#281b32}.scene>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:40% center}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,#170c2299 60%,#170c22ed)}.scene-copy{position:absolute;bottom:40px;left:32px;right:32px;z-index:1}.scene-copy p{font:40px/1.1 'Cormorant Garamond',serif;margin:24px 0}.scene-copy>span:last-child{color:var(--t2);font-size:14px}.panel{display:flex;flex-direction:column;justify-content:center;padding:28px 0;min-width:0}p{color:var(--t2);margin:16px 0}.label{font:14px/1.5 'IBM Plex Mono',monospace;letter-spacing:2px;color:var(--gold)}h1{font:400 48px/1.08 'Cormorant Garamond',serif;margin:20px 0 28px;color:var(--t1)}h1 em{color:#dfc9e5}h2{font:400 26px/1.2 'Cormorant Garamond',serif}.free{margin:28px 0;color:var(--t1)}.free span,.hint,small{font-size:14px;color:var(--t3)}button,.primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border:1px solid #f5d87a85;border-radius:999px;background:linear-gradient(90deg,#4b313fc2,#694856b8,#4b313fc2);box-shadow:inset 0 1px #ffffff14,0 5px 20px #0003;color:var(--gold);font:14px/1.5 'IBM Plex Mono',monospace;cursor:pointer}button:hover,.primary:hover{border-color:var(--gold)}button:disabled,.primary[aria-disabled=true]{opacity:.5;cursor:default}.text-button{background:none;border:0;box-shadow:none;padding:8px 0;color:var(--t2);min-height:44px}.step-top{display:flex;align-items:center;justify-content:space-between;color:var(--t3);font-size:12px}#progress{display:flex;gap:6px;margin:16px 0 40px}#progress i{height:2px;flex:1;background:#ffffff24}#progress i.done{background:var(--gold)}fieldset{border:0;padding:0;margin:24px 0 32px;min-width:0}input:not([type=radio]):not([type=file]),textarea{width:100%;padding:16px 0;background:transparent;border:0;border-bottom:1px solid #ffffff55;color:var(--t1);font:20px/1.5 Inter,sans-serif;border-radius:0}textarea{font-size:16px;border:1px solid #ffffff33;border-radius:16px;padding:20px;background:#ffffff0a;resize:vertical}input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:4px}.choice{display:block;padding:18px 20px;border:1px solid #ffffff33;border-radius:16px;margin:12px 0;background:#ffffff0a}.choice input{accent-color:var(--gold);margin-right:12px}.photo-choice{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer}.photo-circle{height:144px;width:144px;border:1px dashed #f5d87a80;border-radius:50%;display:grid;place-items:center;overflow:hidden;font-size:32px;color:var(--gold)}.photo-circle img{width:100%;height:100%;object-fit:cover}#photo{display:block;margin:16px auto;width:100%;font-size:14px}#continue{margin-top:24px}#resend-link{display:block;margin-top:12px}.reservation{border-block:1px solid #ffffff26;margin:28px 0;padding:16px 0}.reservation p{margin:10px 0}.arrival{font-size:20px;color:var(--gold)}.welcome{font-size:20px}.complete{font-size:14px;border-top:1px solid #ffffff26;padding-top:24px;margin-top:28px}#error{color:#ffc2bb}footer{text-align:center;padding:24px;color:var(--t3);font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}@media(max-width:800px){header,main{width:calc(100% - 40px)}header{padding:24px 0}main{grid-template-columns:1fr;gap:28px;margin:12px auto}.scene{min-height:220px}.scene-copy{bottom:24px;left:24px}.scene-copy p{font-size:34px;margin:12px 0}.scene-copy>span:last-child{display:none}.panel{padding:0 0 20px}main[data-stage=wizard] .scene{display:none}main[data-stage=wizard] .panel{min-height:calc(100svh - 180px)}h1{font-size:34px}#progress{margin-bottom:32px}button.primary,#continue{width:100%}}

/* Standing type scale: section 34, lead 20, hints/metadata 14.
   Current and upcoming rows share geometry so advancing never shifts the list. */
.commitment-stage #step-title{font-size:34px;margin-bottom:16px}
.commitment-stage .step-top{font-size:14px}
.commitment-stage #progress{margin-bottom:24px}
.commitment-stage #step-hint{min-height:42px}
#commitment-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:8px}
#commitment-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:16px;border:1px solid transparent;border-radius:16px;color:var(--t3);font:400 20px/1.5 Inter,sans-serif}
#commitment-list .current{color:var(--t1);background:#ffffff0a;border-color:#f5d87a66}
.commitment-marker{font:14px/30px 'IBM Plex Mono',monospace;color:var(--t3)}
.current .commitment-marker,.completed .commitment-marker{color:var(--gold)}

/* One enclosing Identity-style card: 40% artwork + 60% content.
   Content padding is 40px desktop / 24px mobile; image fades across its final half. */
main{position:relative;isolation:isolate;overflow:hidden;grid-template-columns:2fr 3fr;gap:0;border:1px solid #ffffff20;border-radius:26px;background:linear-gradient(110deg,#48285999,#25172ee8);box-shadow:inset 0 1px #ffffff0a}
.scene{border:0;border-radius:0;background:transparent;overflow:visible;min-height:680px}
.scene>img{width:145%;max-width:none;mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%);z-index:-1}
.scene:after{background:linear-gradient(transparent 45%,#1d102a99);pointer-events:none}
.scene-copy p{font-size:34px}
.panel{position:relative;padding:40px;z-index:2}
.commitment-stage #progress,.commitment-stage #step-count{display:none}
.commitment-stage #step-label{margin-top:20px}
.commitment-stage #step-hint{min-height:42px}
#commitment-list{gap:4px;margin-top:20px}
#commitment-list li{display:block;padding:0;border:0;background:none!important;color:var(--t3)}
#commitment-list label{position:relative;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:center;padding:14px 0;cursor:pointer}
#commitment-list input{position:absolute;width:44px;height:44px;left:0;top:50%;transform:translateY(-50%);margin:0;opacity:0;cursor:pointer}
#commitment-list .commitment-marker{width:44px;height:44px;border:1px solid #bcb0c466;border-radius:12px;display:grid;place-items:center;background:#160d2022;pointer-events:none}
.commitment-marker svg{width:34px;height:34px;fill:none;stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0}
#commitment-list input:checked+.commitment-marker{border-color:#f5d87a99;background:#f5d87a10}
#commitment-list input:checked+.commitment-marker svg{opacity:1}
#commitment-list input:focus-visible+.commitment-marker{outline:2px solid var(--gold);outline-offset:4px}
#commitment-list .current{color:var(--t1)}
#commitment-list .current .commitment-marker{border-color:var(--gold);box-shadow:0 0 20px #f5d87a0c}
#commitment-list .upcoming label{cursor:default}
#commitment-list .upcoming .commitment-marker{border-color:#bcb0c433}
#commitment-list .completed{color:var(--t3)}
.just-checked .commitment-marker svg{animation:commitment-check 220ms ease-out}
@keyframes commitment-check{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.just-checked .commitment-marker svg{animation:none}}
@media(max-width:800px){main{grid-template-columns:1fr}.scene{min-height:220px;overflow:hidden}.scene>img{width:100%;mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent)}.panel{padding:24px}main[data-stage=wizard] .panel{min-height:0}#commitment-list label{gap:12px}#commitment-list li{font-size:20px}}

/* Wider card: viewport minus 64px, capped at 1280px; retain the 40/60 split. */
main{width:min(calc(100% - 64px),1280px);box-shadow:0 24px 72px #00000050,0 4px 20px #00000026,inset 0 1px #ffffff0a}
#commitment-list .current{background:rgba(8,4,14,.2)!important;border-radius:0}
#commitment-list label{padding:14px 16px}
#commitment-list input{left:16px}
@media(max-width:800px){main{width:calc(100% - 40px)}#commitment-list label{padding:14px 8px}#commitment-list input{left:8px}}

/* Viewport-derived width: 90vw, with equal 5vw outer margins. */
main{width:90%;max-width:none}
#wizard #step-title{font-size:34px;line-height:1.2}
#step-label{margin:24px 0 12px}
#progress{margin:12px 0 28px}
#back{padding:8px 18px;border:1px solid #ffffff26;border-radius:999px;background:#ffffff08;box-shadow:inset 0 1px #ffffff08;min-height:44px}
/* The old scene-only overlay ended at the column edge, creating a seam.
   Fade the image itself and let the enclosing card supply the shared surface. */
.scene:after{display:none}
.scene>img{mask-image:linear-gradient(to right,#000 0%,#000 20%,#000c 45%,#0004 75%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 20%,#000c 45%,#0004 75%,transparent 100%)}
#home{padding:32px;background:rgba(16,8,24,.3);border:1px solid #ffffff14;border-radius:22px;box-shadow:inset 0 2px 12px #00000018}
#home h1{font-size:34px;line-height:1.2}
@media(max-width:800px){main{width:90%}.scene>img{mask-image:linear-gradient(to bottom,#000 0%,#0009 50%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#0009 50%,transparent 100%)}#home{padding:24px}.panel:has(#home:not([hidden])){padding:16px}}

/* Solid gold actions, uppercase Raleway; disabled controls retain readable contrast. */
button:not(.text-button),.primary{font-family:Raleway,Inter,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:#edcc72;color:#24162b;border-color:#edcc72;box-shadow:0 4px 16px #0003}
button:disabled,.primary[aria-disabled=true]{opacity:1;background:#ffffff06;color:var(--t3);border-color:#ffffff18;box-shadow:none}
body:has(main[data-stage=home]) footer{display:none}
main[data-stage=home]{margin:24px auto;min-height:0}
main[data-stage=home] .scene{min-height:0}
main[data-stage=home] .scene-copy{display:none}
main[data-stage=home] .panel{padding:48px;min-height:min(560px,calc(100svh - 150px))}
#home{width:100%;padding:40px;margin:auto}
#home h1{margin:16px 0 24px;font-size:34px}
#home .reservation{border:0;padding:0;margin:0 0 28px}
#home .reservation h2{margin:0 0 12px;font-size:26px}
#home .primary{max-width:100%;text-align:center}
#home #join-note{margin:16px 0 0}
@media(max-width:800px){main[data-stage=home] .scene{display:none}main[data-stage=home] .panel{padding:20px;min-height:0}#home{padding:24px}#home .primary{font-size:14px;padding:14px 16px}}

/* Deliberately faint inactive commitments, per owner direction. */
#commitment-list .upcoming,#commitment-list .completed{opacity:.18}
#commitment-list .current{opacity:1}
#commitment-list .completed:focus-within{opacity:1}
/* Desktop viewport budget: 76px header + 24px top/bottom margin.
   The card fits the viewport; exceptionally short screens scroll its content. */
@media(min-width:801px){
 header{height:76px;padding:24px 0}
 main,main[data-stage=home]{height:calc(100svh - 124px);min-height:0;margin:24px auto}
 .scene,main[data-stage=home] .scene{min-height:0;height:100%}
 .panel,main[data-stage=home] .panel{min-height:0;height:100%;overflow-y:auto;padding:clamp(20px,3vh,40px);justify-content:safe center}
 #home{padding:clamp(24px,3vh,40px)}
 .scene-copy{bottom:32px}
 #commitment-list label{padding-top:clamp(8px,1.3vh,14px);padding-bottom:clamp(8px,1.3vh,14px)}
 .commitment-stage #step-hint{min-height:0}
 .commitment-stage #step-title{margin-top:12px;margin-bottom:12px}
 .commitment-stage #step-label{margin-top:12px}
 .commitment-stage #commitment-list{margin-top:12px}
 .commitment-stage #continue{margin-top:16px}
}

#commitment-list .completed{opacity:.65}
#commitment-list .upcoming{opacity:.18}
#commitment-list .completed:focus-within{opacity:1}
/* Final-screen geometry: matching 32px exterior gutters below the header;
   equal image/content columns and a right-aligned inner card capped at 560px. */
#home .label,#home .arrival{color:#e5d4b1}
#home .primary{background:#e5d4b1;border-color:#e5d4b1;color:#2b2030}
#home .primary[aria-disabled=true]{background:#39303e;border-color:#726373;color:#e5d4b1}
@media(min-width:801px){
 main[data-stage=home]{width:calc(100% - 64px);height:calc(100svh - 140px);margin:32px auto;grid-template-columns:1fr 1fr}
 main[data-stage=home] .panel{padding:32px;align-items:flex-end}
 #home{max-width:560px;margin:auto 0;padding:48px}
}
@media(max-width:800px){#home{padding:28px}}

#step-label{font-family:Raleway,Inter,sans-serif;font-weight:600}
#progress{margin-bottom:48px}
input#name,input#email,input#phone,textarea#mission{padding:18px 20px;background:#140c20aa;border:1px solid #c8b6d566;border-radius:12px;color:var(--t1);box-shadow:inset 0 2px 8px #0002}
input::placeholder,textarea::placeholder{color:var(--t3);opacity:.85}
.photo-circle{width:120px;height:180px;border-radius:12px}
#crop-tools{max-width:320px;margin:0 auto}
#crop-preview{display:block;width:120px;height:180px;margin:0 auto 16px;border-radius:8px;border:1px solid #ffffff40}
#crop-tools label{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--t2);margin:10px 0}
#crop-tools input[type=range]{width:140px;padding:0;border:0;accent-color:#e5d4b1;margin-left:auto}
@media(min-width:801px){main[data-stage=home]{grid-template-columns:45fr 55fr}main[data-stage=home] .panel{padding:30px}#home{max-width:none;height:100%;padding:clamp(30px,4vw,64px);display:flex;flex-direction:column;justify-content:center}}

input#name,input#email,input#phone,textarea#mission{font-size:26px;line-height:1.5}
#photo.sr-only{position:absolute;width:1px;height:1px;margin:0;padding:0}
.photo-replace{display:block;text-align:center;cursor:pointer}
#crop-preview{width:160px;height:240px;cursor:grab;touch-action:none}
#crop-preview:active{cursor:grabbing}
#home h1{font-size:48px;line-height:1.1}
#home .reservation h2{font-size:34px;line-height:1.2}
#home .arrival{font-size:26px}
.calendar-link{display:inline-block;align-self:flex-start;color:var(--t1);font:600 16px/1.5 Raleway,Inter,sans-serif;text-decoration:underline;text-underline-offset:6px;padding:12px 0;cursor:pointer}
@media(max-width:800px){#home h1{font-size:34px}#home .reservation h2{font-size:26px}}

.state-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:600px}
label.state-choice{position:relative;display:block;aspect-ratio:1;padding:0;margin:0;border-radius:20px;overflow:hidden;border:2px solid #ffffff26;cursor:pointer;background:#201529}
.state-choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.state-choice:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#150c20ed)}
.state-choice span{position:absolute;bottom:20px;left:20px;right:20px;z-index:1;color:var(--t1);font:600 20px/1.3 Raleway,Inter,sans-serif}
.state-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;z-index:3;cursor:pointer}
.state-choice b{position:absolute;top:16px;right:16px;z-index:2;background:#e5d4b1;color:#25182f;border-radius:50%;width:28px;height:28px;text-align:center;display:none}
.state-choice:has(input:checked){border-color:#e5d4b1;box-shadow:0 0 0 3px #e5d4b118}
.state-choice:has(input:checked) b{display:block}
.state-choice:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:4px}
.calendar-options{margin-top:8px}.calendar-options summary{cursor:pointer}.calendar-options a{display:block;padding:10px 0;font-size:16px;color:var(--t1);text-decoration:underline;text-underline-offset:4px}
@media(max-width:500px){.state-choices{gap:12px}.state-choice span{font-size:16px;left:12px;right:12px;bottom:12px}}

.calendar-options a{display:flex;align-items:center;gap:12px}.calendar-options a svg{width:24px;height:24px;flex:0 0 24px}

.state-choices:has(.state-choice[hidden]){grid-template-columns:minmax(0,300px)}
.state-choices:not(:has(.state-choice[hidden])){grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
@media(max-width:600px){.state-choices:not(:has(.state-choice[hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Profile progress shares the Back row; no second header or numeric counter. */
.step-top{gap:24px;margin-bottom:32px;min-height:48px;flex-shrink:0}
.step-top #back{height:48px;min-height:48px;flex:0 0 auto;padding:10px 20px;font:500 14px/1.5 Inter,sans-serif}
/* Remaining row width = content width − Back width − 24px gap. */
#progress{flex:1;min-width:0;align-items:center;gap:10px;margin:0;height:48px}
#progress i{flex:1;width:auto;height:8px;border-radius:999px;background:#e5d4b122}
#progress i.done{background:#e5d4b17a}
#progress i.current{flex:1;background:#e5d4b1;box-shadow:0 0 12px #e5d4b11a}
main>header{position:absolute;top:32px;left:32px;width:calc(40% - 64px);height:auto;margin:0;padding:0;z-index:3;align-items:center;gap:20px}
main>header a:first-child{font:400 26px/1 'Bebas Neue',sans-serif;letter-spacing:0;color:#c3a8eb}
main>header #login-link{font:14px/1.5 Inter,sans-serif;letter-spacing:0}
@media(min-width:801px){
 body{min-height:100svh;display:grid;place-items:center;padding:50px}
 main,main[data-stage=home]{width:min(100%,1800px);height:min(calc(100svh - 100px),1000px);margin:0;min-height:0}
 .panel,main[data-stage=home] .panel{padding:30px}
 #wizard{height:100%;display:flex;flex-direction:column}
 #wizard #step-form{margin:auto 0}
 #wizard #step-title{margin-top:0}
}
@media(max-width:800px){
 main>header{position:relative;top:auto;left:auto;width:100%;padding:24px;grid-column:1/-1}
 .step-top{margin-bottom:24px}
}

/* A linked landing choice combines its portrait and action in one square.
   280px cap; compact desktop height reserves 350px for chrome and copy. */
fieldset.single-group{position:relative;width:min(280px,100%);margin-bottom:0}
.single-group .state-choices{display:block;max-width:none}
.single-group label.state-choice{width:100%;margin:0}
.single-group .state-choice span{bottom:88px;left:18px;right:18px}
.single-group #continue{position:absolute;bottom:18px;left:18px;width:calc(100% - 36px);margin:0;z-index:4;padding:12px 16px}
@media(min-width:801px){fieldset.single-group{width:min(280px,calc(100svh - 350px))}}

/* Larger centered invitation: reserve 240px for its heading, larger copy and gaps;
   the remaining form height bounds the square, capped at 440px. */
.group-stage #step-title,.group-stage #step-hint{text-align:center}
.group-stage #step-title{margin-bottom:12px}
.group-stage #step-hint{font-size:20px;line-height:1.5;max-width:660px;margin:0 auto 20px}
fieldset.single-group{width:min(440px,100%);margin:0 auto}
.single-group .state-choice span{text-align:center;bottom:92px}
.single-group{opacity:.82;transition:opacity 200ms ease}
@media(hover:hover){.single-group:hover{opacity:1}}
.single-group:focus-within{opacity:1}
@media(min-width:801px){
 #wizard.group-stage #step-form{flex:1;min-height:0;margin:0;container-type:size;display:flex;flex-direction:column;justify-content:center}
 .group-stage fieldset.single-group{flex:none;width:min(440px,100%,calc(100cqh - 240px))}
}
@media(prefers-reduced-motion:reduce){.single-group{transition:none}}

/* Invitation typography follows DESIGN_REFERENCE: 34px display, 20px lead/card. */
.group-stage #step-title{font:400 34px/1.2 'Cormorant Garamond',serif;color:var(--t1)}
.group-stage #step-hint{font:400 20px/1.5 Inter,sans-serif;color:var(--t2)}
.group-stage .state-choice span{font:500 20px/1.3 Inter,sans-serif;color:var(--t1)}
.group-stage .step-top{display:flex}
main{box-shadow:0 24px 64px #0006,0 4px 16px #0003,inset 0 1px #ffffff0a}
.single-group label.state-choice{box-shadow:0 12px 32px #0005}

/* Center the reservation using the established display/date/time type scale. */
#home{text-align:center}
#home h1{font-size:48px;line-height:1.1}
#home .reservation h2{font-size:34px;line-height:1.2}
#home .arrival{font-size:26px}
#home .calendar-options a{justify-content:center}
#home .primary,#home #retry-email{align-self:center}

.date-choice{display:flex;align-items:center;gap:16px;cursor:pointer;font:20px/1.4 Inter,sans-serif;padding:20px}
.date-choice:has(input:checked){border-color:#e5d4b1;background:#ffffff10}
.date-choice input{width:22px;height:22px;flex-shrink:0}

.contact-label{display:block;margin:16px 0 8px;font:500 14px/1.5 Inter,sans-serif;color:var(--t2)}
.contact-label span{font-weight:400}
#email[readonly]{color:var(--t2)}

/* Minimum card = 40px padding + 22px radio + 12px gap + 166px readable copy. */
#date-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
#date-options .date-choice span{display:grid;gap:8px}
#date-options .date-choice strong{font-weight:400}
#date-options .date-choice small{font-size:14px;line-height:1.5}
#date-options .date-choice{margin:0;align-items:flex-start;min-width:0;gap:12px}
#date-options .date-choice input{margin:3px 0 0}
#date-options .date-choice input:focus{outline:none}
#date-options .date-choice:has(input:focus-visible){outline:2px solid #e5d4b1;outline-offset:4px}
@media(max-width:800px){#date-options{grid-template-columns:1fr}}
/* On short phones, three date rows + standard form spacing exceed one viewport.
   Three 64px rows + two 8px gaps = 208px, reclaiming 116px here alone. */
@media(max-width:800px){
 #wizard:has([data-field="date"]:not([hidden])) .step-top{margin-bottom:16px}
 #wizard:has([data-field="date"]:not([hidden])) #step-title{margin-bottom:12px}
 #wizard:has([data-field="date"]:not([hidden])) #step-hint{margin:8px 0}
 #wizard [data-field="date"]{margin:12px 0 16px}
 #date-options{gap:8px}
 #date-options .date-choice{align-items:center;min-height:64px;padding:10px 14px;font-size:20px;line-height:1.4}
 #date-options .date-choice input{margin:0}
 #wizard:has([data-field="date"]:not([hidden])) #continue{margin-top:16px}
}

/* Content height = content + padding; the panel scrolls if options need room. */
#home{height:auto;min-height:100%;flex-shrink:0;justify-content:center}
#home>*{flex-shrink:0}
#home .label{margin-top:0}
#home #email-note{margin-bottom:0}
/* Reserve 32px below actions; errors follow in normal flow. */
#wizard{flex-shrink:0;height:auto;min-height:100%;padding-bottom:32px}
#wizard #step-form{flex:none;container-type:normal;margin:auto 0;padding-bottom:32px}
#wizard.group-stage #step-form{flex:none;min-height:auto;container-type:normal;display:block}
#wizard.group-stage fieldset.single-group{width:min(440px,100%)}
#wizard #continue{position:static;width:100%;margin:24px 0 0}
.single-group .state-choice span{bottom:24px}
#login-link{display:block;text-align:center;font:14px/1.5 Inter,sans-serif;color:var(--t2);text-decoration:underline;text-underline-offset:4px}
#error{flex-shrink:0;margin:0 0 32px;line-height:1.5}
.state-choice b{display:grid;place-items:center;background:#201529;border:2px solid #e5d4b1;color:transparent}
.state-choice:has(input:checked) b{display:grid;background:#e5d4b1;color:#25182f}
@media(hover:hover){.state-choice:hover{border-color:#e5d4b1}}

/* Single-screen desktop: artwork = remaining form height after 260px of copy,
   action and gaps, capped at 280px. Text enlargement retains safe scrolling. */
main>header{width:calc(40% - 64px)}
main>header #back{flex:none;min-height:44px;padding:8px 18px;font:14px/1.5 Inter,sans-serif}
#wizard{padding-bottom:0;min-height:0}
#wizard #step-form{margin:0;padding-bottom:24px}
#wizard #continue{width:auto;min-width:160px;max-width:100%;display:flex;margin:24px auto 0;padding:12px 28px;min-height:48px}
#wizard.group-stage .step-top{display:none}
.group-stage #step-hint{font-size:16px;line-height:1.5;margin-bottom:20px}
#wizard.group-stage fieldset.single-group{width:min(280px,100%)}
.single-group .state-choice span{bottom:20px;font-size:16px}
.single-group label.state-choice{cursor:default;opacity:1}
.single-group .state-choice input,.single-group .state-choice b,.single-group .state-choice:has(input:checked) b{display:none}
.single-group .state-choice:has(input:checked){border-color:#ffffff26;box-shadow:none}
@media(min-width:801px){
 .panel{justify-content:flex-start}
 #wizard{height:100%;display:flex;flex-direction:column}
 #wizard.group-stage #step-form{flex:1;min-height:0;container-type:size;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
 #wizard.group-stage fieldset.single-group{flex:none;width:min(280px,100%,max(120px,calc(100cqh - 260px)))}
 #wizard #step-title{margin-top:0}
}
@media(max-width:800px){main>header{width:100%;justify-content:space-between}.step-top:has(#progress:empty){display:none}}
/* Commitments have no profile progress row; reclaim its 48px + 32px margin. */
#wizard.commitment-stage .step-top{display:none}

/* Programmatic headings announce each step without a decorative focus box. */
h1[tabindex="-1"]:focus{outline:none}

/* Keep profile progress at the top; center the current step in the space below it. */
@media(min-width:801px){
 .panel{justify-content:safe center}
 #wizard #step-form{margin:auto 0;padding-bottom:0}
 #wizard.group-stage #step-form{margin:0;justify-content:center}
}

/* The two reservation surfaces share the available card height. If calendar
   choices or an alert need more room, the card grows and the panel scrolls. */
#home{display:grid;grid-template-rows:minmax(max-content,1fr) minmax(max-content,1fr);height:auto;min-height:100%;padding:0;overflow:hidden;justify-content:stretch;box-shadow:0 20px 52px #0008,0 4px 16px #0005,inset 0 1px 0 #ffffff14}
#home .home-top,#home .home-bottom{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,2vw,32px)}
#home .home-top{background:#b78aa40d}
#home .home-bottom{background:#09050e26;border-top:1px solid #ffffff18}
#home .home-bottom{position:relative}
#home.confirmed-landing{min-height:0;height:100%}
#home .confirmation-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);white-space:nowrap;padding:10px 24px;border:1px solid #e5d4b1;border-radius:999px;background:#e5d4b1;color:#2b2030;font:700 16px/1.4 Raleway,Inter,sans-serif;box-shadow:0 8px 24px #0006}
#home .confirmation-badge[hidden]{display:none}
#home .label{margin:0 0 12px}
#home h1{margin:0 0 16px}
#home .reservation{margin:0}
#home .reservation h2{margin:0 0 8px}
#home .reservation p{margin:6px 0}
#home .reservation #host-name{margin-top:10px}
#home .calendar-options{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:12px}
#home .calendar-label{font-size:14px;color:var(--t2)}
#home .calendar-links{display:flex;align-items:center;gap:8px}
#home .calendar-links a{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #ffffff2c;border-radius:12px;background:#ffffff0b;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
#home .calendar-links a:hover{background:#ffffff1c;border-color:#edcc72aa;transform:translateY(-2px)}
#home .calendar-links a:focus-visible{outline:2px solid #edcc72;outline-offset:3px}
#home .calendar-links a svg{width:24px;height:24px;flex:auto}
#home #join-note,#home #email-note{margin:14px 0 0}
#home #retry-email{margin-top:12px}
#home #error{max-width:100%;margin:16px 0 0;padding:10px 14px;border:1px solid #ffc2bb55;border-radius:12px;background:#ffc2bb0d;font-size:14px}
@media(max-width:800px){#home{grid-template-rows:auto auto}#home h1{font-size:34px}#home .reservation h2{font-size:26px}#home .arrival{font-size:20px}}
#home .home-bottom>.primary{margin:8px auto;max-width:100%}
#guest-video{width:100%;height:min(55svh,480px);margin-top:16px;border-radius:14px;overflow:hidden;background:#100b18}

/* First Week shell: viewport minus 2 * 48px. The header takes 80px;
   the remaining height uses a 320px left menu and flexible content pane.
   Each desktop pane owns overflow. Narrow screens use document scrolling. */
body:has(main[data-stage=home]){display:block;padding:48px;min-height:100svh}
main[data-stage=home]{display:grid;grid-template-columns:1fr;grid-template-rows:80px minmax(0,1fr);width:100%;height:calc(100dvh - 96px);min-height:0;margin:0;overflow:hidden;border-radius:16px;border:1px solid #e4d5f342;background:linear-gradient(110deg,#48285999,#25172ee8);box-shadow:0 16px 36px #0b051361,0 4px 12px #0b05133d}
main[data-stage=home]>.scene{display:none}
main[data-stage=home]>header{position:static;display:flex;width:100%;height:80px;padding:0 32px;margin:0;border-bottom:1px solid #e4d5f324;justify-content:space-between;align-items:center;gap:24px}
main[data-stage=home]>.panel{height:100%;min-height:0;overflow:hidden;padding:0;display:flex;flex-direction:column}
main[data-stage=home] #home{display:block;flex:1;height:100%;min-height:0;width:100%;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;text-align:left;overflow:hidden}
main[data-stage=home]>.panel>#error{flex:none;margin:0;padding:16px 32px;background:#311c30;border-top:1px solid #ffc2bb55}
.fw-tabs{display:flex;align-self:stretch;gap:24px}
.fw-tabs button{font:14px/1.5 'IBM Plex Mono',monospace;letter-spacing:.06em;padding:12px 8px;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;color:var(--t3)}
.fw-tabs button[aria-selected=true]{color:var(--t1);border-bottom-color:#abd7bc;background:#e0cbf20f}
.fw-tabs button:hover{color:var(--t1)}
.fw-stage{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}
.fw-canvas{min-width:0;min-height:0;overflow:auto;padding:48px;display:flex;flex-direction:column;background:#e0cbf213;scrollbar-width:thin;scrollbar-color:#bba3c755 transparent}
.fw-gathering-content{width:100%;max-width:680px;margin:auto;text-align:center}
#home .home-top,#home .home-bottom{display:block;text-align:center;padding:0;background:none;border:0;min-height:0}
#home h1{font-size:34px;margin:16px 0;color:var(--t1)}
#home #fw-countdown{font:400 48px/1.2 'Cormorant Garamond',serif;color:#e5d4b1;margin:20px 0 32px;font-variant-numeric:tabular-nums}
#home .reservation{margin:24px 0;padding:16px 0;border:0}
#home .reservation h2{font-size:26px;margin:0 0 8px}
#home .arrival{font:400 20px/1.5 Inter,sans-serif}
#home #fw-status{font-size:20px;line-height:1.5;margin:20px 0;color:var(--t1)}
#home .home-bottom>.primary{margin:16px auto;display:flex;width:fit-content;max-width:100%}
#home .home-bottom>.text-button{display:block;width:fit-content;margin:auto;text-decoration:underline;text-underline-offset:4px}
#home footer.fw-housekeeping{display:block;text-align:center;margin:24px 0 0;padding:0;border:0}
#home .calendar-options{margin:16px 0;align-items:center;justify-content:center}
#home .calendar-label,#home #email-note{font-size:14px;color:var(--t3)}
#home #email-note{line-height:1.5;margin:16px 0 0}
#home #retry-email{margin:12px auto 0}
.fw-sidebar{min-width:0;min-height:0;overflow:auto;padding:32px 24px;background:#e0cbf221;border-right:1px solid #e4d5f33b;display:flex;flex-direction:column;scrollbar-width:thin}
#fw-welcome{display:flex;flex-direction:column;text-align:center;flex:1}
#fw-welcome h2{font-size:34px;letter-spacing:.04em;margin:0 0 24px}
#fw-welcome p{font-size:16px;line-height:1.75;margin:0 0 24px}
#fw-start-exploring{margin:auto auto 0;max-width:100%}
#home #fw-start-exploring,#home .fw-canvas .primary{background:linear-gradient(125deg,#a9ddbe,#69b38e);color:#183c2c;border:1px solid #bde9cd;box-shadow:0 8px 18px #1034233d,inset 0 1px #e1f8e9}
.fw-resources{margin:0;border:0}
.fw-activity{width:100%;max-width:680px;margin:auto;padding:0;border:0;background:none}
.fw-activity-heading{padding-bottom:24px;border-bottom:1px solid #e4d5f324;margin-bottom:32px}
.fw-activity h2,.fw-activity-heading h3{font:400 34px/1.18 'Cormorant Garamond',serif;margin:0;color:var(--t1)}
.fw-activity .label{font:14px/1.5 'IBM Plex Mono',monospace;color:var(--t3);display:block;margin-bottom:16px}
.fw-reading{font-size:16px;line-height:1.75}
.fw-reading h3{font:500 20px/1.4 Inter,sans-serif;margin:28px 0 12px;color:var(--t1)}
.fw-reading h3:first-child{margin-top:0}
.fw-reading p{font-size:16px;color:var(--t2)}
.fw-reading label{display:block;margin:24px 0 16px;font-size:16px}
#fw-project{background:#e0cbf212;border-color:#e4d5f32e;border-radius:12px}
#fw-project-save{font-size:14px;color:var(--t3)}
.fw-explore-heading h2{font:400 26px/1.2 'Cormorant Garamond',serif;margin:0 0 12px}
#fw-explore-count{font-size:14px;color:#abd7bc;margin:0 0 24px}
#fw-explore-menu>.label{display:none}
#fw-explore-menu nav{display:flex;flex-direction:column;margin:16px 0 32px;gap:12px}
#fw-explore-menu nav button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:16px 0;border:0;border-bottom:1px solid transparent;border-radius:0;background:none;box-shadow:none;color:var(--t2);font:16px/1.5 'IBM Plex Mono',monospace;text-transform:none;letter-spacing:0}
#fw-explore-menu nav button[aria-current]{color:var(--t1);border-bottom-color:#abd7bc}
#fw-explore-menu nav button:hover{color:var(--t1)}
#fw-explore-menu nav small{font:14px/1.5 Inter,sans-serif;color:var(--t3)}
#fw-explore-menu nav .fw-explored small{color:#abd7bc}
.fw-explore-meter{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fw-explore-meter i{height:3px;border-radius:3px;background:#ffffff26}
.fw-explore-meter i.fw-explored{background:#abd7bc}
.fw-explore-hint{font-size:14px;color:var(--t3);margin:12px 0 0}
.fw-activity :is(h2,h3)[tabindex='-1']:focus{outline:none}
@media(max-width:900px){
 body:has(main[data-stage=home]){padding:16px}
 main[data-stage=home]{height:auto;min-height:calc(100svh - 32px);grid-template-rows:auto 1fr}
 main[data-stage=home]>header{height:auto;min-height:80px;padding:16px 24px;flex-wrap:wrap;gap:12px}
 .fw-tabs{gap:16px}
 .fw-stage{display:flex;flex-direction:column;height:auto}
 .fw-canvas{overflow:visible;padding:32px 24px;min-height:420px}
 .fw-sidebar{order:-1;overflow:visible;padding:24px;border-left:0;border-bottom:1px solid #e4d5f33b}
 .fw-sidebar{border-right:0}
 #fw-welcome h2{font-size:26px}#fw-start-exploring{margin-top:8px}
 #fw-explore-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:12px 0 20px}
 #fw-explore-menu nav button{font-size:14px;padding:8px 0}
 #fw-explore-menu>.label,.fw-explore-hint{display:none}
 #fw-explore-count{margin-bottom:12px}
 #home #fw-countdown{font-size:34px}
 .fw-activity h2,.fw-activity-heading h3{font-size:26px}
}
/* Logo occupies the left rail; tabs begin at 320px (32px header padding
   plus the logo's 288px slot). The outer 48px inset is unchanged. */
main[data-stage=home]>header>a{order:0;margin-left:0;flex:0 0 264px}
main[data-stage=home]>header .fw-tabs{order:1;margin-left:0;gap:16px;min-width:0;margin-right:auto}
.fw-tabs button{text-transform:none;white-space:nowrap;letter-spacing:0}
#fw-explore-menu>h2{font:400 26px/1.2 'Cormorant Garamond',serif;margin:0 0 24px}
@media(max-width:1200px){main[data-stage=home]>header .fw-tabs{margin-left:0;gap:8px}}
@media(max-width:900px){
 main[data-stage=home]>header{justify-content:flex-start}
 main[data-stage=home]>header .fw-tabs{order:3;width:100%;overflow-x:auto;min-height:48px}
 .fw-tabs button{flex-shrink:0}
}
main[data-stage=home] #home,.fw-stage,.fw-canvas,.fw-sidebar{border-top-left-radius:0;border-top-right-radius:0}
#fw-explore-menu nav button{font:400 16px/1.5 'IBM Plex Mono',monospace;padding:16px 0}
#fw-explore-menu nav button:disabled,.fw-tabs button:disabled{opacity:1;color:var(--t3);cursor:not-allowed;border-bottom-color:transparent}
.fw-page-actions{display:flex;justify-content:flex-end;margin-top:32px;padding-top:16px}
.fw-gathering-content>.fw-page-actions{justify-content:center}
#home .fw-continue{background:linear-gradient(125deg,#a9ddbe,#69b38e);color:#183c2c;border:1px solid #bde9cd;box-shadow:0 8px 18px #1034233d,inset 0 1px #e1f8e9;text-transform:none}
@media(max-width:900px){main[data-stage=home]>header>a{flex-basis:auto}.fw-page-actions .fw-continue{width:100%}}

/* Sacred Sunday mapping: light Raleway reading/tabs, 20px readable scale.
   Header = 320px logo slot + four equal shares of the remaining width. */
main[data-stage=home]{--fw-nav-bg:#281a33}
main[data-stage=home]>header,.fw-sidebar{background:var(--fw-nav-bg)}
main[data-stage=home]>header{padding:0;gap:0}
main[data-stage=home]>header>a{flex:0 0 320px;padding-left:32px}
main[data-stage=home]>header .fw-tabs{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);flex:1;gap:0;margin:0;height:100%}
main[data-stage=home] .fw-tabs button{font:300 20px/1.4 Raleway,sans-serif;letter-spacing:0;padding:16px 8px;white-space:normal;text-align:center}
#fw-explore-menu nav button{font-size:20px;line-height:1.5}
.fw-reading,.fw-reading p,.fw-quiz-panel>p{font:300 20px/1.75 Raleway,sans-serif}
.fw-reading label,#fw-project{font-size:20px;line-height:1.6}
@media(max-width:900px){
 main[data-stage=home]>header>a{flex-basis:auto;padding:24px}
 main[data-stage=home]>header .fw-tabs{flex:0 0 100%;height:auto;grid-auto-columns:minmax(140px,1fr);overflow-x:auto}
}
#fw-explore-menu nav button{opacity:.55}
#fw-explore-menu nav button:disabled{opacity:.3}
#fw-explore-menu nav button[aria-current]{opacity:1}
#fw-explore-menu nav button:not(:disabled):hover,#fw-explore-menu nav button:focus-visible{opacity:1}
#home .fw-join-link{background:none;border:0;box-shadow:none;color:var(--t1);text-decoration:underline;text-underline-offset:5px}
#home .fw-join-link:disabled{opacity:.35}
/* Sunday content divides 2:1 after the 320px navigation rail. Each side
   has 24px padding; below 1100px viewport width the reading moves below. */
#fw-gathering{display:flex;padding:0;overflow:hidden}
#fw-sunday-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);height:100%;min-height:0}
#fw-sunday-overview>.fw-gathering-content{max-width:none;height:100%;min-height:0;overflow:auto;padding:32px 24px;display:flex;flex-direction:column;justify-content:safe center}
.fw-sunday-intro{padding:32px 24px;overflow:auto;background:#e0cbf20f;border-left:1px solid #e4d5f324;display:flex;flex-direction:column;justify-content:flex-end}
.fw-sunday-intro p{font:300 20px/1.75 Raleway,sans-serif}
#fw-sunday-prep{max-width:none;height:100%;min-height:0;margin:0;padding:48px;overflow:auto;display:flex;flex-direction:column;justify-content:safe center}
#fw-sunday-prep>*{width:100%;max-width:680px;margin-left:auto;margin-right:auto}
#fw-sunday-prep .fw-page-actions,.fw-sunday-intro .fw-page-actions{padding-top:32px;justify-content:flex-end}
#fw-sunday-prep .fw-activity-heading{margin-bottom:24px}
#fw-sunday-prep h2{font-size:26px}
@media(max-width:1100px){
 #fw-gathering{overflow:auto}
 #fw-sunday-overview{display:flex;flex-direction:column;height:auto}
 #fw-sunday-overview>.fw-gathering-content{height:auto;overflow:visible}
 .fw-sunday-intro{border-left:0;border-top:1px solid #e4d5f324}
 #fw-sunday-prep{height:auto;overflow:visible;border-left:0;border-top:1px solid #e4d5f324}
}
/* Optional activities reuse the Sunday 2:1 content/action split. */
.fw-resources:has(>.fw-optional-split:not([hidden])){padding:0;overflow:hidden}
.fw-optional-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);max-width:none;height:100%;min-height:0;margin:0}
.fw-split-reading{min-width:0;min-height:0;padding:32px;overflow:auto}
.fw-split-reading>p,.fw-split-action>p{font:300 20px/1.75 Raleway,sans-serif}
.fw-split-action{min-width:0;min-height:0;overflow:auto;padding:32px 24px;background:#e0cbf20f;border-left:1px solid #e4d5f324;display:flex;flex-direction:column;justify-content:flex-end}
.fw-split-action .fw-page-actions{justify-content:center}
.fw-split-action .fw-continue{max-width:100%}
@media(max-width:1100px){
 .fw-resources:has(>.fw-optional-split:not([hidden])){overflow:auto}
 .fw-optional-split{display:flex;flex-direction:column;height:auto}
 .fw-split-reading,.fw-split-action{overflow:visible}
 .fw-split-action{border-left:0;border-top:1px solid #e4d5f324}
}

/* Arrive schedule reference: available content width splits 45% menu / 55% detail. */
.fw-resources:has(>.fw-week-schedule:not([hidden])){padding:0;overflow:hidden}
.fw-week-schedule{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);width:100%;max-width:none;height:100%;min-height:0;margin:0;letter-spacing:.025em;box-shadow:0 8px 24px rgba(11,5,19,.28),0 3px 8px rgba(11,5,19,.16)}
.fw-schedule-menu,.fw-schedule-detail{padding:32px;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:auto}
.fw-schedule-menu{background:rgba(224,203,242,.035)}
.fw-schedule-detail{background:rgba(224,203,242,.09)}
.fw-schedule-menu .fw-activity-heading h2{font:300 26px/1.2 Raleway,sans-serif;color:var(--t2);text-transform:uppercase}
.fw-schedule-menu nav{display:grid;gap:4px;margin-top:8px}
.fw-schedule-menu nav button{display:flex;justify-content:flex-start;width:100%;padding:16px 0;border:0;border-radius:0;box-shadow:none;background:none;color:var(--t3);font:300 20px/1.4 'IBM Plex Mono',monospace;text-align:left;text-transform:uppercase;letter-spacing:.045em;cursor:pointer;overflow-wrap:anywhere}
/* Alpha overlay = (.09 - .035) / (1 - .035): selected row matches detail. */
.fw-schedule-menu nav button[aria-pressed=true]{color:var(--t1);background:rgba(224,203,242,.056994818653);text-shadow:none;margin-left:-12px;padding-left:12px;width:calc(100% + 44px);padding-right:32px}
.fw-schedule-menu nav button:hover{color:var(--t1)}
.fw-schedule-menu nav button:focus-visible{outline:1px solid #a7d8b8;outline-offset:4px}
.fw-schedule-detail h3{font:400 26px/1.2 'Cormorant Garamond',serif;margin:0 0 24px;padding-bottom:24px;border-bottom:1px solid #e4d5f338}
.fw-schedule-detail .fw-reading p{line-height:1.6}
.fw-schedule-detail>.fw-page-actions{margin-top:auto;padding-top:24px;border-top:1px solid #e4d5f338;justify-content:center}
.fw-schedule-reminder{margin-top:auto;padding-top:32px;font:300 16px/1.6 Raleway,sans-serif;color:var(--t3)}
@media(max-width:700px){
 .fw-resources:has(>.fw-week-schedule:not([hidden])){overflow:visible}
 .fw-week-schedule{grid-template-columns:1fr;height:auto}
 .fw-schedule-menu,.fw-schedule-detail{padding:24px;overflow:visible}
 .fw-schedule-menu nav button[aria-pressed=true]{margin-left:0;width:100%;padding:16px 12px}
 .fw-schedule-detail{border-top:1px solid #e4d5f338}
 .fw-schedule-detail .fw-continue{width:100%}
}

/* Text sections retain their content height; the surrounding panel owns scrolling. */
#fw-sunday-overview>.fw-gathering-content>*{flex-shrink:0}
#fw-sunday-overview>.fw-gathering-content,#fw-sunday-overview>.fw-sunday-intro{flex-shrink:0}
#home .fw-gathering-content #fw-countdown{margin:16px 0 24px}
#home .fw-gathering-content footer.fw-housekeeping{margin-top:16px}

/* Reclaim the former 80px header: the brand lives in the 320px rail.
   Content now uses the full viewport height minus the two 48px outer margins. */
main[data-stage=home]{grid-template-rows:minmax(0,1fr)}
main[data-stage=home]>header{display:none}
.fw-sidebar>.fw-brand{display:block;font:26px/1.2 'Bebas Neue',sans-serif;color:var(--t2);margin:0 0 32px}
#home .home-top>.label{display:none}
#home .fw-gathering-content #fw-countdown{margin:0;font:300 34px/1.2 'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}
#home .reservation{margin:0 0 16px;padding:0}
#home .reservation #home-title{margin:0 0 16px;font-size:48px}
#home .reservation #host-name{display:none}
#home #fw-arrival{margin:8px 0 16px}
.fw-sunday-intro{justify-content:safe center;align-items:center;text-align:center}
.fw-sunday-intro>.fw-page-actions{justify-content:center;margin-top:24px;padding-top:0}
.fw-sunday-intro>div{width:100%}

.fw-schedule-menu nav button:disabled{opacity:.35;cursor:not-allowed;color:var(--t3)}
/* Natural-height sections + 24px separation; 48px breathing room above/below. */
#fw-sunday-overview>.fw-gathering-content{padding-top:48px;padding-bottom:48px;gap:24px;justify-content:flex-start}
.fw-event-details{display:flex;flex:1;flex-direction:column;justify-content:safe center;gap:24px;width:100%}
#home .fw-gathering-content .home-bottom>.primary{margin:0 auto}
#home .fw-gathering-content footer.fw-housekeeping{margin-top:0}

/* Booking actions use the existing 12px menu gap and 24px section rhythm. */
#booking-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}
#booking-controls>div,#booking-controls>p{flex-basis:100%}
#booking-controls .text-button{padding:12px 16px;font-size:16px;line-height:24px;border:1px solid var(--t2);border-radius:12px}
#booking-controls .choice{margin-bottom:12px}

/* Enrollment explanations use the guide's 16px body scale, not small print. */
#wizard #step-hint,#wizard .hint,#wizard small,#wizard .contact-label,#crop-tools label,#date-options .date-choice small{font:400 16px/1.5 Inter,sans-serif;color:var(--t2)}
#home .fw-gathering-content .calendar-options{margin:0}
#wizard #enrollment-cost{text-align:center;font:600 16px/1.5 Inter,sans-serif;color:var(--t1)}

/* Guide height follows its text: 2×16px padding + label + 8px gap + 4px bar + 8px gap + note. */
.fw-stage>.fw-sidebar{grid-column:1;grid-row:1 / span 2}
.fw-stage>.fw-canvas{grid-column:2;grid-row:2}
.fw-guide{grid-column:2;grid-row:1;background:var(--fw-nav-bg);padding:16px 32px;border-bottom:1px solid #e4d5f33b;min-width:0}
.fw-guide p{margin:0;font:14px/1.5 Inter,sans-serif;color:var(--t2)}
.fw-guide-meter{height:4px;margin:8px 0;background:#e4d5f326;border-radius:4px;overflow:hidden}
.fw-guide-meter span{display:block;height:100%;background:#9ad8b7;width:0;transition:width .3s ease}
.fw-guide .fw-guide-note{font-size:13px;color:var(--t3)}
.fw-guide-image{display:block;width:100%;height:112px;object-fit:cover;opacity:.5;margin:0 0 24px;border-radius:8px}
@media(max-width:900px){.fw-guide{padding:16px 24px}.fw-stage>.fw-sidebar{order:-2}.fw-guide{order:-1}}
@media(prefers-reduced-motion:reduce){.fw-guide-meter span{transition:none}}

/* Actions remain in normal flow: 24px separates Continue from sign-in. */
#wizard #login-link{position:static;flex:none;display:block;margin:24px 0 0;clear:both;font:400 16px/1.5 Inter,sans-serif}
#wizard.group-stage #step-form{flex:none;min-height:auto;height:auto;container-type:normal;padding-bottom:0}
#wizard #enrollment-cost{text-align:center;font:600 16px/1.5 Inter,sans-serif;color:var(--t1)}
.intro-modes{display:flex;justify-content:center;gap:12px;margin:0 0 24px}
.intro-modes button{min-height:48px;padding:12px 24px;font:500 16px/1.5 Inter,sans-serif;border:1px solid #ffffff40;background:#ffffff08;border-radius:999px;color:var(--t1)}
.intro-modes button[aria-pressed=true]{border-color:var(--gold);background:#f5d87a18}
#intro-voice{text-align:center;padding:24px;border:1px solid #ffffff30;border-radius:20px;background:#ffffff06}
#intro-voice button{min-height:48px;font:500 16px/1.5 Inter,sans-serif;padding:12px 24px}
#intro-review audio{display:block;width:100%;margin:24px 0}
#wizard:has([data-field=mission]:not([hidden])) #step-title{font-size:clamp(26px,3vw,34px);line-height:1.25}

#wizard #error{position:static;margin:24px 0 0;font:400 16px/1.5 Inter,sans-serif;width:100%;text-align:center}

.intro-modes{align-items:center}
.intro-or{font:400 16px/1.5 Inter,sans-serif;color:var(--t2)}
#intro-voice #intro-record{display:inline-flex;align-items:center;gap:12px;padding:14px 34px;font-family:var(--f-mono);font-size:16px;font-weight:500;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);border:1px solid var(--b-gold);border-radius:999px;background:linear-gradient(135deg,rgba(245,216,122,.08),rgba(245,216,122,.16) 50%,rgba(245,216,122,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 24px rgba(0,0,0,.25);transition:all .18s ease}
#intro-voice #intro-record:hover{background:linear-gradient(135deg,rgba(245,216,122,.14),rgba(245,216,122,.24) 50%,rgba(245,216,122,.10));border-color:var(--gold);color:#ffeaa3;transform:translateY(-1px)}
.intro-record-dot{width:20px;height:20px;border-radius:50%;background:#ef4444;flex-shrink:0;box-shadow:0 0 8px rgba(239,68,68,.6)}

#intro-live .rec-live-player {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 380px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  backdrop-filter: blur(2px);
}

.rec-pulse {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rose);
  box-shadow: 0 0 10px rgba(219, 39, 119, 0.7);
  animation: pulse 1.2s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}

#intro-live .rec-timer {
  font-family: var(--f-mono);
  font-size: var(--lc-2, 14px);
  font-weight: 400;
  color: var(--text-dim);
  letter-spacing: 1px;
  flex-shrink: 0;
}

/* Live DAW-style waveform — fills the middle of the pill. */
.rec-visualizer {
  display: block;
  flex: 1;
  height: 32px;
  min-width: 0;
}
/* Opening columns share the card equally; the progress row uses Back + 24px gap + remaining width. */
main.opening-stage{grid-template-columns:1fr 1fr}
.opening-stage .scene-copy{bottom:40px}
#opening-benefits{padding-left:24px;margin:24px 0 0;display:grid;gap:20px;font:400 20px/1.5 Inter,sans-serif;color:var(--t1)}
.opening-stage .scene:after{background:linear-gradient(transparent,#170c22d9)}
#wizard.group-stage .single-group .state-choice span{bottom:100px}
#wizard.group-stage .single-group #continue{position:absolute;bottom:20px;left:20px;width:calc(100% - 40px);margin:0;z-index:4}
#date-options .date-choice{box-shadow:0 12px 32px #0005,inset 0 1px #ffffff14}
#date-options .date-choice:has(input:checked){border-color:var(--gold);box-shadow:0 12px 32px #0005,0 0 0 2px #f5d87a18}
.step-top #back{background:#ffffff0e;color:var(--t1);border:1px solid #ffffff50;box-shadow:0 8px 24px #0005;font-size:16px}
#phone-country{width:100%;min-height:48px;padding:12px 16px;margin:12px 0 24px;background:#261a32;color:var(--t1);border:1px solid #ffffff50;border-radius:12px;font:400 16px/1.5 Inter,sans-serif}
#intro-live{margin:24px auto;max-width:100%;gap:12px}
#intro-live #intro-stop{flex:none;min-width:48px;padding:0;background:transparent;border:0;box-shadow:none;color:var(--t1)}
#intro-visualizer{min-width:0;flex:1;height:32px;width:100%}
@media(max-width:800px){main.opening-stage{grid-template-columns:1fr}.opening-stage .scene{min-height:430px}.opening-stage .scene-copy{bottom:24px}#opening-benefits{font-size:16px;gap:16px}}

main.opening-stage .scene{display:block}
@media(max-width:800px){main.opening-stage .scene{grid-column:1/-1;min-height:430px}.opening-stage .scene-copy p{font-size:30px}}

#intro-voice .rec-live-player {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 380px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  backdrop-filter: blur(2px);
}
#intro-voice .rec-pulse {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--rose);
  box-shadow: 0 0 10px rgba(219, 39, 119, 0.7);
  animation: pulse 1.2s ease-in-out infinite;
  flex-shrink: 0;
}
#intro-voice .rec-stop-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 30px;
  background:
    linear-gradient(135deg,
      rgba(219, 39, 119, 0.10) 0%,
      rgba(219, 39, 119, 0.18) 50%,
      rgba(219, 39, 119, 0.08) 100%);
  border: 1px solid rgba(219, 39, 119, 0.30);
  border-radius: 999px;
  color: var(--rose-light);
  font-family: var(--f-mono);
  font-size: var(--lc-2, 14px);
  font-weight: 500;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.18s ease;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.25);
}
#intro-voice .rec-stop-btn:hover {
  background:
    linear-gradient(135deg,
      rgba(219, 39, 119, 0.18) 0%,
      rgba(219, 39, 119, 0.28) 50%,
      rgba(219, 39, 119, 0.14) 100%);
  border-color: rgba(219, 39, 119, 0.55);
  transform: translateY(-1px);
}
#intro-voice .rec-stop-icon {
  width: 11px;
  height: 11px;
  border-radius: 2px;
  background: var(--rose-light);
  flex-shrink: 0;
}

#intro-live.recorder{display:flex;flex-direction:column;align-items:center;gap:20px}
#intro-voice .rec-stop-btn{font-size:16px;color:#f6a1bd}
#intro-voice .rec-pulse{width:25px;height:25px;background:#ef4444}
#intro-voice .rec-timer{font-size:16px;color:var(--t2)}
#intro-voice .rec-stop-icon{background:#f6a1bd}
#intro-voice{--f-mono:'IBM Plex Mono',monospace;--b-gold:#f5d87a55}

@media(min-width:801px){.opening-stage #wizard{height:auto}.opening-stage .panel{justify-content:center}.opening-stage .scene-copy{bottom:40px}}

#wizard.group-stage .step-top,#wizard.commitment-stage .step-top{display:flex}

/* Number width = row width minus 120px country selector and 16px gap. */
.phone-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:end}
.phone-row>div{min-width:0}
.phone-row .contact-label{display:block;margin-bottom:12px}
.phone-row #phone-country{height:56px;margin:0;padding:12px;border-radius:12px}
.phone-row #phone{height:56px;padding:12px 0}

/* Opening: equal image/content columns; existing 40px desktop and 24px mobile padding. */
.opening-stage .scene{overflow:visible}
.opening-stage .scene>img{width:100%;height:100%;object-fit:cover;object-position:center;mask-image:none;-webkit-mask-image:none;z-index:0}
.opening-stage .scene:after{background:linear-gradient(transparent 65%,#170c2240)}
.opening-stage .scene-copy{display:none}
.opening-stage #opening-benefits{text-align:left;margin:28px 0;padding-left:24px;font:400 20px/1.5 Inter,sans-serif;gap:20px}
.opening-stage #enrollment-cost{margin:28px 0 0;font-weight:600}
.opening-stage #continue{position:static;width:auto;margin:12px auto 0;padding:14px 34px;display:flex}
.opening-stage .panel{padding:40px}
@media(max-width:800px){main.opening-stage .scene{min-height:280px;height:280px}.opening-stage .panel{padding:24px}.opening-stage #opening-benefits{font-size:16px;gap:16px}.opening-stage #continue{width:100%}}

/* Restore the original hero fade: image width is 145% of its column,
   with transparency increasing from 30% through its extended right edge. Close uses a 48px circle,
   inset by the existing 24px spacing from the card's top and right edges. */
.opening-stage .scene>img{width:145%;max-width:none;mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%)}
.opening-stage>#back{position:absolute;top:24px;right:24px;z-index:5;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#ffffff0e;box-shadow:0 8px 24px #0005;color:var(--t1);font:400 30px/1 Inter,sans-serif;letter-spacing:0}
#wizard.group-stage .step-top{display:none}

.opening-brand{display:none}
.opening-stage>.opening-brand{display:inline-flex;align-items:center;position:absolute;top:24px;left:24px;z-index:5;min-height:48px;font:400 26px/1 'Bebas Neue',sans-serif;color:#25182f;text-shadow:0 1px 12px #ffffff80}
/* The home shell moves the original brand into its sidebar; the empty header
   must not reserve a mobile grid row above the opening hero. */
.opening-stage>header{position:absolute;top:0;left:0;width:0;height:0;padding:0;margin:0}
@media(min-width:801px){.opening-stage .panel{padding:48px;background:#00000014}}
@media(max-width:800px){main.opening-stage{margin-top:0}}

/* Enrollment shares one hero through every step. Mobile keeps a compact
   180px hero, leaving the existing viewport-minus-180px panel for the form. */
main[data-stage=wizard] .scene{display:block;overflow:visible}
main[data-stage=wizard] .scene>img{width:145%;max-width:none;mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 30%,transparent 100%);z-index:0}
main[data-stage=wizard] .scene-copy{display:none}
main[data-stage=wizard]>header{position:absolute;top:0;left:0;width:0;height:0;padding:0;margin:0}
#progress i{transition:background-color 220ms ease,box-shadow 220ms ease}
@media(max-width:800px){main[data-stage=wizard]:not(.opening-stage) .scene{grid-column:1/-1;min-height:180px;height:180px}main[data-stage=wizard]{margin-top:0}}
@media(prefers-reduced-motion:reduce){#progress i{transition:none}}

/* Use 24px between related items and 48px between content groups. */
#home .reservation #home-title{margin:0 0 24px}
#home .reservation{margin:0 0 24px}
#home .reservation p{margin:16px 0}
#home #fw-status{margin:0 0 24px;line-height:1.6}
#home .fw-housekeeping #email-note{margin:24px 0 0;line-height:1.6}
.fw-guide p,.fw-guide .fw-guide-note{font-size:16px;line-height:1.5}
.fw-guide .fw-guide-note{margin-top:8px}
#fw-explore-menu nav button:disabled,.fw-schedule-menu nav button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
#home .fw-attention{animation:fw-invitation-pulse 3.2s ease-in-out infinite}
@keyframes fw-invitation-pulse{0%,100%{box-shadow:0 8px 18px #1034233d,0 0 0 0 #a9ddbe00}50%{box-shadow:0 8px 24px #10342355,0 0 0 8px #a9ddbe25}}
@media(prefers-reduced-motion:reduce){#home .fw-attention{animation:none}}

/* Reading height = panel height - outer padding - action height - 24px separation. */
@media(min-width:901px){
 .fw-schedule-detail{overflow:hidden}
 .fw-schedule-detail>.fw-reading{flex:1;min-height:0;overflow:auto;padding-right:8px}
 .fw-schedule-detail>.fw-page-actions{flex:none;margin-top:24px}
}

/* Compact confirmation: 16px outer padding + natural content + 12px group gaps. */
#home.fw-confirmation #fw-sunday-overview>.fw-gathering-content{padding:16px 24px;gap:12px;overflow:visible;justify-content:center}
#home.fw-confirmation .fw-event-details{flex:none;gap:12px}
#home.fw-confirmation .reservation{margin:0}
#home.fw-confirmation .reservation #home-title{font-size:40px;line-height:1.1;margin:0 0 12px}
#home.fw-confirmation .reservation h2{margin:0 0 4px}
#home.fw-confirmation .reservation p{margin:4px 0}
#home.fw-confirmation #fw-arrival,#home.fw-confirmation #join-note{font-size:18px;line-height:1.4;margin:8px 0 0;color:var(--t2)}
#home.fw-confirmation #fw-status{font-size:18px;line-height:1.4;margin:0 0 12px}
#home.fw-confirmation #email-note{font-size:18px;line-height:1.4;margin:8px 0 0}
#home.fw-confirmation #booking-controls{gap:8px;margin-top:8px}
#home.fw-confirmation #booking-controls .text-button{font-size:18px;line-height:24px;padding:8px 12px;min-height:40px}
#home.fw-confirmation .calendar-label{font-size:18px;line-height:1.4}
#home.fw-confirmation .calendar-options{gap:8px;margin:0}
#home.fw-confirmation .calendar-links a{width:40px;height:40px;min-height:40px;padding:8px}
#home.fw-confirmation .fw-sunday-intro{padding:24px}
#home.fw-confirmation .fw-sunday-intro p{font-size:20px;line-height:1.5}
#home.fw-confirmation .home-bottom>.primary{font-size:16px;letter-spacing:1px;min-height:48px;padding:10px 20px}
@media(max-width:900px){#home.fw-confirmation #fw-sunday-overview>.fw-gathering-content{padding:24px}}

/* Keep both confirmation columns on desktop. Small rail = 16 mono characters x 12px + 48px padding. */
@media(min-width:901px){
 #home.fw-confirmation #fw-gathering{overflow:hidden}
 #home.fw-confirmation #fw-sunday-overview{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);height:100%;width:100%}
 #home.fw-confirmation #fw-sunday-overview>.fw-gathering-content{height:100%}
 #home.fw-confirmation .fw-sunday-intro{border-top:0;border-left:1px solid #e4d5f324}
}
@media(min-width:901px) and (max-width:1100px){#home.fw-confirmation .fw-stage{grid-template-columns:240px minmax(0,1fr)}}

/* Progress header = 12px + 24px label + 8px gap + 10px bar + 12px = 66px. */
.fw-guide{padding:12px 32px}
.fw-guide-meter{height:10px;margin:8px 0 0;border-radius:999px}
.fw-guide .fw-guide-note{display:none}
main[data-stage=home]{--fw-nav-bg:rgba(40,26,51,.65)}
/* Five day rows: 28px line + 24px padding each; 4px gaps keep the menu within 600px desktops. */
.fw-schedule-menu{padding:24px;overflow:visible}
.fw-schedule-menu .fw-activity-heading{padding-bottom:16px;margin-bottom:16px}
.fw-schedule-menu nav button{padding:12px}
.fw-schedule-menu nav button[aria-pressed=true]{background:rgba(224,203,242,.025);margin-left:0;padding:12px;width:100%}
.fw-schedule-reminder{display:none}
/* Top greeting + flexible center controls + fixed calendar footer use the full column height. */
#home.fw-confirmation #fw-sunday-overview>.fw-gathering-content{padding:24px;gap:16px;justify-content:flex-start}
#home.fw-confirmation .fw-event-details{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}
#home.fw-confirmation .home-bottom{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
#home.fw-confirmation .reservation #home-title{font-size:48px;line-height:1.1;margin:0 0 16px}
#home.fw-confirmation .reservation h2{margin-bottom:8px}
#home.fw-confirmation .fw-housekeeping{flex:none;margin:0;width:100%}
#home.fw-confirmation .fw-housekeeping .calendar-options{margin:0}
#home.fw-confirmation #join-note{margin-top:16px}
@media(max-width:900px){
 .fw-guide{padding:12px 24px}
 #home.fw-confirmation .fw-event-details{display:flex;gap:24px}
 #home.fw-confirmation .reservation #home-title{font-size:40px}
}

/* Selected row spans the menu's 24px right padding and shares the detail's exact overlay. */
.fw-schedule-menu{background:none}
.fw-schedule-menu nav button[aria-pressed=true]{background:rgba(224,203,242,.09);margin-left:-12px;width:calc(100% + 36px);padding-left:24px;padding-right:36px}
.fw-guide{padding:12px 32px 20px}
/* Card padding moves into the reading area so its image can reach all three outer edges. */
.fw-schedule-detail{padding:0}
.fw-schedule-detail>.fw-reading{padding:32px;min-width:0}
.fw-schedule-detail>.fw-page-actions{margin:24px 32px 32px}
.fw-guide-image{opacity:1;border-radius:0;mask-image:linear-gradient(to bottom,#000 0%,#000 40%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 40%,transparent 100%)}
.fw-schedule-detail .fw-guide-image{width:calc(100% + 64px);max-width:none;margin:-32px -32px 24px}
.fw-resources:has(>.fw-activity:not(.fw-week-schedule):not([hidden])){padding:0}
.fw-resources>.fw-activity:not(.fw-week-schedule){max-width:none;margin:0;padding:32px}
.fw-resources>.fw-activity:not(.fw-week-schedule)>.fw-guide-image{width:calc(100% + 64px);max-width:none;margin:-32px -32px 24px}
@media(max-width:700px){.fw-schedule-menu nav button[aria-pressed=true]{margin-left:0;width:100%;padding:12px}}

/* Header artwork sits outside the reading scroller, reaching the card edge beyond its scrollbar. */
.fw-schedule-detail>.fw-guide-image{flex:none;width:100%;margin:0}

#home.fw-confirmation #fw-sunday-overview>.fw-gathering-content{padding:42px 24px}
/* Artwork grows 25% from 112px to 140px; 16px overlaps the following content through its fade. */
.fw-guide-image{height:140px;opacity:.45;mask-image:linear-gradient(to bottom,#000 0%,#000 10%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 10%,transparent 100%)}
.fw-schedule-detail>.fw-guide-image{margin-bottom:-48px}
.fw-resources>.fw-activity:not(.fw-week-schedule)>.fw-guide-image{margin-bottom:-16px}
.fw-schedule-detail h3:has(+.fw-stage-subtitle){border:0;padding-bottom:0;margin-bottom:8px}
.fw-schedule-detail .fw-stage-subtitle{font:400 20px/1.4 'Cormorant Garamond',serif;color:var(--t2);margin:0 0 24px;padding-bottom:24px;border-bottom:1px solid #e4d5f338}
@media(max-width:900px){
 #fw-explore-menu,.fw-schedule-menu{display:none}
 .fw-week-schedule{grid-template-columns:1fr;height:auto}
 .fw-schedule-detail{overflow:visible}
 .fw-sidebar{padding:16px 24px}
 .fw-sidebar>.fw-brand{margin:0}
}
