*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eeedeb;color:#1b1b19;font-family:"Courier New",Courier,monospace;font-weight:700}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}header{display:flex;justify-content:space-between;align-items:center;margin:0 4vw;padding:24px 0;border-bottom:2px solid}header .logo{font-size:20px;line-height:1.05}nav{display:flex;align-items:center;gap:26px;font-size:12px}main{padding:0 4vw}h1{font-size:clamp(48px,12.9vw,220px);letter-spacing:-.045em;line-height:.95;margin:36px 0 20px}h2{letter-spacing:-.055em}.introline{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:30px}.theme{display:flex;gap:6px}.theme button{border:1px solid;background:transparent;font-size:10px;padding:7px 10px}.theme button[aria-pressed=true]{background:#1b1b19;color:#fff}.lead{display:grid;grid-template-columns:1.52fr 1fr;gap:22px;align-items:start}.lead img{display:block;width:100%;height:auto}.lead .portrait{width:80%;margin-left:auto;margin-top:70px}.cap{display:flex;justify-content:space-between;font-size:10px;margin-top:10px;gap:10px}.manifesto{display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;padding:105px 0;border-bottom:2px solid}.manifesto h2{font-size:clamp(32px,4.4vw,70px);margin:0;line-height:1.05}.manifesto p{font-size:16px;line-height:1.75;margin:0 0 20px;max-width:740px}.cta{display:inline-block;border-bottom:2px solid;padding:12px 0;font-size:13px;line-height:1.5}.eyebrow{font-size:11px;letter-spacing:.08em}.stories{padding-top:50px}.stories>h2{font-size:36px;margin:10px 0 40px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:70px 30px}.card img{display:block;width:100%;height:auto}.card h3{margin:16px 0 6px;font-size:23px;letter-spacing:-.04em}.card p{font-size:12px;line-height:1.5;margin:0}.card:nth-child(even){padding-top:90px}.card:nth-child(3) img{aspect-ratio:3/2;object-fit:contain}.storyhead h1{font-size:clamp(36px,7vw,115px);margin-bottom:22px}.storyhead p{line-height:1.6;font-size:14px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:60px 30px;align-items:start;margin-top:45px}.gallery figure{margin:0}.gallery figure:nth-child(4n+3){padding-top:80px}.gallery figure:first-child,.gallery figure:nth-child(7n){grid-column:1/-1;width:85%;margin:auto}.gallery img{display:block;width:100%;height:auto}.photo{display:block;border:0;padding:0;background:none;width:100%;cursor:pointer}.photo:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #78786b;outline-offset:6px}footer{margin:100px 4vw 0;padding:40px 0 25px;border-top:2px solid}footer h2{font-size:clamp(28px,5vw,80px);margin:18px 0 20px}.bottom{display:flex;justify-content:space-between;margin-top:75px;font-size:10px;gap:15px}dialog{border:0;padding:40px 45px;background:#eeedeb;max-width:98vw;max-height:98vh}dialog::backdrop{background:#000e}dialog img{display:block;max-width:85vw;max-height:78vh;width:auto;height:auto}dialog button{background:transparent;border:0;padding:10px}dialog .close{position:absolute;right:4px;top:0;font-size:22px}.controls{display:flex;justify-content:space-between;align-items:center;font-size:11px}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:10px;background:white;padding:15px;z-index:9}.back{display:inline-block;font-size:12px;margin-top:35px}.gallery .cap{color:#575752}
@media(max-width:650px){header{padding:20px 0}header .logo{font-size:16px}nav{gap:12px;font-size:10px}nav .portfolio{display:none}h1{font-size:13vw;margin-top:30px}.introline{font-size:9px;gap:8px}.theme button{padding:6px;font-size:9px}.lead{gap:12px;grid-template-columns:1.25fr 1fr}.lead .portrait{width:100%;margin-top:35px}.cap{font-size:8px}.manifesto{grid-template-columns:1fr;padding:55px 0;gap:26px}.manifesto h2{font-size:37px}.manifesto p{font-size:14px;line-height:1.7}.cta{font-size:11px}.cards{gap:35px 16px}.card:nth-child(even){padding-top:40px}.card h3{font-size:18px}.card p{font-size:10px}.stories>h2{font-size:29px}.gallery{gap:28px 14px}.gallery figure:first-child,.gallery figure:nth-child(7n){width:100%}.gallery figure:nth-child(4n+3){padding-top:35px}.storyhead h1{font-size:40px}footer{margin-top:65px}.bottom{margin-top:50px;font-size:9px}dialog{padding:35px 12px 10px}dialog img{max-width:87vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.storynav{display:flex;flex-wrap:wrap;gap:18px 30px;font-size:12px;margin:0 0 50px}.storyblock{padding:38px 0 70px;border-top:2px solid;scroll-margin-top:24px}.chapter{margin-bottom:35px}.chapter h2{font-size:clamp(28px,4.5vw,72px);line-height:1.1;margin:15px 0;overflow-wrap:anywhere}.chapter p{font-size:13px}.sequence{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;align-items:center}.sequence figure{margin:0}.sequence img{width:100%;height:auto;display:block}.sequence figure:is(:first-child,:last-child){grid-column:1/-1;width:82%;margin:15px auto}.storyblock>.cta{margin-top:35px}.storyhead h1{overflow-wrap:anywhere}.gallery{gap:35px 24px}.gallery figure:nth-child(4n+3){padding-top:0}
@media(max-width:650px){.sequence{gap:20px 12px}.sequence figure:is(:first-child,:last-child){width:100%;margin:0}.storynav{font-size:11px;gap:18px}.storyblock{padding-bottom:45px}.chapter h2{font-size:30px}.gallery{gap:24px 12px}.chapter p{font-size:12px}}

.sequence{gap:16px}.sequence .cap{margin-top:6px}.storyblock{padding-bottom:50px}.sequence figure:is(:first-child,:last-child){width:90%}.manifesto{padding:70px 0}.gallery{gap:20px}
@media(max-width:650px){.sequence{gap:16px 10px}.sequence figure:is(:first-child,:last-child){width:100%}.manifesto{padding:45px 0}}

.lead{grid-template-columns:1.15fr .85fr 1fr;gap:22px;align-items:start}.lead .portrait{width:100%;margin:65px 0 0}.lead .third{margin-top:135px}
@media(max-width:650px){.lead{grid-template-columns:1fr 1fr;gap:22px 12px}.lead .portrait{margin-top:32px}.lead .third{grid-column:1/-1;width:82%;margin:0 auto}.lead .cap{flex-wrap:wrap}}
/* Opening triptych: two landscapes framing a portrait, with one shared height. */
.lead{grid-template-columns:1.5fr .67fr 1.5fr;gap:16px;align-items:start}.lead .portrait,.lead .third{width:100%;margin:0}.lead>a{min-width:0}.lead img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.lead .portrait img{aspect-ratio:2/3}.lead .cap{line-height:1.5}
@media(max-width:650px){.lead{grid-template-columns:1fr 1fr;gap:20px 12px}.lead>a:first-child{grid-column:1/-1}.lead .portrait,.lead .third{grid-column:auto;width:100%;margin:0}.lead .portrait img,.lead .third img{aspect-ratio:3/4;object-fit:cover}.lead .third img{object-position:50% 50%}}

/* Longer section name */
main>h1{font-size:clamp(32px,9.2vw,155px);white-space:nowrap;letter-spacing:-.055em}
@media(max-width:650px){main>h1{font-size:9.1vw}}

.introline>span{font-size:clamp(24px,3.2vw,52px);letter-spacing:-.045em;line-height:1.1}.introline{gap:18px}
@media(max-width:650px){.introline>span{font-size:27px}.introline{gap:10px}.theme{flex-shrink:0}}

@media(max-width:650px){.introline{flex-wrap:wrap}.introline>span{flex-basis:100%;font-size:27px}.introline .theme{margin-left:auto}}

.wedding-nav{display:flex;align-items:center;gap:18px}.language-switch{display:inline-flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}.language-switch a{padding:8px 2px}.language-switch a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.language-switch a:not([aria-current]){opacity:.55}@media(max-width:650px){header nav{flex-wrap:wrap;justify-content:flex-end;gap:12px}.wedding-nav{gap:10px}.language-switch{font-size:13px}}

.language-switch{gap:6px}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:34px;padding:7px 13px;border:2px solid currentColor;border-radius:999px;line-height:1;text-decoration:none;opacity:1!important}.language-switch a[aria-current="page"]{background:#1b1b19;color:#fff;border-color:#1b1b19;text-decoration:none}.language-switch a:hover{background:#d4d3cf;text-decoration:none}.language-switch a[aria-current="page"]:hover{background:#333}@media(max-width:650px){.language-switch a{min-width:42px;padding:7px 10px}}

.photo img,dialog>img{cursor:default}

/* Keep the stories compact on large desktop displays. */
@media(min-width:651px){
 header,main,footer{width:calc(100% - 8vw);max-width:1400px;margin-left:auto;margin-right:auto}
 main{padding:0}
 main>h1{font-size:clamp(32px,9.2vw,128px)}
 .introline>span{font-size:clamp(24px,3.2vw,44px)}
 .manifesto{padding:48px 0;gap:50px}
 .manifesto h2{font-size:clamp(32px,4.4vw,54px)}
 .sequence,.gallery{gap:18px;align-items:start}
 .sequence img,.gallery img{max-height:440px;object-fit:contain}
 .sequence figure:is(:first-child,:last-child),.gallery figure:first-child,.gallery figure:nth-child(7n){grid-column:auto;width:100%;margin:0}
 .chapter{margin-bottom:24px}
 .storyblock{padding:28px 0 36px}
 .storyblock>.cta{margin-top:22px}
 .storyhead h1{font-size:clamp(36px,7vw,86px)}
 footer{margin-top:60px}
}
@media(min-width:1100px){
 .sequence,.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sequence img,.gallery img{max-height:390px}
 .chapter h2{font-size:48px}
}

.cake-title{display:flex;align-items:center;gap:.12em}.cake-title>span{min-width:0}.cake-mark{display:block;width:.95em;height:.95em;flex:0 0 .95em;object-fit:contain}@media(max-width:650px){main>.cake-title{font-size:8.6vw;gap:.08em}}

.cake-title{gap:.3em}.cake-mark{margin-left:auto}@media(max-width:650px){main>.cake-title{font-size:8.3vw;gap:.22em}}
