/* The original banner leads into one warm, continuous palette. */
:root{--cream:#f2dfb8;--gold:#e7d68e;--ink:#512d1b;--muted:#755032;--line:#bba078}
body{background:#eddbb3}
.original-logo{display:block;background:#592919;line-height:0;overflow:hidden}
.original-logo img{display:block;width:100%;height:auto;max-width:none;margin:0;object-fit:contain}
header{background:#592919;color:#f3e4ac;border:0;height:86px}
header>.brand{display:none}
header nav{margin-left:auto;gap:42px}
.nav-contact{border-color:#c6a868}
.submenu{background:#61351f;color:#fff0c0;border-color:#9e7744}
.submenu a:hover{background:#805438}
.hero{background:radial-gradient(ellipse at 95% 35%,#b47c3b66,transparent 63%),linear-gradient(#592919 0%,#6b3d23 50%,#92623b 77%,#b28c5d 94%,#c6a779 100%);color:#fff2c7;padding-top:40px;padding-bottom:100px;min-height:670px;overflow:visible}
.hero .eyebrow,.hero-description{color:#f1dfb2}
.hero h1{font-size:clamp(58px,6.5vw,98px)}
.hero h1 em{color:#e6cf86}
.hero-note{color:#e6d1a0}
.hero .small-line{background:#d6b76f}
.hero .button{background:#eed993;color:#512d1b}
.hero .button:hover{background:#fff0b9}
.hero-visual{box-shadow:0 24px 70px #2f180933;border-radius:48% 48% 43% 35%;height:485px;transform:rotate(2deg)}
.hero-bottom{border-top:1px solid #ecd99b55;color:#fff4d3;bottom:30px}
.home-page main{background:linear-gradient(#c6a779,#f0ddb0 48%,#ecd7aa 78%,#eddbb3)}
.intro{max-width:none;padding:95px 8% 110px;background:linear-gradient(#c6a779,#e1c595 40%,#eed8ac 100%);position:relative}
.intro>p:last-child{max-width:575px}
.services{position:relative;background:radial-gradient(ellipse at 75% 30%,#dabb8155,transparent 68%);isolation:isolate;padding-top:105px;padding-bottom:115px}
.services:before{content:"";position:absolute;inset:-45px 0 0;border-radius:48% 35% 0 0 / 70px 45px 0 0;background:linear-gradient(#dfc28e66,transparent 55%);z-index:-1;pointer-events:none}
.service-row{border-color:#b3946766}
.service-row:last-child{border-color:#b3946766}
.about-teaser{background:none;padding-bottom:110px}
.teaser-image{border-radius:45% 45% 38% 30%;box-shadow:0 18px 60px #81532c20}
.inner-page main{background:linear-gradient(#592919 0,#92633a 250px,#d5b986 440px,#ecd8ae 620px,#eddbb3 100%)}
.page-heading{background:none;color:#fff0c6;padding-top:55px;padding-bottom:105px}
.page-heading .eyebrow,.page-heading>p:last-child{color:#f3dfb2}
.page-heading h1 em{color:#f1d990}
.service-details{padding-top:65px}
.legal-heading{min-height:315px}
.legal-copy{padding-top:40px;max-width:1150px}
.legal-copy p{max-width:none;overflow-wrap:anywhere}
.legal-copy h2{margin-top:38px;font-size:32px}
.legal-copy .source-note{font-size:14px;margin-top:32px}
.review-note{background:#f5e6c480;padding:22px 25px;border-left:3px solid #ad8041;color:#633c20;font-size:15px;line-height:1.7;margin:0 0 40px}
.draft-banner{background:#eddbb3;color:#795533;padding:15px 6%;font-size:12px}
footer{position:relative;background:linear-gradient(#eddbb3 0,#d4b687 60px,#a1794d 135px,#694126 230px,#512719 100%);padding-top:215px;border:0;color:#fff0c2}
.footer-top p{color:#fff0c2}
.footer-bottom{font-size:13px}
.button,.text-link,nav{font-size:15px}
.service-row p{font-size:16px}

@media(max-width:900px){.hero{gap:25px;min-height:640px}.hero h1{font-size:65px}.hero-visual{height:430px}}
@media(max-width:650px){header{height:68px;justify-content:flex-end}.menu-toggle{border-color:#bca168;color:#f3e4ac}header nav{margin:0;background:#592919;border-color:#a17b47;color:#fff0c2;gap:5px}.original-logo img{min-height:0;width:100%;height:auto}.hero{padding-top:30px;gap:28px;background:radial-gradient(ellipse at 50% 70%,#9e6b3666,transparent 70%),linear-gradient(#592919,#6f4428 55%,#a47d4d 83%,#c6a779)}.hero h1{font-size:clamp(49px,11.9vw,73px)}.hero-visual{height:355px;margin-top:0;transform:none}.hero-description{font-size:16px}.hero .eyebrow{font-size:12px;letter-spacing:.08em}.hero-bottom{bottom:20px}.intro{padding:55px 6% 75px}.services{padding:65px 6% 75px}.services:before{inset:-20px 0 0;border-radius:48% 35% 0 0 / 35px 25px 0 0}.about-teaser{padding-bottom:60px}.inner-page main{background:linear-gradient(#592919,#93643c 270px,#d2b27e 430px,#e9d2a2 590px,#eddbb3)}.page-heading{padding:40px 6% 95px}.legal-heading{min-height:280px}.legal-copy{padding-top:35px}.review-note{padding:18px;font-size:14px}.legal-copy h2{font-size:29px}.service-row h3{font-size:26px}.service-row p{font-size:15px}.eyebrow{font-size:12px}.hero-note{font-size:12px}.draft-banner{font-size:12px}footer{padding-top:185px}.footer-top{gap:30px}.footer-top p{font-size:23px}}

/* Shared edge color and fades remove seams without changing the logo artwork. */
:root{--masthead-edge:#522715}
.original-logo{position:relative;background:var(--masthead-edge)}
.original-logo::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:8%;background:linear-gradient(to bottom,transparent,var(--masthead-edge) 95%);pointer-events:none}
header{background:var(--masthead-edge);border:0;box-shadow:none}
.hero{background:linear-gradient(to bottom,var(--masthead-edge),transparent 180px),radial-gradient(ellipse at 95% 35%,#b47c3b66,transparent 63%),linear-gradient(var(--masthead-edge) 0%,#6b3d23 50%,#92623b 77%,#b28c5d 94%,#c6a779 100%)}
.inner-page main{background:linear-gradient(var(--masthead-edge) 0,#92633a 250px,#d5b986 440px,#ecd8ae 620px,#eddbb3 100%)}
@media(max-width:650px){header nav{background:var(--masthead-edge)}.hero{background:linear-gradient(to bottom,var(--masthead-edge),transparent 160px),radial-gradient(ellipse at 50% 70%,#9e6b3666,transparent 70%),linear-gradient(var(--masthead-edge),#6f4428 55%,#a47d4d 83%,#c6a779)}.inner-page main{background:linear-gradient(var(--masthead-edge),#93643c 270px,#d2b27e 430px,#e9d2a2 590px,#eddbb3)}}

/* Film nestled into the existing continuous warm page background. */
.film-section{padding-top:20px;padding-bottom:110px;background:radial-gradient(ellipse at 50% 65%,#b9854540,transparent 72%)}
.film-heading{text-align:center;margin:0 auto 36px}.film-heading h2{margin-bottom:0}
.film-frame{position:relative;max-width:1080px;margin:0 auto;border-radius:28px;overflow:hidden;background:#522715;box-shadow:0 24px 65px #51271930;border:1px solid #b7935880;isolation:isolate}
.film-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.film-play{position:absolute;inset:0;width:100%;border:0;display:flex;align-items:center;justify-content:center;gap:16px;color:#fff4d4;background:linear-gradient(transparent 40%,#32180899);font:inherit;cursor:pointer;text-shadow:0 2px 8px #321808}
.film-play[hidden]{display:none}.film-play-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;border:1px solid #ead695;background:#522715db;padding-left:4px;font-size:25px;box-sizing:border-box}
.film-play>span:last-child{text-align:left;font-size:20px}.film-play small{display:block;font-size:14px;margin-top:6px}.film-play:hover .film-play-icon{background:#78482a}.film-play:focus-visible{outline:3px solid #fff4d4;outline-offset:-7px}
@media(max-width:650px){.film-section{padding:20px 6% 70px}.film-heading{margin-bottom:26px}.film-frame{border-radius:18px}.film-play-icon{width:52px;height:52px;font-size:20px}.film-play>span:last-child{font-size:17px}.film-play small{font-size:13px}.film-play{gap:12px}}

/* Public release refinements: clean controls, service layout and contact details. */
.service-row{grid-template-columns:1.1fr 1fr}.film-play{background:linear-gradient(transparent 40%,#32180899);gap:0}.film-play-icon{padding:0;font-size:0}.film-play-icon::before{content:"";display:block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff4d4;margin-left:4px}.ai-note{max-width:1080px;margin:14px auto 0;text-align:right;font-size:12px;color:#755032}.contact-section{padding-top:70px}.contact-intro{max-width:720px;margin-bottom:48px}.contact-intro>p:last-child{margin-top:22px;max-width:600px}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.contact-card{padding:32px;border:1px solid #b3946766;border-radius:22px;background:#f5e6c466;min-height:310px}.contact-card h3{font-size:30px;margin-bottom:22px}.contact-card address{font-style:normal;color:var(--muted);line-height:1.8}.contact-card .text-link{display:table;margin-top:24px}.contact-phone{display:block;font-family:var(--serif);font-size:24px;margin:23px 0 4px}.hours{margin:0}.hours>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #b3946744}.hours dt{color:var(--muted)}.hours dd{margin:0;text-align:right}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.legal-copy .text-link{text-decoration:none}@media(max-width:900px){.contact-cards{grid-template-columns:1fr 1fr}.contact-card:last-child{grid-column:1/-1}}@media(max-width:650px){.service-row{grid-template-columns:1fr}.service-row p{grid-column:1;grid-row:auto}.film-play-icon{width:58px;height:58px}.ai-note{text-align:left;font-size:11px}.contact-cards{grid-template-columns:1fr}.contact-card,.contact-card:last-child{grid-column:auto;min-height:0;padding:26px}.contact-phone{font-size:22px}}

/* Real floral work, grouped directly with each service. */
.service-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.gallery-card{position:relative;margin:0;overflow:hidden;border-radius:24px;background:#ead5aa;box-shadow:0 16px 38px #5127191f;isolation:isolate}
.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .45s ease}
.gallery-card::after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,#321808b8);pointer-events:none}
.gallery-card figcaption{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;color:#fff6dc;font-family:var(--serif);font-size:20px;line-height:1.15;text-shadow:0 2px 10px #321808}
.gallery-card:hover img{transform:scale(1.018)}
#straeusse .service-gallery,#hochzeit .service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
#straeusse .gallery-card{max-width:520px}
@media(max-width:900px){.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.service-gallery,#straeusse .service-gallery,#hochzeit .service-gallery{grid-template-columns:1fr;gap:14px;margin-top:24px}.gallery-card{border-radius:18px}.gallery-card figcaption{left:16px;bottom:15px;font-size:18px}}

/* Compact gallery correction: keep imagery below the copy and inside each service. */
.detail-row{align-items:start}
.detail-row>.service-gallery{grid-column:1/-1;width:100%;position:relative;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:32px 0 4px;padding-top:28px;border-top:1px solid #b3946744}
.detail-row>.service-gallery .gallery-card{width:100%;max-width:none;min-width:0;aspect-ratio:4/3;border-radius:18px}
.detail-row>.service-gallery .gallery-card img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.detail-row>.service-gallery .gallery-card figcaption{left:15px;right:15px;bottom:13px;font-size:16px}
#straeusse .service-gallery,#hochzeit .service-gallery{grid-template-columns:repeat(2,minmax(0,360px));justify-content:start}
@media(max-width:900px){.detail-row>.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-row>.service-gallery .gallery-card{aspect-ratio:4/3}}
@media(max-width:650px){.detail-row>.service-gallery,#straeusse .service-gallery,#hochzeit .service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;padding-top:20px}.detail-row>.service-gallery .gallery-card{aspect-ratio:1/1;border-radius:14px}.detail-row>.service-gallery .gallery-card figcaption{left:10px;right:10px;bottom:9px;font-size:13px}}
@media(min-width:651px){
  .detail-row:has(>.service-gallery){padding-bottom:0;border-bottom:0}
  .detail-row>.service-gallery{margin-bottom:0;padding-bottom:32px;border-bottom:1px solid var(--line)}
}

/* Desktop grid sizing fix: explicit rows prevent cards from overflowing into the next service. */
@media(min-width:651px){
  .detail-row:has(>.service-gallery){padding-bottom:60px;border-bottom:1px solid var(--line)}
  .detail-row>.service-gallery{grid-auto-rows:clamp(180px,18vw,270px);margin-bottom:0;padding-bottom:0;border-bottom:0}
  .detail-row>.service-gallery .gallery-card{height:100%;aspect-ratio:auto}
}

/* Final desktop structure: flex wrapping makes gallery height part of its section. */
@media(min-width:651px){
  .detail-row,.detail-row:has(>.service-gallery){display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:clamp(40px,7vw,12%);row-gap:0;padding:60px 0;border-bottom:1px solid var(--line)}
  .detail-row:first-child{padding-top:0}
  .detail-row>div:not(.service-gallery){flex:1 1 0;min-width:0}
  .detail-row>.service-gallery{flex:0 0 100%;width:100%;margin:32px 0 0;padding:0;border-top:0;border-bottom:0}
}
