:root{color-scheme:light;--ink:#343434;--paper:#fffdfa;--muted:#65615d;--line:#ddd8d3;--accent:#77675d;--soft:#f3eeea}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;left:12px;top:-80px;background:white;padding:12px;z-index:9}.skip:focus{top:8px}.shell{width:min(1160px,calc(100% - 48px));margin:auto}.header{border-bottom:1px solid var(--line);background:white}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0}.brand img{width:155px;height:72px;object-fit:contain}.nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:14px}.nav a{text-decoration:none}.nav a[aria-current]{border-bottom:1px solid var(--accent)}.button{display:inline-flex;justify-content:center;align-items:center;padding:13px 24px;background:var(--accent);border:1px solid var(--accent);color:white;font-size:14px;letter-spacing:.04em;text-decoration:none;min-height:48px}.button.light{background:transparent;color:var(--ink);border-color:var(--line)}.hero{text-align:center;padding:76px 0 68px;border-bottom:1px solid var(--line);background:var(--soft)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:600;color:var(--muted)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(44px,6vw,76px);margin:16px 0 22px}h2{font-size:clamp(30px,4vw,42px);margin:12px 0 20px}h3{font-size:27px;margin:16px 0}.hero p{max-width:570px;margin:0 auto 28px;color:var(--muted)}.gallery-section{padding:62px 0}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.section-heading p{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.bride-card{border-bottom:1px solid var(--line);padding-bottom:26px}.photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.photos a:first-child{grid-column:1/-1}.photos img{width:100%;height:110px;object-fit:cover;display:block;background:var(--soft)}.photos a:first-child img{height:440px}.credit,.date,.note{font-size:13px;color:var(--muted)}.story{white-space:pre-line;overflow-wrap:anywhere}.gallery-message{padding:32px;border:1px solid var(--line);text-align:center;color:var(--muted)}.share{background:var(--soft);padding:64px 0;scroll-margin-top:20px}.share-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:64px}.share-intro p{color:var(--muted)}.share-intro .steps{margin-top:28px;padding-left:22px;font-size:14px}.steps li{padding:8px 0}.form{padding:32px;background:white;border:1px solid var(--line)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block;font-size:13px;font-weight:600;min-width:0}.field input,.field textarea{display:block;width:100%;padding:11px 12px;background:white;border:1px solid #aaa29b;border-radius:0;color:var(--ink);margin-top:7px;font-weight:400;font-size:16px}.field textarea{resize:vertical;min-height:112px}.field.wide{grid-column:1/-1}.upload-box{border:1px dashed #aaa29b;padding:20px;margin:24px 0 14px}.upload-box label{font-weight:600;display:block;margin-bottom:12px}.upload-box input{width:100%;font-size:14px}.upload-box .note{margin-bottom:0}.selection{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}.selected img{width:100%;height:88px;object-fit:cover}.selected button{border:0;background:transparent;text-decoration:underline;padding:5px;font-size:12px;width:100%;color:var(--ink)}.consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;margin:20px 0}.consent input{margin-top:5px;accent-color:var(--accent);flex-shrink:0;width:17px;height:17px}.status{font-size:14px;white-space:pre-line}.status.error{color:#9a2424}.status.success{color:#23633f;background:#f0f7f0;padding:15px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{padding:36px 0;background:white;border-top:1px solid var(--line);font-size:13px}.footer-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer nav{display:flex;gap:20px;flex-wrap:wrap}.load-more{display:block;margin:28px auto 0}dialog{padding:18px;border:0;width:min(900px,95vw);max-height:94vh;background:var(--paper)}dialog::backdrop{background:#000b}dialog img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:auto}dialog form{text-align:right;margin-bottom:12px}dialog button{border:1px solid var(--line);background:white;padding:8px 18px}dialog p{font-size:14px;margin:10px 0 0;text-align:center}[hidden]{display:none!important}@media(max-width:850px){.nav{gap:15px}.nav .extra{display:none}.share-layout{grid-template-columns:1fr;gap:24px}.share-intro{max-width:650px}.share-intro .steps{display:none}.photos a:first-child img{height:340px}}@media(max-width:560px){.shell{width:calc(100% - 32px)}.header-inner{padding:18px 0;gap:16px;flex-wrap:wrap}.brand img{width:130px;height:55px}.nav{font-size:13px;gap:14px}.nav .button{padding:9px 12px;min-height:40px}.hero{padding:48px 16px}.gallery-section{padding:36px 0}.section-heading{display:block}.gallery{grid-template-columns:1fr;gap:28px}.photos a:first-child img{height:400px}.share{padding:38px 0}.form{padding:20px}.fields{grid-template-columns:1fr;gap:16px}.selection{gap:6px}.selected img{height:68px}.selected button{font-size:11px;padding:4px 0}.footer-inner{display:block}.footer nav{margin-top:16px}.form .button{width:100%}}
.share-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.share-toggle::-webkit-details-marker{display:none}
.share-toggle .eyebrow{font-size:13px;color:var(--ink)}
.share-toggle-icon{flex-shrink:0;font-size:28px;font-weight:400;line-height:1;color:var(--accent)}
.share-toggle-icon::before{content:'+'}
.share-disclosure[open]>.share-toggle{margin-bottom:32px}
.share-disclosure[open]>.share-toggle .share-toggle-icon::before{content:'−'}
