@font-face{font-family:Cinzel;src:url('/assets/cinzel.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--ink:#09090b;--paper:#dfdbd5;--gold:#b39b79;--muted:#a9a4a0;--line:#b39b793d}body{background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;background-image:radial-gradient(ellipse at 0 45%,#28141b25,transparent 50%)}.header{height:94px;border-color:var(--line)}.brand b{font-family:Cinzel,Georgia,serif;letter-spacing:-1px;color:#d2b994;font-size:37px}.brand span{border-color:#8e7454;color:#b7afa4}.nav a{font-size:11px;letter-spacing:.4px}.nav a:hover,.nav a[aria-current=page]{color:#d4b68d}.nav .nav-cta{border-color:#8c73566b;position:relative}.nav .nav-cta:before,.nav .nav-cta:after{content:'';width:5px;height:5px;border:1px solid #b39b79;position:absolute;transform:rotate(45deg);top:calc(50% - 3px);background:#09090b}.nav .nav-cta:before{left:-3px}.nav .nav-cta:after{right:-3px}.eyebrow{color:var(--gold);letter-spacing:2.2px;font-size:10px}.epic-hero{position:relative;min-height:710px;height:min(820px,calc(100svh - 94px));isolation:isolate;border-bottom:1px solid var(--line);overflow:hidden}.epic-image{position:absolute;inset:0;z-index:-3}.epic-image img{object-position:65% 50%;filter:saturate(.65) brightness(.75)}.hero-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#09090bf5 0%,#09090be6 24%,#09090b9c 45%,#09090b10 75%),linear-gradient(0deg,#09090b 0%,transparent 25%,transparent 85%,#09090b50)}.epic-hero:after{content:'';position:absolute;inset:19px;pointer-events:none;border:1px solid #b39b792b;z-index:-1;clip-path:polygon(0 0,29% 0,29% 1px,1px 1px,1px 100%,0 100%,0 0,100% 0,100% 100%,70% 100%,70% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 0)}.epic-content{height:100%;min-height:710px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;padding:55px 0 70px}.ornament{width:275px;height:55px;object-fit:contain;margin:0 0 27px -12px;opacity:.9}.epic-content h1{font:400 clamp(52px,5.8vw,87px)/1.12 Cinzel,Georgia,serif;letter-spacing:-2px;color:#e8ded0;margin:19px 0 24px;text-shadow:0 3px 35px #0008}.epic-content>p{font-size:14px;line-height:1.85;max-width:365px;color:#b9b3ab;margin:0}.hero-actions{display:flex;gap:14px;margin-top:32px}.button{background:#a28a67;border-color:#a28a67;color:#09090b;font-size:11px;font-weight:600;letter-spacing:.2px;padding:14px 20px;transition:background .2s,border-color .2s}.button:hover{background:#c4aa84;border-color:#c4aa84}.button.ghost{border-color:#a58b686e;color:#d2c4b2;background:#09090b66}.button.ghost:hover{background:#a28a6725}.hero-credit{font-size:9px;letter-spacing:1.5px;color:#8f8a83;position:absolute;bottom:34px;right:0;text-transform:uppercase}.section h2,.page-copy h1,.wide-title h1,.contact-band h2,.statement h2{font-family:Cinzel,Georgia,serif;font-weight:400;letter-spacing:-.8px}.section h2{font-size:clamp(32px,3.7vw,53px)}.section{padding:90px 0}.section p,.page-copy p,.wide-title>p,.statement p{color:#aaa5a0;font-size:14px;line-height:1.85}.portfolio-intro{margin-top:-10px;margin-bottom:37px}.mini-gallery{grid-template-columns:1fr .85fr 1.2fr;gap:26px}.gallery-shot .image-frame{display:block;padding:6px;border:1px solid var(--line);background:#0f0e10;position:relative}.gallery-shot .image-frame:after{content:'';position:absolute;width:10px;height:10px;top:-3px;left:-3px;border-left:1px solid #c4aa84;border-top:1px solid #c4aa84;pointer-events:none}.gallery-shot:nth-child(2){margin-top:50px}.gallery-shot .image-frame img{height:100%;object-fit:cover}.full-gallery .image-frame img{height:auto}.caption{color:#9f9384;font-size:9px;letter-spacing:1px}.divider{display:flex;align-items:center;gap:35px}.divider:before,.divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#a58b6850)}.divider:after{transform:rotate(180deg)}.divider img{width:270px;height:70px;object-fit:contain}.statement{border:0;padding:85px 0}.statement h2{font-size:42px}.text-link{color:#c6b194;border-color:#8c735666}.wedding-feature{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:65px 0}.wedding-emblem{height:265px;display:flex;justify-content:center;align-items:center;flex-direction:column;position:relative}.wedding-emblem:before,.wedding-emblem:after{content:'';position:absolute;inset:16px 70px;border:1px solid #b39b7933}.wedding-emblem:after{inset:22px 76px;border-color:#b39b791a}.wedding-monogram{font:400 75px Cinzel,Georgia,serif;color:#ae9572;letter-spacing:8px}.wedding-emblem img{width:220px;height:45px;object-fit:contain}.contact-band{padding:80px 0}.contact-band h2{font-size:clamp(32px,4vw,52px)}.footer{border-color:var(--line);color:#8f8982}.light-page{background:#121112;color:#e0d8ca}.light-page .header,.light-page .footer{border-color:var(--line)}.light-page .eyebrow{color:#b39b79}.light-page .nav a:hover,.light-page .nav a[aria-current=page]{color:#d4b68d}.light-page p,.light-page .page-copy p{color:#ada6a0}.light-page .button{background:#a28a67;color:#09090b;border-color:#a28a67}.light-page .text-link{border-color:#8c735666}.light-page .footer{color:#8f8982}.page-copy h1{font-size:clamp(45px,5.1vw,74px)}.page-copy h1 em{font-style:normal}.page-image{padding:8px;border:1px solid var(--line)}.page-hero{gap:70px;padding-top:45px}.page-image:before,.page-image:after{content:'';position:absolute;width:26px;height:26px;border-color:#a68d6b;pointer-events:none}.page-image:before{left:-4px;top:-4px;border-left:1px solid;border-top:1px solid}.page-image:after{right:-4px;bottom:-4px;border-bottom:1px solid;border-right:1px solid}.page-image .vow-art{inset:8px;background:radial-gradient(ellipse at center,#32241d44,transparent 65%),#161315;flex-direction:column}.vow-art .ja,.page-image .vow-art .ja{font:400 104px Cinzel,Georgia,serif;color:#b39b79;letter-spacing:9px;transform:none}.vow-art:before,.vow-art:after{border-radius:0;transform:none;inset:35px;width:auto;height:auto;border-color:#a68d6b25}.vow-art:after{inset:42px}.vow-art img{width:260px;height:65px;object-fit:contain}.vow-art small{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#9f8c76;margin-top:10px}.line-list,.line-item,.faq details,.journey{border-color:var(--line)}.line-item .num,.journey .eyebrow{color:#aa9474}.line-item h3,.journey h3{color:#d4c6b4}.signature{color:#b39b79}.wide-title h1 em{font-style:normal}.field label{color:#c1b5a4}.field input,.field select,.field textarea{background:#121114;border-color:#6f5e494f;outline-color:#b39b79;color-scheme:dark}.form-note,.contact-details p{color:#9f9890}.menu{border-color:#a58b6866}.lightbox{background:#070709f7}.lightbox-close,.lightbox-prev,.lightbox-next{background:#1c1815;border-color:#b39b7966}.image-strip figcaption{color:#9f9384}a:focus-visible,button:focus-visible{outline-color:#c4aa84}
@media(max-width:1000px){.epic-hero,.epic-content{min-height:650px}.epic-content h1{font-size:65px}.hero-vignette{background:linear-gradient(90deg,#09090bf5,#09090bb3 44%,#09090b20),linear-gradient(0deg,#09090b,transparent 35%)}.hero-actions{gap:10px;flex-wrap:wrap}.wedding-feature{gap:30px}.wedding-emblem:before{inset:16px 30px}.wedding-emblem:after{inset:22px 36px}.page-hero{gap:35px}}
@media(max-width:720px){.header{height:78px}.brand b{font-size:31px}.nav,.light-page .nav{background:#0c0b0e;border-color:var(--line)}.epic-hero{height:auto;min-height:770px}.epic-content{min-height:770px;padding:260px 0 65px;justify-content:flex-end}.epic-image img{object-position:67% 10%;height:500px;filter:saturate(.7) brightness(.85)}.hero-vignette{background:linear-gradient(0deg,#09090b 0%,#09090b 26%,#09090bd4 48%,#09090b10 80%),linear-gradient(90deg,#09090b66,transparent 50%)}.epic-content h1{font-size:47px;letter-spacing:-1.8px;margin:16px 0 20px}.epic-content>.eyebrow{font-size:9px;letter-spacing:1.5px}.epic-content>p{max-width:340px;font-size:13px}.ornament{width:210px;height:38px;margin-bottom:15px}.hero-actions{gap:10px;margin-top:24px}.hero-actions .button{font-size:10px;padding:12px 13px;gap:16px}.hero-credit{font-size:7px;left:0;right:auto;bottom:23px}.epic-hero:after{inset:12px}.section{padding:60px 0}.section h2{font-size:33px;line-height:1.25}.mini-gallery{grid-template-columns:1fr 1fr;gap:14px}.mini-gallery .gallery-shot:nth-child(2){margin-top:35px}.mini-gallery .gallery-shot:nth-child(3){grid-column:1/-1}.mini-gallery .gallery-shot:nth-child(3) .image-frame{aspect-ratio:3/2}.divider{gap:10px}.divider img{width:190px;height:50px}.statement{padding:50px 0;gap:15px}.statement h2{font-size:34px}.wedding-feature{grid-template-columns:1fr;gap:20px;padding:35px 0 50px}.wedding-emblem{height:190px}.wedding-emblem:before{inset:10px 35px}.wedding-emblem:after{inset:16px 41px}.wedding-monogram{font-size:57px}.contact-band{padding:55px 0}.page-copy h1{font-size:43px;letter-spacing:-1px}.page-hero{padding-top:25px;gap:20px}.page-image{height:500px}.page-image .vow-art .ja{font-size:85px}.vow-art img{width:220px}.vow-art small{font-size:9px}.wide-title h1{font-size:45px;letter-spacing:-1px}.caption{letter-spacing:.4px}.full-gallery .gallery-shot:nth-child(2){margin-top:0}.footer-links{gap:15px}.light-page .nav{background:#121112}}

.lightbox-photo{position:relative;margin:0;max-width:100%;max-height:100%;flex-shrink:1}.lightbox-photo img{display:block;width:auto;height:auto;max-width:calc(100vw - 160px);max-height:calc(100dvh - 110px);object-fit:contain}.lightbox-credit{position:absolute;right:14px;bottom:14px;max-width:calc(100% - 28px);padding:6px 10px;background:rgba(8,8,10,.5);color:rgba(255,255,255,.78);font-size:11px;line-height:1.5;letter-spacing:.3px;text-align:right;overflow-wrap:anywhere;pointer-events:none}.lightbox-credit[hidden]{display:none}@media(max-width:720px){.lightbox-photo img{max-width:calc(100vw - 90px)}.lightbox-credit{right:8px;bottom:8px;max-width:calc(100% - 16px);padding:4px 7px;font-size:10px}}

@media(max-width:720px){.epic-image img{object-position:50% 50%}}

/* Krul portrait: preserve the whole frame at every viewport width. */
.cosplay-hero .page-image{width:min(100%,420px);height:auto;aspect-ratio:2/3;justify-self:center;background:#0f0e10}
.cosplay-hero .page-image img{object-fit:contain;object-position:center}

.legal{max-width:830px;padding:80px 0 110px}
.legal h1,.legal h2{font-family:Cinzel,Georgia,serif;font-weight:400;color:#e4d9c9}
.legal h1{font-size:clamp(40px,5vw,60px);line-height:1.18;margin:16px 0 36px}
.legal h2{font-size:clamp(21px,2vw,27px);line-height:1.35;margin:45px 0 14px;padding-top:22px;border-top:1px solid var(--line)}
.legal p{font-size:14px;line-height:1.9;color:#b9b2a9;margin:0 0 18px;overflow-wrap:anywhere}
.legal .legal-intro{font-size:16px;color:#cfc4b5;max-width:650px}
.legal a{color:#d7b990;text-underline-offset:3px}
.legal .legal-date{font-size:12px;color:#9a9188;margin-top:55px}
@media(max-width:720px){.legal{padding:45px 0 80px}.legal h1{margin-bottom:26px}.legal h2{margin-top:36px}.legal p{font-size:13px}}
/* Hidden honeypot field for the direct contact form. */
.contact-form .trap {position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-form button:disabled {opacity:.6;cursor:wait}

/* Photos prepared directly from the supplied original files. */
.about-photo{align-self:start}.about-photo img{height:auto;object-fit:contain}.wedding-hero-photo img{object-fit:contain;object-position:center}.wedding-gallery .gallery-shot{margin-top:0}.wedding-portfolio{padding-top:55px}.full-gallery .image-frame{aspect-ratio:auto}.full-gallery .image-frame img{height:auto;object-fit:contain}

/* Consent choices use equal visual weight; the panel remains scrollable on small screens. */
[hidden]{display:none!important}.privacy-settings{font:inherit;color:inherit;border:0;border-bottom:1px solid currentColor;background:none;padding:0;cursor:pointer;text-align:left}.consent-panel{position:fixed;z-index:200;bottom:20px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;background:#151317;color:#e6dfd5;border:1px solid #b39b7980;box-shadow:0 10px 80px #000c}.consent-panel h2{font:400 25px/1.3 Cinzel,Georgia,serif;margin:0 0 12px}.consent-panel p{font:14px/1.65 Arial,Helvetica,sans-serif;color:#c4bfb8;margin:0 0 15px}.consent-panel a{color:#d2b994;text-decoration:underline}.consent-actions{display:flex;gap:10px;flex-wrap:wrap}.consent-panel button{font:600 13px/1.4 Arial,Helvetica,sans-serif;cursor:pointer}.consent-actions .consent-choice{flex:1;min-width:180px;padding:12px 16px;color:#f0e8dc;border:1px solid #b39b79;background:#27212a}.consent-actions .consent-choice:hover{background:#3c303c}.consent-customize{display:block;margin:16px 0 0;border:0;background:none;color:#d2b994;padding:0;text-decoration:underline}.consent-details{margin-top:18px;padding-top:18px;border-top:1px solid #b39b7944}.consent-details label{display:flex;gap:12px;align-items:flex-start;font:14px/1.6 Arial,Helvetica,sans-serif;color:#dfdbd5}.consent-details input{width:20px;height:20px;flex:0 0 auto;accent-color:#b39b79;margin:2px 0 0}.consent-details .consent-save{padding:11px 15px;margin-top:15px;background:#27212a;color:#f0e8dc;border:1px solid #b39b79}.consent-panel :focus-visible,.privacy-settings:focus-visible{outline:2px solid #f0d4a7;outline-offset:4px}@media(max-width:520px){.consent-panel{padding:20px;bottom:12px;max-height:calc(100dvh - 24px)}.consent-panel h2{font-size:21px}.consent-actions{flex-direction:column}.consent-actions .consent-choice{min-width:0;width:100%}}

.consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.consent-actions .consent-choice{min-width:0}@media(max-width:520px){.consent-actions{grid-template-columns:1fr}}
