
:root{--ink:#171712;--charcoal:#211f1a;--paper:#fbf8f1;--cream:#f2ede3;--gold:#a7834f;--line:#d9d0c1;--muted:#676158;--white:#fff;--shadow:0 24px 70px rgba(25,22,16,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.7}img{display:block;max-width:100%}a{color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(20,19,16,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.mini-brand{font-family:Georgia,serif;font-size:1.35rem;letter-spacing:.04em;text-decoration:none}.menu{display:flex;align-items:center;gap:25px}.menu a{text-decoration:none;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase}.menu a:hover,.menu a[aria-current=page]{color:#d2ae77}.menu-toggle{display:none;border:1px solid rgba(255,255,255,.35);background:none;color:#fff;padding:9px 13px;border-radius:5px}
.hero{position:relative;min-height:760px;display:grid;place-items:center;overflow:hidden;background:#2b2b2b;color:#fff}.hero-inner{text-align:center;padding:75px 0 90px}.hero-logo{width:min(560px,62vw);max-height:410px;object-fit:contain;margin:0 auto 28px;filter:drop-shadow(0 12px 30px rgba(0,0,0,.25));display:block}.kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:700;color:#d0ab73;margin:0 0 15px}.hero h1,.page-hero h1,h2,h3,blockquote{font-family:Georgia,'Times New Roman',serif} .match-contact-heading{font-size:clamp(1.7rem,2.6vw,2.6rem)!important;font-weight:400!important;line-height:1.13!important}.hero h1{font-size:clamp(1.7rem,2.6vw,2.6rem);font-weight:400;line-height:1.13;margin:18px auto 16px;max-width:900px}.hero p.lead{font-size:1.12rem;max-width:720px;margin:0 auto 30px;color:rgba(255,255,255,.88)}.actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;background:var(--gold);color:#fff;border:1px solid var(--gold)}.button.ghost{background:transparent;border-color:rgba(255,255,255,.55)}.button.dark{background:var(--charcoal);border-color:var(--charcoal)}
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:24px;text-align:center;border-right:1px solid var(--line)}.trust-grid div:last-child{border-right:0}.trust strong{display:block;font-family:Georgia,serif;font-size:1.3rem}.trust span{font-size:.78rem;color:var(--muted)}
.section{padding:95px 0}.section.alt{background:var(--cream)}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.73rem;font-weight:700;color:var(--gold);margin:0 0 12px}.section h2{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.08;font-weight:400;margin:0 0 22px}.section p{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.media{min-height:490px;background:center/cover no-repeat;border-radius:2px;box-shadow:var(--shadow);position:relative}.media:after{content:'Provisional image';position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.9);padding:6px 9px;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.media.flowers{background-image:url('assets/flowers-placeholder.svg')}.media.camera{background-image:url('assets/camera-placeholder.svg')}.media.church{background-image:url('assets/church-placeholder.svg')}.media.home-family-image{background-image:url('assets/home-family.jpg')}.media.home-technical-image{background-image:url('assets/home-technical-arrangements.jpg')}.media.services-invited-image{background-image:url('assets/services-invited-guests.jpg')}.media.how-it-works-image{background-image:url('assets/how-it-works.jpg')}.media.home-family-image:after,.media.home-technical-image:after,.media.services-invited-image:after,.media.how-it-works-image:after{display:none}.section-intro{max-width:780px;margin-bottom:44px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);padding:30px;min-height:100%;box-shadow:0 10px 28px rgba(31,28,21,.05)}.card h3{font-size:1.65rem;margin:8px 0 13px}.card p,.card li{color:var(--muted)}.card ul{padding-left:19px}.num{color:var(--gold);font-size:.78rem;letter-spacing:.12em;font-weight:700}.quote{background:var(--charcoal);color:#fff;text-align:center}.quote blockquote{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.1;margin:0 auto 22px;max-width:1000px;font-weight:400}.quote p{color:rgba(255,255,255,.72)}
.page-hero{background:var(--charcoal);color:#fff;padding:100px 0 84px;text-align:center}.page-hero h1{font-size:clamp(3rem,6vw,5.7rem);font-weight:400;line-height:1;margin:12px 0}.page-hero p{max-width:700px;margin:0 auto;color:rgba(255,255,255,.75)}.steps{counter-reset:step;display:grid;gap:0}.step{display:grid;grid-template-columns:90px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line)}.step:before{counter-increment:step;content:'0' counter(step);font-family:Georgia,serif;font-size:2.3rem;color:var(--gold)}.step h3{font-size:1.7rem;margin:0 0 5px}.step p{margin:0}.faq details{border-top:1px solid var(--line);padding:19px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:700;cursor:pointer}.contact{background:var(--charcoal);color:#fff}.contact p{color:rgba(255,255,255,.75)}.contact-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px}.form{background:#fff;color:var(--ink);padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{display:grid;gap:6px;font-size:.84rem;font-weight:700}.form label.full,.form .button,.form-note{grid-column:1/-1}.form input,.form textarea{border:1px solid var(--line);padding:12px;font:inherit;width:100%}.form-note{color:var(--gold)!important;margin:0;font-size:.82rem}
.footer{background:#000;color:#fff;padding:45px 0}.footer-grid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.footer img{width:300px;background:transparent;padding:0;filter:brightness(0) invert(1)}.footer p{margin:4px 0;color:#fff;font-size:.8rem}.footer nav{display:flex;gap:15px;flex-wrap:wrap}.footer a{text-decoration:none;font-size:.78rem}
@media(max-width:900px){.menu-toggle{display:block}.menu{display:none;position:absolute;left:20px;right:20px;top:68px;background:#181713;padding:20px;flex-direction:column;align-items:stretch}.menu.open{display:flex}.hero{min-height:680px}.hero-logo{width:min(520px,74vw)}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div:nth-child(2){border-right:0}.split,.contact-grid{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer nav{margin:10px 0}.media{min-height:420px}.section{padding:72px 0}}
@media(max-width:560px){.container{width:min(100% - 26px,1180px)}.hero{min-height:630px}.hero-logo{width:78vw}.trust-grid{grid-template-columns:1fr}.trust-grid div{border-right:0;border-bottom:1px solid var(--line)}.section{padding:58px 0}.media{min-height:340px}.form{grid-template-columns:1fr;padding:21px}.form label,.form label.full,.form .button,.form-note{grid-column:1}.step{grid-template-columns:60px 1fr}.page-hero{padding:75px 0 62px}}


/* v1.07 footer override */
footer, .footer, #footer {
  background:#000 !important;
  color:#fff !important;
}
footer *, .footer *, #footer *{
  color:#fff !important;
}
footer img, .footer img, #footer img{
  filter: brightness(0) invert(1) !important;
}


/* v1.08 footer-only correction */
.site-footer{
  background:#2b2b2b !important;
  color:#fff !important;
  padding:72px 0 74px !important;
  border:0 !important;
  margin:0 !important;
}
.site-footer .footer-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.site-footer .footer-logo{
  display:block;
  width:270px;
  height:auto;
  margin:0 auto 22px;
  background:transparent !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}
.site-footer h3{
  margin:0 0 12px;
  color:#fff !important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.35rem;
  font-weight:700;
}
.site-footer p{
  margin:0 0 14px;
  color:#fff !important;
}
.site-footer .footer-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:25px;
  margin:4px 0 16px;
}
.site-footer .footer-nav a{
  color:#fff !important;
  text-decoration:none;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.84rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-footer .footer-nav a:hover{color:#d2ae77 !important;}
.site-footer .copyright{margin:0;}
body{padding-bottom:0 !important;}
@media(max-width:560px){
  .site-footer{padding:58px 0 60px !important;}
  .site-footer .footer-logo{width:232px;}
  .site-footer .footer-nav{gap:14px 18px;}
}

.contact-heading{font-size:clamp(1.7rem,2.6vw,2.6rem)!important;font-weight:400;line-height:1.13}


/* v1.15 requested heading and contact-form adjustments */
.page-hero h1{
  font-size:clamp(1.7rem,2.6vw,2.6rem);
  font-weight:400;
  line-height:1.13;
}
.contact .form{
  grid-template-columns:1fr;
}
.contact .form label,
.contact .form label.full,
.contact .form .button,
.contact .form .form-note{
  grid-column:1/-1;
}
.contact .form input,
.contact .form textarea{
  width:100% !important;
  max-width:none !important;
}
.contact .form .button{
  margin-top:10px;
  justify-self:start;
}


/* v1.26 mobile date-field consistency */
.contact .form input[type="date"]{
  box-sizing:border-box;
  min-width:0;
  min-height:46px;
  background:#fff;
  color:var(--ink);
  border-radius:0;
  -webkit-appearance:none;
  appearance:none;
}
.contact .form input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
}
@media(max-width:560px){
  .contact .form input[type="date"]{
    display:block;
    width:100% !important;
    max-width:100% !important;
  }
}

/* v1.37: Home approach alignment only */
.home-approach .eyebrow,
.home-approach blockquote{
  text-align:left;
  margin-left:0;
  margin-right:0;
}
@media (max-width:700px){
  .home-approach blockquote span{display:block;}
  .home-approach blockquote br{display:none;}
}

/* v1.38: Home approach supporting text alignment only */
.home-approach > .container > p:last-child{
  text-align:left;
}


/* v1.46: Contact page mobile Service time field consistency */
.contact .form input[type="time"],
.contact .form input[name="service_time"]{
  box-sizing:border-box;
  min-width:0;
  min-height:46px;
  width:100% !important;
  max-width:100% !important;
  background:#fff !important;
  background-color:#fff !important;
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  border:1px solid var(--line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:none;
  opacity:1 !important;
  color-scheme:light;
}
.contact .form input[type="time"]:not(:focus),
.contact .form input[name="service_time"]:not(:focus){
  box-shadow:none !important;
  outline:none !important;
  background:#fff !important;
}
@media(max-width:560px){
  .contact .form input[type="time"],
  .contact .form input[name="service_time"]{
    display:block;
    width:100% !important;
    max-width:100% !important;
    background:#fff !important;
    background-color:#fff !important;
    border:1px solid var(--line) !important;
    box-shadow:none !important;
    border-radius:0 !important;
    -webkit-appearance:none;
    appearance:none;
  }
}
