/* Bloomkeep Co. — shared site styles */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@400;500;600;700&display=swap');

:root{
  --plum:#3f2f38;
  --plum-soft:#5c4a55;
  --blush:#f7ece7;
  --blush-2:#f0dcd6;
  --rose:#c17a6f;
  --rose-dark:#a45f56;
  --sage:#8c9a7b;
  --sage-dark:#6f7d5f;
  --gold:#c9a24b;
  --line:#e8d7cd;
  --cream:#fffaf6;
  --ink:#33262c;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
}
h1,h2,h3{font-family:'Cormorant Garamond', Georgia, serif; font-weight:600; color:var(--plum); letter-spacing:.01em;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.serif{font-family:'Cormorant Garamond', Georgia, serif;}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.kicker{
  text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--rose-dark);font-weight:600;
}

/* Announcement strip */
.announce{background:var(--plum);color:#f3e7de;font-size:13px;}
.announce .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;flex-wrap:wrap;gap:6px;}
.announce a{font-weight:700;}

/* Nav */
header.site{background:rgba(255,250,246,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;position:relative;}
.brand{font-family:'Cormorant Garamond',serif;font-size:23px;display:flex;align-items:center;gap:11px;color:var(--plum);}
.brand .mark{width:38px;height:38px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:18px;flex-shrink:0;}
.links{display:flex;gap:28px;align-items:center;font-size:15px;}
.links > a.lnk{padding:4px 0;}
.links > a.lnk[aria-current="page"]{color:var(--rose-dark);font-weight:600;}

.has-sub{position:relative;display:flex;align-items:center;gap:2px;}
.has-sub > a{padding:4px 0;}
.has-sub > a[aria-current="page"]{color:var(--rose-dark);font-weight:600;}
.sub-toggle{background:none;border:none;cursor:pointer;color:var(--plum);padding:6px 2px;display:flex;align-items:center;}
.sub-toggle .arrow{width:11px;height:11px;transition:transform .15s ease;}
.sub-toggle[aria-expanded="true"] .arrow{transform:rotate(180deg);}
.has-sub .panel{display:none;position:absolute;top:130%;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 34px rgba(63,47,56,.12);min-width:280px;padding:8px;z-index:60;}
.has-sub:hover .panel, .has-sub:focus-within .panel, .has-sub .panel.open{display:block;}
.has-sub .panel a{display:block;padding:11px 13px;border-radius:8px;font-size:14px;}
.has-sub .panel a:hover, .has-sub .panel a:focus{background:var(--blush);}
.has-sub .panel a[aria-current="page"]{color:var(--rose-dark);font-weight:600;}

.pill-btn{background:var(--rose);color:#fff;padding:12px 22px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;border:none;cursor:pointer;display:inline-block;}
.pill-btn:hover{background:var(--rose-dark);}
.pill-btn:disabled{opacity:.6;cursor:not-allowed;}
.pill-outline{border:1.5px solid var(--plum);color:var(--plum);padding:11px 20px;border-radius:999px;font-size:14px;font-weight:600;display:inline-block;}

.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px;cursor:pointer;}
.menu-toggle svg{width:22px;height:22px;color:var(--plum);display:block;}

.leaf-ic{width:26px;height:26px;color:var(--rose);display:block;}

/* Crumb */
.crumb{padding:16px 0 0;font-size:13px;color:#8a7a80;}
.crumb a{color:var(--rose-dark);font-weight:600;}
.crumb .div{margin:0 6px;}

/* Hero */
.hero{background:linear-gradient(180deg,var(--blush) 0%, var(--cream) 100%);padding:60px 0 44px;}
.hero-cols{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.hero h1{font-size:46px;line-height:1.14;margin:14px 0 18px;}
.hero p.sub{font-size:17px;color:#5c4a51;max-width:58ch;}
.marks{display:flex;gap:20px;margin:22px 0 26px;font-size:13px;color:var(--plum);flex-wrap:wrap;}
.marks span{display:flex;align-items:center;gap:7px;}
.marks span:before{content:"❀";color:var(--rose);}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

.bloom-art{width:100%;aspect-ratio:4/3;border-radius:16px;background:radial-gradient(circle at 30% 20%, #f3d9d2, transparent 60%), linear-gradient(160deg,var(--plum), #2b1f26);position:relative;overflow:hidden;box-shadow:0 24px 54px rgba(63,47,56,.22);}
.bloom-ring{position:absolute;border-radius:50%;border:2px solid rgba(201,162,75,.55);}
.bloom-ring.r1{width:60%;height:60%;top:8%;left:6%;}
.bloom-ring.r2{width:38%;height:38%;bottom:10%;right:10%;border-color:rgba(247,236,231,.5);}
.bloom-tag{position:absolute;bottom:0;left:0;right:0;background:rgba(20,14,17,.68);color:#f7ece7;font-size:11px;letter-spacing:.08em;text-align:center;padding:10px;text-transform:uppercase;}

/* Page hero (interior) */
.page-hero{background:linear-gradient(180deg,var(--blush) 0%, var(--cream) 100%);padding:22px 0 46px;}
.page-hero h1{font-size:38px;line-height:1.16;margin:12px 0 14px;}
.page-hero p.sub{font-size:16px;color:#5c4a51;max-width:66ch;}

/* Photo frame */
.frame{width:100%;border-radius:14px;overflow:hidden;box-shadow:0 20px 48px rgba(63,47,56,.16);background:var(--blush-2);}
.frame img{width:100%;height:100%;object-fit:cover;display:block;}
.frame-4-3{aspect-ratio:4/3;}
.frame-16-9{aspect-ratio:16/9;}

/* Quote panel / lead form */
.quote-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 14px 34px rgba(63,47,56,.1);margin-top:26px;}
.quote-panel h3{font-size:20px;margin-bottom:4px;}
.quote-panel > p{font-size:13px;color:#8a7a80;margin-bottom:16px;}
.quote-panel label{display:block;font-size:12px;color:#8a7a80;margin:12px 0 4px;text-transform:uppercase;letter-spacing:.05em;}
.quote-panel input, .quote-panel select, .quote-panel textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:'Jost',sans-serif;background:var(--blush);
}
.quote-panel input:focus, .quote-panel select:focus, .quote-panel textarea:focus{outline:2px solid var(--rose);outline-offset:1px;}
.quote-panel button{width:100%;margin-top:16px;background:var(--rose);color:#fff;border:none;padding:14px;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;}
.quote-panel button:hover{background:var(--rose-dark);}
.quote-panel .fine{font-size:11px;color:#a3949a;text-align:center;margin-top:10px;}
.form-note{margin-top:14px;font-size:13px;border-radius:8px;padding:11px 13px;line-height:1.4;}
.form-note.ok{background:#eaf1e3;color:#4e5f3e;}
.form-note.bad{background:#f7e6e2;color:#a45f56;}
.form-note[hidden]{display:none;}

/* Value tiles */
.value-band{padding:48px 0;}
.value-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.value-tile{background:var(--blush);border-radius:14px;padding:22px;}
.value-tile .ic{margin-bottom:12px;}
.value-tile h4{font-size:16px;margin-bottom:6px;font-family:'Jost',sans-serif;font-weight:600;color:var(--plum);}
.value-tile p{font-size:13px;color:#6b5a61;}

/* Section generic */
section{padding:58px 0;}
section.tint{background:var(--blush);}
.head-block{margin-bottom:30px;}
.head-block h2{font-size:31px;margin-top:6px;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split ul{margin-top:16px;padding-left:0;list-style:none;}
.split ul li{font-size:15px;margin-bottom:10px;padding-left:26px;position:relative;color:#4d3d43;}
.split ul li:before{content:"✦";position:absolute;left:0;color:var(--rose);font-weight:700;font-size:12px;top:3px;}

.tick-list{margin-top:18px;padding-left:0;list-style:none;}
.tick-list li{font-size:15px;margin-bottom:12px;padding-left:28px;position:relative;color:#4d3d43;}
.tick-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--sage-dark);font-weight:700;}

.offer-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.offer-card{border:1px solid var(--line);border-radius:14px;padding:28px;background:#fff;}
.offer-card .ic{margin-bottom:14px;}
.offer-card h3{font-size:20px;margin-bottom:8px;}
.offer-card p{font-size:14px;color:#6b5a61;margin-bottom:14px;}
.offer-card a{font-size:13px;font-weight:700;color:var(--rose-dark);}

.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px;}
.detail-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--blush);}
.detail-card h4{font-size:16px;margin-bottom:8px;font-family:'Jost',sans-serif;font-weight:600;color:var(--plum);}
.detail-card p{font-size:13px;color:#6b5a61;}

table.rate-card{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px;}
table.rate-card th{text-align:left;background:var(--plum);color:#f3e7de;padding:13px 15px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
table.rate-card td{padding:14px 15px;border-bottom:1px solid var(--line);vertical-align:top;}
table.rate-card tr:nth-child(even) td{background:var(--blush);}
.rate-note{font-size:12px;color:#8a7a80;margin-top:12px;}

.path-steps{counter-reset:st;}
.path-step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
.path-step:last-child{border-bottom:none;}
.path-step .num{counter-increment:st;width:40px;height:40px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-family:'Cormorant Garamond',serif;font-size:18px;}
.path-step .num::before{content:counter(st);}
.path-step h4{font-size:17px;margin-bottom:4px;font-family:'Jost',sans-serif;font-weight:600;color:var(--plum);}
.path-step p{font-size:14px;color:#6b5a61;}

.chip-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:14px;}
.chip-row span{background:var(--blush);border:1px solid var(--line);padding:8px 16px;border-radius:999px;}

.qa{border-bottom:1px solid var(--line);padding:20px 0;}
.qa h4{font-size:16px;margin-bottom:8px;font-family:'Jost',sans-serif;font-weight:600;color:var(--plum);}
.qa p{font-size:14px;color:#6b5a61;}

.cta-band{background:var(--plum);color:#f3e7de;text-align:center;padding:64px 0;}
.cta-band h2{color:#fff;font-size:32px;margin-bottom:10px;}
.cta-band p{font-size:14px;color:#d9c4b8;margin-bottom:24px;}
.cta-band .row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.cta-band .pill-outline{border-color:#f3e7de;color:#f3e7de;}

/* Contact page */
.contact-cols{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
.contact-cols h2{font-size:27px;margin-bottom:14px;}
.contact-cols p{font-size:15px;color:#5c4a51;margin-bottom:18px;}
.contact-cols .phone-lg{font-size:23px;font-weight:700;color:var(--rose-dark);margin-bottom:18px;display:inline-block;}
.contact-cols .areas{font-size:14px;color:#6b5a61;}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery-grid .frame{aspect-ratio:1/1;}
.gallery-grid .frame.tall{aspect-ratio:3/4;}

/* Legal */
.legal p, .legal li{font-size:15px;color:#4d3d43;margin-bottom:14px;}
.legal h2{font-size:22px;margin:32px 0 12px;}
.legal ul{padding-left:22px;margin-bottom:14px;}
.legal .updated{font-size:13px;color:#8a7a80;margin-bottom:24px;}

footer{background:#241a1f;color:#c9b6ac;padding:52px 0 24px;font-size:13px;}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:34px;}
.foot-cols h5{color:#f3e7de;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.foot-cols a{display:block;margin-bottom:9px;}
.foot-base{border-top:1px solid #3a2a30;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:var(--rose);color:#fff;text-align:center;padding:13px;font-weight:700;display:none;z-index:60;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

@media(max-width:900px){
  .hero-cols, .split, .foot-cols, .contact-cols{grid-template-columns:1fr;}
  .value-tiles, .offer-row, .detail-grid, .gallery-grid{grid-template-columns:1fr 1fr;}
  .sticky-cta{display:block;}
  body{padding-bottom:52px;}
  .menu-toggle{display:flex;align-items:center;justify-content:center;}
  .links{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;box-shadow:0 14px 26px rgba(0,0,0,.07);
  }
  .links.open{display:flex;}
  .links > a.lnk, .links .pill-btn{padding:12px 0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;}
  .links .pill-btn{background:none;color:var(--rose-dark);font-weight:700;}
  .has-sub{flex-direction:column;align-items:stretch;}
  .has-sub > a{padding:12px 0;border-bottom:1px solid var(--line);flex:1;}
  .sub-toggle{position:absolute;right:0;top:2px;padding:12px 4px;}
  .has-sub .panel{position:static;display:none;box-shadow:none;border:none;padding:0 0 0 14px;min-width:0;}
  .has-sub .panel.open{display:block;}
}
@media(max-width:600px){
  .value-tiles, .offer-row, .detail-grid, .gallery-grid{grid-template-columns:1fr;}
  .hero h1{font-size:34px;}
  .page-hero h1{font-size:29px;}
}
