:root{--ink:#0b2d2e;--ink-soft:#3f6c6e;--paper:#f5f3ee;--white:#fffefa;--moss:#a7c0bf;--lime:#deeceb;--coral:#d98269;--line:rgba(11,45,46,.18);--sans:"DM Sans",Arial,sans-serif;--display:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:94px;padding:0 6.2vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:800 25px var(--display);transform:rotate(-14deg)}.brand-name{font:800 18px var(--display);letter-spacing:.18em}.brand-name span{display:block;font:400 9px var(--sans);letter-spacing:.2em;margin-top:2px;color:#608283;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:clamp(19px,3.2vw,48px);font-size:12px;letter-spacing:.04em}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:hover{color:#9a5d4c}.nav-cta{padding:13px 17px;background:var(--ink);color:var(--white);border-radius:2px}.nav-cta span{padding-left:9px;color:var(--lime)}.menu-toggle{display:none}.hero{min-height:min(735px,calc(100vh - 94px));display:grid;grid-template-columns:48% 52%;position:relative;background:var(--ink);color:var(--white);overflow:hidden}.hero-copy{padding:clamp(64px,9vw,130px) 4vw 80px 12.4vw;position:relative;z-index:1}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.19em;display:flex;align-items:center;gap:12px;color:#c5dcda;margin:0 0 28px}.eyebrow>span{width:25px;height:1px;background:var(--coral);display:inline-block}.hero h1,.section-heading h2,.services-heading h2,.about-copy h2,.contact-main h2{font:500 clamp(53px,6.5vw,91px)/.99 var(--display);letter-spacing:-.075em;margin:0}.hero h1 em,.section-heading h2 em,.services-heading h2 em,.about-copy h2 em,.contact-main h2 em{font-style:normal;color:#9bbab8}.hero-intro{font-size:15px;line-height:1.75;color:#cddfdd;max-width:405px;margin:26px 0 29px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:21px;padding:16px 19px;font-size:12px}.button-light{background:var(--lime);color:var(--ink)}.button-light span{font-size:16px}.text-link{font-size:11px;color:#d6e7e6}.text-link span{color:var(--coral);padding-left:8px}.hero-note{position:absolute;bottom:44px;display:flex;align-items:center;gap:13px;color:#97b8b7;font-size:10px;line-height:1.55;letter-spacing:.05em}.note-line{height:1px;width:38px;background:#97b8b7}.hero-image-wrap{position:relative;min-height:530px;overflow:hidden;background:#659999}.hero-image{width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center;display:block;filter:saturate(.76);mix-blend-mode:luminosity;opacity:.9}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(31,63,64,.49),transparent 52%),linear-gradient(90deg,rgba(31,63,64,.12),transparent 30%)}.hero-image-label{position:absolute;left:32px;right:34px;bottom:27px;z-index:1;display:flex;justify-content:space-between;color:white;font-size:10px;letter-spacing:.09em;text-transform:uppercase}.hero-stamp{position:absolute;top:43px;right:42px;width:112px;height:112px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-content:center;text-align:center;font-size:9px;letter-spacing:.16em;line-height:1.6;z-index:1;transform:rotate(8deg)}.hero-stamp span{font-size:20px;line-height:1}.hero-index{position:absolute;bottom:17px;left:6.2vw;color:#82a4a3;font-size:9px;letter-spacing:.2em}.intro-strip{padding:54px 12.4vw 58px;display:flex;justify-content:space-between;align-items:end;gap:30px}.intro-strip>p{font:500 clamp(24px,3vw,39px)/1.25 var(--display);letter-spacing:-.045em;margin:0}.intro-strip>p span{color:#8eaeac}.intro-meta{display:flex;align-items:center;gap:12px;color:#719393;font-size:10px;max-width:340px;line-height:1.6}.dot{height:4px;width:4px;border-radius:50%;background:var(--coral);flex:none}.section-pad{padding:95px 12.4vw}.work-section{background:var(--white)}.section-heading{display:flex;justify-content:space-between;gap:7vw;align-items:end;margin-bottom:54px}.eyebrow-dark{color:#66898a}.section-heading h2,.services-heading h2,.about-copy h2{font-size:clamp(44px,5vw,69px)}.section-heading h2 em,.about-copy h2 em{color:#719798}.section-lead{max-width:390px;color:#668687;font-size:13px;line-height:1.8;margin:0 0 5px}.work-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);padding:16px 0 18px;color:#678889;font-size:10px}.filter-list{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid transparent;background:transparent;color:#729394;padding:8px 11px;border-radius:2px;font-size:10px;cursor:pointer}.filter:hover,.filter.active{color:var(--ink);border-color:#b4cfcd}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:clamp(120px,15vw,220px);gap:10px}.photo-card{appearance:none;padding:0;border:0;position:relative;overflow:hidden;background:#e0ebea;cursor:zoom-in;text-align:left;min-width:0}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1),filter .4s;filter:saturate(.82)}.photo-card:hover img{transform:scale(1.045);filter:saturate(1)}.photo-card:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.photo-card:nth-child(8n+4){grid-row:span 2}.photo-card:nth-child(13n+7){grid-column:span 2}.photo-card[hidden]{display:none}.photo-card:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(35,72,73,.68));opacity:0;transition:opacity .3s}.photo-card:hover:after,.photo-card:focus-visible:after{opacity:1}.photo-overlay{position:absolute;z-index:1;left:14px;bottom:14px;color:white;opacity:0;transform:translateY(5px);transition:all .3s}.photo-card:hover .photo-overlay,.photo-card:focus-visible .photo-overlay{opacity:1;transform:none}.photo-overlay span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:8px;color:#c8dddc;margin-bottom:4px}.photo-overlay b{font:500 14px var(--display)}.photo-open{position:absolute;z-index:2;right:11px;top:11px;background:var(--lime);border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:13px;opacity:0;transform:translateY(4px);transition:all .25s}.photo-card:hover .photo-open,.photo-card:focus-visible .photo-open{opacity:1;transform:none}.gallery-note{text-align:right;color:#769696;font-size:10px;margin:17px 0 0}.services-section{background:var(--ink);color:var(--white);display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;padding-top:112px;padding-bottom:120px}.services-heading{position:sticky;top:38px;align-self:start}.services-heading .eyebrow{color:#a9c9c7}.services-heading h2{font-size:clamp(41px,4.5vw,64px);margin-bottom:20px}.services-heading h2 em{color:var(--lime)}.services-heading>p:last-child{font-size:13px;line-height:1.8;color:#bfd8d7;max-width:350px}.service-list{border-top:1px solid rgba(255,255,255,.25)}.service-item{display:grid;grid-template-columns:35px 1fr 20px;gap:15px;border-bottom:1px solid rgba(255,255,255,.25);padding:26px 0 25px;align-items:start}.service-no{font-size:10px;color:var(--coral);padding-top:8px}.service-item h3{font:500 21px var(--display);margin:0 0 9px;letter-spacing:-.03em}.service-item p{font-size:12px;line-height:1.75;max-width:490px;color:#afcfce;margin:0}.service-arrow{color:var(--lime);font-size:18px;transition:transform .2s}.service-item:hover .service-arrow{transform:translate(3px,-3px)}.about-section{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:9vw;padding-top:125px;padding-bottom:125px}.about-image{position:relative;background:#dfeae8;min-height:560px}.about-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.76)}.about-caption{position:absolute;bottom:15px;left:17px;background:var(--paper);padding:9px 12px;font-size:9px;letter-spacing:.05em}.about-copy .eyebrow{margin-bottom:23px}.about-copy h2{margin-bottom:20px}.about-copy>p:not(.eyebrow){color:#5e8182;font-size:13px;line-height:1.85}.about-copy .about-lead{font:500 18px/1.5 var(--display)!important;color:var(--ink)!important;letter-spacing:-.02em}.underlined-link{display:inline-block;margin-top:18px;padding-bottom:9px;border-bottom:1px solid #6c9392;font-size:11px}.underlined-link span{color:#ad654f;padding-left:14px}.about-signature{margin-top:43px;font:500 25px var(--display);letter-spacing:-.05em}.about-signature span{display:block;margin-top:5px;font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#739897}.contact-section{background:#deeceb;padding:70px 12.4vw 65px}.contact-top{display:flex;justify-content:space-between;align-items:start}.contact-top .eyebrow{color:#557f81}.contact-kicker{font:500 18px/1.45 var(--display);letter-spacing:-.02em;margin:0;color:#4f7778}.contact-main{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:44px 0 55px}.contact-main h2{font-size:clamp(48px,6vw,82px)}.contact-main h2 em{color:#719798}.contact-button{background:var(--ink);color:white;padding:19px 22px;font-size:12px;min-width:190px;display:flex;justify-content:space-between;align-items:center}.contact-button span{color:var(--lime);font-size:16px}.contact-details{border-top:1px solid rgba(11,45,46,.22);padding-top:17px;display:flex;gap:clamp(18px,4vw,60px);font-size:11px;color:#4f7778;flex-wrap:wrap}.site-footer{min-height:86px;padding:20px 6.2vw;display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--paper);color:#709291;font-size:9px}.footer-brand{font:800 15px var(--display);letter-spacing:.13em;color:var(--ink)}.footer-brand span{font:9px var(--sans);letter-spacing:.1em;margin-left:6px}.site-footer>div{display:flex;gap:20px}.site-footer a:hover{color:#a25e4e}.lightbox{width:min(94vw,1120px);max-width:none;max-height:92vh;border:0;padding:50px 66px 27px;background:#315f60;color:white}.lightbox::backdrop{background:rgba(11,45,46,.9)}.lightbox figure{height:min(78vh,850px);margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.lightbox figure img{max-width:100%;max-height:calc(100% - 24px);object-fit:contain}.lightbox figcaption{font-size:10px;color:#a9cdcb;letter-spacing:.12em;text-transform:uppercase}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:transparent;border:0;color:white;cursor:pointer;font-size:28px}.lightbox-close{right:18px;top:10px}.lightbox-prev{left:14px;top:50%}.lightbox-next{right:14px;top:50%}.lightbox button:hover{color:var(--lime)}
@media(max-width:900px){.site-header{height:78px;padding:0 5vw}.main-nav{gap:17px}.main-nav>a:not(.nav-cta){font-size:10px}.brand-mark{width:37px;height:37px}.brand-name{font-size:15px}.hero{min-height:650px;grid-template-columns:50% 50%}.hero-copy{padding:85px 25px 90px 8vw}.hero h1{font-size:clamp(51px,8vw,72px)}.hero-image-wrap{min-height:650px}.intro-strip{padding:45px 8vw}.section-pad{padding:80px 8vw}.services-section{gap:6vw}.about-section{gap:6vw}.about-image{min-height:490px}.contact-section{padding-left:8vw;padding-right:8vw}}
@media(max-width:650px){.site-header{height:72px;padding:0 6vw}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:10px}.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.main-nav{position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:10px 6vw 24px;display:none;align-items:stretch;gap:0;box-shadow:0 15px 18px #0b2d2e20}.main-nav.open{display:flex;flex-direction:column}.main-nav>a:not(.nav-cta){font-size:13px;padding:14px 2px;border-bottom:1px solid var(--line)}.main-nav .nav-cta{margin-top:15px;text-align:center}.hero{display:flex;flex-direction:column-reverse;min-height:0}.hero-image-wrap{height:60vw;min-height:270px;max-height:430px}.hero-copy{padding:48px 8vw 86px}.hero h1{font-size:clamp(51px,14vw,78px)}.hero-intro{font-size:14px}.hero-note{bottom:24px}.hero-stamp{width:86px;height:86px;font-size:7px;top:18px;right:18px}.hero-image-label{left:18px;right:18px;bottom:16px;font-size:8px}.hero-index{display:none}.intro-strip{padding:37px 8vw;display:block}.intro-strip>p{font-size:26px}.intro-meta{margin-top:18px}.section-pad{padding:65px 6vw}.section-heading{display:block;margin-bottom:34px}.section-heading h2,.services-heading h2,.about-copy h2{font-size:clamp(43px,12vw,62px)}.section-lead{margin-top:22px}.work-toolbar{display:block}.work-toolbar>span{display:block;margin-bottom:12px}.filter-list{justify-content:flex-start}.filter{font-size:9px;padding:7px 8px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,54vw,260px);gap:7px}.photo-card:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.photo-card:nth-child(8n+4){grid-row:span 1}.photo-card:nth-child(13n+7){grid-column:span 2}.photo-overlay{opacity:1;transform:none;left:9px;bottom:9px}.photo-overlay span{font-size:7px}.photo-overlay b{font-size:11px}.photo-open{opacity:.95;transform:none;width:25px;height:25px}.photo-card:after{opacity:.8}.services-section{display:block;padding-top:67px;padding-bottom:75px}.services-heading{position:static;margin-bottom:35px}.services-heading>p:last-child{font-size:12px}.service-item{grid-template-columns:26px 1fr 16px;gap:10px;padding:22px 0}.service-item h3{font-size:18px}.service-item p{font-size:11px}.about-section{display:flex;flex-direction:column;gap:39px;padding-top:75px;padding-bottom:74px}.about-image{width:100%;min-height:100vw;max-height:580px}.about-copy{width:100%}.about-signature{margin-top:32px}.contact-section{padding:50px 7vw 40px}.contact-top{display:block}.contact-kicker{font-size:16px;margin-top:22px}.contact-main{display:block;padding:35px 0 39px}.contact-main h2{font-size:clamp(45px,12vw,66px);margin-bottom:28px}.contact-button{width:100%}.contact-details{display:grid;gap:11px;font-size:10px}.site-footer{padding:20px 6vw;display:grid;grid-template-columns:1fr 1fr;font-size:8px;gap:12px}.site-footer>span{text-align:right}.site-footer>div{grid-column:span 2;justify-content:space-between;gap:8px}.footer-brand span{display:block;margin:3px 0 0}.lightbox{padding:42px 40px 24px}.lightbox figure{height:72vh}.lightbox-prev{left:4px}.lightbox-next{right:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.site-header{height:112px}.brand-logo{display:block;width:128px;height:106px;object-fit:contain}.footer-brand{display:block;width:78px;line-height:0}.footer-brand img{display:block;width:100%;height:auto;max-height:66px;object-fit:contain}
@media(max-width:900px){.site-header{height:100px}.brand-logo{width:116px;height:96px}}
@media(max-width:650px){.site-header{height:82px}.main-nav{top:82px}.brand-logo{width:98px;height:78px}.footer-brand{width:64px}.footer-brand img{max-height:56px}}
.wedding-section{display:grid;grid-template-columns:1.02fr .98fr;background:#eff3f2}.wedding-image{min-height:590px;position:relative;overflow:hidden;background:#d6e3e2}.wedding-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.wedding-image>span{position:absolute;left:25px;bottom:23px;padding:10px 12px;background:var(--paper);font-size:8px;letter-spacing:.14em}.wedding-copy{align-self:center;padding:72px clamp(40px,8vw,126px)}.wedding-copy .eyebrow{color:#66898a}.wedding-copy h2{font:500 clamp(45px,5.2vw,72px)/1.04 var(--display);letter-spacing:-.075em;margin:0 0 22px}.wedding-copy h2 em{font-style:normal;color:#83a7a5}.wedding-copy>p:not(.eyebrow){max-width:430px;color:#5f8283;font-size:13px;line-height:1.85}.wedding-link{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:290px;margin-top:30px;padding:15px 18px;background:var(--ink);color:#fff;font-size:11px}.wedding-link span{color:var(--lime);font-size:16px}.wedding-url{display:block;margin-top:18px;color:#7d9c9b;font-size:8px;letter-spacing:.18em}
@media(max-width:900px){.wedding-section{grid-template-columns:1fr 1fr}.wedding-image{min-height:500px}.wedding-copy{padding:52px 6vw}}
@media(max-width:650px){.wedding-section{display:flex;flex-direction:column}.wedding-image{min-height:112vw;max-height:540px}.wedding-copy{padding:54px 7vw 58px}.wedding-copy h2{font-size:clamp(43px,12vw,62px)}}
.wedding-section{display:block;background:#eff3f2;padding:clamp(54px,8vw,100px) 0 0}
.wedding-intro{padding:0 12.4vw 42px;max-width:1100px}
.wedding-intro .eyebrow{margin-bottom:22px}
.wedding-intro h2{font:500 clamp(44px,5vw,68px)/1.02 var(--display);letter-spacing:-.075em;margin:0 0 18px}
.wedding-intro h2 em{font-style:normal;color:#83a7a5}
.wedding-intro>p:not(.eyebrow){max-width:620px;color:#5f8283;font-size:13px;line-height:1.8;margin:0}
.wedding-url{margin-top:16px}
.wedding-embed{width:100%;height:950px;background:#fffefa;overflow:hidden}
.wedding-embed iframe{display:block;width:100%;height:100%;border:0;background:#fffefa}
@media(max-width:900px){.wedding-intro{padding-left:8vw;padding-right:8vw}.wedding-embed{height:900px}}
@media(max-width:650px){.wedding-section{padding-top:58px}.wedding-intro{padding:0 7vw 30px}.wedding-embed{height:860px}}
.wedding-section{display:block;padding:0;background:var(--white)}
.wedding-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--ink);color:var(--white)}
.wedding-hero-copy{padding:clamp(70px,9vw,130px) 7vw clamp(65px,8vw,110px) 12.4vw;align-self:center}
.wedding-hero-copy .eyebrow{line-height:1.7;max-width:430px}
.wedding-hero h2{font:500 clamp(52px,6vw,82px)/.99 var(--display);letter-spacing:-.075em;margin:0 0 24px}
.wedding-hero h2 em,.wedding-credo h3 em,.wedding-reviews h3 em,.wedding-cta h3 em{font-style:normal;color:#9bbab8}
.wedding-hero-copy>p:not(.eyebrow){max-width:450px;color:#cddfdd;font-size:14px;line-height:1.85;margin:0 0 28px}
.wedding-hero-image{position:relative;min-height:620px;overflow:hidden;background:#527c7d}
.wedding-hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block;filter:saturate(.8)}
.wedding-hero-image:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(35,72,73,.65))}
.wedding-hero-image>span{position:absolute;z-index:1;left:28px;bottom:24px;color:#fff;font-size:9px;letter-spacing:.18em}
.wedding-proof{display:flex;justify-content:space-between;gap:24px;padding:25px 12.4vw;background:var(--lime);color:var(--ink);font-size:10px;line-height:1.6}
.wedding-proof span{display:flex;flex-direction:column;gap:3px}
.wedding-proof b{font:600 15px var(--display);letter-spacing:-.025em}
.wedding-credo{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw;padding:105px 12.4vw}
.wedding-credo-copy .eyebrow{margin-bottom:22px}
.wedding-credo h3,.wedding-reviews h3,.wedding-cta h3{font:500 clamp(42px,4.8vw,64px)/1.04 var(--display);letter-spacing:-.07em;margin:0 0 22px}
.wedding-credo h3 em,.wedding-cta h3 em{color:#719798}
.wedding-credo-copy>p:not(.eyebrow){color:#5e8182;font-size:13px;line-height:1.85}
.wedding-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}
.wedding-image-pair img{display:block;width:100%;height:360px;object-fit:cover;filter:saturate(.82)}
.wedding-image-pair img+img{height:290px;margin-top:75px}
.wedding-reviews{padding:92px 12.4vw 100px;background:var(--ink);color:var(--white);display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:start}
.wedding-reviews .eyebrow{color:#c5dcda}
.wedding-reviews h3 em{color:var(--lime)}
.wedding-reviews-heading>p:last-child{max-width:260px;color:#bfd8d7;font-size:12px;line-height:1.8}
.wedding-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wedding-review-grid blockquote{margin:0;min-height:240px;padding:22px 19px;background:rgba(255,255,255,.55);display:flex;flex-direction:column}
.review-mark{font:500 48px/.8 Georgia,serif;color:var(--lime)}
.wedding-review-grid blockquote p{font-size:11px;line-height:1.8;color:#d6e7e6;margin:17px 0 24px}
.wedding-review-grid cite{font:10px var(--sans);font-style:normal;color:#a9c9c7;margin-top:auto;letter-spacing:.06em}
.wedding-cta{padding:86px 12.4vw;background:#deeceb}
.wedding-cta .eyebrow{color:#557f81;margin-bottom:17px}
.wedding-cta h3{margin-bottom:16px}
.wedding-cta>p:not(.eyebrow){max-width:550px;color:#557f81;font-size:13px;line-height:1.8;margin:0 0 25px}
.wedding-cta .contact-button{width:min(100%,430px);gap:15px}
@media(max-width:900px){.wedding-hero{min-height:560px}.wedding-hero-copy{padding-left:8vw;padding-right:5vw}.wedding-hero-image{min-height:560px}.wedding-proof{padding-left:8vw;padding-right:8vw}.wedding-credo{padding:82px 8vw;gap:5vw}.wedding-image-pair img{height:300px}.wedding-image-pair img+img{height:240px;margin-top:56px}.wedding-reviews{padding:78px 8vw;grid-template-columns:1fr;gap:32px}.wedding-review-grid blockquote{min-height:210px}.wedding-cta{padding:72px 8vw}}
@media(max-width:650px){.wedding-hero{display:flex;flex-direction:column-reverse}.wedding-hero-image{min-height:68vw;height:68vw;max-height:430px}.wedding-hero-copy{padding:48px 7vw 57px}.wedding-hero h2{font-size:clamp(48px,13vw,70px)}.wedding-hero-copy>p:not(.eyebrow){font-size:13px}.wedding-proof{display:grid;grid-template-columns:1fr;gap:13px;padding:22px 7vw}.wedding-proof span{display:block}.wedding-proof b{margin-right:6px;font-size:14px}.wedding-credo{display:flex;flex-direction:column;align-items:stretch;padding:66px 7vw;gap:32px}.wedding-credo h3,.wedding-reviews h3,.wedding-cta h3{font-size:clamp(41px,11vw,58px)}.wedding-image-pair{gap:8px}.wedding-image-pair img{height:58vw}.wedding-image-pair img+img{height:48vw;margin-top:35px}.wedding-reviews{padding:66px 7vw}.wedding-review-grid{grid-template-columns:1fr;gap:9px}.wedding-review-grid blockquote{min-height:0;padding:22px}.wedding-review-grid blockquote p{margin-bottom:16px}.wedding-cta{padding:62px 7vw}.wedding-cta .contact-button{font-size:10px;padding:17px 14px}}
:root{--header-height:112px}
html{scroll-padding-top:var(--header-height)}
.site-header{position:sticky;top:0;z-index:100;box-shadow:0 4px 18px rgba(11,45,46,.08)}
@media(max-width:900px){:root{--header-height:100px}}
@media(max-width:650px){:root{--header-height:82px}}
.google-reviews{background:#eaf2f1}
.google-reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
.google-reviews-heading .eyebrow{margin-bottom:20px}
.google-reviews-heading h2{font:500 clamp(40px,4.6vw,64px)/1.04 var(--display);letter-spacing:-.07em;margin:0}
.google-reviews-heading h2 em{font-style:normal;color:#719798}
.google-rating{display:flex;align-items:center;gap:15px;flex:none;padding:16px 20px;background:var(--white)}
.google-rating>strong{font:500 42px/1 var(--display);letter-spacing:-.06em}
.google-rating>span{display:flex;flex-direction:column;gap:4px}
.google-rating b,.google-stars{color:#a16b37;letter-spacing:.08em;font-size:14px}
.google-rating small,.google-review-grid cite small,.wedding-review-grid cite small{font-size:9px;font-weight:400;color:#78999a}
.google-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.google-review-grid blockquote{margin:0;min-height:220px;padding:23px 19px;background:var(--white);display:flex;flex-direction:column}
.google-review-grid blockquote p{font-size:11px;line-height:1.8;color:#5e8182;margin:17px 0 24px}
.google-review-grid blockquote cite{font:10px var(--sans);font-style:normal;color:var(--ink);margin-top:auto;letter-spacing:.03em}
.google-review-grid .rating-only p{font-style:italic;color:#7b9c9a}
.reviews-source{margin:22px 0 0;font-size:10px;color:#6d9392}
.reviews-source a{border-bottom:1px solid #759b9b;padding-bottom:2px}
.wedding-review-grid cite small{display:block;margin-top:5px;color:#9bbab8}
@media(max-width:900px){.google-reviews-heading{align-items:start;flex-direction:column}.google-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.google-reviews-heading{gap:22px;margin-bottom:28px}.google-reviews-heading h2{font-size:clamp(38px,10vw,54px)}.google-rating{padding:14px 16px}.google-review-grid{grid-template-columns:1fr}.google-review-grid blockquote{min-height:0;padding:21px}.google-review-grid blockquote p{margin-bottom:17px}.wedding-review-grid cite small{font-size:8px}}
.hero{background:var(--moss);color:var(--ink)}
.hero .eyebrow{color:var(--ink)}
.hero h1 em{color:#0b2d2e}
.hero-intro{color:#0b2d2e}
.text-link{color:#0b2d2e}
.text-link span{color:#754a3a}
.hero-note{color:#0b2d2e}
.note-line{background:#0b2d2e}
.hero-index{color:#0b2d2e}
.brand-logo{width:180px;height:110px;object-fit:contain}
.footer-brand{width:140px;height:auto}
.footer-brand img{width:100%;height:auto;max-height:86px;object-fit:contain}
@media(max-width:900px){.brand-logo{width:172px;height:105px}}
@media(max-width:650px){.brand-logo{width:132px;height:80px}.footer-brand{width:118px}.footer-brand img{max-height:72px}}
:root{--brand-teal:#659999}
.hero,.services-section,.wedding-hero,.wedding-reviews,.nav-cta,.contact-button,.hero-image-wrap{background-color:var(--brand-teal)}
.hero,.services-section,.wedding-hero,.wedding-reviews{color:var(--ink)}
.hero .eyebrow,.hero h1 em,.hero-intro,.text-link,.hero-note,.hero-index{color:var(--ink)}
.hero .note-line{background:var(--ink)}
.services-heading .eyebrow,.services-heading h2 em,.services-heading>p:last-child,.service-item h3,.service-item p,.service-no,.service-arrow{color:var(--ink)}
.service-list,.service-item{border-color:rgba(11,45,46,.28)}
.wedding-hero-copy .eyebrow,.wedding-hero h2 em,.wedding-hero-copy>p:not(.eyebrow){color:var(--ink)}
.wedding-reviews .eyebrow,.wedding-reviews h3 em,.wedding-reviews-heading>p:last-child,.wedding-review-grid blockquote p,.wedding-review-grid cite,.review-mark{color:var(--ink)}
.wedding-review-grid blockquote{background:rgba(255,255,255,.55)}
.nav-cta,.contact-button{color:var(--ink)}
.nav-cta span,.contact-button span{color:var(--ink)}
.hero-stamp{color:var(--ink)}
.footer-extra-logo{display:block;width:72px;height:56px;object-fit:contain}
.legal-page{min-height:100vh}
.legal-hero{background:var(--brand-teal,#659999);padding:92px 12.4vw 86px;color:var(--ink)}
.legal-hero .eyebrow{margin-bottom:20px}
.legal-hero h1{font:500 clamp(48px,7vw,92px)/.98 var(--display);letter-spacing:-.075em;margin:0 0 22px}
.legal-hero h1 em{font-style:normal;color:#f5f3ee}
.legal-hero>p:last-child{max-width:560px;font-size:14px;line-height:1.8;margin:0;color:#173e3f}
.legal-content{max-width:1220px;margin:0 auto;padding:86px 7vw 92px}
.legal-content>.eyebrow{margin-bottom:18px}
.legal-content h2{font:500 clamp(39px,5vw,62px)/1.05 var(--display);letter-spacing:-.065em;margin:0 0 42px}
.legal-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:52px}
.legal-detail-card{background:#fffefa;padding:25px 25px 23px;min-height:155px;border-top:2px solid var(--brand-teal,#659999)}
.legal-detail-card h3,.legal-prose h3{font:600 17px/1.3 var(--display);letter-spacing:-.025em;margin:0 0 14px}
.legal-detail-card p,.legal-detail-card address{font:400 12px/1.8 var(--sans);color:#547879;margin:0 0 12px;font-style:normal}
.legal-detail-card p:last-child{margin-bottom:0}
.legal-detail-card strong{font-weight:600;color:var(--ink)}
.legal-detail-card a{border-bottom:1px solid #a9c5c4;overflow-wrap:anywhere}
.legal-detail-card a:hover,.legal-page .site-footer a:hover{color:#397779}
.legal-prose{max-width:950px;padding-top:30px;border-top:1px solid var(--line)}
.legal-prose h3{font-size:21px;margin-bottom:17px}
.legal-prose p{font-size:12px;line-height:1.9;color:#547879;margin:0 0 18px}
.legal-privacy{background:#e4efed;max-width:none;padding:78px max(7vw,calc((100vw - 1220px)/2)) 85px}
.legal-privacy h2{margin-bottom:32px}
.legal-privacy .legal-prose{border-color:rgba(11,45,46,.2)}
.legal-backlink{margin:34px 0 0}
.legal-page .site-header{position:sticky;top:0}
.legal-page .site-footer{border-top:1px solid var(--line)}
@media(max-width:900px){.legal-hero{padding:75px 8vw}.legal-content{padding:70px 6vw}.legal-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-privacy{padding:68px 6vw}}
@media(max-width:650px){.footer-extra-logo{grid-column:span 2;justify-self:center;width:74px;height:56px}.legal-hero{padding:62px 7vw 58px}.legal-hero h1{font-size:clamp(48px,13vw,70px)}.legal-hero>p:last-child{font-size:12px}.legal-content{padding:58px 7vw 66px}.legal-content h2{margin-bottom:28px}.legal-details-grid{grid-template-columns:1fr;gap:9px;margin-bottom:38px}.legal-detail-card{min-height:0;padding:21px}.legal-prose h3{font-size:19px}.legal-prose p{font-size:11px;line-height:1.85}.legal-privacy{padding:58px 7vw 66px}}
.photo-hover-caption{position:absolute;z-index:3;right:22px;bottom:22px;left:22px;display:flex;flex-direction:column;gap:5px;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease;pointer-events:none;text-shadow:0 1px 12px rgba(0,0,0,.28)}
.photo-hover-caption span{text-transform:uppercase;letter-spacing:.16em;font-size:8px;line-height:1.5}
.photo-hover-caption b{font:500 clamp(15px,1.5vw,21px)/1.25 var(--display);letter-spacing:-.025em}
.hero-image-wrap:hover .photo-hover-caption,.hero-image-wrap:focus-visible .photo-hover-caption,.wedding-hero-image:hover .photo-hover-caption,.wedding-hero-image:focus-visible .photo-hover-caption,.wedding-photo:hover .photo-hover-caption,.wedding-photo:focus-visible .photo-hover-caption,.about-image:hover .photo-hover-caption,.about-image:focus-visible .photo-hover-caption{opacity:1;transform:translateY(0)}
.hero-image-wrap:hover .hero-image-label,.hero-image-wrap:focus-visible .hero-image-label,.wedding-hero-image:hover .wedding-image-label,.wedding-hero-image:focus-visible .wedding-image-label,.about-image:hover .about-caption,.about-image:focus-visible .about-caption{opacity:0;transition:opacity .2s ease}
.wedding-image-pair .wedding-photo{position:relative;min-width:0;overflow:hidden;margin:0;background:#d6e3e2}
.wedding-image-pair .wedding-photo img{height:360px;margin:0;transition:transform .55s ease,filter .4s}
.wedding-image-pair .wedding-photo+.wedding-photo{margin-top:75px}
.wedding-image-pair .wedding-photo+.wedding-photo img{height:290px}
.wedding-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(25,55,56,.66));opacity:0;transition:opacity .28s ease}
.wedding-photo:hover:after,.wedding-photo:focus-visible:after{opacity:1}
.wedding-photo:hover img,.wedding-photo:focus-visible img{transform:scale(1.04);filter:saturate(1)}
.photo-hover-caption:focus-visible{outline:2px solid var(--brand-teal)}

/* Originale Beschreibungen erscheinen als gut lesbarer Teil des Bild-Hovers. */
.photo-overlay .photo-description{display:block;max-width:min(100%,560px);margin-top:8px;color:rgba(255,255,255,.92);font:400 11px/1.55 var(--sans);letter-spacing:0;text-transform:none;text-shadow:0 1px 8px rgba(0,0,0,.45)}
@media(max-width:650px){.photo-overlay .photo-description{display:block;font-size:9px;line-height:1.4}}
@media(max-width:900px){.wedding-image-pair .wedding-photo img{height:300px}.wedding-image-pair .wedding-photo+.wedding-photo{margin-top:56px}.wedding-image-pair .wedding-photo+.wedding-photo img{height:240px}}
@media(max-width:650px){.photo-hover-caption{right:13px;bottom:13px;left:13px;opacity:1;transform:none}.photo-hover-caption span{font-size:7px}.photo-hover-caption b{font-size:14px}.hero-image-label,.wedding-image-label,.about-caption{opacity:0}.hero-image-wrap:after{background:linear-gradient(0deg,rgba(31,63,64,.72),transparent 75%)}.wedding-hero-image:after,.wedding-photo:after{opacity:1}.wedding-image-pair .wedding-photo+.wedding-photo{margin-top:35px}.wedding-image-pair .wedding-photo img{height:58vw}.wedding-image-pair .wedding-photo+.wedding-photo img{height:48vw}}
.references-section{background:#eaf2f1}
.references-heading{display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:7vw;margin-bottom:44px}
.references-heading .eyebrow{margin-bottom:20px}
.references-heading h2{font:500 clamp(44px,5vw,69px)/.99 var(--display);letter-spacing:-.075em;margin:0}
.references-heading h2 em{font-style:normal;color:#719798}
.references-heading>p{max-width:365px;color:#668687;font-size:13px;line-height:1.8;margin:0 0 5px}
.references-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid rgba(11,45,46,.2);border-left:1px solid rgba(11,45,46,.12)}
.references-grid li{min-height:82px;padding:17px 18px;display:flex;align-items:center;border-right:1px solid rgba(11,45,46,.12);border-bottom:1px solid rgba(11,45,46,.12);font:600 clamp(12px,1.25vw,16px)/1.35 var(--display);letter-spacing:-.025em;color:#315f60;overflow-wrap:anywhere;transition:background .2s,color .2s}
.references-grid li:hover{background:#659999;color:#fff}
@media(max-width:900px){.references-heading{grid-template-columns:1fr .8fr;gap:5vw}.references-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.references-grid li{min-height:76px;padding:15px}}
@media(max-width:650px){.references-section{padding-top:65px;padding-bottom:65px}.references-heading{display:block;margin-bottom:30px}.references-heading h2{font-size:clamp(43px,12vw,62px)}.references-heading>p{margin-top:20px;font-size:12px}.references-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.references-grid li{min-height:68px;padding:12px;font-size:11px}}
@media(max-width:900px) and (min-width:651px){.main-nav{gap:clamp(8px,1.4vw,13px)}.main-nav>a:not(.nav-cta){font-size:9px}.main-nav .nav-cta{padding:10px 11px;font-size:10px}}
.site-footer{background:#fff}
.footer-extra-logo{width:92px;height:70px;margin-right:48px}
@media(max-width:650px){.footer-extra-logo{width:82px;height:62px;margin-right:0}}
.wedding-credo{display:block}
.wedding-credo-copy{max-width:760px;margin:0 auto 48px}
.wedding-image-pair{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,16vw,220px);grid-auto-flow:dense;align-items:stretch;gap:10px}
.wedding-image-pair .wedding-photo{grid-column:auto;grid-row:auto;min-height:0}
.wedding-image-pair .wedding-photo+.wedding-photo{margin-top:0}
.wedding-image-pair .wedding-photo img{height:100%;margin:0;object-fit:cover}
.wedding-photo:nth-child(9n+1){grid-column:span 2;grid-row:span 2}
.wedding-photo:nth-child(9n+5){grid-row:span 2}
.wedding-photo:nth-child(13n+8){grid-column:span 2}
@media(max-width:900px){.wedding-image-pair{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(150px,21vw,210px)}}
@media(max-width:650px){.wedding-credo-copy{margin-bottom:30px}.wedding-image-pair{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,42vw,230px);gap:7px}.wedding-image-pair .wedding-photo img{height:100%}.wedding-photo:nth-child(13n+8){grid-column:span 2}}

/* Mein Credo: Hochzeitsfotos vollständig und mit ihrem Original-Seitenverhältnis zeigen. */
.wedding-image-pair{grid-auto-rows:auto;grid-auto-flow:row;align-items:start}
.wedding-image-pair .wedding-photo{grid-column:auto;grid-row:auto;align-self:start}
.wedding-image-pair .wedding-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Dunkles Farbschema nur für die Homepage. */
.home-page{background:#191b1c;color:#f0f2ef}
.home-page .site-header{background:#191b1c}
.home-page .site-footer{background:#121415;color:#b8c1bf}
.home-page .site-footer .footer-brand{color:#f0f2ef}
.home-page .intro-strip,.home-page .work-section,.home-page .about-section,.home-page .wedding-section,.home-page .google-reviews,.home-page .references-section{background:#1b1e1f;color:#f0f2ef}
.home-page .hero,.home-page .services-section,.home-page .wedding-hero,.home-page .wedding-reviews{background:#232729;color:#f0f2ef}
.home-page .wedding-proof{background:#2b3031;color:#f0f2ef}
.home-page .contact-section,.home-page .wedding-cta{background:#252a2b;color:#f0f2ef}
.home-page .main-nav>a:not(.nav-cta){color:#e4e9e7}
.home-page .main-nav>a:hover{color:#8fb9b7}
.home-page .brand-name span,.home-page .intro-meta,.home-page .section-lead,.home-page .work-toolbar,.home-page .gallery-note,.home-page .references-heading>p,.home-page .about-copy>p:not(.eyebrow),.home-page .wedding-credo-copy>p:not(.eyebrow),.home-page .wedding-cta>p:not(.eyebrow),.home-page .contact-kicker,.home-page .contact-details{color:#b1bfbd}
.home-page .eyebrow-dark,.home-page .filter,.home-page .about-signature span,.home-page .google-rating small,.home-page .reviews-source{color:#9bb9b7}
.home-page .section-heading h2 em,.home-page .about-copy h2 em,.home-page .google-reviews-heading h2 em,.home-page .wedding-credo h3 em,.home-page .wedding-cta h3 em{color:#8fb9b7}
.home-page .work-toolbar{border-color:rgba(255,255,255,.2)}
.home-page .filter{border-color:transparent}
.home-page .filter:hover,.home-page .filter.active{color:#f0f2ef;border-color:#659999}
.home-page .service-list,.home-page .service-item{border-color:rgba(255,255,255,.22)}
.home-page .photo-card{background:#25292a}
.home-page .references-grid{border-color:rgba(255,255,255,.18)}
.home-page .references-grid li{border-color:rgba(255,255,255,.18);color:#e4e9e7}
.home-page .references-grid li:hover{background:#659999;color:#102728}
.home-page .google-rating,.home-page .google-review-grid blockquote,.home-page .wedding-review-grid blockquote{background:#2c3132}
.home-page .google-review-grid blockquote p,.home-page .google-review-grid blockquote cite,.home-page .wedding-review-grid blockquote p,.home-page .wedding-review-grid cite,.home-page .wedding-reviews .eyebrow,.home-page .wedding-reviews .wedding-reviews-heading>p:last-child{color:#e0e7e5}
.home-page .google-review-grid .rating-only p{color:#b1bfbd}
.home-page .contact-details{border-color:rgba(255,255,255,.2)}
.home-page .about-caption{background:#d8e7e5;color:#173435}
.home-page .nav-cta,.home-page .contact-button{background:#82aaa8;color:#102728}
.home-page .nav-cta span,.home-page .contact-button span{color:#102728}
.home-page .about-signature{color:#f0f2ef}
.home-page .wedding-hero h2 em{color:#8fb9b7}
/* Lesbarkeit im dunklen Farbschema: stärkere Textkontraste und klare Größen. */
.home-page{font-size:16px;color:#f1f3f2}
.home-page .hero,.home-page .services-section,.home-page .wedding-hero,.home-page .wedding-reviews{background:#222627;color:#f1f3f2}
.home-page .intro-strip,.home-page .work-section,.home-page .about-section,.home-page .wedding-section,.home-page .google-reviews,.home-page .references-section{background:#191c1d;color:#f1f3f2}
.home-page .contact-section,.home-page .wedding-cta{background:#24292a;color:#f1f3f2}
.home-page .site-header{background:#191c1d}
.home-page .site-footer{background:#111415;color:#d0d7d5}
.home-page .hero h1,.home-page .section-heading h2,.home-page .services-heading h2,.home-page .about-copy h2,.home-page .contact-main h2,.home-page .wedding-hero h2,.home-page .wedding-credo h3,.home-page .wedding-reviews h3,.home-page .wedding-cta h3,.home-page .google-reviews-heading h2,.home-page .references-heading h2{color:#f5f6f5}
.home-page p:not(.eyebrow),.home-page .service-item p,.home-page .google-review-grid blockquote p,.home-page .wedding-review-grid blockquote p{color:#d0d8d6}
.home-page .hero-intro,.home-page .services-heading>p:last-child,.home-page .wedding-hero-copy>p:not(.eyebrow),.home-page .wedding-reviews-heading>p:last-child{color:#d5dddb}
.home-page .intro-meta,.home-page .section-lead,.home-page .gallery-note,.home-page .references-heading>p,.home-page .about-copy>p:not(.eyebrow),.home-page .wedding-credo-copy>p:not(.eyebrow),.home-page .wedding-cta>p:not(.eyebrow),.home-page .contact-kicker,.home-page .contact-details,.home-page .reviews-source{color:#c2cecc}
.home-page .eyebrow,.home-page .eyebrow-dark,.home-page .service-no,.home-page .filter,.home-page .google-rating small,.home-page .about-signature span{color:#b9d2d0}
.home-page .section-heading h2 em,.home-page .about-copy h2 em,.home-page .google-reviews-heading h2 em,.home-page .wedding-hero h2 em,.home-page .wedding-credo h3 em,.home-page .wedding-reviews h3 em,.home-page .wedding-cta h3 em,.home-page .references-heading h2 em{color:#9fc5c2}
.home-page .wedding-proof{background:#2b3031;color:#e2e8e7}
.home-page .wedding-proof b{color:#f1f3f2}
.home-page .service-item h3{color:#f1f3f2}
.home-page .google-review-grid blockquote cite,.home-page .wedding-review-grid cite{color:#d7e0de}
.home-page .google-review-grid blockquote cite small,.home-page .wedding-review-grid cite small{color:#adc8c5}
.home-page .main-nav>a:not(.nav-cta){color:#eef1f0;font-size:13px}
.home-page .main-nav>a:hover{color:#b5d3d0}
.home-page .hero-intro,.home-page .section-lead,.home-page .services-heading>p:last-child,.home-page .service-item p,.home-page .about-copy>p:not(.eyebrow),.home-page .wedding-hero-copy>p:not(.eyebrow),.home-page .wedding-credo-copy>p:not(.eyebrow),.home-page .wedding-reviews-heading>p:last-child,.home-page .google-review-grid blockquote p,.home-page .wedding-review-grid blockquote p,.home-page .wedding-cta>p:not(.eyebrow),.home-page .contact-details{font-size:15px;line-height:1.75}
.home-page .service-item h3{font-size:22px;font-weight:600}
.home-page .filter,.home-page .work-toolbar,.home-page .gallery-note,.home-page .reviews-source,.home-page .contact-details,.home-page .site-footer{font-size:12px}
.home-page .work-toolbar,.home-page .service-list,.home-page .service-item,.home-page .references-grid li,.home-page .contact-details{border-color:rgba(230,240,238,.25)}
.home-page .filter:hover,.home-page .filter.active{color:#fff;border-color:#9fc5c2}
.home-page .google-rating,.home-page .google-review-grid blockquote,.home-page .wedding-review-grid blockquote{background:#2a3031}
.home-page .nav-cta,.home-page .contact-button{background:#83adaa;color:#122526}
.home-page .nav-cta span,.home-page .contact-button span{color:#122526}
@media(max-width:650px){.home-page .main-nav{background:#191b1c;box-shadow:0 15px 18px rgba(0,0,0,.32)}.home-page .main-nav>a:not(.nav-cta){border-color:rgba(255,255,255,.15)}}

/* Hintergrundfarben zurück auf das ursprüngliche helle Farbschema. */
.home-page{background:#f5f3ee;color:#0b2d2e}
.home-page .site-header,.home-page .intro-strip,.home-page .about-section,.home-page .wedding-section,.home-page .site-footer{background:#f5f3ee;color:#0b2d2e}
.header-tools{display:flex;align-items:center;gap:24px;margin-left:auto;margin-right:24px}.language-switch{position:static;z-index:1;width:42px;height:42px;display:grid;place-items:center;flex:none;overflow:hidden;border:1px solid #659999;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(11,45,46,.18);transition:transform .2s,box-shadow .2s}.language-switch img{display:block;width:26px!important;height:18px!important;max-width:26px;max-height:18px;object-fit:fill;border-radius:1px}.language-switch:hover,.language-switch:focus-visible{transform:translateY(-3px);box-shadow:0 5px 12px rgba(11,45,46,.24)}
.home-page .work-section,.home-page .google-reviews,.home-page .references-section{background:#fffefa;color:#0b2d2e}
.home-page .hero,.home-page .services-section,.home-page .wedding-hero,.home-page .wedding-reviews{background:#659999;color:#0b2d2e}
.home-page .contact-section,.home-page .wedding-cta,.home-page .wedding-proof{background:#deeceb;color:#0b2d2e}
.home-page .main-nav{background:#f5f3ee}
.home-page .main-nav>a:not(.nav-cta),.home-page .hero h1,.home-page .section-heading h2,.home-page .services-heading h2,.home-page .about-copy h2,.home-page .contact-main h2,.home-page .wedding-hero h2,.home-page .wedding-credo h3,.home-page .wedding-reviews h3,.home-page .wedding-cta h3,.home-page .google-reviews-heading h2,.home-page .references-heading h2{color:#0b2d2e}
.home-page .site-footer{color:#709291}
.home-page .nav-cta,.home-page .contact-button{background:#0b2d2e;color:#fffefa}
.home-page .nav-cta span,.home-page .contact-button span{color:#deeceb}
.home-page .google-rating,.home-page .google-review-grid blockquote,.home-page .wedding-review-grid blockquote{background:#fffefa}
.home-page .google-review-grid blockquote p,.home-page .google-review-grid blockquote cite,.home-page .wedding-review-grid blockquote p,.home-page .wedding-review-grid cite{color:#3f6c6e}
.home-page .google-review-grid blockquote cite small,.home-page .wedding-review-grid cite small{color:#78999a}
.home-page .wedding-proof{color:#0b2d2e}
.home-page .wedding-proof b{color:#0b2d2e}
.home-page .hero .eyebrow,.home-page .hero h1,.home-page .services-heading .eyebrow,.home-page .services-heading h2,.home-page .service-item h3,.home-page .service-item p,.home-page .wedding-hero-copy .eyebrow,.home-page .wedding-hero-copy>p:not(.eyebrow),.home-page .wedding-reviews .eyebrow,.home-page .wedding-reviews h3,.home-page .wedding-reviews-heading>p:last-child{color:#0b2d2e}
.home-page .hero-intro,.home-page .services-heading>p:last-child,.home-page .service-item p,.home-page .wedding-hero-copy>p:not(.eyebrow),.home-page .wedding-reviews-heading>p:last-child{color:#173e3f}
.home-page .main-nav>a:not(.nav-cta){font-size:13px}
.home-page .hero-intro,.home-page .section-lead,.home-page .services-heading>p:last-child,.home-page .service-item p,.home-page .about-copy>p:not(.eyebrow),.home-page .wedding-hero-copy>p:not(.eyebrow),.home-page .wedding-credo-copy>p:not(.eyebrow),.home-page .wedding-reviews-heading>p:last-child,.home-page .google-review-grid blockquote p,.home-page .wedding-review-grid blockquote p,.home-page .wedding-cta>p:not(.eyebrow),.home-page .contact-details{font-size:15px;line-height:1.75}
.home-page .service-item h3{font-size:22px;font-weight:600}
.home-page .filter,.home-page .work-toolbar,.home-page .gallery-note,.home-page .reviews-source,.home-page .contact-details,.home-page .site-footer{font-size:12px}
.home-page .intro-meta,.home-page .brand-name span,.home-page .eyebrow-dark,.home-page .section-lead,.home-page .work-toolbar,.home-page .filter,.home-page .gallery-note,.home-page .references-heading>p,.home-page .about-copy>p:not(.eyebrow),.home-page .wedding-credo-copy>p:not(.eyebrow),.home-page .wedding-cta>p:not(.eyebrow),.home-page .google-rating small,.home-page .reviews-source,.home-page .about-signature span{color:#365f60}
.home-page .section-heading h2 em,.home-page .about-copy h2 em,.home-page .google-reviews-heading h2 em,.home-page .wedding-credo h3 em,.home-page .wedding-cta h3 em,.home-page .references-heading h2 em{color:#397779}
.home-page .google-review-grid blockquote cite small,.home-page .wedding-review-grid cite small{color:#527273}
.home-page .site-footer{color:#4f7070}
.home-page .filter:hover,.home-page .filter.active{color:#0b2d2e;border-color:#659999}
.home-page .references-grid li{color:#173e3f;font-size:clamp(14px,1.35vw,17px);font-weight:700;letter-spacing:0;line-height:1.45}
.home-page .references-grid li:hover{background:#d8e7e5;color:#0b2d2e}
.home-page .references-grid li{gap:12px}
.reference-logo{width:40px;height:40px;flex:0 0 40px;object-fit:contain;padding:3px;border-radius:4px;background:#fff}
.home-page .section-lead{color:#173e3f}
.wedding-photo{cursor:zoom-in}
.wedding-photo:focus-visible{outline:3px solid #397779;outline-offset:3px}
.lightbox figcaption.is-wedding-caption{max-width:min(760px,90%);font:500 clamp(16px,2vw,22px)/1.5 var(--display);letter-spacing:0;text-align:center;text-transform:none;color:#f5f3ee}
.home-page .contact-section .eyebrow,.home-page .contact-section .contact-kicker,.home-page .contact-section .contact-details{color:#173e3f}
.home-page .contact-section .contact-main h2 em{color:#315f60}
.home-page .reviews-source{color:#173e3f}
.home-page .reviews-source a{color:#0b2d2e;text-decoration:underline;text-underline-offset:3px}
.home-page .site-footer{background:#fff}
@media(max-width:650px){.home-page .main-nav{background:#f5f3ee;box-shadow:0 15px 18px rgba(11,45,46,.12)}.home-page .main-nav>a:not(.nav-cta){border-color:rgba(11,45,46,.15)}}
@media(max-width:650px){.header-tools{margin-left:auto;margin-right:18px;gap:0}.language-switch{width:38px;height:38px}.language-switch img{width:24px!important;height:16px!important;max-width:24px;max-height:16px}.site-header .menu-toggle{order:2}.site-header .language-switch{order:3}}
@media(max-width:650px){.reference-logo{width:32px;height:32px;flex-basis:32px;padding:2px}.home-page .references-grid li{gap:8px}}

/* Hochzeitsgalerie im selben Kachelraster wie „Ausgewählte Arbeiten“. */
.wedding-image-pair{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(120px,15vw,220px);grid-auto-flow:dense;align-items:stretch;gap:10px}
.wedding-image-pair .wedding-photo{position:relative;display:block;width:auto;height:auto;min-height:0;margin:0;overflow:hidden;background:#dfe9e8}
.wedding-image-pair .wedding-photo img{position:static;display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1),filter .4s}
.wedding-image-pair .wedding-photo:hover img,.wedding-image-pair .wedding-photo:focus-visible img{transform:scale(1.045);filter:saturate(1)}
.wedding-image-pair .wedding-photo:nth-child(8n+1){grid-column:span 2;grid-row:span 2}
.wedding-image-pair .wedding-photo:nth-child(8n+4){grid-row:span 2}
.wedding-image-pair .wedding-photo:nth-child(13n+7){grid-column:span 2}
@media(max-width:900px){.wedding-image-pair{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(120px,19vw,220px)}}
@media(max-width:650px){.wedding-image-pair{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,54vw,260px);gap:7px}.wedding-image-pair .wedding-photo:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.wedding-image-pair .wedding-photo:nth-child(8n+4){grid-row:span 1}.wedding-image-pair .wedding-photo:nth-child(13n+7){grid-column:span 2}.wedding-image-pair .wedding-photo:after{opacity:.8}}
.wedding-image-pair{grid-auto-flow:row;isolation:isolate}
.wedding-image-pair .wedding-photo{min-width:0;min-height:0;contain:paint}
.wedding-image-pair .wedding-photo:hover img,.wedding-image-pair .wedding-photo:focus-visible img{transform:none}
#wedding-gallery{grid-auto-flow:row;grid-auto-rows:clamp(120px,15vw,220px)}
#wedding-gallery .wedding-photo{grid-column:auto;grid-row:auto;align-self:stretch;min-width:0;min-height:0;height:auto;overflow:hidden;contain:paint}
#wedding-gallery .wedding-photo:nth-child(8n+1){grid-column:span 2;grid-row:span 2}
#wedding-gallery .wedding-photo:nth-child(8n+4){grid-row:span 2}
#wedding-gallery .wedding-photo:nth-child(13n+7){grid-column:span 2}
#wedding-gallery .wedding-photo img{position:static;width:100%;height:100%;object-fit:cover;transform:none!important}
@media(max-width:900px){#wedding-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(150px,21vw,210px)}}
@media(max-width:650px){#wedding-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,54vw,260px)}#wedding-gallery .wedding-photo:nth-child(8n+1){grid-column:span 2;grid-row:span 2}#wedding-gallery .wedding-photo:nth-child(8n+4){grid-row:span 1}#wedding-gallery .wedding-photo:nth-child(13n+7){grid-column:span 2}}
#wedding-gallery .wedding-photo-kiss img{object-position:center top}
#wedding-gallery .wedding-photo-candid-kiss img{object-position:center top}
.home-page .work-section .gallery-note{color:#173e3f}
.home-page .references-grid .reference-name{display:-webkit-box;overflow:hidden;font-size:clamp(11px,1.05vw,14px);font-weight:700;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.photo-card-brandlhof img{object-position:center 6%}
.photo-card-tracht img{object-position:center 8%}
@media(max-width:650px){.photo-card .photo-overlay,.photo-card .photo-open,.photo-card:after,.photo-hover-caption,.wedding-photo:after{opacity:0!important;transform:translateY(6px)}.photo-card.is-caption-visible .photo-overlay,.photo-card.is-caption-visible .photo-open,.photo-card.is-caption-visible:after,.hero-image-wrap.is-caption-visible .photo-hover-caption,.wedding-hero-image.is-caption-visible .photo-hover-caption,.wedding-photo.is-caption-visible .photo-hover-caption,.about-image.is-caption-visible .photo-hover-caption,.wedding-photo.is-caption-visible:after{opacity:1!important;transform:translateY(0)}.photo-card.is-caption-visible:after,.wedding-photo.is-caption-visible:after{transform:none}.photo-card.is-caption-visible .photo-open{transform:none}}
.photo-card-emco{grid-column:span 2;grid-row:span 2}


/* Bildausschnitte: Gesichter und Köpfe bleiben in den Vorschauen sichtbar. */
.hero-image{object-position:center 28%}
.about-image img{object-position:center 24%}
.photo-card:not(.photo-card-brandlhof):not(.photo-card-tracht) img{object-position:center 28%}
.wedding-hero-image img{object-position:center 27%}
#wedding-gallery .wedding-photo img{object-position:center 28%}
#wedding-gallery .wedding-photo-kiss img,#wedding-gallery .wedding-photo-candid-kiss img{object-position:center top}

/* Portraits und Gruppenbilder: kein Beschnitt oberhalb der Köpfe. */
.hero-image,.about-image img,.photo-card img,.wedding-hero-image img,#wedding-gallery .wedding-photo img{object-position:center top}

/* Personenbilder werden vollständig gezeigt: Köpfe und Gesichter bleiben sichtbar. */
.photo-card-person img{object-fit:contain;object-position:center;background:#dfe9e8}
.photo-card-person:hover img,.photo-card-person:focus-visible img{transform:none}
.hero-image,.about-image img,#wedding-gallery .wedding-photo img{object-fit:contain;object-position:center;background:#dfe9e8}

/* Mein Credo: vollständige Fotos im jeweiligen Originalformat. */
#wedding-gallery{display:block;columns:3;column-gap:10px;column-fill:balance}
#wedding-gallery .wedding-photo{display:block;width:100%;height:auto;min-height:0;margin:0 0 10px;break-inside:avoid;grid-column:auto!important;grid-row:auto!important;background:transparent;overflow:hidden}
#wedding-gallery .wedding-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;background:transparent;transform:none!important}
@media(max-width:650px){#wedding-gallery{columns:2;column-gap:7px}#wedding-gallery .wedding-photo{margin-bottom:7px}}


/* Datenschutz-Hinweis beim ersten Seitenaufruf. */
.privacy-dialog{width:min(92vw,590px);border:0;padding:0;background:transparent;color:#0b2d2e;box-shadow:0 22px 65px rgba(11,45,46,.35)}
.privacy-dialog::backdrop{background:rgba(11,45,46,.64);backdrop-filter:blur(3px)}
.privacy-dialog-inner{padding:clamp(28px,5vw,48px);background:#fffefa;border-top:7px solid #659999}
.privacy-dialog-label{margin:0 0 14px;color:#397779;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.privacy-dialog h2{margin:0;color:#0b2d2e;font:500 clamp(30px,4vw,45px)/1.02 var(--display);letter-spacing:-.06em}
.privacy-dialog h2 em{font-style:normal;color:#397779}
.privacy-dialog p:not(.privacy-dialog-label){margin:22px 0 0;color:#365f60;font-size:14px;line-height:1.75}
.privacy-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px}
.privacy-dialog-link{color:#173e3f;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.privacy-dialog-continue{border:0;background:#0b2d2e;color:#fffefa;padding:15px 18px;cursor:pointer;font:600 12px var(--sans);white-space:nowrap}
.privacy-dialog-continue span{margin-left:10px;color:#a7c0bf;font-size:16px}
.privacy-dialog-continue:hover{background:#315f60}
@media(max-width:650px){.privacy-dialog{width:calc(100vw - 28px)}.privacy-dialog-inner{padding:29px 25px}.privacy-dialog-actions{display:block;margin-top:25px}.privacy-dialog-link{display:inline-block;margin-bottom:20px}.privacy-dialog-continue{display:flex;width:100%;justify-content:space-between;align-items:center}}

/* Breiter Datenschutz-Hinweis am unteren Seitenrand. */
.privacy-dialog{position:fixed;inset:auto auto 0 0;width:100vw;max-width:none;margin:0;box-shadow:0 -12px 38px rgba(11,45,46,.22)}
.privacy-dialog-inner{min-height:0;padding:25px 12.4vw 27px;display:grid;grid-template-columns:minmax(215px,.9fr) minmax(300px,1.45fr) auto;column-gap:clamp(26px,5vw,78px);align-items:center;border-top-width:5px}
.privacy-dialog-label{margin:0 0 8px}
.privacy-dialog h2{font-size:clamp(26px,3.1vw,42px)}
.privacy-dialog p:not(.privacy-dialog-label){margin:0;font-size:13px;max-width:620px}
.privacy-dialog-actions{margin:0;justify-content:flex-end;min-width:max-content}
@media(max-width:800px){.privacy-dialog-inner{padding:27px 7vw;grid-template-columns:1fr;gap:16px;align-items:start}.privacy-dialog p:not(.privacy-dialog-label){max-width:none}.privacy-dialog-actions{justify-content:space-between}}
@media(max-width:650px){.privacy-dialog{width:100vw}.privacy-dialog-inner{padding:24px 7vw 26px}.privacy-dialog-actions{display:block}.privacy-dialog-link{margin-bottom:18px}.privacy-dialog-continue{width:100%}}

/* Vollständige Fotografien: natürliche Proportionen, keine farbigen Bildrahmen. */
#gallery.gallery{display:block;columns:4;column-gap:10px}
#gallery .photo-card,#wedding-gallery .wedding-photo{display:inline-block;vertical-align:top;width:100%;height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 10px;padding:0;break-inside:avoid;grid-column:auto!important;grid-row:auto!important;aspect-ratio:auto!important;overflow:visible!important;contain:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
#gallery .photo-card[hidden]{display:none}
.hero-image-wrap,.wedding-hero-image,.about-image{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;align-self:center;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.hero-image-wrap .hero-image,.wedding-hero-image img,.about-image img,#gallery .photo-card img,#wedding-gallery .wedding-photo img{display:block;position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;max-width:100%;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;clip-path:none!important;mask:none!important}
.hero-image-wrap::after,.wedding-hero-image::after,.about-image::after,#gallery .photo-card::after,#wedding-gallery .wedding-photo::after{content:none!important;display:none!important}
/* Beschriftungen stehen außerhalb der Fotos und verdecken keine Gesichter. */
.hero-image-label,.wedding-image-label,.about-caption,.hero-stamp,.photo-hover-caption,.photo-overlay,.photo-open{position:static!important;inset:auto!important;transform:none!important;text-shadow:none!important}
.hero-image-label,.wedding-image-label,.about-caption,.photo-hover-caption,.photo-overlay{color:var(--ink)!important;background:transparent!important;padding:8px 0;margin:0}
.photo-overlay span{color:var(--ink-soft)}
.hero-stamp{margin:10px 0 10px auto}
.photo-open{display:none!important}
.hero-image-wrap:focus-visible,.wedding-hero-image:focus-visible,.about-image:focus-visible,#gallery .photo-card:focus-visible,#wedding-gallery .wedding-photo:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:900px){#gallery.gallery{columns:3}}
@media(max-width:650px){#gallery.gallery{columns:2;column-gap:7px}#gallery .photo-card{margin-bottom:7px}}
@media(max-width:420px){#gallery.gallery,#wedding-gallery{columns:1}}

/* Gewünschter Rahmen: 1 Pixel dunkelgrau, 5 Pixel Abstand zum Foto. */
.hero-image-wrap .hero-image,.wedding-hero-image img,.about-image img,#gallery .photo-card img,#wedding-gallery .wedding-photo img{width:calc(100% - 12px)!important;margin:6px!important;outline:1px solid #ccc!important;outline-offset:2pt!important}
.lightbox figure img{outline:1px solid #ccc;outline-offset:2pt;margin:6px;max-width:calc(100% - 12px);max-height:calc(100% - 36px)}

/* Bildbeschriftungen erscheinen innerhalb des Fotos beim Darüberfahren. */
#gallery .photo-card,#wedding-gallery .wedding-photo,.hero-image-wrap,.wedding-hero-image,.about-image{position:relative!important}
.photo-overlay,.photo-hover-caption{position:absolute!important;left:16px!important;right:16px!important;bottom:16px!important;top:auto!important;width:auto!important;max-width:calc(100% - 32px);padding:10px 12px!important;margin:0!important;background:rgba(20,24,24,.72)!important;color:#fff!important;text-shadow:none!important;opacity:0!important;transform:translateY(5px)!important;pointer-events:none;transition:opacity .2s,transform .2s;z-index:4}
.photo-overlay span,.photo-hover-caption span,.photo-overlay b,.photo-hover-caption b{color:#fff!important}
.photo-card:hover .photo-overlay,.photo-card:focus-visible .photo-overlay,.photo-card.is-caption-visible .photo-overlay,.hero-image-wrap:hover .photo-hover-caption,.hero-image-wrap:focus-visible .photo-hover-caption,.hero-image-wrap.is-caption-visible .photo-hover-caption,.wedding-hero-image:hover .photo-hover-caption,.wedding-hero-image:focus-visible .photo-hover-caption,.wedding-hero-image.is-caption-visible .photo-hover-caption,.about-image:hover .photo-hover-caption,.about-image:focus-visible .photo-hover-caption,.about-image.is-caption-visible .photo-hover-caption,.wedding-photo:hover .photo-hover-caption,.wedding-photo:focus-visible .photo-hover-caption,.wedding-photo.is-caption-visible .photo-hover-caption{opacity:1!important;transform:none!important}

/* Abwechslungsreiche Reihen aus Hoch-, Quer- und Quadratformaten. */
#gallery.gallery,#wedding-gallery{display:grid;columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:row;gap:14px 10px;align-items:start}
#wedding-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){#gallery.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){#gallery.gallery,#wedding-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 7px}}
@media(max-width:420px){#gallery.gallery,#wedding-gallery{grid-template-columns:1fr}}

/* Kompaktes Mosaik ohne die Leerflächen fester Bildreihen. */
#gallery.gallery,#wedding-gallery{grid-auto-rows:1px;grid-auto-flow:row dense;row-gap:9px;align-items:start}
#gallery .photo-card,#wedding-gallery .wedding-photo{margin:0!important;grid-row-end:span var(--masonry-span,30)!important}

/* Credo-Karten dürfen nicht auf die Rasterhöhe gestreckt werden. */
#wedding-gallery .wedding-photo{align-self:start!important;justify-self:stretch;min-height:0!important}

/* Dezente Linie beim Darüberfahren über die Hauptnavigation. */
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:#b8b8b8;opacity:0;transform:scaleX(.7);transform-origin:center;transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.main-nav>a:not(.nav-cta):hover::after,.main-nav>a:not(.nav-cta):focus-visible::after{opacity:1;transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.main-nav>a:not(.nav-cta)::after{transition:none}}

/* Aktiver Hover: kräftigere Linie und fette Menüschrift. */
.main-nav>a:not(.nav-cta):hover,.main-nav>a:not(.nav-cta):focus-visible{font-weight:700}
.main-nav>a:not(.nav-cta):hover::after,.main-nav>a:not(.nav-cta):focus-visible::after{height:2px}

/* Kopfzeilenlogo um ein Drittel verkleinert. */
.site-header .brand-logo{width:120px;height:73.33px}
@media(max-width:900px){.site-header .brand-logo{width:114.67px;height:70px}}
@media(max-width:650px){.site-header .brand-logo{width:88px;height:53.33px}}

/* Kompakter Datenschutzhinweis am unteren Bildschirmrand. */
.privacy-dialog{inset:auto 20px 20px auto;width:min(420px,calc(100vw - 32px));max-width:420px;margin:0;box-shadow:0 6px 28px rgba(11,45,46,.2)}
.privacy-dialog::backdrop{background:transparent;backdrop-filter:none}
.privacy-dialog-inner{display:block;padding:18px 20px;border-top-width:3px;min-height:0}
.privacy-dialog-label{font-size:9px;margin:0 0 7px}
.privacy-dialog h2{font-size:24px;line-height:1.1}
.privacy-dialog p:not(.privacy-dialog-label){font-size:11px;line-height:1.5;margin:12px 0 0}
.privacy-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;min-width:0}
.privacy-dialog-link{font-size:10px;margin:0}
.privacy-dialog-continue{font-size:11px;padding:10px 12px;width:auto;white-space:normal}
@media(max-width:650px){.privacy-dialog{inset:auto 16px 16px 16px;width:calc(100vw - 32px);max-width:420px}.privacy-dialog-inner{padding:16px 18px}.privacy-dialog h2{font-size:22px}}

/* Breite, gut lesbare Bewertungen unter der Abschnittsüberschrift. */
.wedding-reviews{grid-template-columns:minmax(0,1fr);gap:30px}
.wedding-reviews-heading{max-width:680px}
.wedding-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.wedding-review-grid blockquote{min-width:0;min-height:0}
@media(max-width:650px){.wedding-review-grid{grid-template-columns:minmax(0,1fr);gap:14px}}

/* Consistent light theme for phones and tablets, including landscape. */

@media (max-width:1366px), (pointer:coarse) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  body.home-page { background:#ffffff; color:#172e35; }
  .home-page .site-header, .home-page .main-nav, .home-page .intro-strip,
  .home-page .about-section, .home-page .wedding-section, .home-page .site-footer {
    background:#ffffff; color:#172e35;
  }
  .home-page .work-section, .home-page .references-section, .home-page .google-reviews {
    background:#ffffff; color:#172e35;
  }
  .home-page .hero, .home-page .services-section, .home-page .wedding-hero,
  .home-page .wedding-reviews { background:#ffffff; color:#172e35; }
  .home-page .wedding-proof, .home-page .wedding-cta, .home-page .contact-section {
    background:#ffffff; color:#172e35;
  }
  .home-page h1, .home-page h2, .home-page h3, .home-page h1 em,
  .home-page h2 em, .home-page h3 em, .home-page .service-item h3,
  .home-page .about-signature, .home-page .wedding-proof b { color:#172e35 !important; }
  .home-page p:not(.eyebrow), .home-page .hero-intro,
  .home-page .services-heading>p:last-child, .home-page .service-item p,
  .home-page .wedding-hero-copy>p:not(.eyebrow),
  .home-page .wedding-reviews-heading>p:last-child,
  .home-page .google-review-grid blockquote p, .home-page .wedding-review-grid blockquote p {
    color:#29434c !important; font-size:16px; line-height:1.7; opacity:1;
  }
  .home-page .eyebrow, .home-page .eyebrow-dark, .home-page .intro-meta,
  .home-page .hero-note, .home-page .service-no, .home-page .service-arrow,
  .home-page .contact-details, .home-page .reviews-source,
  .home-page .about-signature span, .home-page .google-review-grid cite,
  .home-page .wedding-review-grid cite, .home-page cite small,
  .home-page .work-toolbar, .home-page .site-footer { color:#38515a !important; opacity:1; }
  .home-page .gallery-note, .home-page .reviews-source, .home-page .contact-details,
  .home-page .site-footer, .home-page cite small { font-size:13px; line-height:1.6; }
  .home-page .main-nav>a:not(.nav-cta), .home-page .text-link,
  .home-page .underlined-link { color:#172e35; }
  .home-page .button-light, .home-page .contact-button {
    background:#153b39; color:#fffefa; border:1px solid #153b39;
  }
  .home-page .button-light span, .home-page .contact-button span { color:#fffefa; }
  .home-page .service-list, .home-page .service-item, .home-page .work-toolbar,
  .home-page .references-grid li, .home-page .contact-details { border-color:#aebfb5; }
  .home-page .references-grid li { color:#29434c; }
  .home-page .google-review-grid blockquote, .home-page .wedding-review-grid blockquote {
    background:#ffffff; border:1px solid #d2ddd4;
  }
  .home-page .filter-list { flex-wrap:wrap; gap:8px; }
  .home-page .filter { min-height:44px; padding:10px 12px; font-size:13px;
    color:#29434c; background:#ffffff; border:1px solid #96aca1; border-radius:8px; }
  .home-page .filter.active { color:#fffefa; background:#153b39; border-color:#172e35; }
  /* Equal compact previews. The dialog retains each complete original image. */
  .home-page #gallery.gallery, .home-page #wedding-gallery {
    display:grid; columns:auto; grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-rows:auto; grid-auto-flow:row; gap:8px; align-items:stretch;
  }
  .home-page #gallery .photo-card, .home-page #wedding-gallery .wedding-photo {
    display:block; position:relative; width:100%; height:auto !important;
    aspect-ratio:1 !important; min-height:0 !important; margin:0 !important; padding:0;
    grid-column:auto !important; grid-row:auto !important;
    overflow:hidden !important; border-radius:8px !important;
    background:#f3f7f8 !important; cursor:zoom-in;
  }
  .home-page #gallery .photo-card[hidden] { display:none !important; }
  .home-page #gallery .photo-card img, .home-page #wedding-gallery .wedding-photo img {
    position:absolute !important; inset:0 !important; width:100% !important;
    height:100% !important; max-height:none !important; margin:0 !important;
    object-fit:cover !important; object-position:center 30% !important;
    outline:0 !important; border:0 !important;
  }
  .home-page #gallery .photo-overlay, .home-page #wedding-gallery .photo-hover-caption {
    display:none !important;
  }
  .home-page :focus-visible { outline:3px solid #96511f; outline-offset:4px; }
  .home-page .lightbox {
    position:fixed; inset:0; margin:auto; width:100vw; max-width:100vw;
    height:100dvh; max-height:100dvh; padding:64px 12px 76px;
    background:#ffffff; color:#172e35;
  }
  .home-page .lightbox figure { height:100%; min-height:0; width:100%; gap:12px; }
  .home-page .lightbox figure img { max-width:100%; max-height:calc(100% - 80px);
    width:auto; height:auto; object-fit:contain; margin:0; outline:0; }
  .home-page .lightbox figcaption, .home-page .lightbox figcaption.is-wedding-caption {
    max-width:100%; color:#172e35; font-size:14px; line-height:1.5; letter-spacing:0;
    text-transform:none; text-align:center; overflow:auto; max-height:68px;
  }
  .home-page .lightbox button { display:grid; place-items:center; min-width:48px;
    min-height:48px; color:#172e35; border:1px solid #83958d; border-radius:50%;
    background:#f1f5f6; font-size:28px; touch-action:manipulation; }
  .home-page .lightbox-close { top:max(12px,env(safe-area-inset-top)); right:12px; }
  .home-page .lightbox-prev { top:auto; bottom:max(14px,env(safe-area-inset-bottom)); left:calc(50% - 60px); }
  .home-page .lightbox-next { top:auto; bottom:max(14px,env(safe-area-inset-bottom)); right:calc(50% - 60px); }
  html:has(.lightbox[open]), body:has(.lightbox[open]) { overflow:hidden; }
}
@media (min-width:600px) and (max-width:899px) {
  .home-page #gallery.gallery, .home-page #wedding-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
}
@media (min-width:900px) and (max-width:1366px) {
  .home-page #gallery.gallery, .home-page #wedding-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
}

@media(max-width:1366px), (pointer:coarse) {
 :root { color-scheme:light; }
 body.home-page, body.legal-page { background:#fff !important; color:#172e35 !important; }
 .home-page .site-header,.home-page .main-nav,.home-page .hero,.home-page .intro-strip,
 .home-page .work-section,.home-page .references-section,.home-page .services-section,
 .home-page .wedding-section,.home-page .wedding-hero,.home-page .wedding-proof,
 .home-page .wedding-credo,.home-page .wedding-reviews,.home-page .wedding-cta,
 .home-page .google-reviews,.home-page .about-section,.home-page .contact-section,
 .home-page .site-footer,.legal-page .site-header,.legal-page .main-nav,
 .legal-page .legal-hero,.legal-page .legal-content,.legal-page .legal-detail-card,
 .legal-page .legal-privacy,.legal-page .site-footer { background:#fff !important; color:#172e35 !important; }
 .home-page .lightbox::backdrop { background:rgba(230,237,239,.9); }
 .home-page .lightbox figure figcaption { color:#172e35 !important; }
 .legal-page h1,.legal-page h1 em,.legal-page h2,.legal-page h3 { color:#172e35 !important; }
 .legal-page p,.legal-page address { color:#29434c !important; }
}
