/* Layout: single long page, full-width tonal bands, narrow 68ch reading column, one sticky nav. Boldness in the hero type; everything else quiet. */
  :root{
    --bg:#ffffff;        /* white */
    --bg-2:#8a9a90;      /* logo sage band */
    --bg-2-ink:#f5f3ee;  /* text on sage */
    --ink:#2b332f;       /* deep sage ink */
    --ink-2:#5f6b65;     /* muted text */
    --line:#d6d9d2;
    --accent:#b89a66;    /* logo gold */
    --accent-ink:#2b332f;
    --card:#f6f5f1;
    --font-display:"Bodoni Moda", "Didot", "Playfair Display", Georgia, serif;
    --font-body:"Figtree", "Helvetica Neue", Arial, sans-serif;
  }
  :root{color-scheme:light}
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6}
  body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
  h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.05;margin:0;text-wrap:balance}
  h2{font-size:clamp(2rem,4.5vw,3rem)}
  h3{font-size:1.5rem}
  p{margin:0}
  a{color:inherit}
  .wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .band{padding-block:clamp(3rem,8vw,6rem)}
  .band.alt{background:var(--bg-2);color:var(--bg-2-ink)}
  .band.alt .lede,.band.alt .ink-2,.band.alt .review cite,.band.alt .stat span{color:var(--bg-2-ink);opacity:.85}
  .band.alt .eyebrow,.band.alt .stars{color:#f3e6c4}
  .band.alt .stats{border-color:rgba(245,243,238,.35)}
  .band.alt .review{border-color:#f3e6c4}
  .band.alt .recruit{background:transparent;border-color:rgba(245,243,238,.35)}
  .band.alt .btn.ghost{color:var(--bg-2-ink);border-color:rgba(245,243,238,.5)}
  .band.alt .btn.ghost:hover{color:#fff;border-color:#fff}
  .eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.9rem}
  .lede{max-width:65ch;color:var(--ink-2);font-size:1.1rem}
  .btn{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.7rem .9rem 1.4rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#d2b77e,#b89a66 55%,#a3875a);color:#1f2622;box-shadow:0 6px 18px rgba(184,154,102,.35),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .18s ease,box-shadow .18s ease}
  .btn svg{width:16px;height:16px;flex:none}
  .btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(184,154,102,.45),inset 0 1px 0 rgba(255,255,255,.45)}
  .btn:active{transform:translateY(0);box-shadow:0 3px 10px rgba(184,154,102,.35)}
  .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
  .btn.ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:none}
  .btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

  /* nav */
  header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--bg);border-bottom:1px solid var(--line)}
  nav.wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.7rem;flex-wrap:nowrap;max-width:1400px}
  nav ul{flex:1 1 auto;justify-content:center;min-width:0;flex-wrap:nowrap;white-space:nowrap}
  .brand{flex:none}
  .brand{display:flex;align-items:center;gap:.9rem;text-decoration:none}
  .brand img{width:66px;height:66px;border-radius:50%;display:block;box-shadow:0 2px 10px rgba(43,51,47,.18)}
  .brand span{font-family:var(--font-display);font-size:1.45rem;letter-spacing:.2em;text-transform:uppercase;line-height:1}
  .brand small{font-family:var(--font-body);font-size:.62rem;letter-spacing:.22em;color:var(--ink-2);display:block;margin-top:.3rem;text-transform:uppercase}
  @media (max-width:720px){.brand img{width:52px;height:52px}.brand span{font-size:1.2rem}}
  nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.92rem;font-weight:500}
  nav ul a{text-decoration:none;color:var(--ink-2)}
  nav ul a:hover{color:var(--ink)}
  nav .btn{padding:.7rem 1.35rem .7rem 1.1rem;font-size:.88rem}
  .nav-cta{display:flex;align-items:center;gap:1.2rem;margin-left:auto;flex:none}
  @media (max-width:1180px){nav ul{gap:1rem;font-size:.88rem}.nav-cta{gap:.8rem}}
  @media (max-width:1040px){.nav-cta .phone{display:none}}
  @media (max-width:900px){nav.wrap{flex-wrap:wrap}nav ul{order:3;width:100%;flex:none;flex-wrap:wrap;white-space:normal;justify-content:center;padding-top:.4rem}.nav-cta{margin-left:0}}
  .nav-cta .phone{text-decoration:none;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
  .nav-cta .phone:hover{color:var(--accent)}

  /* hero: full-width video band, sage tint, logo + headline centred */
  .hero{position:relative;overflow:hidden;background:#6f8078;color:#fff;padding-block:clamp(2rem,5vh,4rem);min-height:calc(100svh - 96px);display:flex;align-items:center}
  .hero .wrap{width:100%}
  .hero video,.hero .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .hero::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(43,51,47,.22)}
  .hero .wrap{position:relative;z-index:3}
  .hero .wrap>div{max-width:620px}
  .hero .eyebrow{color:#f3e6c4;text-shadow:0 1px 4px rgba(0,0,0,.5)}
  .hero h1{font-size:clamp(2.4rem,min(7.5vw,8vh),6rem);letter-spacing:-.01em;text-shadow:0 2px 6px rgba(0,0,0,.45),0 6px 30px rgba(0,0,0,.35)}
  .hero h1 em{font-style:italic;font-weight:400;color:#f3e6c4}
  .hero .lede{margin-top:clamp(.8rem,2vh,1.4rem);color:rgba(255,255,255,.95);font-size:clamp(1rem,1.8vh,1.1rem);text-shadow:0 1px 4px rgba(0,0,0,.5)}
  .hero .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:clamp(1rem,3vh,2rem)}
  .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.6)}
  .hero .where{margin-top:clamp(1rem,3vh,2.2rem);font-size:.95rem;color:rgba(255,255,255,.9);text-shadow:0 1px 4px rgba(0,0,0,.5)}
  @media (max-width:820px){.watermark{right:-12vw;bottom:-6vh;width:52vw;opacity:.45}}
  @media (prefers-reduced-motion:reduce){.hero video{display:none}}

  /* fixed watermark: sits in the bottom-right corner and stays there as the page scrolls */
  .watermark{position:fixed;z-index:5;right:-4vw;bottom:-18vh;width:min(46vh,34vw);max-width:none;border-radius:50%;opacity:.62;mix-blend-mode:overlay;filter:contrast(1.25) saturate(1.2) drop-shadow(0 20px 40px rgba(0,0,0,.18));pointer-events:none}
  /* two-column about */
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
  .cols>*{min-width:0}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}
  .stat b{font-family:var(--font-display);font-size:2.4rem;font-weight:400;display:block;line-height:1;font-variant-numeric:tabular-nums}
  .stat span{font-size:.82rem;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase}

  /* services */
  .services{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.5rem}
  .service{background:var(--card);border:1px solid var(--line);padding:1.8rem;display:flex;flex-direction:column;gap:.8rem;min-width:0}
  .service ul{margin:0;padding-left:1.1rem;color:var(--ink-2);line-height:1.8}
  .service .who{font-size:.85rem;color:var(--accent);font-weight:600;letter-spacing:.04em}
  .price-note{margin-top:1.6rem;color:var(--ink-2);font-size:.95rem}

  /* reviews */
  .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}
  .review{display:flex;flex-direction:column;gap:1rem;border-top:2px solid var(--accent);padding-top:1.2rem;min-width:0}
  .review q{font-family:var(--font-display);font-size:1.25rem;line-height:1.35;quotes:"\201C" "\201D"}
  .review cite{font-style:normal;font-size:.85rem;color:var(--ink-2)}
  .stars{color:var(--accent);letter-spacing:.1em;font-size:.9rem}

  /* hours + contact */
  .hours{list-style:none;margin:1.5rem 0 0;padding:0;max-width:26rem}
  .hours li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
  .hours li span:last-child{color:var(--ink-2)}
  .contact dl{margin:1.5rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.2rem}
  .contact dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding-top:.25rem}
  .contact dd{margin:0;font-size:1.05rem}
  .social{display:flex;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap}

  /* recruit */
  .recruit{border:1px solid var(--line);padding:2rem;display:flex;gap:2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--card)}
  .recruit>div{min-width:0;max-width:60ch}


  @media (max-width:720px){
    .cols,.services,.reviews{grid-template-columns:1fr}
    .stats{grid-template-columns:repeat(3,1fr);gap:.5rem}
    .stat b{font-size:1.8rem}
    nav ul{gap:1rem;font-size:.88rem}
  }
  @media (prefers-reduced-motion:no-preference){
    .hero h1{animation:rise .7s ease-out both}
    @keyframes rise{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}
  }

  /* scroll reveals: elements are visible by default; JS adds .pre only to elements below the fold, then removes it as they scroll in */
  .reveal{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
  .reveal.pre{opacity:0;transform:translateY(28px)}
  .reveal.from-left.pre{transform:translateX(-40px)}
  .reveal.from-right.pre{transform:translateX(40px)}
  .reveal.zoom.pre{transform:scale(.92)}
  @media (prefers-reduced-motion:reduce){.reveal{transition:none}.reveal.pre{opacity:1;transform:none}}

  /* animated section backgrounds: slow, soft, GPU-cheap */
  .band{position:relative;overflow:hidden}
  .band>.wrap{position:relative;z-index:1}
  .band.alt::before,.band.alt::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}
  .band.alt::before{width:55vw;height:55vw;max-width:720px;max-height:720px;left:-15%;top:-30%;background:radial-gradient(circle,rgba(226,207,159,.55),rgba(226,207,159,0) 70%);animation:drift1 22s ease-in-out infinite}
  .band.alt::after{width:45vw;height:45vw;max-width:600px;max-height:600px;right:-12%;bottom:-35%;background:radial-gradient(circle,rgba(245,243,238,.5),rgba(245,243,238,0) 70%);animation:drift2 26s ease-in-out infinite}
  @keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(12vw,10vh) scale(1.15)}}
  @keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-10vw,-12vh) scale(1.1)}}
  #services::before{content:"";position:absolute;inset:-50%;z-index:0;pointer-events:none;opacity:.5;background:repeating-linear-gradient(115deg,rgba(184,154,102,.09) 0 2px,transparent 2px 46px);animation:pan 40s linear infinite}
  @keyframes pan{from{transform:translateX(0)}to{transform:translateX(92px)}}
  #hours::before{content:"";position:absolute;width:70vw;height:70vw;max-width:900px;max-height:900px;left:50%;top:50%;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(184,154,102,.16),rgba(184,154,102,0) 65%);transform:translate(-50%,-50%);animation:breathe 14s ease-in-out infinite}
  @keyframes breathe{0%,100%{transform:translate(-50%,-50%) scale(.9);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}
  @media (prefers-reduced-motion:reduce){.band.alt::before,.band.alt::after,#services::before,#hours::before{animation:none}}

  /* logo power-on: champagne glow that blooms and settles on load, replays on hover */
  @keyframes logo-glow{0%{opacity:.35;filter:drop-shadow(0 0 0 rgba(226,207,159,0))}40%{opacity:1;filter:drop-shadow(0 0 10px rgba(226,207,159,.95)) drop-shadow(0 0 26px rgba(184,154,102,.55))}100%{opacity:1;filter:drop-shadow(0 0 0 rgba(226,207,159,0))}}
  .brand-logo{animation:logo-glow 2.6s ease-out both;will-change:filter,opacity}
  /* review stars: coin pop, staggered, with a soft glint on the fifth */
  .stars{display:inline-flex;gap:.12em;position:relative;width:fit-content}
  .stars span{display:inline-block}
  @keyframes star-pop{0%{opacity:0;transform:translateY(7px) scale(.3)}40%{opacity:1;transform:translateY(-8px) scale(1.3)}65%{opacity:1;transform:translateY(1px) scale(.92)}82%{opacity:1;transform:translateY(-2px) scale(1.04)}100%{opacity:1;transform:none}}
  @keyframes star-glint{0%{filter:drop-shadow(0 0 0 rgba(243,230,196,0))}35%{filter:drop-shadow(0 0 6px rgba(243,230,196,.95)) drop-shadow(0 0 14px rgba(226,207,159,.6))}100%{filter:drop-shadow(0 0 0 rgba(243,230,196,0))}}
  .review.reveal.pre .stars span{opacity:0}
  .review.reveal:not(.pre) .stars span{animation:star-pop .55s cubic-bezier(.2,.9,.3,1.2) both}
  .review.reveal:not(.pre) .stars span:nth-child(1){animation-delay:.25s}
  .review.reveal:not(.pre) .stars span:nth-child(2){animation-delay:.34s}
  .review.reveal:not(.pre) .stars span:nth-child(3){animation-delay:.43s}
  .review.reveal:not(.pre) .stars span:nth-child(4){animation-delay:.52s}
  .review.reveal:not(.pre) .stars span:nth-child(5){animation-name:star-pop,star-glint;animation-duration:.55s,.7s;animation-delay:.61s,.78s;animation-timing-function:cubic-bezier(.2,.9,.3,1.2),ease-out;animation-fill-mode:both,both}
  /* sticky mobile action bar: call + book, shown once the hero has scrolled away */
  .quote-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:none;gap:.6rem;padding:.6rem max(16px,env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(43,51,47,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(110%);transition:transform .35s ease}
  .quote-bar.is-shown{transform:none}
  .quote-bar a{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.85rem 1rem}
  .quote-bar .qb-call{flex:0 0 auto;color:#f3e6c4;border:1px solid rgba(243,230,196,.6)}
  .quote-bar .qb-call svg{width:17px;height:17px}
  .quote-bar .qb-book{flex:1 1 auto;background:linear-gradient(135deg,#d2b77e,#b89a66 55%,#a3875a);color:#1f2622;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
  @media (max-width:820px){.quote-bar{display:flex}body{padding-bottom:72px}}
  @media (prefers-reduced-motion:reduce){.brand-logo{animation:none}.review .stars span{animation:none!important;opacity:1!important}.quote-bar{transition:none}}

  /* enquiry form */
  .contact-form-wrap{background:var(--card);border:1px solid var(--line);padding:1.8rem;border-radius:4px;min-width:0}
  .contact-form{display:flex;flex-direction:column;gap:1rem}
  .field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
  .field label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
  .field .opt{text-transform:none;letter-spacing:0;font-weight:400}
  .field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:.75rem .9rem;width:100%;min-width:0}
  .field textarea{resize:vertical}
  .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .form-note{font-size:.9rem;color:var(--ink-2);min-height:1.2em}
  .form-note.ok{color:#4f7a5a}
  .form-note.err{color:#a0413f}
  .contact-form .btn{align-self:flex-start;border:0;cursor:pointer;font-family:inherit}
  .contact-form .btn[disabled]{opacity:.6;cursor:default;transform:none}
  @media (max-width:720px){.field-row{grid-template-columns:1fr}}
  /* form edge glow: blooms gold when the form arrives, settles to a soft rim */
  @keyframes form-lit{0%{border-color:var(--line);box-shadow:0 0 0 0 rgba(184,154,102,0)}45%{border-color:rgba(184,154,102,.8);box-shadow:0 0 30px 2px rgba(184,154,102,.38),0 0 64px rgba(184,154,102,.14)}100%{border-color:rgba(184,154,102,.45);box-shadow:0 0 18px rgba(184,154,102,.14)}}
  .contact-form-wrap.is-lit{animation:form-lit 1.8s ease-out both}
  @media (prefers-reduced-motion:reduce){.contact-form-wrap.is-lit{animation:none;border-color:rgba(184,154,102,.45)}}

  /* find us + map */
  .map-wrap{min-width:0}
  .map{display:block;width:100%;aspect-ratio:4/3;max-width:100%;border:0;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.18);background:#dfe3dc}
  .map-ph{display:flex;align-items:center;justify-content:center;color:#5f6b65;font-size:.9rem;background:repeating-linear-gradient(45deg,#e4e8e1 0 14px,#d9ded6 14px 28px)}
  .findus-list{margin:1.4rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem}
  .findus-list dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;padding-top:.2rem}
  .findus-list dd{margin:0}
  /* footer */
  .site-footer{background:#2b332f;color:#d7dcd6;padding-block:3.5rem 1.5rem;border-top:0;font-size:.95rem}
  .site-footer a{color:#f3e6c4;text-decoration:none}
  .site-footer a:hover{text-decoration:underline}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;align-items:start}
  .footer-grid>*{min-width:0}
  .f-brand img{border-radius:50%;display:block;margin-bottom:.8rem}
  .f-name{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;line-height:1}
  .f-name small{display:block;font-family:var(--font-body);font-size:.6rem;letter-spacing:.22em;color:#aab3ad;margin-top:.3rem}
  .f-tag{margin-top:.8rem;color:#aab3ad;max-width:30ch}
  .f-head{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#f3e6c4;font-weight:600;margin-bottom:.8rem}
  .f-hours{list-style:none;margin:0;padding:0;max-width:14rem}
  .f-hours li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;font-variant-numeric:tabular-nums}
  .f-hours li span:last-child{color:#aab3ad}
  .footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#aab3ad}
  @media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:560px){.footer-grid{grid-template-columns:1fr}}

  /* page hero for inner pages */
  .page-hero{position:relative;overflow:hidden;background:#6f8078;color:#fff;padding-block:clamp(3rem,7vw,5.5rem)}
  .page-hero::before{content:"";position:absolute;inset:0;background:url(hero-poster.jpg) center/cover no-repeat;opacity:.35}
  .page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(111,128,120,.96),rgba(111,128,120,.75) 60%,rgba(43,51,47,.5))}
  .page-hero .wrap{position:relative;z-index:1}
  .page-hero .eyebrow{color:#f3e6c4;text-shadow:0 1px 4px rgba(0,0,0,.4)}
  .page-hero h1{font-size:clamp(2.4rem,6vw,4.5rem);text-shadow:0 2px 6px rgba(0,0,0,.35)}
  .page-hero .lede{color:rgba(255,255,255,.92);margin-top:1rem;text-shadow:0 1px 4px rgba(0,0,0,.4)}
  .crumbs{font-size:.85rem;color:rgba(255,255,255,.8);margin-bottom:1rem}
  .crumbs a{color:#f3e6c4;text-decoration:none}
  nav ul a.is-current{color:var(--ink);font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:.15rem}
  .more{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.6rem;font-weight:600;color:var(--accent);text-decoration:none;letter-spacing:.04em}
  .more:hover{text-decoration:underline}
  .band.alt .more{color:#f3e6c4}
  /* team */
  .team{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem}
  .member{background:var(--card);border:1px solid var(--line);padding:1.6rem;text-align:center;min-width:0}
  .member .avatar{width:120px;height:120px;border-radius:50%;margin:0 auto 1rem;background:linear-gradient(135deg,#8a9a90,#6f8078);color:#f3e6c4;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:2.4rem;overflow:hidden}
  .member .avatar img{width:100%;height:100%;object-fit:cover;display:block}
  .member h3{font-size:1.4rem}
  .member .role{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:.3rem 0 .8rem}
  .member p{color:var(--ink-2);font-size:.95rem}
  /* price list */
  .prices{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
  .price-group{min-width:0}
  .price-group h3{padding-bottom:.6rem;border-bottom:2px solid var(--accent);margin-bottom:.4rem}
  .price-group ul{list-style:none;margin:0;padding:0}
  .price-group li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
  .price-group li span:last-child{color:var(--ink-2);white-space:nowrap}
  .notice{background:var(--card);border-left:3px solid var(--accent);padding:1rem 1.2rem;color:var(--ink-2);margin-top:1.6rem;max-width:65ch}
  /* news */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.5rem}
  .post{background:var(--card);border:1px solid var(--line);padding:1.6rem;min-width:0}
  .post time{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600}
  .post h3{font-size:1.3rem;margin:.5rem 0 .6rem}
  .post p{color:var(--ink-2);font-size:.95rem}
  @media (max-width:820px){.team,.news-grid{grid-template-columns:1fr 1fr}.prices{grid-template-columns:1fr}}
  @media (max-width:560px){.team,.news-grid{grid-template-columns:1fr}}
