:root{--navy:#161b38;--purple:#31066f;--orange:#f05537;--cream:#fff9ed;--muted:#55546a}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:17px/1.6 Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}button,a,input,select,textarea{outline-offset:5px}header{background:white;padding:20px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #ddd}header img{width:150px}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:15px;font-weight:700}nav a[aria-current=page]{color:var(--orange)}.btn{display:inline-block;border:0;padding:14px 25px;background:var(--orange);color:#fff;font-weight:700;text-decoration:none;cursor:pointer;border-radius:3px}.btn:hover{background:#bb3423}.btn.secondary{background:transparent;color:var(--navy);border:1px solid #aca8b7}.preview{padding:8px 6%;background:#eae3f6;color:#31066f;font-size:14px}.wrap{max-width:1260px;margin:auto;padding:60px 6%}.eyebrow{text-transform:uppercase;font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--orange)}h1,h2,h3{line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(42px,6vw,78px);margin:20px 0 25px;font-weight:800}h2{font-size:clamp(34px,4vw,50px);margin:16px 0 24px}h3{font-size:28px}p{max-width:700px}.hero{background:var(--navy);color:var(--cream);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:0;top:0;width:24%;height:100%;background-image:radial-gradient(#9883b7 2px,transparent 2px);background-size:20px 20px;opacity:.3;pointer-events:none}.hero .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;position:relative;z-index:1}.art{background:var(--cream);border-radius:50% 50% 4px 4px;display:flex;align-items:center;justify-content:center;aspect-ratio:1;max-width:390px;transform:rotate(3deg);padding:25px}.art img{width:100%;height:auto;transform:rotate(-3deg)}.meta{font-size:15px;color:#ccc6da}.lead{font-size:21px;line-height:1.5}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{text-decoration:none;display:block;background:white;padding:26px;border-top:5px solid var(--purple);transition:transform .2s}.card:hover{transform:translateY(-4px)}.card:nth-child(2){border-color:var(--orange)}.num{font-size:54px;font-weight:800;color:var(--purple)}.card .meta{color:var(--muted)}.card span.link{color:var(--purple);text-decoration:underline;font-weight:700}.banner{background:var(--purple);color:white}.banner .wrap{display:flex;gap:45px;justify-content:space-between;align-items:center}.banner p{max-width:620px}.feedback-intro{display:grid;grid-template-columns:1.35fr .75fr;gap:70px}.aside{background:white;padding:30px;align-self:start;border-top:6px solid var(--orange)}.aside h3{margin-top:8px}.subtle{color:var(--muted);font-size:15px}.form-layout{display:grid;grid-template-columns:260px 1fr;gap:60px}.steps{padding:0;list-style:none}.steps li{padding:12px 0;color:var(--muted);border-bottom:1px solid #d8d4dd;font-size:15px}.steps li.active{color:var(--purple);font-weight:700}.form-panel{max-width:760px;background:white;padding:35px;border-top:6px solid var(--purple)}.progress{height:5px;background:#e9e4ee;margin-bottom:28px}.progress span{display:block;background:var(--orange);height:100%;transition:width .3s}label,.label{display:block;font-weight:700;margin:18px 0 6px}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;border:1px solid #aaa3b4;background:white;padding:12px;border-radius:3px;color:var(--navy)}textarea{min-height:150px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.choices{display:grid;gap:10px;margin:20px 0}.choice{font-weight:400;display:flex;align-items:start;gap:12px;border:1px solid #ded8e7;padding:14px;margin:0;cursor:pointer}.choice:has(input:checked){border-color:var(--purple);background:#f1ebf8}.choice input{width:20px;height:20px;accent-color:var(--purple);flex-shrink:0;margin-top:3px}.categories{grid-template-columns:1fr 1fr}.actions{display:flex;justify-content:space-between;gap:15px;margin-top:30px}.error{color:#a42318;font-weight:700}.hidden{display:none!important}.confirm{max-width:790px;margin:auto;text-align:center;padding:75px 6%}.confirm p{margin:20px auto}.check{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--purple);color:white;font-size:35px}.photo-slot{background:#e9e3f0;min-height:240px;display:grid;place-items:center;color:#575067;text-align:center;padding:25px;border:1px dashed #9684ac}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.back{display:inline-block;margin-bottom:25px;color:var(--purple);font-weight:700}.recap{max-width:750px}.recap h1{font-size:64px}.day-switch{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.day-switch a{padding:10px 16px;border:1px solid #bcb3c9;text-decoration:none}.day-switch a[aria-current=page]{background:var(--purple);color:white}footer{background:var(--navy);color:#e9e3f0;padding:35px 6%;display:flex;justify-content:space-between;gap:25px;font-size:14px}footer img{width:130px;filter:brightness(0) invert(1)}@media(max-width:800px){header{padding:16px 5%;flex-wrap:wrap}header img{width:120px}nav{gap:16px;flex-wrap:wrap}nav .btn{padding:8px 12px}nav a{font-size:14px}.wrap{padding:40px 5%}.hero .wrap,.feedback-intro,.form-layout{grid-template-columns:1fr;gap:30px}.hero .art{max-width:260px;margin:auto}.cards,.gallery{grid-template-columns:1fr}.banner .wrap,.section-head{display:block}.steps{display:none}.form-panel{padding:22px}.categories,.grid2{grid-template-columns:1fr}.recap h1{font-size:44px}footer{flex-wrap:wrap}.hero:after{width:50%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Additions for the multi-page build */
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px 12px;z-index:50}
header{position:sticky;top:0;z-index:20}
.crumbs{font-size:14px;margin-bottom:22px}.crumbs a{color:var(--purple);font-weight:700}.crumbs span{color:var(--muted)}
.cards .card .photo-peek{display:block;margin:-26px -26px 20px;height:170px;background-size:cover;background-position:center}
.feature{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0 10px}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:26px 0 8px}
.btn.purple{background:var(--purple)}.btn.purple:hover{background:#1f0448}
.hero.small .wrap{grid-template-columns:1fr;padding:60px 6% 52px}
.hero.small h1{font-size:clamp(38px,5.4vw,66px)}
.recap p.body{font-size:19px}
/* Frame: matted photo with a filename caption */
.frame{margin:0;background:#fff;border:1px solid #d9d2e3;border-top:4px solid var(--purple);padding:12px 12px 0;box-shadow:0 1px 0 #fff inset,0 8px 22px -12px rgba(22,27,56,.35);transition:transform .2s,box-shadow .2s}
.frame:hover{transform:translateY(-3px);box-shadow:0 14px 28px -14px rgba(22,27,56,.45)}
.frame:nth-child(3n+2){border-top-color:var(--orange)}
.frame>a{display:block;text-decoration:none;cursor:zoom-in}
.mat{display:block;aspect-ratio:1/1;background:#f3eff8;padding:9px;border:1px solid #e6dfef}
.mat img{display:block;width:100%;height:100%;object-fit:contain;background:#e9e3f0}
.frame figcaption{padding:11px 2px 12px;font:12.5px/1.35 ui-monospace,Menlo,Consolas,monospace;color:var(--muted);text-align:center;word-break:break-all}
.frame.big .mat{aspect-ratio:4/3}
.grid-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin-top:26px}
.gal-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.gal-note{background:#eae3f6;color:var(--purple);padding:12px 16px;border-left:4px solid var(--purple);font-size:15px;margin:0;max-width:none}
/* Lightbox */
dialog.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
dialog.lb::backdrop{background:rgba(14,17,38,.94)}
.lb-in{display:grid;grid-template-rows:auto 1fr auto;height:100%;padding:14px 16px 16px;gap:10px}
.lb-top,.lb-bot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.lb-name{font:14px ui-monospace,Menlo,Consolas,monospace;word-break:break-all}.lb-count{color:#cfc8de;font-size:14px}
.lb-stage{position:relative;display:grid;place-items:center;min-height:0}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border:8px solid #fff;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#222}
.lb button.nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.92);border:0;width:48px;height:48px;border-radius:50%;font-size:24px;cursor:pointer;color:var(--navy)}
.lb .prev{left:4px}.lb .next{right:4px}
.lb .close{background:transparent;border:1px solid #8d86a6;color:#fff;padding:9px 16px;border-radius:3px;cursor:pointer}
.lb .dl{background:var(--orange);color:#fff;text-decoration:none;font-weight:700;padding:12px 22px;border-radius:3px}
.lb .dl:hover{background:#bb3423}
.lb-hint{color:#cfc8de;font-size:13px}
/* Form tweaks */
.form-panel{width:100%}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.btn[disabled]{opacity:.6;cursor:wait}
.noscript{padding:30px;background:#fff;border-top:6px solid var(--orange)}
@media(max-width:800px){header{position:static}.feature{grid-template-columns:1fr}.grid-photos{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.frame{padding:8px 8px 0}.mat{padding:6px}.frame figcaption{font-size:11px}.lb-hint{display:none}.lb button.nav{width:40px;height:40px}}
