
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:#FAF7F3;color:#2C2318;}
a{text-decoration:none;color:inherit;}
.page{display:none;max-width:480px;margin:0 auto;}
.page.active{display:block;}

nav{background:#FAF7F3;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #E8DDD4;position:sticky;top:0;z-index:100;}
.nav-name{font-family:'DM Serif Display',serif;font-size:15px;color:#2C2318;}
.nav-link{font-size:12px;color:#8B7355;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.nav-link.accent{color:#C17B5E;}

.hero{position:relative;height:520px;overflow:hidden;}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,18,8,.85) 35%,rgba(30,18,8,.1) 100%);}
.hero-content{position:absolute;bottom:0;left:0;right:0;padding:36px 24px 32px;z-index:2;}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:10px;}
.hero h1{font-family:'DM Serif Display',serif;font-size:44px;line-height:1.05;color:#fff;margin:0 0 16px;}
.hero-sub{font-size:14px;line-height:1.65;color:rgba(255,255,255,.82);margin:0 0 22px;}
.hero-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.btn-terracotta{display:block;background:#C17B5E;color:#fff;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:14px 18px;border-radius:50px;border:none;cursor:pointer;text-align:center;}
.btn-light{display:block;border:1.5px solid rgba(255,255,255,.7);color:#fff;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:13px 18px;border-radius:50px;background:transparent;cursor:pointer;text-align:center;}
.btn-dark{display:block;background:#2C2318;color:#FAF7F3;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:14px 28px;border-radius:50px;border:none;cursor:pointer;text-align:center;margin-top:8px;}
.btn-outline{display:block;background:transparent;color:#2C2318;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:13px 28px;border-radius:50px;border:1.5px solid #2C2318;cursor:pointer;text-align:center;margin-top:12px;}
.btn-outline-sm{display:block;background:transparent;color:#2C2318;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:13px 12px;border-radius:50px;border:1.5px solid #2C2318;cursor:pointer;text-align:center;}
.btn-sage{display:block;background:transparent;color:#fff;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:13px 28px;border-radius:50px;border:1.5px solid rgba(255,255,255,.6);cursor:pointer;text-align:center;}
.two-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}

.strip{background:#2C2318;padding:20px 24px;display:flex;align-items:center;gap:14px;}
.strip-line{width:2px;height:36px;background:#C17B5E;flex-shrink:0;border-radius:2px;}
.strip-text{font-size:13px;color:rgba(255,255,255,.72);line-height:1.6;}
.strip-text strong{color:#fff;font-weight:500;}

.section{padding:40px 24px;background:#FAF7F3;}
.section-warm{padding:40px 24px;background:#F0EAE2;}
.section-dark{background:#3D3028;padding:40px 24px;}
.section-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#C17B5E;margin-bottom:10px;}
h2{font-family:'DM Serif Display',serif;font-size:30px;line-height:1.15;color:#2C2318;margin:0 0 14px;}
h2.white{color:#FAF7F3;}
.body-text{font-size:14px;line-height:1.8;color:#5A4A3A;margin:0 0 16px;}

.service-card{background:#FAF7F3;border-radius:12px;border:.5px solid #E0D4C8;padding:16px 18px;margin-bottom:10px;display:flex;align-items:flex-start;gap:12px;}
.dot{width:8px;height:8px;border-radius:50%;background:#C17B5E;margin-top:6px;flex-shrink:0;}
.service-name{font-size:15px;font-weight:500;color:#2C2318;margin:0 0 2px;}
.service-desc{font-size:13px;color:#7A6555;line-height:1.5;margin:0;}

.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;}
.photo-cell{border-radius:10px;overflow:hidden;aspect-ratio:3/4;}
.photo-cell img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.photo-wide{border-radius:10px;overflow:hidden;aspect-ratio:16/9;margin-bottom:20px;}
.photo-wide img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.photo-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 24px 32px;background:#FAF7F3;}
.inline-photo{border-radius:12px;overflow:hidden;margin:24px 0;}
.inline-photo img{width:100%;display:block;object-fit:cover;object-position:center 15%;max-height:280px;}

/* MEDIA SECTION */
.media-bg{background:#FAF7F3;padding:36px 24px;}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;}
.media-card{border-radius:12px;overflow:hidden;border:.5px solid #E0D4C8;}
.media-card img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 20%;display:block;}
.media-caption{padding:12px 14px;background:#FAF7F3;}
.media-tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#C17B5E;margin-bottom:4px;}
.media-title{font-size:13px;font-weight:500;color:#2C2318;line-height:1.4;}

.speaker-img{width:100%;display:block;max-height:300px;object-fit:cover;object-position:center 20%;}
.speaker-caption{padding:16px 24px;display:flex;align-items:center;gap:10px;border-bottom:.5px solid #E8DDD4;background:#FAF7F3;}
.speaker-line{width:2px;height:30px;background:#C17B5E;border-radius:2px;flex-shrink:0;}
.speaker-text{font-size:12px;color:#5A4A3A;line-height:1.5;}
.speaker-text strong{font-weight:500;color:#2C2318;}

.proof-strip{background:#C17B5E;padding:32px 24px;text-align:center;}
.proof-strip h2{color:#fff;font-size:28px;margin-bottom:10px;}
.proof-body{font-size:13px;color:rgba(255,255,255,.85);line-height:1.65;}

.ba-bg{background:#F0EAE2;padding:36px 24px;}
.ba-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-bottom:14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;}
.ba-gallery::-webkit-scrollbar{display:none;}
.ba-photo{flex:0 0 100%;scroll-snap-align:center;border-radius:12px;overflow:hidden;border:.5px solid #E0D4C8;box-shadow:0 2px 10px rgba(44,35,24,.06);}
.ba-photo img{width:100%;height:auto;display:block;}
.ba-dots{display:flex;justify-content:center;gap:7px;margin-bottom:20px;}
.ba-dot{width:7px;height:7px;border-radius:50%;background:#D6C7B8;border:none;padding:0;cursor:pointer;transition:background .2s,width .2s;}
.ba-dot.active{background:#C17B5E;width:18px;border-radius:4px;}

.review-bg{background:#2C2318;padding:36px 24px;}
.review-card{background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.12);border-radius:12px;padding:20px;margin-bottom:12px;}
.review-stars{color:#C17B5E;font-size:16px;margin-bottom:10px;letter-spacing:3px;}
.review-text{font-family:'DM Serif Display',serif;font-style:italic;font-size:15px;line-height:1.6;color:rgba(255,255,255,.85);margin:0 0 12px;}
.review-by{font-size:11px;color:#C17B5E;letter-spacing:.1em;text-transform:uppercase;text-align:right;}

.shop-bg{background:#FAF7F3;padding:36px 24px;border-top:.5px solid #E8DDD4;}
.shop-inner{background:#F0EAE2;border-radius:12px;padding:24px 20px;text-align:center;border:.5px solid #E0D4C8;}
.shop-h3{font-family:'DM Serif Display',serif;font-size:22px;color:#2C2318;margin:0 0 8px;}
.shop-body{font-size:13px;color:#5A4A3A;line-height:1.65;margin:0 0 18px;}

.sage-bg{background:#8A9B80;padding:36px 24px;text-align:center;}
.sage-bg h2{color:#fff;font-size:26px;line-height:1.2;margin-bottom:10px;}
.sage-body{font-size:13px;color:rgba(255,255,255,.85);line-height:1.7;margin:0 0 22px;}

.quote-section{background:#C17B5E;padding:40px 28px;}
.quote-mark{font-family:'DM Serif Display',serif;font-size:72px;line-height:.6;color:rgba(255,255,255,.25);margin-bottom:16px;display:block;}
.quote-text{font-family:'DM Serif Display',serif;font-size:20px;line-height:1.55;color:#fff;margin:0 0 16px;font-style:italic;}
.quote-attr{font-size:12px;color:rgba(255,255,255,.65);letter-spacing:.1em;text-transform:uppercase;}

.opener{background:#2C2318;padding:32px 24px;}
.opener-text{font-family:'DM Serif Display',serif;font-size:20px;line-height:1.5;color:rgba(255,255,255,.9);}
.opener-text em{color:#C17B5E;font-style:normal;}

.cred-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;}
.cred-dot{width:6px;height:6px;border-radius:50%;background:#C17B5E;margin-top:7px;flex-shrink:0;}
.cred-label{font-size:14px;color:rgba(255,255,255,.85);line-height:1.5;}
.cred-label strong{color:#fff;font-weight:500;display:block;}

.cta-bg{background:#FAF7F3;padding:40px 24px;text-align:center;border-top:.5px solid #E8DDD4;}
.cta-bg h2{margin-bottom:10px;}
.cta-body{font-size:14px;color:#5A4A3A;line-height:1.7;margin:0 0 24px;}

.about-hero{position:relative;height:480px;overflow:hidden;}
.about-hero img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(30,18,8,.75) 30%,rgba(30,18,8,.08) 100%);}
.about-hero-label{position:absolute;bottom:28px;left:24px;right:24px;z-index:2;}
.about-hero-label h1{font-family:'DM Serif Display',serif;font-size:40px;line-height:1.08;color:#fff;margin:0;}

footer{background:#2C2318;padding:36px 24px;}
.footer-name{font-family:'DM Serif Display',serif;font-size:22px;color:#FAF7F3;margin:0 0 20px;}
.footer-row{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start;}
.footer-label{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;width:70px;flex-shrink:0;padding-top:2px;}
.footer-val{font-size:13px;color:rgba(255,255,255,.72);line-height:1.5;}
.footer-val a{color:rgba(255,255,255,.72);}
.footer-note{font-size:11px;color:rgba(255,255,255,.35);margin-top:2px;}
.footer-divider{height:.5px;background:rgba(255,255,255,.1);margin:20px 0;}
.footer-ig{font-size:12px;color:#C17B5E;letter-spacing:.1em;text-transform:uppercase;}
.footer-copy{font-size:11px;color:rgba(255,255,255,.3);margin-top:16px;}

.pub-card{background:#FAF7F3;border-radius:12px;border:.5px solid #E0D4C8;padding:22px 20px;}
.pub-tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#C17B5E;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.pub-tag::before{content:"";width:18px;height:1.5px;background:#C17B5E;}
.pub-title{font-family:'DM Serif Display',serif;font-style:italic;font-size:19px;line-height:1.35;color:#2C2318;margin:0 0 12px;}
.pub-authors{font-size:13px;color:#5A4A3A;line-height:1.65;margin:0 0 16px;}
.pub-authors strong{color:#2C2318;font-weight:500;}
.pub-meta{font-size:12px;color:#8B7355;letter-spacing:.03em;border-top:.5px solid #E8DDD4;padding-top:12px;}
.award-list{margin-top:18px;}
.award-item{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:.5px solid #E0D4C8;}
.award-item:last-child{border-bottom:none;}
.award-badge{width:80px;height:80px;flex-shrink:0;border-radius:8px;border:.5px solid #E0D4C8;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:6px;}
.award-badge img{max-width:100%;max-height:100%;object-fit:contain;}
.award-yr{font-family:'DM Serif Display',serif;font-size:15px;color:#C17B5E;width:78px;flex-shrink:0;line-height:1.4;}
.award-name{font-size:14px;color:#2C2318;font-weight:500;line-height:1.45;}
.award-org{font-size:12px;color:#7A6555;margin-top:3px;line-height:1.5;}

/* ============ DESKTOP RESPONSIVE ============ */
@media (min-width:768px){
  .page{max-width:100%;}

  nav{padding:20px 48px;}
  .nav-name{font-size:17px;}
  .nav-link{font-size:13px;}

  /* Hero: widen and enlarge, cap content width, center it */
  .hero{height:640px;}
  .hero-content{max-width:1100px;left:50%;right:auto;transform:translateX(-50%);width:100%;padding:0 48px 56px;}
  .hero h1{font-size:64px;}
  .hero-sub{font-size:16px;max-width:560px;}
  .hero-btns{grid-template-columns:max-content max-content;gap:16px;}
  .hero-btns .btn-terracotta,.hero-btns .btn-light{padding:16px 32px;}

  .strip{max-width:1100px;margin:0 auto;padding:24px 48px;}

  .section,.section-warm,.section-dark{padding:64px 48px;}
  .section-inner,.section > *,.section-warm > *,.section-dark > *{max-width:1100px;}
  .section,.section-warm,.section-dark{display:flex;flex-direction:column;align-items:center;}
  .section > *,.section-warm > *,.section-dark > *{width:100%;max-width:1100px;}
  h2{font-size:38px;}
  .body-text{font-size:16px;max-width:700px;}

  /* Service cards: grid instead of stacked list */
  .section-warm{align-items:center;}
  .section-warm > p,.section-warm > h2{align-self:flex-start;margin-left:calc(50% - 550px);}
  .service-card{display:inline-flex;width:calc(50% - 8px);box-sizing:border-box;margin-right:16px;}
  .section-warm{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:center;}
  .section-warm > p.section-eyebrow,.section-warm > h2{flex-basis:100%;max-width:1100px;margin:0 auto 14px;}
  .two-btns{flex-basis:100%;max-width:1100px;margin-left:auto;margin-right:auto;grid-template-columns:max-content max-content;justify-content:flex-start;gap:16px;}

  /* Photo grid on About/home sections: more columns, wider */
  .photo-grid{max-width:1100px;margin:0 auto 12px;grid-template-columns:repeat(3,1fr);gap:16px;}
  .photo-wide{max-width:1100px;margin:0 auto 24px;}
  .photo-row{max-width:1100px;margin:0 auto;padding:0 0 40px;grid-template-columns:repeat(4,1fr);gap:16px;}
  .inline-photo{max-width:1100px;margin:24px auto;}
  .inline-photo img{max-height:420px;}

  /* Media / speaking section grid */
  .media-bg{display:flex;flex-direction:column;align-items:center;}
  .media-grid{max-width:1100px;grid-template-columns:repeat(4,1fr);gap:16px;}

  .speaker-img{max-height:420px;}

  /* Before & after gallery: show multiple side by side on desktop */
  .ba-bg{display:flex;flex-direction:column;align-items:center;}
  .ba-gallery{max-width:1100px;}
  .ba-photo{flex:0 0 32%;}

  .review-bg{display:flex;flex-direction:column;align-items:center;}
  .review-card{max-width:1100px;width:100%;}

  .shop-bg{display:flex;flex-direction:column;align-items:center;}
  .shop-inner{max-width:700px;}

  .quote-section{display:flex;flex-direction:column;align-items:center;}
  .quote-text,.quote-mark,.quote-attr{max-width:800px;}

  .opener{display:flex;flex-direction:column;align-items:center;}
  .opener-text{max-width:800px;}

  .cred-item{max-width:600px;}
  .about-hero{height:520px;}
  .about-hero-label{max-width:1100px;left:50%;right:auto;transform:translateX(-50%);width:100%;padding:0 48px;}
  .about-hero-label h1{font-size:56px;}

  .pub-card,.award-list{max-width:800px;margin:0 auto;}

  footer{display:flex;flex-direction:column;align-items:center;}
  .footer-name,.footer-row,.footer-divider,.footer-ig,.footer-copy{max-width:1100px;width:100%;}
}

@media (min-width:1024px){
  .hero h1{font-size:76px;}
}

/* ============ SHARED: INNER PAGE HERO (services, FAQ) ============ */
.page-hero{position:relative;padding:56px 24px 40px;background:#2C2318;}
.page-hero .eyebrow{color:rgba(255,255,255,.55);}
.page-hero h1{font-family:'DM Serif Display',serif;font-size:34px;line-height:1.15;color:#fff;margin:10px 0 12px;}
.page-hero p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.75);max-width:560px;}

/* ============ SERVICE DEEP-DIVE PAGES ============ */
.svc-block{padding:36px 24px;border-bottom:.5px solid #E8DDD4;}
.svc-block h3{font-family:'DM Serif Display',serif;font-size:22px;color:#2C2318;margin:0 0 12px;}
.svc-list{margin:0;padding:0;list-style:none;}
.svc-list li{font-size:14px;line-height:1.75;color:#5A4A3A;padding-left:18px;position:relative;margin-bottom:10px;}
.svc-list li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#C17B5E;}
.myth-card{background:#FAF7F3;border:.5px solid #E0D4C8;border-radius:12px;padding:18px 20px;margin-bottom:12px;}
.myth-tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#C17B5E;margin-bottom:8px;}
.myth-m{font-size:14px;font-weight:500;color:#2C2318;margin:0 0 6px;}
.myth-f{font-size:13px;line-height:1.65;color:#5A4A3A;margin:0;}
.related-row{display:flex;flex-wrap:wrap;gap:10px;}
.related-chip{font-size:12px;color:#2C2318;background:#F0EAE2;border:.5px solid #E0D4C8;border-radius:50px;padding:9px 16px;}

/* ============ FAQ PAGE ============ */
.faq-filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 24px;background:#FAF7F3;}
.faq-filter-btn{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#5A4A3A;background:#F0EAE2;border:.5px solid #E0D4C8;border-radius:50px;padding:8px 14px;cursor:pointer;}
.faq-filter-btn.active{background:#2C2318;color:#FAF7F3;border-color:#2C2318;}
.faq-list{padding:0 24px 40px;background:#FAF7F3;}
.faq-item{border-bottom:.5px solid #E8DDD4;padding:16px 0;}
.faq-q{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;cursor:pointer;}
.faq-q p{font-size:14px;font-weight:500;color:#2C2318;line-height:1.5;margin:0;}
.faq-q span{color:#C17B5E;font-size:20px;line-height:1;flex-shrink:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{font-size:13px;line-height:1.7;color:#5A4A3A;margin:12px 0 0;}
.faq-item.open .faq-a{max-height:400px;}
.faq-item.open .faq-q span{transform:rotate(45deg);}

/* ============ DESKTOP: shared inner pages ============ */
@media (min-width:768px){
  .page-hero{padding:72px 48px 56px;display:flex;flex-direction:column;align-items:center;}
  .page-hero h1{font-size:52px;}
  .page-hero p{font-size:16px;max-width:640px;}
  .svc-block{display:flex;flex-direction:column;align-items:center;padding:56px 48px;}
  .svc-block > *{width:100%;max-width:800px;}
  .faq-filters{max-width:1100px;margin:0 auto;padding:24px 48px;justify-content:center;}
  .faq-list{max-width:800px;margin:0 auto;padding:0 48px 56px;}
}
