/* A calmer editorial type system: Linux Libertine + Noto Sans, hosted locally. */
body{font-size:16px;line-height:1.7}h1,h2,h3{letter-spacing:-.6px;text-wrap:balance}h1{letter-spacing:-1.5px}h2{letter-spacing:-.8px}p{max-width:100%;overflow-wrap:break-word}.hero h1{font-size:clamp(68px,7.4vw,103px);line-height:1;letter-spacing:-1.7px;max-width:630px}.hero .lede,.page-intro .lede,.theme-description .lede{font-size:18px;line-height:1.75}.hero h1 em{font-weight:400}.hero-note{letter-spacing:1.1px;font-size:11px}.site-header .brand>span{font-size:26px;letter-spacing:1.5px}.site-header nav{gap:24px}.site-header nav>a:not(.button){font-size:15px}.site-header nav .button{font-size:14px;padding-inline:21px}.button{font-size:15px;letter-spacing:.1px;border-radius:3px;font-weight:400}.text-link{font-size:15px;line-height:1.6}.eyebrow,.card-meta .eyebrow{font-size:11px;letter-spacing:1.6px;color:#87663f}.card-meta h3{font-size:34px;line-height:1.16;letter-spacing:-.3px;margin:10px 0 14px}.card-meta>p:not(.eyebrow){font-size:16px;line-height:1.75;margin-bottom:18px}.card-personalise{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:15px;font-weight:700;color:var(--burgundy);border:1px solid #c2a991;padding:12px 16px;min-height:49px;margin-top:auto;transition:background .2s}.card-personalise:hover{background:#eee4d6}.card-actions{margin-top:13px;padding:0;min-height:45px}.card-actions .text-link{font-size:14px}.theme-card .save-theme{border-radius:50%;width:43px;height:43px;flex-basis:43px;background:#f0e7d9;color:#72232e;font:26px/1 Arial,sans-serif}.card-meta .card-actions{margin-top:13px}.filter{font-size:14px;min-height:45px;border-radius:2px;padding:10px 14px}.filters{gap:5px}.filter.active{box-shadow:inset 0 -2px 0 #72232e}.filter[data-filter="Saved"]{display:inline-flex;gap:8px;align-items:center}#saved-count{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8ddcd;color:#72232e;font-size:12px;font-weight:700}.result-count{display:inline-block;margin-right:20px;font-size:13px}.reset-filters{font-size:13px;margin:0 0 28px}.collection-tools{padding-block:20px;gap:20px}.search-label input{width:250px;background:#fffcf6;border-radius:3px}.page-intro{padding-top:60px;padding-bottom:44px}.page-intro h1{font-size:clamp(49px,5.8vw,79px);letter-spacing:-1px;line-height:1.06}.page-intro .lede{max-width:670px}.theme-description h1{font-size:clamp(58px,5.2vw,77px);letter-spacing:-1px;line-height:1.05}.theme-description .button{font-size:15px}.swatches{margin:25px 0 27px}.studio-introduction{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-block:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.studio-introduction h2{margin-top:17px;font-size:clamp(41px,4.6vw,62px);line-height:1.08}.studio-introduction>div>p:not(.eyebrow){font-size:17px;line-height:1.85}.studio-benefits{list-style:none;margin:24px 0 30px;padding:0;display:grid;gap:12px}.studio-benefits li{font-size:15px;padding-left:24px;position:relative}.studio-benefits li:before{content:'✓';position:absolute;left:0;color:#87663f}.editorial-copy>p:not(.eyebrow),.three-columns p,.large-steps p:not(.eyebrow),.about-section p:not(.eyebrow),.prose p,.faq-list details p{font-size:16px;line-height:1.85}.feature-list strong{font-size:17px;font-weight:700;line-height:1.6}.feature-list p{font-size:15px}.occasion-tile p{font-size:15px}.price-card h2{font-size:43px}.price-card>p:not(.price):not(.eyebrow),.price-card li{font-size:15px}.price-card .button{font-size:14px}.price{font-size:36px}.price small{font-size:12px;line-height:1.8}.pricing-note{font-size:14px;max-width:1000px}.enquiry-form{border:1px solid #ded3c2;background:#f2ebdf}.enquiry-form label{font-size:15px}.enquiry-draft-note{font-size:15px;color:#38533d;background:#e6ecdf;border-left:3px solid #6c855e;padding:17px 19px;margin-bottom:25px}.faq-list summary{font-size:27px;line-height:1.4}.site-footer .brand>span{font-size:25px}.footer-top>p{font-size:29px}.footer-bottom{font-size:12px;line-height:1.8}.footer-bottom>div{font-size:13px}.footer-top .text-link{font-size:15px}.cta h2{font-size:clamp(45px,5.3vw,66px)}.cta p:not(.eyebrow){font-size:17px}.journey-section-head h2{letter-spacing:-.6px;line-height:1.14}.journey-section-head>p:last-child:not(.journey-kicker),.story-moment p,.journey-event-body>p:not(.journey-kicker),.guide-grid p:not(.journey-kicker),.journey-faq details p{font-size:16px;line-height:1.85}.journey-kicker{font-size:11px;letter-spacing:1.5px}.welcome-letter{font-size:24px;line-height:1.8}.journey-form label,.journey-form legend,.event-choice>span{font-size:15px}.journey-button,.journey-link{font-size:15px}.journey-nav a{font-size:14px}.journey-event h3{font-size:35px}.guide-grid h3{font-size:30px}.story-art blockquote{font-size:30px}.journey-form input,.journey-form select,.journey-form textarea{font-size:16px}.journey-footer h2{letter-spacing:-.4px}.sample-disclaimer{font-size:12px}.prose>button{margin-bottom:17px}.button:focus-visible,.text-link:focus-visible,.card-personalise:focus-visible{outline:3px solid #977449;outline-offset:4px}
@media(min-width:981px) and (max-width:1190px){.site-header .brand>span{font-size:22px}.site-header nav{gap:17px}.site-header nav>a:not(.button){font-size:14px}.site-header nav .button{font-size:14px;padding-inline:16px}.hero h1{font-size:85px}}
@media(max-width:980px){.site-header nav>a:not(.button){font-size:18px}.site-header nav{gap:0}.studio-introduction{gap:45px;padding-block:60px}.hero h1{font-size:clamp(66px,8vw,86px)}.price-card .button{font-size:14px}.theme-description h1{font-size:59px}}
@media(max-width:760px){.studio-introduction{grid-template-columns:1fr;gap:28px}.studio-introduction h2{font-size:47px}.hero h1{font-size:clamp(67px,11.7vw,89px)}.theme-description h1{font-size:65px}}
@media(max-width:600px){.site-header .brand>span{font-size:23px}.hero h1{font-size:clamp(64px,15vw,80px);letter-spacing:-1.2px}.hero .lede{font-size:17px}.hero-actions .button,.hero-actions .text-link{font-size:15px}.hero-note{font-size:10px;letter-spacing:.7px}.page-intro{padding-top:42px;padding-bottom:32px}.page-intro h1{font-size:52px;letter-spacing:-.5px}.page-intro .lede{font-size:17px}.section-head h2,.editorial-copy h2{font-size:43px}.card-meta h3{font-size:35px}.card-meta>p:not(.eyebrow){font-size:16px}.theme-description h1{font-size:60px}.theme-description .lede{font-size:17px}.filter{font-size:14px;padding-inline:12px}.search-label input{width:100%}.collection-tools{gap:17px}.studio-introduction{padding-block:54px}.studio-introduction>div>p:not(.eyebrow){font-size:16px}.studio-introduction h2{font-size:45px}.cta p:not(.eyebrow){font-size:16px}.cta h2{font-size:47px}.faq-list summary{font-size:26px}.footer-bottom{font-size:12px}.footer-bottom>div{font-size:13px}.journey-section-head h2{font-size:41px}.welcome-letter{font-size:22px}.journey-nav a{font-size:14px}.journey-kicker{font-size:11px}.journey-event h3{font-size:31px}.journey-form label,.journey-form legend,.event-choice>span{font-size:15px}.journey-button,.journey-link,.event-buttons .journey-link{font-size:15px}.journey-cover>.journey-button,.journey-form>.journey-button{font-size:15px}.journey-brand small{font-size:12px}}

/* Additional homepage enhancements */
.hero-proof-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 32px;
  font-size: 12px;
  letter-spacing: 1.2px;
  color: var(--muted);
  text-transform: uppercase;
}
.hero-proof-bar span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.hero-proof-bar span::before {
  content: '✧';
  color: var(--gold);
}

.comparison-table-wrap {
  overflow-x: auto;
  margin-top: 36px;
  border: 1px solid var(--line);
  background: var(--cream);
  box-shadow: 0 8px 30px #40262308;
}
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 15px;
  min-width: 640px;
}
.comparison-table th, .comparison-table td {
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.comparison-table th {
  font-family: Editorial, Georgia, serif;
  font-size: 21px;
  font-weight: 400;
  color: var(--burgundy);
  background: var(--warm);
}
.comparison-table th.col-highlight, .comparison-table td.col-highlight {
  background: #f4ecdf;
  font-weight: 500;
  color: var(--burgundy);
}
.comparison-table tr:last-child td {
  border-bottom: none;
}
.comparison-table td strong {
  color: var(--burgundy);
  font-weight: 600;
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 40px;
}
.testimonial-card {
  padding: 36px 30px;
  background: var(--warm);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.testimonial-quote {
  font-family: Editorial, Georgia, serif;
  font-style: italic;
  font-size: 20px;
  line-height: 1.6;
  color: var(--burgundy);
  margin-bottom: 24px;
}
.testimonial-author {
  font-size: 14px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 16px;
  line-height: 1.6;
}
.testimonial-author strong {
  display: block;
  color: var(--text);
  font-size: 15px;
  font-family: Studio, Arial, sans-serif;
  font-weight: 700;
  margin-bottom: 2px;
}
@media (max-width: 900px) {
  .testimonials-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Add-ons Grid & Cards */
.add-on-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 36px;
}
.add-on-card {
  padding: 32px 28px;
  border: 1px solid var(--line);
  background: var(--cream);
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, border-color .2s ease;
}
.add-on-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
}
.add-on-badge {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.add-on-card h3 {
  font-size: 24px;
  color: var(--burgundy);
  margin-bottom: 10px;
}
.add-on-card p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--muted);
}
@media (max-width: 900px) {
  .add-on-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* Floating WhatsApp Concierge */
.floating-concierge {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 85;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #1b4d3e;
  color: #fffaf3;
  padding: 13px 22px;
  border-radius: 50px;
  box-shadow: 0 8px 25px rgba(27, 77, 62, 0.3);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #2e6653;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.floating-concierge:hover {
  background: #12382d;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(27, 77, 62, 0.4);
}
.floating-concierge svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
}
@media (max-width: 650px) {
  .floating-concierge {
    bottom: 18px;
    right: 18px;
    padding: 10px 17px;
    font-size: 13px;
  }
}

/* Concierge Card for Contact Page */
.concierge-card {
  padding: 26px 24px;
  background: #f0ede5;
  border: 1px solid #d5cbba;
  border-left: 4px solid #1b4d3e;
  margin: 28px 0;
}
.concierge-card h3 {
  font-size: 23px;
  color: var(--burgundy);
  margin: 6px 0 10px;
}
.concierge-card p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text);
  margin-bottom: 18px;
}
.concierge-card .button {
  background: #1b4d3e;
  border-color: #1b4d3e;
  color: #fffaf3;
  width: 100%;
}
.concierge-card .button:hover {
  background: #12382d;
}
