@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-wght-italic.woff2) format("woff2")}
@font-face{font-family:"Noto Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/noto-sans-latin-wght-normal.woff2) format("woff2")}

:root{--plum:#52023d;--plum-d:#3a012b;--plum-l:#6d1a56;--cream:#faf5ea;--mist:#f1f2f4;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Noto Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--plum);font:400 1.0625rem/1.75 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum);text-underline-offset:.18em}
a:hover{color:var(--plum-l)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0 0 .5em;color:var(--plum)}
p{margin:0 0 1.1em}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar + header */
.topbar{background:var(--plum);color:#fff;font-size:.8rem;line-height:1.3}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover{text-decoration:underline;color:#fff}
.topbar__in{display:flex;gap:.4rem 1.6rem;flex-wrap:wrap;padding:.7rem 0}
.topbar svg{vertical-align:-1px;margin-right:.2rem}
.top{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(82,2,61,.1)}
.top__in{display:flex;align-items:center;gap:.8rem 1.6rem;flex-wrap:wrap;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font:700 1.4rem/1 var(--serif);color:var(--plum);margin-right:auto}
.brand img{width:50px;height:auto}
.nav{display:flex;gap:.2rem 1.5rem;flex-wrap:wrap;font-size:.92rem}
.nav a{text-decoration:none;color:var(--plum);padding:.35rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--plum)}

/* buttons */
.btn{display:inline-block;background:var(--plum);color:#fff;border:1px solid var(--plum);border-radius:5px;padding:.8rem 1.8rem;font:500 .9rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--plum-d);color:#fff}
.btn--sm{padding:.7rem 1.6rem}
.btn--outline{background:transparent;color:var(--plum)}
.btn--outline:hover{background:var(--plum);color:#fff}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.85);color:#fff}
.btn--ghost:hover{background:#fff;color:var(--plum)}
.btn--light{background:#fff;color:var(--plum);border-color:#fff}
.btn--light:hover{background:var(--cream);color:var(--plum)}
.btns,.steps{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}

/* hero */
.hero{background:linear-gradient(#fff 70%,rgba(241,242,244,.7))}
.hero__in{display:grid;gap:2rem 4rem;align-items:center;padding-block:2.5rem 0}
.hero__art{max-width:520px;margin-inline:auto;width:100%}
.hero__art img{width:100%;aspect-ratio:5/6;object-fit:cover;-webkit-mask:var(--wave) center/100% 100% no-repeat;mask:var(--wave) center/100% 100% no-repeat;--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0H90C97 16 83 33 90 50S97 84 90 100H0Z'/%3E%3C/svg%3E")}
.hero__text{padding-bottom:3rem}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.1rem);margin-bottom:.6em}
.hero__text p{max-width:38rem}

/* testimonials */
.thanks{background:var(--cream)}
.thanks__list{list-style:none;margin:0;padding:1.6rem 0;display:grid;gap:1.4rem 2.4rem}
.thanks blockquote{margin:0}
.thanks blockquote p{font:italic 500 1.28rem/1.45 var(--serif);margin-bottom:.4rem}
.thanks footer{font-size:.88rem;font-weight:600}

/* cards */
.cards{background:#fff;padding-block:3.5rem}
.cards__grid{display:grid;gap:1.2rem}
.card{background:var(--plum);color:#fff;border-radius:6px;padding:2.2rem 1.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.card h2{color:#fff;font-size:2rem;margin-bottom:.2em}
.card p{margin-bottom:1rem;max-width:26rem}
.card .btn{margin-top:auto}

/* call us */
.callus{background:var(--mist);padding-block:3.5rem;text-align:center}
.callus__in{max-width:44rem}
.callus h2{font-size:2.3rem}

/* history */
.history{padding-block:4rem}
.history__in{display:grid;gap:2rem 4rem;align-items:center}
.history__img img{border-radius:4px;width:100%}
.history__text{text-align:center}
.history__text h2{font-size:1.9rem;line-height:1.2}
.history__text .btn{margin-top:.4rem}

/* inner pages */
.pagehead{background:var(--plum);color:#fff;padding-block:3rem}
.pagehead h1{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);margin:0}
.pagehead p{margin:.6rem 0 0}
.section{padding-block:3.5rem}
.prose{max-width:50rem}
.prose--wide{max-width:60rem}
.prose h2{font-size:2rem;margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.prose ul{padding-left:1.3rem;margin:0 0 1.2em}
.lead{font:500 1.5rem/1.45 var(--serif)}
.center{text-align:center;margin-inline:auto}
.center .steps{justify-content:center}
.photos{list-style:none;padding:0!important;margin:2rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:start}
.photos img{width:100%;border-radius:4px}
.photos span{display:block;font-size:.82rem;margin-top:.35rem;line-height:1.4}
.price{background:var(--mist);border-radius:6px;padding:1.6rem 1.6rem .6rem;margin-bottom:1.4rem}
.price h2{margin:0 0 .1em!important}
.price__amt{font:600 2.2rem/1.2 var(--serif)}
.faq details{border-bottom:1px solid rgba(82,2,61,.18)}
.faq summary{cursor:pointer;font:600 1.45rem/1.3 var(--serif);padding:1rem 2rem 1rem 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.7rem;font:400 1.8rem/1 var(--sans)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding-bottom:1rem;margin:0}
.contact{display:grid;gap:1.4rem}
.contact__card{background:var(--mist);border-radius:6px;padding:1.8rem}
.contact__card h2{font-size:1.9rem}
.contact__card address{font-style:normal;margin-bottom:1em}
.contact__tel{font:600 2.4rem/1.1 var(--serif)}
.contact__tel a{text-decoration:none}
.docs{list-style:none;padding:0!important}
.docs li{padding:1rem 0;border-bottom:1px solid rgba(82,2,61,.18);font:600 1.5rem/1.3 var(--serif)}
.docs span{display:block;font:400 .85rem/1.4 var(--sans)}

/* closing call to action */
.cta{background:var(--plum-l);color:#fff;padding-block:3.5rem;text-align:center}
.cta blockquote{margin:0 auto 1.6rem;max-width:50rem}
.cta blockquote p{font:italic 500 1.7rem/1.4 var(--serif);color:#fff;margin:0}
.cta__lede{font:600 1.5rem/1.3 var(--serif)}
.cta__btns{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}

/* footer */
.foot{background:var(--plum);color:#fff;padding-top:3rem;font-size:.95rem}
.foot a{color:#fff}
.foot__in{display:grid;gap:2rem;align-items:start}
.foot__flowers img{width:184px;height:auto}
.foot__label{font:600 .85rem/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:.8rem}
.foot address{font-style:normal;margin-bottom:1em}
.foot__title{font-size:2rem;color:#fff}
.foot__links ul{list-style:none;margin:0;padding:0}
.foot__links li{margin-bottom:.35rem}
.foot__links a{text-decoration:none;font-size:.9rem}
.foot__links a:hover{text-decoration:underline}
.foot__social{display:flex;gap:.8rem}
.foot__social a{display:inline-flex}
.foot__legal{margin-top:2.5rem;padding-block:1.6rem;border-top:1px solid rgba(255,255,255,.2);text-align:center;font-size:.85rem}
.foot__legal p{margin:0 0 .3rem}

@media (min-width:700px){
  .thanks__list{grid-template-columns:repeat(2,1fr)}
  .cards__grid{grid-template-columns:repeat(2,1fr)}
  .contact{grid-template-columns:1fr 1fr}
  .photos{grid-template-columns:repeat(4,1fr)}
  .foot__in{grid-template-columns:auto 1fr 1fr}
}
@media (min-width:900px){
  .hero__in{grid-template-columns:minmax(0,520px) 1fr}
  .history__in{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .top__in{justify-content:center}
  .brand{margin-right:0;font-size:1.3rem}
  .nav{justify-content:center;gap:.1rem 1.1rem}
  .top{position:static}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
