:root{--cream:#f8f3ee;--beige:#ede4da;--sage:#6f7f72;--green:#3a5240;--green-dark:#263b2e;--lav:#8d7aa8;--gold:#b9955f;--ink:#26302a;--muted:#687169;--white:#fff;--shadow:0 24px 70px rgba(42,58,47,.12);--radius:28px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.7}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.8rem 1rem;border-radius:10px}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:.77rem;font-weight:700;color:var(--sage)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin:0 0 1rem;color:var(--green-dark)}h1{font-size:clamp(2.6rem,5.6vw,5.2rem);letter-spacing:-.04em}h2{font-size:clamp(2.2rem,4.7vw,4.2rem);letter-spacing:-.035em}h3{font-size:1.65rem}p{margin:0 0 1.2rem}.lead{font-size:clamp(1.08rem,2vw,1.35rem);max-width:700px;color:#536057}.small{font-size:.9rem;color:var(--muted)}.site-header{position:sticky;top:0;z-index:100;background:rgba(248,243,238,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(58,82,64,.08)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);transform:rotate(45deg);border-radius:10px;display:grid;place-items:center}.brand-mark:after{content:"";width:12px;height:12px;background:var(--green);border-radius:50%}.brand-copy strong{font-family:Georgia,serif;font-size:1.3rem;letter-spacing:.08em}.brand-copy span{display:block;font-size:.63rem;letter-spacing:.17em;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:1.35rem;font-size:.92rem}.nav-links a{padding:.55rem 0}.nav-links a:hover,.nav-links a:focus{color:var(--lav)}.menu-toggle{display:none;border:0;background:none;font-size:1.45rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:.82rem 1.25rem;border-radius:999px;border:1px solid transparent;font-weight:700;transition:.25s ease;cursor:pointer}.btn-primary{background:var(--green);color:#fff;box-shadow:0 12px 30px rgba(58,82,64,.2)}.btn-primary:hover{transform:translateY(-3px);background:var(--green-dark)}.btn-secondary{border-color:rgba(58,82,64,.28);background:rgba(255,255,255,.45)}.btn-secondary:hover{background:#fff;transform:translateY(-2px)}.hero{min-height:calc(100vh - 82px);display:grid;align-items:center;position:relative;overflow:hidden;padding:90px 0}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(141,122,168,.25),transparent 68%);right:-80px;top:-120px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center}.hero-copy{position:relative;z-index:2}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.hero-art{position:relative}.hero-art img{border-radius:180px 180px 30px 30px;box-shadow:var(--shadow);background:var(--beige)}.floating-note{position:absolute;left:-45px;bottom:35px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);padding:1rem 1.2rem;border-radius:18px;box-shadow:var(--shadow);max-width:240px}.section{padding:110px 0}.section-soft{background:var(--beige)}.section-dark{background:var(--green-dark);color:#eef3ef}.section-dark h2,.section-dark h3{color:#fff}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}.section-head p{max-width:550px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.card{background:rgba(255,255,255,.72);border:1px solid rgba(58,82,64,.08);border-radius:var(--radius);padding:1.8rem;transition:.3s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow);background:#fff}.card img{border-radius:20px;aspect-ratio:4/3;object-fit:cover;margin-bottom:1.4rem}.card .arrow{font-size:1.4rem;color:var(--gold)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.value{padding:2rem;border-top:1px solid rgba(58,82,64,.22)}.value b{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--green);margin-bottom:.5rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.media-frame{position:relative}.media-frame img{border-radius:var(--radius);box-shadow:var(--shadow)}.quote{font-family:Georgia,serif;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.25;color:var(--green)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:steps}.step{padding:1.6rem;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.step:before{counter-increment:steps;content:"0" counter(steps);display:block;color:#d4ba8c;font-weight:700;margin-bottom:1.5rem}.testimonial{background:#fff;padding:2rem;border-radius:var(--radius);box-shadow:0 12px 45px rgba(42,58,47,.08)}.cta-panel{padding:clamp(2rem,5vw,5rem);border-radius:42px;background:linear-gradient(135deg,var(--green),#506c58);color:#fff;position:relative;overflow:hidden}.cta-panel h2{color:#fff}.cta-panel:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-120px;top:-130px}.page-hero{padding:100px 0 75px}.page-hero .lead{max-width:760px}.service-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:start}.service-detail img{border-radius:var(--radius);position:sticky;top:110px;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.service-detail-image{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.pill-list{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.3rem 0}.pill{padding:.55rem .8rem;border-radius:999px;background:var(--beige);font-size:.88rem}.faq details{border-top:1px solid rgba(58,82,64,.18);padding:1.2rem 0}.faq summary{cursor:pointer;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.45rem}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(58,82,64,.2);border-radius:14px;padding:.95rem 1rem;background:#fff}.field textarea{min-height:160px;resize:vertical}.form-status{min-height:1.5rem;margin-top:1rem}.honeypot{position:absolute;left:-9999px}.blog-content{max-width:780px;margin:auto}.blog-content h2{font-size:2.2rem;margin-top:2.5rem}.site-footer{padding:65px 0 30px;background:#1f3026;color:#dfe7e1}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem}.footer-grid h3{color:#fff;font-size:1.2rem}.footer-grid a{display:block;margin:.45rem 0;color:#d4ddd6}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.service-detail img,.service-detail-image{position:static;top:auto;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:1.5rem 20px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.nav-links.open{display:flex}.menu-toggle{display:block}.hero-grid,.split,.service-detail{grid-template-columns:1fr}.hero{min-height:auto}.hero-art{max-width:650px}.floating-note{left:15px}.cards{grid-template-columns:repeat(2,1fr)}.values,.steps{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.section{padding:75px 0}.cards,.values,.steps,.footer-grid,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section-head,.footer-bottom{align-items:flex-start;flex-direction:column}.hero-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.brand-copy span{display:none}}

/* GEM premium visual direction — version 2 */
:root{--rose:#cfacac;--rose-hover:#bd9696;--rose-soft:#ead8d8;--paper:#fbf7f2;--line:rgba(58,82,64,.13)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{position:fixed;width:100%;background:rgba(251,247,242,.76);border-bottom:1px solid rgba(255,255,255,.5);transition:background .35s ease,box-shadow .35s ease}.site-header.is-scrolled{background:rgba(251,247,242,.94);box-shadow:0 12px 40px rgba(45,57,48,.08)}
.nav{height:115px}.site-header .brand{height:115px;overflow:visible}.site-header .brand-logo{width:170px;height:113px;object-fit:contain;transform:none;margin-left:30px}
.nav-links{gap:1.45rem}.nav-links>a:not(.btn){position:relative}.nav-links>a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:.25rem;height:1px;background:var(--rose);transition:right .3s ease}.nav-links>a:not(.btn):hover:after{right:0}
.btn-primary{background:var(--rose);color:#fff;box-shadow:0 14px 32px rgba(207,172,172,.32)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--rose-hover);box-shadow:0 18px 38px rgba(189,150,150,.38)}
.btn-glass{color:#fff;border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}.btn-glass:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.hero-editorial{min-height:100svh;padding:0;display:block;background:#3d3840;position:relative}.hero-picture,.hero-picture img{position:absolute;inset:0;width:100%;height:100%}.hero-picture img{object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,28,24,.06) 52%,rgba(24,28,24,.58) 100%)}.hero-cta{position:absolute;z-index:3;left:50%;bottom:7vh;transform:translateX(-50%);display:flex;align-items:end;justify-content:space-between;gap:2rem;color:#fff}.hero-cta p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2.2vw,2rem);max-width:430px;text-shadow:0 2px 20px rgba(0,0,0,.28)}.hero-cta .hero-actions{margin:0;justify-content:flex-end}.scroll-cue{position:absolute;z-index:4;left:50%;bottom:1.5rem;width:34px;height:52px;border:1px solid rgba(255,255,255,.55);border-radius:999px;transform:translateX(-50%)}.scroll-cue span{position:absolute;left:50%;top:9px;width:4px;height:4px;border-radius:50%;background:#fff;transform:translateX(-50%);animation:scrollDot 2s infinite}@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,22px)}}
.section{padding:80px 0}.section-soft{background:linear-gradient(135deg,#efe6dd 0%,#f8f0ea 62%,#f1e2e3 100%)}.section-head{margin-bottom:2.75rem}.values{gap:2.2rem}.value{padding:2.3rem 0;border-top:1px solid var(--line)}.value b{color:var(--rose-hover)}
.cards{gap:1.8rem}.card{border-radius:32px;padding:1.25rem;background:rgba(255,255,255,.62);box-shadow:0 2px 0 rgba(255,255,255,.72) inset}.card:hover{transform:translateY(-9px);box-shadow:0 28px 80px rgba(45,57,48,.14)}.card img{border-radius:24px}.card h3{margin-left:.4rem}.card p,.card .arrow{margin-left:.4rem;margin-right:.4rem}
.split{gap:7vw}.media-frame:before{content:"";position:absolute;inset:-18px 24px 24px -18px;border:1px solid rgba(207,172,172,.62);border-radius:34px;z-index:-1}.media-frame img{border-radius:34px;box-shadow:0 35px 90px rgba(48,55,49,.16)}
.section-dark{background:radial-gradient(circle at 82% 20%,rgba(207,172,172,.16),transparent 28%),#263b2e}.step{border-radius:26px;padding:2rem}.step:before{color:var(--rose-soft)}
.cta-panel{background:linear-gradient(135deg,#3a5240,#526957 60%,#6f7f72);box-shadow:0 32px 90px rgba(38,59,46,.22)}
.site-footer .brand{height:auto;overflow:visible}.site-footer .brand-logo{width:300px;height:233px;max-width:100%;object-fit:contain;background:#f7f0ea;border-radius:22px;padding:.35rem}.site-footer{background:#223129}
@media(max-width:900px){.site-header{position:sticky}.nav{height:82px}.site-header .brand{height:82px}.site-header .brand-logo{width:122px;height:auto}.nav-links{top:82px;background:rgba(251,247,242,.98)}.hero-editorial{min-height:78svh}.hero-picture img{object-position:60% center}.hero-cta{bottom:4.5rem;align-items:flex-start;flex-direction:column}.hero-cta .hero-actions{justify-content:flex-start}.scroll-cue{display:none}}
@media(max-width:620px){.hero-editorial{min-height:70svh}.hero-picture img{object-position:62% center}.hero-overlay{background:linear-gradient(180deg,rgba(24,28,24,.02) 42%,rgba(24,28,24,.72) 100%)}.hero-cta{bottom:2rem;gap:.85rem}.hero-cta p{font-size:1.2rem}.hero-cta .hero-actions{width:100%;gap:.65rem}.hero-cta .btn{min-height:46px;padding:.65rem 1rem}.section{padding:56px 0}.section-head{margin-bottom:2rem}.media-frame:before{inset:-10px 12px 12px -10px}}

/* GEM version 3 — framed hero and service carousel */
.hero-editorial{
  min-height:92svh;
  padding:118px 28px 42px;
  background:linear-gradient(180deg,#F3E5D8 0%,#CFACAC 100%);
}
.hero-editorial:before{display:none}
.hero-picture{
  inset:118px max(28px,calc((100vw - 1380px)/2)) 42px;
  border-radius:38px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(81,55,55,.22);
}
.hero-picture img{object-position:center center;transition:transform 12s ease}
.hero-editorial:hover .hero-picture img{transform:scale(1.018)}
.hero-overlay{
  inset:118px max(28px,calc((100vw - 1380px)/2)) 42px;
  border-radius:38px;
  background:linear-gradient(180deg,rgba(24,28,24,.01) 45%,rgba(24,28,24,.62) 100%);
  pointer-events:none;
}
.hero-cta{bottom:9vh;width:min(1180px,calc(100% - 96px))}
.scroll-cue{bottom:3.2rem}

.services-showcase{overflow:hidden}
.carousel-controls{display:flex;gap:.7rem;flex:0 0 auto}
.carousel-button{width:52px;height:52px;border-radius:50%;border:1px solid rgba(58,82,64,.2);background:rgba(255,255,255,.66);color:var(--green-dark);font-size:1.35rem;cursor:pointer;transition:.25s ease;box-shadow:0 8px 26px rgba(58,82,64,.08)}
.carousel-button:hover:not(:disabled),.carousel-button:focus-visible{background:var(--rose);color:#fff;border-color:var(--rose);transform:translateY(-2px)}
.carousel-button:disabled{opacity:.35;cursor:not-allowed}
.services-carousel{overflow:hidden;touch-action:pan-y;cursor:grab}
.services-carousel:active{cursor:grabbing}
.services-track{display:flex;gap:1.7rem;transition:transform .65s cubic-bezier(.22,.7,.22,1);will-change:transform}
.service-slide{flex:0 0 calc((100% - 3.4rem)/3);min-width:0}
.service-slide-link{display:block;height:100%;background:rgba(255,255,255,.72);border:1px solid rgba(58,82,64,.09);border-radius:30px;overflow:hidden;box-shadow:0 16px 50px rgba(58,82,64,.08);transition:transform .35s ease,box-shadow .35s ease,background .35s ease}
.service-slide-link:hover,.service-slide-link:focus-visible{transform:translateY(-8px);box-shadow:0 28px 70px rgba(58,82,64,.15);background:#fff;outline:none}
.service-slide-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:#eadfd5}
.service-slide-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.service-slide-link:hover img{transform:scale(1.045)}
.service-slide-number{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--green)}
.service-slide-copy{padding:1.55rem 1.65rem 1.75rem}
.service-slide-copy h3{margin-top:.4rem}
.service-slide-copy p{color:#59645d;min-height:5.1em}
.service-slide-cta{display:inline-flex;gap:.55rem;align-items:center;font-weight:700;color:var(--green);border-bottom:1px solid rgba(58,82,64,.25);padding-bottom:.15rem}
.carousel-dots{display:flex;justify-content:center;gap:.55rem;margin-top:2rem}
.carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(58,82,64,.25);cursor:pointer;transition:.25s ease}
.carousel-dots button.is-active{width:34px;background:var(--rose-hover)}

@media(max-width:1049px){
 .service-slide{flex-basis:calc((100% - 1.7rem)/2)}
 .hero-editorial{min-height:82svh;padding:102px 20px 28px}
 .hero-picture,.hero-overlay{inset:102px 20px 28px;border-radius:30px}
 .hero-cta{bottom:5rem;width:calc(100% - 72px)}
}
@media(max-width:679px){
 .hero-editorial{min-height:73svh;padding:92px 12px 18px}
 .hero-picture,.hero-overlay{inset:92px 12px 18px;border-radius:23px}
 .hero-picture img{object-position:64% center}
 .hero-overlay{background:linear-gradient(180deg,rgba(24,28,24,.01) 36%,rgba(24,28,24,.72) 100%)}
 .hero-cta{bottom:2.2rem;width:calc(100% - 48px)}
 .service-slide{flex-basis:100%}
 .carousel-controls{align-self:flex-start}
 .services-showcase .section-head{gap:1.4rem}
 .service-slide-copy p{min-height:0}
}
@media(prefers-reduced-motion:reduce){.services-track,.hero-picture img{transition:none}}

/* GEM version 4 — 80% framed hero and square team portrait */
.hero-editorial{
  min-height:auto;
  padding:36px 0 54px;
  display:flex;
  flex-direction:column;
  align-items:center;
  overflow:visible;
}
.hero-picture{
  position:relative;
  inset:auto;
  width:80%;
  max-width:1380px;
  aspect-ratio:3/2;
  border-radius:38px;
  overflow:hidden;
  flex:0 0 auto;
}
.hero-picture img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-overlay{
  position:absolute;
  top:36px;
  left:10%;
  right:10%;
  bottom:auto;
  width:80%;
  max-width:1380px;
  aspect-ratio:3/2;
  margin-inline:auto;
  border-radius:38px;
}
.hero-cta{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  width:min(80%,1180px);
  margin-top:24px;
  color:var(--green-dark);
  align-items:center;
}
.hero-cta p{text-shadow:none}
.scroll-cue{display:none}

.team-photo{
  width:min(100%,525px);
  margin-inline:auto;
}
.team-photo img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center center;
}

@media(max-width:1049px){
  .hero-editorial{min-height:auto;padding:28px 0 44px}
  .hero-picture{inset:auto;width:80%;border-radius:30px}
  .hero-overlay{top:28px;left:10%;right:10%;width:80%;border-radius:30px}
  .hero-cta{bottom:auto;width:80%;margin-top:20px}
}
@media(max-width:679px){
  .hero-editorial{min-height:auto;padding:20px 0 34px}
  .hero-picture{inset:auto;width:80%;border-radius:22px}
  .hero-overlay{top:20px;left:10%;right:10%;width:80%;border-radius:22px}
  .hero-cta{bottom:auto;width:80%;margin-top:18px;gap:1rem}
  .hero-cta p{color:var(--green-dark)}
}


/* GEM version 5 — refined headings, navigation CTA and services CTA */
.nav-links .btn-primary{padding-left:1.8rem;padding-right:1.8rem}
.services-cta{
  background:linear-gradient(135deg,#d9bcbc 0%,#CFACAC 52%,#c49a9a 100%);
  color:var(--green-dark);
  box-shadow:0 28px 80px rgba(117,76,76,.18);
}
.services-cta h2{color:var(--green-dark)}
.services-cta:after{border-color:rgba(58,82,64,.14)}
.services-cta .btn-secondary{background:rgba(255,255,255,.42);border-color:rgba(58,82,64,.28);color:var(--green-dark)}
.services-cta .btn-secondary:hover{background:rgba(255,255,255,.72)}
@media(max-width:620px){.nav-links .btn-primary{padding-left:1.5rem;padding-right:1.5rem}}

/* GEM V6 Core Content Engine */
.content-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;margin:0 0 2rem}.filter-chip{border:1px solid rgba(58,82,64,.22);background:#fff;color:#3a5240;border-radius:999px;padding:.7rem 1.1rem;font:inherit;font-weight:700;cursor:pointer;transition:.2s}.filter-chip:hover,.filter-chip.is-active{background:#cfacac;border-color:#cfacac;color:#2f4235;transform:translateY(-1px)}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.event-card{background:#fff;border:1px solid rgba(58,82,64,.12);border-radius:28px;overflow:hidden;box-shadow:0 20px 50px rgba(55,70,60,.08)}.event-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.event-card-body{padding:1.6rem}.event-card h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.45rem 0}.event-date{font-weight:700;color:#3a5240}.event-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0}.event-meta span{background:#f3e5d8;border-radius:999px;padding:.45rem .7rem;font-size:.9rem}.faq-category{display:inline-block;margin-top:.7rem;color:#6b766e;font-size:.82rem}.stars{color:#a77a51;letter-spacing:.12em;margin-bottom:.7rem}.team-card{background:#fff;border-radius:28px;padding:1rem;box-shadow:0 18px 45px rgba(55,70,60,.08)}.team-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:20px;margin-bottom:1rem}
.engine-note{padding:1rem 1.2rem;border-left:4px solid #cfacac;background:#fff7f4;border-radius:8px;margin:1rem 0}
@media(max-width:760px){.event-grid{grid-template-columns:1fr}}


/* GEM V6 Step 1.1 cosmetic and interaction fixes */
h1{
  font-size:clamp(2.25rem,4.15vw,4.25rem);
  line-height:1.06;
}
.page-hero h1{max-width:980px}
.media-frame.team-photo{
  aspect-ratio:1 / 1;
  max-width:525px;
  overflow:hidden;
  border-radius:var(--radius);
}
.media-frame.team-photo img,
.over-gem-photo,
img[src$="about.webp"]{
  width:100%;
  aspect-ratio:1 / 1;
  height:auto;
  object-fit:cover;
  object-position:center 34%;
  border-radius:var(--radius);
}
.services-carousel{
  position:relative;
  width:100%;
  user-select:none;
  -webkit-user-select:none;
  overscroll-behavior-x:contain;
}
.services-track{touch-action:pan-y;min-width:0}
.carousel-button:disabled{opacity:.55;cursor:pointer}
.workflow-rose{
  background:#CFACAC;
  color:#31473a;
}
.workflow-rose h2,.workflow-rose h3{color:#31473a}
.workflow-rose .step{
  background:rgba(255,255,255,.22);
  border-color:rgba(49,71,58,.17);
}
.workflow-rose .step:before{color:#6e514f}
@media(max-width:620px){
 h1{font-size:clamp(2.05rem,10vw,3rem)}
}


/* V6 Step 1.3 — team content component */
.team-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 30%;border-radius:22px;margin-bottom:1.15rem}
.team-card .pill-list{margin:.9rem 0 1rem}.team-card>a{font-weight:700;text-decoration:none;color:var(--green)}
.team-card>a:hover{text-decoration:underline;text-underline-offset:.25em}

/* V6.4.2 acceptance fix #3 — homepage team photo responsive visibility
   Keep the Geraldine & Marilla portrait independent from JS reveal/clip-path
   effects so it always renders on mobile portrait and landscape. */
.media-frame.team-photo{
  width:100%;
  max-width:525px;
  margin-inline:auto;
  opacity:1 !important;
  transform:none !important;
  clip-path:none !important;
}
.media-frame.team-photo.pv-reveal,
.media-frame.team-photo.pv-image-reveal{
  opacity:1 !important;
  transform:none !important;
  clip-path:none !important;
}
.media-frame.team-photo img{
  display:block;
  width:100%;
  max-width:525px;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center 34%;
}
@media(max-width:1024px){
  .split > .media-frame.team-photo{
    justify-self:center;
    align-self:start;
  }
}

/* V6.4.2 — personal biography pages */
.profile-shell{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.profile-card{background:#fff;border-radius:28px;padding:1rem;box-shadow:0 18px 45px rgba(55,70,60,.08)}
.profile-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 30%;border-radius:22px;margin-bottom:1.15rem}
.profile-card .pill-list{margin:.9rem 0 1rem}
.profile-story{padding:clamp(1.5rem,4vw,3rem);border-radius:28px;background:rgba(255,255,255,.66);border:1px solid rgba(58,82,64,.10)}
.profile-story-empty{min-height:180px;border:1px dashed rgba(58,82,64,.24);border-radius:20px;background:rgba(243,229,216,.28)}
.profile-back{display:inline-block;margin-top:1.25rem;font-weight:700;color:var(--green);text-decoration:none}
.profile-back:hover{text-decoration:underline;text-underline-offset:.25em}
@media(max-width:780px){.profile-shell{grid-template-columns:1fr}.profile-card{max-width:525px;margin-inline:auto}.profile-story-empty{min-height:120px}}


/* V6.4.2 acceptance fix #6a — service image on landscape phones */
@media(max-width:1024px){.service-intro.service-detail > img.service-detail-image{position:static !important;top:auto !important;align-self:auto}}

/* V6.4.2 acceptance fix #7 — link from service FAQs to full FAQ page */
.service-faq-more{margin:0;border-top:1px solid rgba(58,82,64,.18);padding:1.2rem 0}
.service-faq-more a{display:inline-flex;align-items:flex-start;gap:.55rem;color:var(--ink);font-weight:700;text-decoration:none}
.service-faq-more a::before{content:"▸";flex:0 0 auto;color:var(--green-dark);font-size:.82em;line-height:1.7}
.service-faq-more a:hover,.service-faq-more a:focus-visible{color:var(--green-dark);text-decoration:none}

/* V6.4.2 P8 — Homepage service cards: compactere, natuurlijke beeldpresentatie */
.cards[data-services-grid]{align-items:start}
.cards[data-services-grid] .card{height:auto}
.cards[data-services-grid] .card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;margin-bottom:1.15rem}
@media(max-width:900px){.cards[data-services-grid] .card img{aspect-ratio:3/2}}
@media(max-width:620px){.cards[data-services-grid] .card{padding:1rem}.cards[data-services-grid] .card img{margin-bottom:1rem}}

/* V6.6.0 I18N language switcher */
.language-switcher{position:relative;display:flex;align-items:center}
.language-current,.language-menu button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.language-current{display:flex;align-items:center;gap:.55rem;padding:.5rem .15rem;white-space:nowrap}
.language-current:hover,.language-current:focus{color:var(--lav)}
.language-caret{font-size:.78rem;opacity:.58;transition:transform .2s ease}
.language-switcher.open .language-caret{transform:rotate(180deg)}
.locale-flag{width:24px;height:18px;display:inline-grid;grid-template-rows:repeat(3,1fr);overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:0 0 auto}
.locale-flag i{display:block}
.locale-flag-nl i:nth-child(1){background:#ae1c28}.locale-flag-nl i:nth-child(2){background:#fff}.locale-flag-nl i:nth-child(3){background:#21468b}
.locale-flag-gb{position:relative;display:block;background:#21468b}
.locale-flag-gb:before,.locale-flag-gb:after{content:"";position:absolute;inset:0;margin:auto;background:#fff}
.locale-flag-gb:before{width:100%;height:5px}.locale-flag-gb:after{width:5px;height:100%}
.locale-flag-gb i{display:none}.locale-flag-gb{background:linear-gradient(33deg,transparent 43%,#fff 44% 49%,#ae1c28 50% 54%,#fff 55% 60%,transparent 61%),linear-gradient(-33deg,transparent 43%,#fff 44% 49%,#ae1c28 50% 54%,#fff 55% 60%,transparent 61%),#21468b}
.language-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);min-width:175px;padding:.45rem;background:#fff;border:1px solid rgba(58,82,64,.12);border-radius:14px;box-shadow:var(--shadow);z-index:120}
.language-switcher.open .language-menu{display:block}
.language-menu button{display:flex;align-items:center;gap:.7rem;width:100%;padding:.65rem .7rem;border-radius:10px;text-align:left}
.language-menu button:hover,.language-menu button:focus,.language-menu button[aria-selected="true"]{background:var(--beige)}
@media(max-width:900px){.language-switcher{width:100%}.language-current{width:100%;justify-content:flex-start}.language-menu{position:static;width:100%;margin-top:.35rem;box-shadow:none;background:rgba(255,255,255,.6)}}

/* V6.6.1 acceptance fixes */
.locale-flag-gb{position:relative!important;display:block!important;background:linear-gradient(33deg,transparent 46%,#fff 46% 49%,#cf142b 49% 51%,#fff 51% 54%,transparent 54%),linear-gradient(-33deg,transparent 46%,#fff 46% 49%,#cf142b 49% 51%,#fff 51% 54%,transparent 54%),#012169!important}
.locale-flag-gb:before,.locale-flag-gb:after{content:"";position:absolute;inset:0;margin:auto}.locale-flag-gb:before{width:100%!important;height:4px!important;background:#fff!important;box-shadow:0 0 0 1.2px #cf142b inset}.locale-flag-gb:after{width:4px!important;height:100%!important;background:#fff!important;box-shadow:0 0 0 1.2px #cf142b inset}.locale-flag-gb i{display:none!important}
@media(max-width:900px){.nav-links.open{max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}}
@media(max-width:900px) and (orientation:landscape){.nav-links{gap:.55rem;padding-top:.75rem;padding-bottom:.9rem}.nav-links a{padding:.3rem 0}.language-current{padding:.3rem .15rem}.language-menu button{padding:.45rem .65rem}}

/* V6.6.2 language/legal notice */
.legal-language-notice{margin-top:1rem}.legal-language-notice p{padding:1rem 1.2rem;border:1px solid rgba(138,93,32,.25);border-radius:12px;background:#fff8e9}

.contact-side{align-self:start}.contact-side-image{display:block;width:100%;height:auto;aspect-ratio:541/300;object-fit:cover;border-radius:24px;margin:0 0 1.4rem;box-shadow:var(--shadow)}.legal-language-notice{padding:1.25rem 0;background:#fff8e9;border-top:1px solid rgba(138,93,32,.22);border-bottom:1px solid rgba(138,93,32,.22)}.legal-language-notice h2{margin:0 0 .35rem;font-size:1.15rem}.legal-language-notice p{margin:0;max-width:900px}

.profile-story h3{margin:1.8rem 0 .75rem;font-size:clamp(1.35rem,2vw,1.7rem);color:var(--color-green,#3A5240)}
.profile-story h3:first-child{margin-top:0}
.profile-story p{line-height:1.75;margin:.8rem 0}


/* V6.6.3 Step 4I — Truffle ceremony carousel crop
   Keep the wide approved hero composition readable inside the 4:3 service card. */
.service-slide-image img[src*="truffelceremonie-hero.webp"]{
  object-position:10% center;
}

/* V6.6.3 Step 6 — Agenda list view */
.agenda-page-hero{padding-bottom:28px}
.agenda-list-section{padding-top:26px}
.agenda-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:1rem;align-items:center;margin-bottom:2rem}
.agenda-search{display:flex;align-items:center;gap:.65rem;background:#fff;border:1px solid rgba(58,82,64,.16);border-radius:16px;padding:0 .9rem;min-height:54px;box-shadow:0 10px 32px rgba(55,70,60,.05)}
.agenda-search:focus-within{border-color:rgba(207,172,172,.95);box-shadow:0 0 0 4px rgba(207,172,172,.16)}
.agenda-search-icon{font-size:1.85rem;color:#647067;transform:rotate(-18deg)}
.agenda-search input{border:0;outline:0;background:transparent;width:100%;font:inherit;color:var(--green-dark);min-width:0}
.agenda-search input::placeholder{color:#78817b}
.agenda-filters{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.agenda-filter{border:1px solid rgba(58,82,64,.15);background:#fff;color:var(--green-dark);border-radius:999px;padding:.75rem 1rem;font:inherit;font-weight:700;cursor:pointer;transition:.2s ease}
.agenda-filter:hover,.agenda-filter:focus-visible{border-color:var(--rose);outline:none}
.agenda-filter.is-active{background:var(--rose);border-color:var(--rose);color:#fff;box-shadow:0 10px 24px rgba(207,172,172,.28)}
.agenda-status{min-height:1.4em;color:#667069;margin:.5rem 0 1rem}
.agenda-month{margin:0 0 3.4rem}
.agenda-month-heading{display:flex;align-items:center;gap:1.4rem;margin:0 0 1rem}
.agenda-month-heading h2{font-family:inherit;font-size:1rem;font-weight:700;margin:0;text-transform:none;color:var(--green-dark);white-space:nowrap}
.agenda-month-heading span{height:1px;background:rgba(58,82,64,.18);flex:1}
.agenda-month-list{display:grid;gap:1rem}
.agenda-row{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(220px,300px);gap:2rem;align-items:center;background:#fff;border:1px solid rgba(58,82,64,.09);border-radius:24px;padding:1.15rem 1.25rem 1.15rem 1rem;box-shadow:0 18px 52px rgba(55,70,60,.07)}
.agenda-date{text-align:center;border-right:1px solid rgba(58,82,64,.12);padding:.5rem 1rem .5rem 0}
.agenda-date span{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;color:#6a756e}
.agenda-date strong{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--green-dark);font-size:2rem;line-height:1.05;margin-top:.15rem}
.agenda-event-copy{min-width:0}
.agenda-event-time{font-size:.88rem;margin:0 0 .35rem;color:#68736c}
.agenda-event-copy h2{font-size:clamp(1.55rem,2.4vw,2.2rem);margin:.1rem 0 .4rem;color:var(--green-dark)}
.agenda-event-description{margin:.2rem 0 .7rem;color:#59645d;max-width:720px}
.agenda-event-meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.65rem 0 1rem;color:#45524a;font-size:.9rem}
.agenda-event-meta span{position:relative}
.agenda-event-meta span+span:before{content:"·";position:absolute;left:-.57rem;color:#a3aaa5}
.agenda-book-button{display:inline-flex;padding:.68rem 1rem;min-height:44px}
.agenda-event-image{display:block;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#eadfd5}
.agenda-event-image img{display:block;width:100%;height:100%;object-fit:cover}
.agenda-event-image img[src*="truffelceremonie-hero.webp"]{object-position:10% center}
.agenda-empty{background:#fff;border-radius:20px;padding:2rem;text-align:center;border:1px solid rgba(58,82,64,.1)}
@media(max-width:960px){
 .agenda-toolbar{grid-template-columns:1fr}
 .agenda-filters{justify-content:flex-start}
 .agenda-row{grid-template-columns:80px minmax(0,1fr) 220px;gap:1.2rem}
 .agenda-event-description{display:none}
}
@media(max-width:700px){
 .agenda-page-hero{padding-bottom:30px}
 .agenda-list-section{padding-top:10px}
 .agenda-filters{display:grid;grid-template-columns:1fr 1fr}
 .agenda-filter:first-child{grid-column:1/-1}
 .agenda-row{grid-template-columns:68px minmax(0,1fr);align-items:start;padding:1rem;gap:.85rem}
 .agenda-date{grid-row:1/3;padding:.2rem .7rem .2rem 0}
 .agenda-event-image{grid-column:2;grid-row:2;width:100%;margin-top:.25rem}
 .agenda-event-copy{grid-column:2;grid-row:1}
 .agenda-event-description{display:block;font-size:.92rem}
 .agenda-event-meta{display:grid;gap:.25rem;margin:.55rem 0 .8rem}
 .agenda-event-meta span+span:before{display:none}
 .agenda-book-button{width:100%;justify-content:center;text-align:center}
}
@media(max-width:430px){
 .agenda-filters{grid-template-columns:1fr}
 .agenda-filter:first-child{grid-column:auto}
 .agenda-row{grid-template-columns:58px minmax(0,1fr);border-radius:20px}
 .agenda-date strong{font-size:1.7rem}
}

/* V6.6.3 Step 6B — Agenda personal guidance CTA */
.agenda-personal-guidance{padding-top:0}
.agenda-guidance-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;background:linear-gradient(135deg,rgba(243,229,216,.95),rgba(255,255,255,.95));border:1px solid rgba(58,82,64,.1);border-radius:28px;padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 18px 50px rgba(55,70,60,.07)}
.agenda-guidance-panel h2{margin:.35rem 0 .55rem;font-size:clamp(1.8rem,3vw,2.7rem)}
.agenda-guidance-panel p{margin:0;max-width:780px;color:#59645d}
.agenda-guidance-action{display:flex;align-items:center}
.agenda-guidance-action .btn{white-space:nowrap}
@media(max-width:760px){
 .agenda-guidance-panel{grid-template-columns:1fr;gap:1.2rem}
 .agenda-guidance-action .btn{width:100%;justify-content:center;text-align:center}
}

/* V6.6.9 UI polish iteration 1 */
.card-link,.team-card-link{display:block;color:inherit;text-decoration:none}
.card-link h3,.team-card-link h3{color:inherit}
.card-link-cta,.team-card-cta{display:inline-block;margin-top:auto;font-weight:700;color:var(--green)}
.card-link:hover .card-link-cta,.team-card-link:hover .team-card-cta{text-decoration:underline;text-underline-offset:.25em}
.card-link:focus-visible,.team-card-link:focus-visible{outline:3px solid var(--rose);outline-offset:4px}

/* V6.6.9A UI polish iteration 2 — native cards + international phone control */
.card-link,.team-card-link{cursor:pointer;min-width:0}
.card-link>* ,.team-card-link>*{position:relative;z-index:2}
.phone-control{display:grid;grid-template-columns:106px minmax(0,1fr);gap:.65rem;align-items:stretch}
.phone-control select,.phone-control input{min-height:54px}
.phone-country{white-space:nowrap}
.phone-control .phone-number{min-width:0}
.phone-control + .field-error,.phone-control .field-error{grid-column:1/-1}
@media(max-width:430px){.phone-control{grid-template-columns:102px minmax(0,1fr);gap:.5rem}.phone-control select,.phone-control input{padding-left:.75rem;padding-right:.75rem}}

/* V6.6.9C UI polish iteration 3 */
/* Legal links must look like links, also inside consent text and the footer. */
.consent-label a,
.request-consent a,
.checkout-card a[href*="privacyverklaring"],
.checkout-card a[href*="algemene-voorwaarden"],
.site-footer a[href*="privacyverklaring"],
.site-footer a[href*="algemene-voorwaarden"]{
  text-decoration:underline;
  text-decoration-thickness:.08em;
  text-underline-offset:.22em;
}
.consent-label a:hover,.consent-label a:focus-visible,
.request-consent a:hover,.request-consent a:focus-visible,
.checkout-card a[href*="privacyverklaring"]:hover,.checkout-card a[href*="privacyverklaring"]:focus-visible,
.checkout-card a[href*="algemene-voorwaarden"]:hover,.checkout-card a[href*="algemene-voorwaarden"]:focus-visible{
  color:var(--green-dark);
  text-decoration-thickness:.13em;
}
/* Consent controls: larger target and cleaner alignment. */
.consent-label,.request-consent,.checkout-card .field.full > label:has(input[type="checkbox"]){
  display:flex;align-items:flex-start;gap:.75rem;line-height:1.55;cursor:pointer;
}
.consent-label input[type="checkbox"],.request-consent input[type="checkbox"],.checkout-card input[type="checkbox"]{
  width:1.25rem;height:1.25rem;min-width:1.25rem;margin:.18rem 0 0;accent-color:var(--green);cursor:pointer;
}
/* Service detail typography: calmer hierarchy, readable measure, consistent rhythm. */
.service-editorial .service-section h2{font-size:clamp(1.9rem,3.2vw,2.8rem);letter-spacing:-.025em;margin-bottom:1.1rem}
.service-editorial .service-section p,.service-editorial .service-section li{max-width:76ch}
.service-editorial .service-section p{margin-bottom:1rem}
.service-editorial .service-section li+li{margin-top:.55rem}
.service-editorial .service-options-grid h3{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.2}
.service-editorial .service-closing-quote{font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.4}
/* EN homepage: cover the Dutch wording embedded in the source hero with a localized brand panel. */
.hero-language-panel{display:none}
html[lang="en"] .hero-editorial .hero-language-panel{
  display:block;position:absolute;z-index:3;left:max(20px,calc((100% - var(--max))/2));top:50%;transform:translateY(-58%);
  width:min(520px,43vw);padding:1.35rem 1.5rem 1.45rem;border-radius:24px;
  background:rgba(248,243,238,.94);backdrop-filter:blur(10px);box-shadow:0 16px 50px rgba(42,58,47,.14);
}
.hero-language-panel img{width:min(250px,70%);height:auto;margin:0 0 .8rem;background:transparent}
.hero-language-panel p{margin:.25rem 0;color:var(--green-dark);font-weight:650;letter-spacing:.055em;text-transform:uppercase;font-size:.82rem}
.hero-language-panel .hero-language-tagline{margin-top:.8rem;color:var(--sage);font-weight:700;letter-spacing:.11em;font-size:.76rem}
@media(max-width:760px){html[lang="en"] .hero-editorial .hero-language-panel{left:20px;right:20px;top:2rem;transform:none;width:auto;padding:1rem 1.1rem} .hero-language-panel img{width:180px}.hero-language-panel p{display:none}.hero-language-panel .hero-language-tagline{display:block;margin:.35rem 0 0}}

/* V6.6.9C2 — corrective polish after C1 acceptance.
   Keep the fixed desktop header and the service editorial flow from overlapping. */
@media(min-width:901px){
  .service-detail-shell{padding-top:168px;padding-bottom:64px}
  .service-detail-shell .service-detail-image{top:160px}
  .service-detail-shell .service-jump-nav{top:151px}
  .service-detail-shell .service-section{scroll-margin-top:232px}
}
.service-detail-shell .service-editorial{gap:2.15rem}
.service-detail-shell .service-intro .lead,
.service-detail-shell .service-intro .lead + p{
  font-size:clamp(1.03rem,1.4vw,1.16rem);
  line-height:1.85;
  max-width:76ch;
  color:var(--ink);
  font-weight:400;
}
.service-detail-shell .service-jump-nav{margin-top:0;margin-bottom:0}
@media(max-width:900px){
  .service-detail-shell{padding-top:32px;padding-bottom:48px}
  .service-detail-shell .service-editorial{gap:1.9rem}
}
@media(max-width:620px){.service-detail-shell{padding-top:24px;padding-bottom:40px}}

/* Homepage: use the approved logo inside the exact 1536×1024 / 3:2 hero frame
   used by the previous homepage hero. No special tall-logo layout. */
.hero-editorial .hero-logo-picture{
  position:relative;
  inset:auto;
  width:80%;
  max-width:1380px;
  aspect-ratio:3/2;
  border-radius:38px;
  overflow:hidden;
  flex:0 0 auto;
  background:#f1e6d9;
}
.hero-editorial .hero-logo-picture img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  background:#f1e6d9;
}
.hero-editorial:has(.hero-logo-picture) .hero-overlay{display:none}
.hero-editorial:has(.hero-logo-picture) .hero-cta{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  width:min(80%,1180px);
  margin-top:24px;
  color:var(--green-dark);
  align-items:center;
}
.hero-editorial:has(.hero-logo-picture) .hero-cta p{display:none}
@media(max-width:1049px){
  .hero-editorial .hero-logo-picture{width:80%;border-radius:30px}
  .hero-editorial:has(.hero-logo-picture) .hero-cta{width:80%;margin-top:20px}
}
@media(max-width:679px){
  .hero-editorial .hero-logo-picture{width:80%;border-radius:22px}
  .hero-editorial:has(.hero-logo-picture) .hero-cta{width:80%;margin-top:18px;gap:1rem}
}

/* V6.6.9C3 — Circle Leaf navigation mark inside the existing navigation shell. */
.site-header .brand{padding:7px 0 7px 12px;box-sizing:border-box}
.site-header .brand-logo.brand-logo-circle-leaf{
  width:176px;height:101px;margin-left:0;object-fit:contain;object-position:left center;
  border-radius:44px 0 0 44px;
}
@media(max-width:900px){
  .site-header .brand{padding:6px 0 6px 8px}
  .site-header .brand-logo.brand-logo-circle-leaf{width:126px;height:70px;border-radius:30px 0 0 30px}
}

/* C3: service detail pages get their own desktop header clearance; global sections stay frozen. */
@media(min-width:901px){
  main > .section:has([data-service-detail]){padding-top:176px;padding-bottom:34px}
  main > .section:has([data-service-detail]) .service-detail-image{top:150px}
  main > .section:has([data-service-detail]) .service-jump-nav{top:140px;margin-top:.35rem}
  main > .section:has([data-service-detail]) .service-section{scroll-margin-top:225px}
}

/* Legal business identities — compact, site-wide footer strip. */
.footer-businesses{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding:1.15rem 0 .25rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem}
.footer-business{font-size:.88rem;line-height:1.65;color:#eef3ef}
.footer-business strong{display:block;color:#fff;font-weight:700}
.footer-business .legal-pending{opacity:.72;font-size:.82rem}
@media(max-width:760px){.footer-businesses{grid-template-columns:1fr;gap:.8rem}.footer-business{font-size:.82rem}}


/* V6.6.9C4 — corrective polish: Circle Leaf radius, blog detail desktop clearance, mobile legal identities. */
@media(min-width:901px){
  main > .section:has([data-blog-detail]),
  main > .section:has([data-blog-detail-query]){padding-top:176px;padding-bottom:48px}
  main > .section:has([data-blog-detail]) .blog-content,
  main > .section:has([data-blog-detail-query]) .blog-content{scroll-margin-top:150px}
}
.footer-business .legal-pending{display:block}
.footer-business .legal-line{display:inline}
.footer-business .legal-line + .legal-line::before{content:" · ";opacity:.7}
@media(max-width:760px){
  .footer-businesses{gap:1.25rem}
  .footer-business{line-height:1.55}
  .footer-business + .footer-business{padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}
  .footer-business .legal-pending{display:block;margin-top:.2rem}
  .footer-business .legal-line{display:block;white-space:normal;overflow-wrap:anywhere}
  .footer-business .legal-line + .legal-line::before{content:none}
}


/* GEM V6.7.2G — Over GEM landscape image handling */
.over-gem-photo,
.about-story-image,
img[data-about-story-image]{
  display:block;
  width:100%;
  max-width:100%;
  aspect-ratio:4 / 3;
  height:auto;
  object-fit:cover;
  object-position:center center;
  border-radius:var(--radius);
}
@media(max-width:900px){
  .about-story-image,
  img[data-about-story-image]{
    width:100%;
    aspect-ratio:4 / 3;
    height:auto;
    object-fit:cover;
  }
}
