*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root{--b:#7b364c;--b-dk:#5a2737;--b-lt:#a8596e;--b-pale:#f7edf0;--ink:#1A1618;--panel:#1D1419;--white:#FEFCFB;--cream:#F8F3F1;--muted:#6B5A5E;--border:rgba(123,54,76,.18);--serif:'Cormorant Garamond',Georgia,serif;--sc:'Cormorant SC',Georgia,serif;--sans:'Inter',system-ui,sans-serif}
html{scroll-behavior:smooth} body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden} img{display:block;max-width:100%} a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:0 3rem}.section{padding:7rem 0}.lbl{font-family:var(--sc);font-size:.68rem;letter-spacing:.24em;color:var(--b);display:block;margin-bottom:.7rem;text-transform:uppercase}.h1,.h2{font-family:var(--serif);font-weight:300;line-height:1.05}.h1{font-size:clamp(3.2rem,6vw,6.4rem)}.h2{font-size:clamp(2.2rem,3.5vw,4rem)}.h2 em,.h1 em{font-style:italic;color:var(--b)}.body-txt,.content-body p{color:var(--muted);font-size:.98rem;line-height:1.9}.content-body p+p{margin-top:1rem}.rule{display:flex;align-items:center;gap:1rem;margin:1.8rem 0}.rule:before,.rule:after{content:'';flex:1;height:1px;background:var(--border)}.gem{width:5px;height:5px;background:var(--b);transform:rotate(45deg)}
.site-nav{position:fixed;inset:0 0 auto;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3rem;transition:.35s;background:linear-gradient(to bottom,rgba(20,10,15,.55),transparent)}.site-nav.scrolled{background:rgba(26,22,24,.94);backdrop-filter:blur(16px);padding:1rem 3rem;box-shadow:0 1px 0 rgba(123,54,76,.3)}.nav-logo{font-family:var(--sc);font-size:1.25rem;letter-spacing:.22em;color:#fff}.nav-links{display:flex;gap:1.45rem;list-style:none;align-items:center}.nav-links a,.nav-cta,.nav-toggle{font-family:var(--sc);font-size:.8rem;letter-spacing:.11em;color:rgba(255,255,255,.78);text-transform:uppercase}.nav-links a:hover{color:#e8b4bf}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:.55rem 1.1rem;border-radius:2px;color:#fff}.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.4);padding:.45rem .7rem}
.hero,.page-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:var(--panel)}.hero{height:100svh}.hero-bg,.page-hero-bg{position:absolute;inset:0}.hero-bg img,.page-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:left center;transform:scale(1.04);animation:zoom 9s ease forwards}.hero-bg:after,.page-hero-bg:after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,10,15,.78),rgba(20,10,15,.16) 42%,rgba(20,10,15,.74))}.hero-body,.page-hero-body{position:relative;z-index:1;padding:0 4.5rem 5rem;max-width:850px}.hero-tag{font-family:var(--sc);font-size:.7rem;letter-spacing:.28em;color:#e8b4bf;margin-bottom:1.4rem}.hero-h1{font-family:var(--serif);font-size:clamp(3rem,5.5vw,6rem);font-weight:300;line-height:1.03;color:#fff}.hero-h1 em{font-style:italic;color:#e8b4bf}.hero-rule{width:48px;height:1px;background:var(--b-lt);margin:2rem 0}.hero-p{font-size:.98rem;color:rgba(255,255,255,.78);line-height:1.85;max-width:520px}.btn-row{margin-top:2.5rem;display:flex;gap:1rem;flex-wrap:wrap}.btn-b,.btn-w,.btn-outline{font-family:var(--sc);font-size:.72rem;letter-spacing:.13em;padding:.85rem 2rem;border-radius:2px;display:inline-block;transition:.2s;text-transform:uppercase}.btn-b{background:var(--b);color:#fff}.btn-b:hover{background:var(--b-dk);transform:translateY(-2px)}.btn-w{border:1px solid rgba(255,255,255,.5);color:#fff}.btn-outline{border:1px solid var(--border);color:var(--b)}
.intro{background:var(--white);padding:5rem 0}.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.split-img{position:relative;overflow:hidden}.split-img img{width:100%;height:100%;object-fit:cover}.protected-media{position:relative;user-select:none}.protected-media:after{content:'Romy Fotografie';position:absolute;right:1rem;bottom:1rem;color:rgba(255,255,255,.45);font-family:var(--sc);letter-spacing:.18em;font-size:.65rem;text-shadow:0 1px 8px rgba(0,0,0,.5);pointer-events:none}.split-txt{padding:5rem;display:flex;flex-direction:column;justify-content:center;background:var(--white)}blockquote,.pull{font-family:var(--serif);font-size:1.35rem;font-style:italic;line-height:1.55;color:var(--ink);border-left:2px solid var(--b);padding-left:1.4rem;margin:1.8rem 0}.lnk{font-family:var(--sc);font-size:.7rem;letter-spacing:.14em;color:var(--b);border-bottom:1px solid var(--border);padding-bottom:2px;margin-top:1.8rem;display:inline-block;text-transform:uppercase}
.services{background:var(--cream)}.srv-hd{text-align:center;max-width:650px;margin:0 auto 3.5rem}.srv-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3px}.srv-panel{position:relative;height:540px;overflow:hidden}.srv-panel-bg{position:absolute;inset:0}.srv-panel-bg img{width:100%;height:100%;object-fit:cover;transition:.7s}.srv-panel:hover img{transform:scale(1.06)}.srv-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,10,15,.9),rgba(20,10,15,.42) 52%,rgba(20,10,15,.12))}.srv-panel-txt{position:absolute;bottom:0;left:0;right:0;padding:2.5rem;z-index:1}.srv-tier{font-family:var(--sc);font-size:.62rem;letter-spacing:.22em;color:#e8b4bf;text-transform:uppercase}.srv-name{font-family:var(--serif);font-size:2.25rem;font-weight:300;color:#fff;line-height:1.1;margin:.6rem 0}.srv-desc{font-size:.9rem;color:rgba(255,255,255,.67);line-height:1.75}.srv-cta{font-family:var(--sc);font-size:.68rem;letter-spacing:.13em;color:#e8b4bf;border-bottom:1px solid rgba(232,180,191,.35);display:inline-block;margin-top:1.4rem;text-transform:uppercase}
.gallery{background:var(--ink)}.gal-hd{text-align:center;margin-bottom:3rem}.gal-hd .lbl{color:#e8b4bf}.gal-hd .h2{color:var(--white)}.gal-hd .h2 em{color:var(--b-lt)}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:290px;gap:4px}.gi{position:relative;overflow:hidden}.gi img{width:100%;height:100%;object-fit:cover;transition:.55s}.gi:hover img{transform:scale(1.06)}.gi.tall{grid-row:span 2}.gi.wide{grid-column:span 2}.portfolio-grid,.blog-grid,.admin-grid,.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.card{background:var(--white);border:1px solid var(--border)}.card-img{height:280px;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}.card-body{padding:2rem}.card h3{font-family:var(--serif);font-size:1.8rem;font-weight:300;line-height:1.15}.card p{margin-top:1rem;color:var(--muted)}.dark{background:var(--panel);color:var(--cream)}.dark .h2{color:var(--cream)}.dark .body-txt,.dark .content-body p{color:rgba(248,243,241,.66)}.contact{background:var(--b-dk);color:#fff;text-align:center;padding:8rem 0}.contact .lbl{color:#e8b4bf}.contact-ttl{font-family:var(--serif);font-size:clamp(2.5rem,4.5vw,5rem);font-weight:300;line-height:1.1}.contact-methods{margin:3rem auto 0;display:flex;justify-content:center;border:1px solid rgba(255,255,255,.15);max-width:700px}.cm{flex:1;padding:2rem 1.5rem;border-right:1px solid rgba(255,255,255,.15)}.cm:last-child{border-right:0}.cm-lbl{font-family:var(--sc);font-size:.6rem;letter-spacing:.2em;color:rgba(255,255,255,.45);display:block}.cm-val{font-family:var(--serif);font-size:1.05rem;color:#e8b4bf}.content-page{background:var(--cream);padding:6rem 0}.content-panel{background:var(--white);padding:4rem;border:1px solid var(--border)}.content-body h1,.content-body h2,.content-body h3{font-family:var(--serif);font-weight:300;margin:2rem 0 1rem}.content-body ul{margin:1rem 0 1rem 1.5rem;color:var(--muted)}
.admin-shell{padding:9rem 0 5rem}.admin-bar{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}.form{background:var(--white);border:1px solid var(--border);padding:2rem}.form label{display:block;font-family:var(--sc);letter-spacing:.12em;font-size:.72rem;color:var(--b);margin:1rem 0 .4rem;text-transform:uppercase}.form input,.form textarea,.form select{width:100%;padding:.85rem;border:1px solid var(--border);font:inherit;background:#fff}.form textarea{min-height:220px}.editor-toolbar{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}.editor-toolbar button{border:1px solid var(--border);background:var(--cream);padding:.4rem .7rem}.wysiwyg{min-height:320px;border:1px solid var(--border);padding:1rem;background:#fff;overflow:auto}.muted{color:var(--muted)}.alert{background:var(--b-pale);border:1px solid var(--border);padding:1rem;margin:1rem 0}.reveal{opacity:0;transform:translateY(26px);transition:.8s}.reveal.visible{opacity:1;transform:translateY(0)}
footer{background:var(--panel);color:rgba(248,243,241,.55);border-top:1px solid rgba(123,54,76,.25);padding:3.5rem 0 2rem}.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;margin-bottom:2.5rem}.ft-logo{font-family:var(--sc);font-size:1.1rem;letter-spacing:.22em;color:var(--cream);display:block;margin-bottom:.9rem}.ft-brand p{max-width:310px}.ft-col h5{font-family:var(--sc);font-size:.65rem;letter-spacing:.22em;color:var(--b-lt);margin-bottom:1.1rem}.ft-col ul{list-style:none}.ft-col li{margin-bottom:.55rem}.ft-col a{opacity:.65}.ft-col a:hover{opacity:1}.ft-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1.75rem;display:flex;justify-content:space-between;font-family:var(--sc);font-size:.6rem;letter-spacing:.12em;opacity:.45;text-transform:uppercase}
@keyframes zoom{from{transform:scale(1.05)}to{transform:scale(1)}}
@media(max-width:1050px){.nav-toggle{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;background:rgba(26,22,24,.97);display:none;flex-direction:column;align-items:flex-start;padding:1.5rem 2rem}.nav-links.open{display:flex}.nav-cta{display:none}.site-nav{padding:1.2rem 1.5rem}.split,.srv-panels,.portfolio-grid,.blog-grid,.admin-grid,.review-grid,.ft-grid{grid-template-columns:1fr}.hero-body,.page-hero-body{padding:0 2rem 4rem}.split-img{height:60vw}.split-txt{padding:3rem 2rem}.grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gi.tall,.gi.wide{grid-column:auto;grid-row:auto}.contact-methods{flex-direction:column}.cm{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.wrap{padding:0 1.5rem}.content-panel{padding:2rem}.ft-bottom{flex-direction:column;gap:.5rem}}

/* Visual refinements: restore the full-screen POC feel and make pages less templated. */
main{margin:0;padding:0}.hero{height:100vh;height:100svh;min-height:760px}.hero,.page-hero{isolation:isolate}.hero-bg,.page-hero-bg{overflow:hidden;z-index:0}.hero-bg img,.page-hero-bg img{position:absolute;inset:-2%;width:104%;height:104%;max-width:none;z-index:0;transform-origin:center;will-change:transform}.hero-bg:after,.page-hero-bg:after,.hero-bg.protected-media:after,.page-hero-bg.protected-media:after{content:'';position:absolute;inset:0;right:auto;bottom:auto;z-index:2;pointer-events:none;background:linear-gradient(to bottom,rgba(20,10,15,.86) 0%,rgba(20,10,15,.30) 22%,rgba(20,10,15,.08) 48%,rgba(20,10,15,.78) 100%)}.hero-bg.protected-media:before,.page-hero-bg.protected-media:before{content:'Romy Fotografie';position:absolute;right:1.25rem;bottom:1.25rem;z-index:3;color:rgba(255,255,255,.42);font-family:var(--sc);letter-spacing:.18em;font-size:.65rem;text-shadow:0 1px 8px rgba(0,0,0,.5);pointer-events:none}.hero-body{padding:0 4.5rem 6.5rem;max-width:840px}.hero-tag,.hero-h1,.hero-rule,.hero-p,.btn-row{animation:up .8s ease both}.hero-tag{animation-delay:.15s}.hero-h1{animation-delay:.3s}.hero-rule{animation-delay:.45s}.hero-p{animation-delay:.6s}.btn-row{animation-delay:.75s}@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.page-hero{min-height:68vh}.page-hero.hero-portfolio{min-height:82vh}.page-hero.hero-legal{min-height:430px}.page-hero.hero-family .page-hero-bg img{object-position:center 38%}.page-hero.hero-contact .page-hero-bg img{object-position:center 30%}.page-hero.hero-reviews .page-hero-bg:after{background:linear-gradient(90deg,rgba(29,20,25,.9),rgba(90,39,55,.62),rgba(29,20,25,.52))}.page-hero.hero-portfolio .page-hero-body{max-width:980px}.page-hero.hero-portfolio .hero-h1{font-size:clamp(4rem,8vw,8rem)}

.portfolio-showcase{background:var(--cream);padding-top:6rem}.portfolio-lead{max-width:760px;margin:0 auto 3rem;text-align:center}.masonry-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:180px;gap:.45rem}.masonry-item{overflow:hidden;min-height:180px}.masonry-item.large{grid-column:span 2;grid-row:span 2}.masonry-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.masonry-item:hover img{transform:scale(1.05)}

.editorial-page{padding:7rem 0;background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 50%,var(--white) 50%,var(--white) 100%)}.editorial-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);gap:4rem;align-items:start}.editorial-aside{height:680px;overflow:hidden;box-shadow:0 26px 90px rgba(26,22,24,.12)}.editorial-aside img{width:100%;height:100%;object-fit:cover}.editorial-page .content-panel{box-shadow:0 22px 90px rgba(26,22,24,.08)}.page-photo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;margin-top:4rem}.page-photo-strip>div{height:220px;overflow:hidden}.page-photo-strip img{width:100%;height:100%;object-fit:cover}

.reviews-page{background:linear-gradient(135deg,var(--panel),#2a1820 60%,var(--b-dk));color:var(--cream)}.reviews-page .h2{color:var(--cream)}.reviews-page .review-grid{grid-template-columns:repeat(2,1fr)}.review-card{background:rgba(255,255,255,.055);border:1px solid rgba(232,180,191,.18);color:rgba(248,243,241,.72)}.review-card h3{color:#fff}.stars{display:block;color:#e8b4bf;letter-spacing:.25em;padding:2rem 2rem 0;font-size:.8rem}.contact-page{background:var(--white)}.contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:stretch}.contact-card{background:var(--panel);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:center;gap:1.2rem}.contact-card a{font-family:var(--serif);font-size:1.35rem;color:#e8b4bf}.legal-page{padding-top:4rem}.legal-page .content-panel{max-width:880px;margin:0 auto;background:#fff}

@media(max-width:1050px){.hero{min-height:680px}.hero-body{padding:0 2rem 4.5rem}.page-hero{min-height:560px}.masonry-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.masonry-item.large{grid-column:span 2;grid-row:span 1}.editorial-page{background:var(--cream)}.editorial-layout,.contact-layout,.reviews-page .review-grid{grid-template-columns:1fr}.editorial-aside{height:420px}.page-photo-strip{grid-template-columns:1fr 1fr}.page-photo-strip>div{height:190px}}

.blog-overview{align-items:start}.blog-card{position:relative;overflow:hidden}.blog-cover{position:relative;display:block;height:340px}.blog-cover img{width:100%;height:100%;object-fit:cover}.blog-cover:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(20,10,15,.82),rgba(20,10,15,.18) 55%,rgba(20,10,15,.08));pointer-events:none}.blog-title-overlay{position:absolute;left:1.5rem;right:1.5rem;bottom:1.4rem;z-index:2;font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,2.15rem);font-weight:300;line-height:1.08;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.38)}.blog-card .card-body{padding:1.7rem 1.8rem 2rem}.blog-card-title{font-size:1.65rem;margin-top:.35rem}.blog-card-title a{color:var(--ink)}.blog-card .lbl{font-size:.58rem}.blog-card p{font-size:.92rem;line-height:1.75}

.hero-bg:after{background:linear-gradient(to bottom,rgba(20,10,15,.66) 0%,rgba(20,10,15,.18) 30%,rgba(20,10,15,.04) 56%,rgba(20,10,15,.72) 100%)!important}

/* Custom detail pages */
.detail-options-page{background:var(--paper)}
.hero-album .page-hero-body{max-width:900px}
.detail-options-page .text-block{max-width:840px}
.detail-options-page .page-hero .content-body,
.detail-options-page .page-hero .content-body p{color:rgba(255,255,255,.82)}
.detail-options-page .page-hero .content-body a{color:#fff;border-bottom-color:rgba(255,255,255,.35)}
.detail-options-page .lead{font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.35;color:#fff;margin-bottom:1rem}
.detail-image-break img{width:100%;height:min(70vh,760px);object-fit:cover}
.detail-editorial-section{padding:6rem 0;background:#fff}
.detail-options-page .soft-background{background:var(--paper)}
.album-overview-page .detail-editorial-section .text-block{max-width:760px}
.detail-editorial-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:3rem;align-items:start}
.detail-editorial-section .text-block .lbl{margin-bottom:1rem}
.detail-editorial-section blockquote{max-width:680px}
.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.option-card{background:var(--paper);border:1px solid rgba(123,54,76,.14);padding:1.5rem 1.4rem 1.6rem;box-shadow:0 16px 42px rgba(26,22,24,.08)}
.option-card span{display:block;font-family:var(--sc);font-size:.68rem;letter-spacing:.18em;color:var(--b);margin-bottom:1rem}
.option-card h3{font-family:var(--serif);font-size:1.7rem;font-weight:300;line-height:1.15;color:var(--ink);margin-bottom:.8rem}
.option-card p{color:#514248;line-height:1.8}
.frame-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin-top:2rem}
.frame-item{background:#fff;border:1px solid rgba(123,54,76,.14);padding:1rem 1.2rem;font-family:var(--serif);font-size:1.25rem;font-weight:300;line-height:1.25;color:var(--ink);box-shadow:0 14px 34px rgba(26,22,24,.06)}
.detail-cta-section{padding:6rem 0;background:linear-gradient(135deg,var(--panel),#2a1820 58%,var(--b-dk));color:#fff}
.detail-cta-section .h2{color:#fff}
.detail-cta-section .content-body p{color:rgba(255,250,248,.82)}
.detail-cta-section .button{display:inline-block;margin-top:2rem;padding:.9rem 2rem;border:1px solid rgba(255,255,255,.55);font-family:var(--sc);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.08)}
.detail-cta-section .button:hover{background:#fffaf8;color:#321620;border-color:#fffaf8}

/* Content pages use compact photographic headers; only the homepage keeps the full-screen hero. */
.page-hero,.page-hero.hero-portfolio,.page-hero.hero-editorial,.page-hero.hero-family,.page-hero.hero-contact,.page-hero.hero-reviews,.page-hero.hero-tarieven{height:auto;min-height:390px!important;align-items:flex-end}.page-hero.hero-legal{min-height:300px!important}.page-hero-body{padding:8.5rem 3rem 3rem!important;max-width:760px}.page-hero .hero-tag{margin-bottom:.8rem}.page-hero .hero-h1{font-size:clamp(2.6rem,4.4vw,4.6rem)!important}.page-hero .hero-rule{margin:1.25rem 0}.page-hero .hero-p{max-width:620px;font-size:.95rem}.page-hero.hero-portfolio .page-hero-body{max-width:820px}.page-hero.hero-portfolio .hero-h1{font-size:clamp(3rem,5vw,5.2rem)!important}.content-page,.editorial-page,.portfolio-showcase,.reviews-page,.contact-page{padding-top:4.5rem}
@media(max-width:1050px){.page-hero,.page-hero.hero-portfolio,.page-hero.hero-editorial,.page-hero.hero-family,.page-hero.hero-contact,.page-hero.hero-reviews,.page-hero.hero-tarieven{min-height:330px!important}.page-hero.hero-legal{min-height:260px!important}.page-hero-body{padding:7rem 1.5rem 2.2rem!important}.page-hero .hero-h1{font-size:clamp(2.3rem,10vw,3.4rem)!important}.content-page,.editorial-page,.portfolio-showcase,.reviews-page,.contact-page{padding-top:3rem}.detail-editorial-layout{grid-template-columns:1fr}.detail-editorial-section,.detail-cta-section{padding:4.5rem 0}.detail-image-break img{height:min(52vh,520px)}}

/* Readability and character pass. */
:root{
  --rose:#e8b4bf;
  --rose-soft:#f5dce2;
  --paper:#fffaf8;
  --sand:#efe4df;
  --sage:#7d8a76;
  --gold:#b98950;
  --shadow:0 22px 70px rgba(26,22,24,.12);
}
body{font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li,.body-txt,.content-body p,.content-body li,.card p{color:#514248}
.content-body{color:#514248;font-size:1rem;line-height:1.9}
.content-body a{color:var(--b);border-bottom:1px solid rgba(123,54,76,.28)}
.content-body img{width:100%;height:auto;margin:2rem 0;box-shadow:var(--shadow)}
.content-body figure{margin:2rem 0}.content-body figcaption{color:#76676b;font-size:.85rem;text-align:center;margin-top:.6rem}
.content-body h1,.content-body h2,.content-body h3{color:var(--ink);line-height:1.1}
.content-body ul,.content-body ol{padding-left:1.25rem}
.content-body [style*="color: #000"],.content-body [style*="color:#000"],.content-body [style*="color: black"],.content-body [style*="color:black"]{color:inherit!important}
.dark .lbl,.reviews-page .lbl,.contact-card .lbl,footer .lbl{color:var(--rose)}
.dark .content-body,.dark .content-body p,.dark .content-body li{color:rgba(248,243,241,.78)}
.dark .content-body h1,.dark .content-body h2,.dark .content-body h3{color:#fff}
.dark .content-body [style*="color"]{color:rgba(248,243,241,.78)!important}
.gallery .btn-w,.gallery .btn-outline{background:rgba(255,255,255,.08);border-color:rgba(232,180,191,.55);color:#fff}
.btn-b,.btn-w,.btn-outline,.lnk,.srv-cta,.nav-cta{font-weight:500}
.btn-outline:hover,.lnk:hover,.srv-cta:hover{color:var(--b-dk);border-color:var(--b-dk)}

.site-nav{background:linear-gradient(to bottom,rgba(20,10,15,.72),rgba(20,10,15,.1) 74%,transparent)}
.site-nav.scrolled{background:rgba(29,20,25,.96)}
.nav-links a,.nav-cta,.nav-toggle{font-weight:500}.nav-cta{white-space:nowrap}
.nav-logo{white-space:nowrap;letter-spacing:.18em}.nav-toggle{border-radius:999px}
.nav-links{gap:1rem}.nav-links a,.nav-cta{font-size:.72rem}
@media(min-width:1051px) and (max-width:1320px){.site-nav{padding-left:1.6rem;padding-right:1.6rem}.nav-links{gap:.75rem}.nav-logo{font-size:1.05rem;letter-spacing:.14em}.nav-links a{font-size:.66rem}.nav-cta{display:none}}
@media(min-width:1051px) and (max-width:1450px){.nav-cta{display:none}}

.hero-bg img,.page-hero-bg img{filter:saturate(1.03) contrast(1.02)}
.hero-bg img,.page-hero-bg img{z-index:1}
.hero-bg img{object-position:right bottom;filter:brightness(1.12) saturate(1.05) contrast(1.04)}
.hero-bg,.page-hero-bg{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-bg{background-position:right bottom}
.hero,.page-hero{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero{background-position:right bottom}
.hero-bg img,.page-hero-bg img{opacity:.01}
.hero-bg:after,.page-hero-bg:after,.hero-bg.protected-media:after,.page-hero-bg.protected-media:after{display:none!important}
.hero:before,.page-hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none}
.hero:before{background:linear-gradient(90deg,rgba(20,10,15,.92) 0%,rgba(20,10,15,.82) 42%,rgba(20,10,15,.32) 62%,rgba(20,10,15,0) 100%),linear-gradient(to top,rgba(20,10,15,.46),rgba(20,10,15,0) 48%,rgba(20,10,15,.28))}
.page-hero:before{background:linear-gradient(105deg,rgba(20,10,15,.86) 0%,rgba(20,10,15,.48) 42%,rgba(20,10,15,.18) 70%,rgba(20,10,15,.62) 100%)}
.hero-body,.page-hero-body{z-index:2}
.hero-bg:after,.hero-bg.protected-media:after{background:linear-gradient(90deg,rgba(20,10,15,.92) 0%,rgba(20,10,15,.82) 42%,rgba(20,10,15,.32) 62%,rgba(20,10,15,0) 100%),linear-gradient(to top,rgba(20,10,15,.46),rgba(20,10,15,0) 48%,rgba(20,10,15,.28))!important}
.page-hero-bg:after,.page-hero-bg.protected-media:after{background:linear-gradient(105deg,rgba(20,10,15,.86) 0%,rgba(20,10,15,.48) 42%,rgba(20,10,15,.18) 70%,rgba(20,10,15,.62) 100%)!important}
.hero-h1,.contact-ttl{text-wrap:balance}.hero-p{text-shadow:0 2px 24px rgba(0,0,0,.34)}
.hero-p p,.page-hero .hero-p p{color:inherit;margin:0}
.page-hero .hero-p{color:rgba(255,255,255,.88)}
.page-hero.hero-family .page-hero-bg img{object-position:center 32%}
.page-hero.hero-tarieven .page-hero-bg img{object-position:center 42%}
.page-hero.hero-contact .page-hero-bg img{object-position:center 44%}
.page-hero.hero-portfolio .page-hero-bg img{object-position:center 52%}
.page-hero.hero-legal .page-hero-bg:after{background:linear-gradient(90deg,rgba(29,20,25,.94),rgba(90,39,55,.78))!important}

.split,.editorial-layout,.contact-layout{gap:0}
.editorial-aside img,.srv-panel-bg img,.card-img img,.blog-cover img,.gi img,.masonry-item img,.page-photo-strip img{background:var(--sand)}
.split-img img{background:transparent}
.split-img img,.editorial-aside img{object-position:center}
.intro .split-img:before,.editorial-aside:before{content:'';position:absolute;inset:1.15rem;border:1px solid rgba(255,255,255,.65);z-index:2;pointer-events:none}
.split-img,.editorial-aside{position:relative}
.split-txt,.content-panel{background:var(--paper)}
.content-panel{border:1px solid rgba(123,54,76,.16);box-shadow:var(--shadow)}
.intro:nth-of-type(odd) .split-txt{background:#fff}

.services{background:linear-gradient(180deg,var(--cream),#fff 48%,var(--cream))}
.srv-panel{border-radius:0 0 16px 16px;box-shadow:0 16px 45px rgba(26,22,24,.11)}
.srv-panel:nth-child(2){transform:translateY(1.1rem)}
.srv-panel:after{background:linear-gradient(to top,rgba(20,10,15,.94),rgba(20,10,15,.48) 55%,rgba(20,10,15,.1))}
.srv-desc{color:rgba(255,255,255,.84)}
.srv-panel-txt{padding:2.25rem}
.srv-panel:nth-child(1) .srv-panel-bg img{object-position:center 42%}
.srv-panel:nth-child(2) .srv-panel-bg img{object-position:center 35%}
.srv-panel:nth-child(3) .srv-panel-bg img{object-position:center 50%}

.grid{grid-auto-rows:300px}.gi,.masonry-item,.page-photo-strip>div{box-shadow:0 16px 42px rgba(0,0,0,.14)}
.gi:nth-child(2),.masonry-item:nth-child(5n+2){transform:translateY(1rem)}
.gi:nth-child(4),.masonry-item:nth-child(7n+4){transform:translateY(-.75rem)}
.portfolio-showcase{background:linear-gradient(180deg,var(--paper),var(--cream))}
.masonry-grid{grid-auto-flow:dense}.masonry-item{background:var(--sand)}
.masonry-item:nth-child(6n+3){grid-row:span 2}.masonry-item:nth-child(9n+5){grid-column:span 2}

.editorial-page{background:linear-gradient(110deg,var(--cream) 0%,var(--cream) 47%,#fff 47%,#fff 100%)}
.editorial-layout{gap:3.5rem}
.editorial-aside{border-radius:18px 18px 4px 4px;transform:rotate(.65deg)}
.editorial-page .content-panel{position:relative;z-index:1}
.editorial-page .content-panel:before{content:'';position:absolute;top:1.4rem;right:1.4rem;width:52px;height:52px;border-top:2px solid rgba(123,54,76,.28);border-right:2px solid rgba(123,54,76,.28)}
.page-photo-strip>div:nth-child(odd){transform:rotate(-1.2deg)}.page-photo-strip>div:nth-child(even){transform:rotate(1deg)}

.reviews-page{background:radial-gradient(circle at 12% 10%,rgba(232,180,191,.12),transparent 28%),linear-gradient(135deg,var(--panel),#2a1820 58%,var(--b-dk))}
.review-card{border-radius:8px;background:rgba(255,255,255,.07)}
.review-card p{color:rgba(248,243,241,.82)}
.contact{background:linear-gradient(135deg,var(--b-dk),#7b364c 58%,#362128)}
.contact .lbl,.contact-sub,.contact p{color:rgba(255,255,255,.78)!important}
.cm-val{color:#fff}.cm:hover{background:rgba(255,255,255,.08)}
.contact-card{background:linear-gradient(145deg,var(--panel),#3a202b);border-radius:8px;box-shadow:var(--shadow)}
.contact-card a{overflow-wrap:anywhere}

.blog-card{border-radius:8px;box-shadow:0 16px 48px rgba(26,22,24,.1);transition:transform .25s,box-shadow .25s}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 24px 70px rgba(26,22,24,.15)}
.blog-card:nth-child(3n+2) .blog-cover{height:390px}.blog-card:nth-child(3n+3) .blog-cover{height:300px}
.blog-title-overlay{text-wrap:balance}
.card h3 a:hover{color:var(--b)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .72s ease,transform .72s cubic-bezier(.22,.61,.36,1)}
.reveal.visible{opacity:1;transform:none}
.srv-panel.reveal:nth-child(3n+1),.blog-card.reveal:nth-child(3n+1),.review-card.reveal:nth-child(2n+1){transform:translateX(-22px)}
.srv-panel.reveal:nth-child(3n+2),.blog-card.reveal:nth-child(3n+2),.review-card.reveal:nth-child(2n){transform:translateY(30px) scale(.985)}
.srv-panel.reveal:nth-child(3n+3),.blog-card.reveal:nth-child(3n+3){transform:translateX(22px)}
.split-img.reveal,.editorial-aside.reveal{transform:translateY(18px) rotate(.7deg)}
.split-txt.reveal,.content-panel.reveal{transform:translateY(18px)}
.reveal.visible{transform:none}
@keyframes heroSlideLeft{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes heroScaleIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes heroLiftSoft{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.page-hero.hero-portfolio .hero-tag,.page-hero.hero-portfolio .hero-h1,.page-hero.hero-portfolio .hero-rule,.page-hero.hero-portfolio .hero-p{animation-name:heroScaleIn}
.page-hero.hero-contact .hero-tag,.page-hero.hero-contact .hero-h1,.page-hero.hero-contact .hero-rule,.page-hero.hero-contact .hero-p{animation-name:heroSlideLeft}
.page-hero.hero-reviews .hero-tag,.page-hero.hero-reviews .hero-h1,.page-hero.hero-reviews .hero-rule,.page-hero.hero-reviews .hero-p{animation-name:heroLiftSoft}
.page-hero.hero-family .hero-tag,.page-hero.hero-family .hero-h1,.page-hero.hero-family .hero-rule,.page-hero.hero-family .hero-p{animation-name:heroSlideLeft}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.hero-bg img,.page-hero-bg img,.reveal,.hero-tag,.hero-h1,.hero-rule,.hero-p,.btn-row{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}

@media(max-width:1050px){
  .site-nav{padding:1rem 1.25rem}.nav-logo{font-size:1rem;letter-spacing:.16em}
  .hero{min-height:620px}.hero-body{padding:0 1.5rem 4rem}.hero-h1{font-size:clamp(2.7rem,12vw,4.5rem)}
  .split,.editorial-layout,.album-editorial-layout{gap:0}.srv-panel:nth-child(2),.gi:nth-child(2),.gi:nth-child(4),.masonry-item:nth-child(n),.page-photo-strip>div:nth-child(n){transform:none}
  .srv-panel{height:430px;border-radius:8px}.grid{grid-auto-rows:210px}
  .editorial-aside{height:360px;transform:none;border-radius:8px}.content-panel{padding:2rem 1.35rem}
  .album-image-break img{height:46vw}
  .album-editorial-layout{grid-template-columns:1fr}
  .masonry-item:nth-child(6n+3),.masonry-item:nth-child(9n+5){grid-column:auto;grid-row:auto}
  .blog-card:nth-child(n) .blog-cover{height:300px}
}
@media(max-width:620px){
  .wrap{padding:0 1.15rem}.section{padding:4.5rem 0}
  .hero{min-height:580px}.hero-body{padding:0 1.15rem 3.25rem}.btn-row{gap:.7rem}
  .btn-b,.btn-w,.btn-outline{width:100%;text-align:center;padding:.85rem 1rem}
  .split-img{height:74vw}.split-txt{padding:2.4rem 1.35rem}
  .grid,.masonry-grid,.page-photo-strip{grid-template-columns:1fr}.gi,.page-photo-strip>div{height:240px}
  .album-editorial-section,.album-cta-section{padding:4.5rem 0}
  .album-image-break img{height:62vw}
  .contact-card{padding:2rem 1.35rem}.contact-methods{max-width:100%}
  .ft-grid{gap:1.7rem}.ft-bottom{line-height:1.7}
}

/* Admin login */
.admin-shell{min-height:100vh;background:radial-gradient(circle at 78% 18%,rgba(232,180,191,.14),transparent 28%),linear-gradient(135deg,var(--panel),#24151d 58%,#4a2431);padding:8.5rem 0 5rem}
.admin-login-wrap{width:min(100% - 2rem,980px);margin:0 auto;display:grid;place-items:center}
.admin-login-card{width:min(100%,460px);background:rgba(254,252,251,.98);border:1px solid rgba(232,180,191,.36);box-shadow:0 30px 90px rgba(0,0,0,.28);padding:2.5rem;border-radius:8px}
.admin-login-head{margin-bottom:1.8rem}
.admin-login-head h1{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.6rem);font-weight:300;line-height:1;margin:.25rem 0 .85rem;color:var(--ink)}
.admin-login-head p{color:#5f5055;line-height:1.75}
.login-field{margin-top:1.15rem}
.login-field label{display:block;font-family:var(--sc);letter-spacing:.14em;font-size:.72rem;color:var(--b);text-transform:uppercase;margin-bottom:.45rem}
.login-field input{width:100%;border:1px solid rgba(123,54,76,.24);background:#fff;color:var(--ink);font:inherit;padding:1rem;border-radius:4px;outline:none;transition:border-color .2s,box-shadow .2s}
.login-field input:focus{border-color:var(--b);box-shadow:0 0 0 4px rgba(123,54,76,.12)}
.login-error{display:grid;gap:.25rem;background:#fff1f3;border:1px solid rgba(123,54,76,.34);border-left:4px solid var(--b);color:#4c2530;padding:1rem 1.1rem;margin:0 0 1.4rem;border-radius:5px}
.login-error strong{font-family:var(--sc);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--b-dk)}
.login-error span{line-height:1.55}
.login-submit{width:100%;border:0;background:var(--b);color:#fff;font-family:var(--sc);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem 1.2rem;margin-top:1.6rem;border-radius:4px;cursor:pointer;transition:background .2s,transform .2s}
.login-submit:hover{background:var(--b-dk);transform:translateY(-1px)}
.login-note{font-size:.86rem;color:#786a6f;text-align:center;margin-top:1rem}
@media(max-width:620px){.admin-shell{padding:6.5rem 0 3rem}.admin-login-card{padding:1.6rem}.admin-login-head h1{font-size:2.35rem}}

/* Admin workspace */
.admin-shell>.wrap{position:relative;z-index:1}
.admin-shell .h2{color:#fff}.admin-shell>.wrap>.lbl{color:var(--rose)}
.admin-shell .admin-grid,.admin-shell .blog-grid,.admin-shell .portfolio-grid{align-items:start}
.admin-shell .card{background:rgba(254,252,251,.98);border-color:rgba(232,180,191,.3);border-radius:8px;box-shadow:0 18px 54px rgba(0,0,0,.18);overflow:hidden}
.admin-shell .card h3{color:var(--ink)}
.admin-shell .card p{color:#5a4a50}
.admin-shell .lnk{color:var(--b-dk);font-weight:600;border-color:rgba(123,54,76,.38)}
.admin-shell .lnk:hover{color:#1a1618;border-color:#1a1618}
.admin-shell .form{background:rgba(254,252,251,.98);color:var(--ink);border-radius:8px;box-shadow:0 18px 54px rgba(0,0,0,.18)}
.admin-shell .form .h2{color:var(--ink)}
.admin-shell .form .lbl{color:var(--b-dk);font-weight:600}
.admin-shell .form .muted{color:#5f5055}
.admin-bar{gap:.75rem}
.admin-bar .btn-outline,.admin-actions .btn-outline,.admin-back,.media-picker .btn-outline,.media-dialog .btn-outline{background:#fff;color:var(--b-dk);border:1px solid rgba(123,54,76,.42);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.admin-bar .btn-outline:hover,.admin-actions .btn-outline:hover,.admin-back:hover,.media-picker .btn-outline:hover,.media-dialog .btn-outline:hover{background:var(--b-pale);color:var(--ink);transform:translateY(-1px)}
.admin-bar .btn-b,.admin-actions .btn-b{border:0;box-shadow:0 10px 28px rgba(90,39,55,.28)}
.admin-edit-wrap{max-width:1040px}
.admin-form{background:rgba(254,252,251,.98);border:1px solid rgba(232,180,191,.28);border-radius:8px;box-shadow:0 26px 80px rgba(0,0,0,.24);padding:2.4rem}
.admin-form .h2{color:var(--ink)}
.admin-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.3rem}
.admin-form label{color:var(--b-dk);font-weight:600}
.admin-form input,.admin-form textarea,.admin-form select{border-color:rgba(123,54,76,.26);border-radius:4px;color:var(--ink);background:#fff}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 4px rgba(123,54,76,.12)}
.admin-form textarea{min-height:110px}
.admin-actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}
.admin-actions .btn-b,.admin-actions .btn-outline{margin:0}
.editor-toolbar{position:sticky;top:78px;z-index:5;background:#fff;border:1px solid rgba(123,54,76,.18);border-bottom:0;border-radius:6px 6px 0 0;padding:.55rem;gap:.4rem;margin:0}
.editor-toolbar button{border:1px solid rgba(123,54,76,.22);background:#f8f3f1;color:#2b2024;border-radius:4px;padding:.52rem .7rem;font-weight:600;cursor:pointer}
.editor-toolbar button:hover,.editor-toolbar button.active{background:var(--b);border-color:var(--b);color:#fff}
.wysiwyg{min-height:440px;border-color:rgba(123,54,76,.22);border-radius:0 0 6px 6px;background:#fff;color:#241b1f;font-size:1rem;line-height:1.8;padding:1.3rem}
.wysiwyg:focus{outline:none;border-color:var(--b);box-shadow:0 0 0 4px rgba(123,54,76,.1)}
.wysiwyg h2,.wysiwyg h3{font-family:var(--serif);font-weight:300;line-height:1.1;margin:1.2rem 0 .6rem}
.wysiwyg p{color:#241b1f}
.wysiwyg ul,.wysiwyg ol{padding-left:1.5rem}
.media-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start}
.media-picker input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem;background:#faf7f5}
.media-preview{grid-column:1/-1;min-height:150px;border:1px dashed rgba(123,54,76,.3);border-radius:6px;background:#fff;padding:.65rem;display:flex;align-items:center;justify-content:center;color:#786a6f}
.media-preview:empty:before{content:'Nog geen afbeelding gekozen'}
.media-preview img{max-height:230px;width:auto;max-width:100%;object-fit:contain;box-shadow:0 12px 32px rgba(26,22,24,.13)}
.media-dialog{width:min(1120px,calc(100vw - 2rem));max-height:82vh;border:0;border-radius:10px;padding:0;background:#fff;box-shadow:0 30px 120px rgba(0,0,0,.45)}
.media-dialog.open{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:block;z-index:1000}
.media-dialog::backdrop{background:rgba(26,22,24,.72);backdrop-filter:blur(4px)}
.media-dialog-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid rgba(123,54,76,.16);padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.media-dialog-head h2{font-family:var(--serif);font-size:2rem;font-weight:300;margin:0;color:var(--ink)}
.media-browser{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;padding:1rem;max-height:65vh;overflow:auto}
.media-choice{border:1px solid rgba(123,54,76,.16);background:#fff;border-radius:6px;overflow:hidden;text-align:left;cursor:pointer;padding:0;transition:transform .18s,box-shadow .18s,border-color .18s}
.media-choice:hover{transform:translateY(-2px);border-color:var(--b);box-shadow:0 12px 32px rgba(26,22,24,.14)}
.media-choice img{width:100%;height:130px;object-fit:cover;background:var(--sand)}
.media-choice span{display:block;padding:.55rem;font-size:.72rem;line-height:1.35;color:#4d3e44;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin:2.5rem 0 1.2rem;color:#fff}
.media-library-head .h2{color:#fff}
.media-library-head .muted{color:rgba(255,250,248,.78);margin-bottom:.2rem}
.media-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.media-admin-grid .card{min-width:0}
.media-admin-grid .card-img{height:180px;background:#f4ece8}
.media-admin-grid video{width:100%;height:180px;display:block;background:#1a1618;object-fit:contain}
.media-admin-grid .card-body{padding:1rem}
.media-admin-grid .card-body p{font-size:.78rem;line-height:1.45;overflow-wrap:anywhere;margin-top:.55rem}
.media-kind{display:inline-block;font-family:var(--sc);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--b-dk);background:var(--b-pale);padding:.18rem .45rem;border-radius:999px}
.media-in-use{display:inline-block;font-family:var(--sc);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#65350d;background:#fff0df;padding:.18rem .45rem;border-radius:999px;margin-left:.35rem}
.media-delete{width:100%;margin-top:.9rem;border:1px solid rgba(90,39,55,.28);background:#fff;color:#7b2436;font-family:var(--sc);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.62rem .8rem;border-radius:4px;cursor:pointer}
.media-delete:hover{background:#fff1f3;border-color:#7b2436}
.media-delete.in-use{background:#d97822;border-color:#b85f17;color:#fff;box-shadow:0 8px 20px rgba(153,77,18,.22)}
.media-delete.in-use:hover{background:#b85f17;border-color:#934911}
.media-pager{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;color:#fff}
.media-pager-top{justify-content:flex-end;margin:0 0 1.2rem}
.media-pager .btn-outline{background:#fff;color:var(--b-dk);border-color:rgba(123,54,76,.36);margin:0}
.media-pager .disabled{opacity:.5;cursor:not-allowed}
@media(max-width:720px){.admin-form{padding:1.35rem}.admin-form-head{display:block}.admin-back{margin-top:1rem}.media-picker{grid-template-columns:1fr}.media-browser{grid-template-columns:repeat(2,1fr)}.editor-toolbar{position:static}.admin-actions .btn-b,.admin-actions .btn-outline{width:100%}}

/* Contrast pass for public CTAs and the dark footer. */
.btn-b{background:#6f2e43;color:#fff;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 30px rgba(90,39,55,.2)}
.btn-b:hover{background:#4a1f2d;color:#fff;border-color:rgba(255,255,255,.18);box-shadow:0 16px 34px rgba(26,22,24,.24)}
.content-panel .btn-b,.editorial-page .btn-b,.contact-page .btn-b{background:#6f2e43;color:#fff}
.dark .btn-b,.contact .btn-b,.reviews-page .btn-b,.contact-card .btn-b{background:#fffaf8;color:#4a1f2d;border-color:#fffaf8;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.dark .btn-b:hover,.contact .btn-b:hover,.reviews-page .btn-b:hover,.contact-card .btn-b:hover{background:#f5dce2;color:#321620;border-color:#f5dce2}
.dark .btn-outline,.contact .btn-outline,.reviews-page .btn-outline,.contact-card .btn-outline{color:#fff;border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.08)}
.dark .btn-outline:hover,.contact .btn-outline:hover,.reviews-page .btn-outline:hover,.contact-card .btn-outline:hover{color:#321620;background:#fffaf8;border-color:#fffaf8}
footer{background:#20161b;color:rgba(255,250,248,.82)}
footer p,footer li,footer .ft-brand p{color:rgba(255,250,248,.78)}
footer a{color:rgba(255,250,248,.86)}
footer .ft-col a{opacity:1;color:rgba(255,250,248,.78);border-bottom:1px solid transparent}
footer .ft-col a:hover,footer .ft-bottom a:hover{color:#fff;border-bottom-color:rgba(245,220,226,.55)}
footer .ft-col h5{color:#f5dce2}
footer .ft-bottom{color:rgba(255,250,248,.68);opacity:1;border-top-color:rgba(255,255,255,.12)}
.trustindex-embed{margin-top:2.5rem;background:#fff;border-radius:8px;padding:1.2rem;box-shadow:0 24px 70px rgba(0,0,0,.24);color:var(--ink)}
.trustindex-embed noscript{display:block;text-align:center;padding:2rem;color:#4d3e44}
.trustindex-embed noscript p{color:#4d3e44;margin-bottom:1.2rem}
@media(max-width:720px){.trustindex-embed{padding:.7rem;margin-left:-.7rem;margin-right:-.7rem;border-radius:0}}

/* Navigation, homepage, and footer refresh. */
.nav-item{position:relative}
.nav-item-has-children::before{content:'';position:absolute;left:0;right:0;top:100%;height:1rem}
.nav-item-has-children>a{display:inline-flex;align-items:center;gap:.45rem}
.nav-item-has-children>a:after{content:'▾';font-size:.6rem;opacity:.72}
.nav-submenu{position:absolute;top:calc(100% + .25rem);left:50%;transform:translateX(-50%) translateY(.15rem);min-width:220px;display:grid;gap:.65rem;list-style:none;padding:1rem 1.1rem;background:rgba(29,20,25,.97);border:1px solid rgba(232,180,191,.18);box-shadow:0 22px 65px rgba(0,0,0,.24);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.nav-submenu a{display:block;white-space:nowrap}
.nav-item-has-children:hover .nav-submenu,.nav-item-has-children:focus-within .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}

.inspiration-section{background:linear-gradient(180deg,var(--paper),#fff 48%,var(--paper))}
.inspiration-intro{max-width:760px;margin:0 auto 4rem;text-align:center}
.inspiration-intro .body-txt{max-width:620px;margin:0 auto}
.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}
.inspiration-grid .blog-card{height:100%}
.inspiration-grid .card-body{display:flex;flex-direction:column;height:calc(100% - 340px)}
.inspiration-grid .lnk{margin-top:auto}

.style-section{background:linear-gradient(135deg,#22161b 0%,var(--panel) 52%,#341d27 100%)}
.style-section .split{align-items:stretch}
.style-section .split-txt{padding-right:4rem}
.style-section .split-img{background:#140d11}
.style-section .content-body p{color:rgba(255,250,248,.86)}
.style-section .pull{display:inline-block;max-width:560px;background:var(--sand);color:#241b1f;border-left-color:var(--rose);padding:.4rem .9rem .4rem 1rem;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.style-section .rule:before,.style-section .rule:after{background:rgba(232,180,191,.15)}

.trustindex-embed{background:transparent;border:1px solid rgba(232,180,191,.18);border-radius:0;padding:0;box-shadow:none;overflow:hidden}
.trustindex-embed iframe,.trustindex-embed [style*="border-radius"],.trustindex-embed [class*="ti-widget"],.trustindex-embed [class*="ti-widget"] *{border-radius:0!important}
.trustindex-embed [style*="background:#fff"],.trustindex-embed [style*="background: #fff"],.trustindex-embed [style*="background-color:#fff"],.trustindex-embed [style*="background-color: #fff"]{background:transparent!important}

.site-footer{background:#20161b;color:rgba(255,250,248,.82);border-top:1px solid rgba(123,54,76,.25);padding:5.5rem 0 2rem}
.ft-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.45fr);gap:4rem;margin-bottom:2.5rem}
.ft-brand .h2{color:#fff;margin-bottom:1.5rem}
.ft-brand p{max-width:420px;color:rgba(255,250,248,.78)}
.ft-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem}
.ft-col h5{font-family:var(--sc);font-size:.65rem;letter-spacing:.22em;color:#f5dce2;margin-bottom:1.1rem}
.ft-col ul{list-style:none;display:grid;gap:.7rem}
.ft-col a,.ft-col span{color:rgba(255,250,248,.78)}
.ft-col a:hover,.ft-bottom a:hover{color:#fff}
.ft-awards{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.ft-award{display:flex;align-items:center;justify-content:center;min-height:90px;padding:.75rem 1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12)}
.ft-award img{display:block;max-width:100%;height:58px;width:auto;object-fit:contain}
.ft-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:1.75rem;display:flex;justify-content:space-between;font-family:var(--sc);font-size:.6rem;letter-spacing:.12em;color:rgba(255,250,248,.68);text-transform:uppercase}

@media(max-width:1050px){
  .nav-item,.nav-item-has-children{width:100%}
  .nav-links>li>a{display:block;padding:.3rem 0}
  .nav-submenu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;min-width:0;background:none;border:0;box-shadow:none;padding:.35rem 0 0 1rem}
  .nav-submenu a{font-size:.68rem;color:rgba(255,255,255,.65)}
  .inspiration-grid,.ft-inner,.ft-links{grid-template-columns:1fr}
  .style-section .split-txt{padding-right:2rem}
}

@media(max-width:620px){
  .site-footer{padding:4.5rem 0 2rem}
  .ft-award{width:100%}
  .ft-award img{height:52px}
  .style-section .split-txt{padding-right:1.35rem}
  .inspiration-grid .card-body{height:auto}
}
