:root{
  --cgp-ink:#12233f;
  --cgp-ink-2:#0b172a;
  --cgp-navy:#1d4f86;
  --cgp-sky:#39a5dc;
  --cgp-sky-soft:#dff2fb;
  --cgp-cream:#f7f4ed;
  --cgp-mist:#edf6fb;
  --cgp-gold:#efc54f;
  --cgp-text:#273750;
  --cgp-muted:#607089;
  --cgp-white:#fff;
  --cgp-border:#d8e2ec;
  --cgp-shadow:0 18px 48px rgba(18,35,63,.11);
  --cgp-shadow-sm:0 10px 26px rgba(18,35,63,.09);
  --cgp-radius:26px;
  --cgp-radius-sm:16px;
  --cgp-wrap:min(1180px,calc(100% - 44px));
  --cgp-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cgp-serif:Georgia,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cgp-site{margin:0;color:var(--cgp-text);background:var(--cgp-white);font-family:var(--cgp-sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.admin-bar .cgp-header{top:32px}
img{display:block;max-width:100%;height:auto}
a{color:var(--cgp-navy);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--cgp-ink)}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4{margin:0 0 .65em;color:var(--cgp-ink);font-family:var(--cgp-serif);font-weight:700;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.75rem,6vw,5.7rem)}
h2{font-size:clamp(2rem,4vw,3.55rem)}
h3{font-size:clamp(1.28rem,2vw,1.68rem)}
p{margin:0 0 1.25em}
ul,ol{margin-top:0}
::selection{background:var(--cgp-gold);color:var(--cgp-ink)}
.cgp-wrap{width:var(--cgp-wrap);margin-inline:auto}
.cgp-narrow{max-width:880px}
.cgp-main{min-height:50vh}
.cgp-skip-link{position:fixed;z-index:9999;top:12px;left:12px;padding:12px 16px;border-radius:8px;background:var(--cgp-gold);color:var(--cgp-ink);font-weight:800;transform:translateY(-160%)}
.cgp-skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--cgp-gold);outline-offset:4px}
.cgp-topbar{background:var(--cgp-ink-2);color:#dce9f5;font-size:.83rem;font-weight:700;letter-spacing:.025em}
.cgp-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.cgp-topbar a{color:#fff;text-decoration:none}
.cgp-header{position:sticky;z-index:1000;top:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(18,35,63,.09);backdrop-filter:blur(16px);transition:box-shadow .2s ease}
.cgp-header.is-scrolled{box-shadow:0 8px 28px rgba(18,35,63,.1)}
.cgp-header-inner{min-height:88px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.cgp-brand{display:flex;align-items:center;gap:13px;color:var(--cgp-ink);text-decoration:none;min-width:260px}
.cgp-brand img{width:66px;height:52px;object-fit:contain}
.cgp-brand span{display:flex;flex-direction:column;line-height:1.05}
.cgp-brand strong{font-family:var(--cgp-serif);font-size:1.18rem;letter-spacing:-.02em}
.cgp-brand small{margin-top:6px;color:var(--cgp-muted);font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.cgp-nav{justify-self:end}
.cgp-menu{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.cgp-menu li{margin:0}
.cgp-menu a{display:block;padding:11px 10px;border-radius:10px;color:var(--cgp-ink);font-size:.91rem;font-weight:800;text-decoration:none;white-space:nowrap}
.cgp-menu a:hover,.cgp-menu .current-menu-item>a{background:var(--cgp-mist);color:var(--cgp-navy)}
.cgp-header-book,.cgp-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:13px 21px;border:2px solid var(--cgp-sky);border-radius:999px;background:var(--cgp-sky);color:var(--cgp-ink-2);font-size:.92rem;font-weight:900;line-height:1.1;text-align:center;text-decoration:none;box-shadow:0 8px 18px rgba(57,165,220,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.cgp-header-book:hover,.cgp-button:hover{transform:translateY(-2px);background:#63b9e3;border-color:#63b9e3;color:var(--cgp-ink-2);box-shadow:0 12px 24px rgba(57,165,220,.28)}
.cgp-button.secondary{background:transparent;border-color:rgba(18,35,63,.28);color:var(--cgp-ink);box-shadow:none}
.cgp-button.secondary:hover{background:var(--cgp-white);border-color:var(--cgp-navy)}
.cgp-button.ghost{background:transparent;border-color:rgba(255,255,255,.45);color:#fff;box-shadow:none}
.cgp-button.ghost:hover{background:#fff;color:var(--cgp-ink)}
.cgp-button.small{min-height:44px;padding:11px 17px;font-size:.84rem}
.cgp-menu-toggle{display:none;align-items:center;gap:8px;border:0;background:transparent;color:var(--cgp-ink);font-weight:900;cursor:pointer}
.cgp-menu-icon{display:grid;gap:4px;width:22px}
.cgp-menu-icon i{display:block;height:2px;background:currentColor;border-radius:3px;transition:transform .2s ease,opacity .2s ease}
.cgp-eyebrow,.cgp-kicker{margin:0 0 14px;color:var(--cgp-navy);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.cgp-lede{max-width:720px;font-size:clamp(1.08rem,2vw,1.33rem);line-height:1.55}
.cgp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}
.cgp-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.cgp-chip{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.77rem;font-weight:800}
.cgp-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 82% 10%,rgba(57,165,220,.25),transparent 30%),linear-gradient(135deg,var(--cgp-ink-2),var(--cgp-ink) 55%,#173c67);color:#fff}
.cgp-hero::after{content:"";position:absolute;z-index:-1;right:-8%;bottom:-38%;width:44vw;height:44vw;border:1px solid rgba(255,255,255,.1);border-radius:50%}
.cgp-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);gap:clamp(42px,7vw,90px);align-items:center;padding-block:clamp(70px,9vw,122px)}
.cgp-hero-copy h1{max-width:800px;color:#fff}
.cgp-hero-copy .cgp-eyebrow{color:#8bd3f2}
.cgp-hero-copy .cgp-lede{color:#dce8f3}
.cgp-hero .cgp-button.secondary{border-color:rgba(255,255,255,.48);color:#fff}
.cgp-hero .cgp-button.secondary:hover{background:#fff;color:var(--cgp-ink)}
.cgp-hero-media{position:relative}
.cgp-hero-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--cgp-radius);box-shadow:0 34px 70px rgba(0,0,0,.3)}
.cgp-hero-note{position:absolute;right:-24px;bottom:28px;max-width:320px;padding:18px 20px;border:1px solid rgba(255,255,255,.25);border-radius:15px;background:rgba(9,23,42,.92);box-shadow:var(--cgp-shadow-sm);backdrop-filter:blur(12px)}
.cgp-hero-note strong{display:block;margin-bottom:5px;color:var(--cgp-gold);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.cgp-hero-note span{display:block;color:#e7eff6;font-size:.86rem;line-height:1.45}
.cgp-hero-simple{padding-block:100px}
.cgp-section{padding-block:clamp(74px,9vw,124px)}
.cgp-section.cgp-soft{background:var(--cgp-mist)}
.cgp-section.cgp-ink{background:var(--cgp-ink);color:#fff}
.cgp-section-intro{max-width:820px;margin-bottom:44px}
.cgp-section-intro>p:last-child{max-width:760px;color:var(--cgp-muted);font-size:1.08rem}
.cgp-section-intro .cgp-section-intro{margin:0}
.cgp-band{padding-block:clamp(74px,9vw,118px);background:var(--cgp-cream)}
.cgp-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cgp-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cgp-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cgp-card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.cgp-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--cgp-border);border-radius:var(--cgp-radius-sm);background:#fff;color:var(--cgp-text);text-decoration:none;box-shadow:0 2px 0 rgba(18,35,63,.02);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.cgp-card:hover{transform:translateY(-5px);border-color:#9fcfe5;box-shadow:var(--cgp-shadow-sm);color:var(--cgp-text)}
.cgp-card-image{width:100%;aspect-ratio:16/10;object-fit:cover}
.cgp-card-body{display:flex;flex:1;flex-direction:column;padding:25px}
.cgp-card-body h3{margin-bottom:10px}
.cgp-card-body p{color:var(--cgp-muted);font-size:.96rem}
.cgp-card-link{margin-top:auto;color:var(--cgp-navy);font-size:.86rem;font-weight:900}
.cgp-media-story{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1fr);gap:clamp(46px,8vw,96px);align-items:center}
.cgp-media-story.reverse figure{order:2}
.cgp-media-story figure{margin:0}
.cgp-story-image{width:100%;max-height:720px;aspect-ratio:4/5;object-fit:cover;border-radius:var(--cgp-radius);box-shadow:var(--cgp-shadow)}
.cgp-media-story figcaption,.cgp-gallery figcaption{margin-top:12px;color:var(--cgp-muted);font-size:.82rem;line-height:1.45}
.cgp-media-story .cgp-section-intro{margin:0}
.cgp-media-story .cgp-section-intro p:last-child{color:var(--cgp-text)}
.cgp-media-story .cgp-section-intro p:last-child p{margin-bottom:1.2em}
.cgp-two-col{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);gap:clamp(40px,7vw,88px);align-items:start}
.cgp-steps{display:grid;gap:18px;margin:35px 0 0;padding:0;list-style:none;counter-reset:none}
.cgp-steps li{display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;padding:22px 0;border-top:1px solid var(--cgp-border)}
.cgp-steps li:last-child{border-bottom:1px solid var(--cgp-border)}
.cgp-steps li>span{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--cgp-ink);color:#fff;font-family:var(--cgp-serif);font-size:1.25rem;font-weight:700}
.cgp-steps h3{margin:0 0 7px;font-size:1.35rem}
.cgp-steps p{margin:0;color:var(--cgp-muted)}
.cgp-faq{border-top:1px solid var(--cgp-border)}
.cgp-faq details{border-bottom:1px solid var(--cgp-border)}
.cgp-faq summary{position:relative;padding:24px 52px 24px 0;color:var(--cgp-ink);font-family:var(--cgp-serif);font-size:1.24rem;font-weight:700;cursor:pointer;list-style:none}
.cgp-faq summary::-webkit-details-marker{display:none}
.cgp-faq summary::after{content:"+";position:absolute;right:8px;top:20px;display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#fff;color:var(--cgp-navy);font-family:var(--cgp-sans);font-size:1.25rem}
.cgp-faq details[open] summary::after{content:"–"}
.cgp-faq details>div{padding:0 48px 18px 0;color:var(--cgp-muted)}
.cgp-cta{padding-block:clamp(58px,7vw,88px);background:linear-gradient(135deg,#173d67,var(--cgp-ink-2));color:#fff}
.cgp-cta-grid{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center}
.cgp-cta h2{color:#fff}
.cgp-cta p{max-width:760px;color:#dbe8f3}
.cgp-cta .cgp-eyebrow{color:#87d2f1}
.cgp-cta .cgp-actions{margin:0;justify-content:flex-end}
.cgp-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cgp-gallery figure{margin:0}
.cgp-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:var(--cgp-shadow-sm)}
.cgp-location-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;align-items:stretch}
.cgp-location-grid .cgp-section-intro{margin:0;padding-right:20px}
.cgp-location-card{padding:28px;border:1px solid var(--cgp-border);border-radius:var(--cgp-radius-sm);background:#fff;box-shadow:var(--cgp-shadow-sm)}
.cgp-location-card h3{font-size:2rem}
.cgp-location-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.cgp-location-feature{overflow:hidden;border:1px solid var(--cgp-border);border-radius:var(--cgp-radius);background:#fff;box-shadow:var(--cgp-shadow-sm)}
.cgp-location-image{width:100%;aspect-ratio:16/9;object-fit:cover}
.cgp-location-feature>div{padding:30px}
.cgp-price-strip{display:grid;grid-template-columns:1.4fr .7fr .7fr auto;gap:26px;align-items:center}
.cgp-price-strip h2{max-width:720px;color:#fff;font-size:clamp(1.7rem,3vw,2.5rem)}
.cgp-price-strip .cgp-eyebrow{color:#8bd3f2}
.cgp-price{padding-left:24px;border-left:1px solid rgba(255,255,255,.25)}
.cgp-price span{display:block;color:#c8d9e8;font-size:.75rem;font-weight:800;line-height:1.35;text-transform:uppercase}
.cgp-price strong{display:block;margin-top:8px;color:#fff;font-family:var(--cgp-serif);font-size:2.4rem;line-height:1}
.cgp-inline-price{display:block;margin-bottom:10px;color:var(--cgp-navy);font-family:var(--cgp-serif);font-size:2.5rem;line-height:1}
.cgp-problem-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1fr);gap:48px;align-items:start}
.cgp-problem-choices{display:grid;gap:10px}
.cgp-problem-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px 18px;border:1px solid var(--cgp-border);border-radius:13px;background:#fff;color:var(--cgp-ink);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.cgp-problem-choice:hover,.cgp-problem-choice.is-active{transform:translateX(4px);border-color:var(--cgp-sky);background:var(--cgp-mist)}
.cgp-problem-choice span{font-weight:900}
.cgp-problem-choice small{color:var(--cgp-muted);font-size:.72rem;font-weight:800;white-space:nowrap}
.cgp-problem-output{position:sticky;top:142px;min-height:450px;padding:clamp(30px,5vw,58px);border-radius:var(--cgp-radius);background:var(--cgp-ink);color:#fff;box-shadow:var(--cgp-shadow)}
.cgp-problem-output h2{color:#fff}
.cgp-problem-output p{color:#d7e5f0}
.cgp-problem-output .cgp-kicker{color:#8bd3f2}
.cgp-problem-output .cgp-button.secondary{border-color:rgba(255,255,255,.5);color:#fff}
.cgp-problem-output .cgp-button.secondary:hover{background:#fff;color:var(--cgp-ink)}
.cgp-problem-placeholder{opacity:.8}
.cgp-problem-result[hidden]{display:none}
.cgp-disclaimer{margin-top:28px!important;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);font-size:.78rem;line-height:1.5}
.cgp-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cgp-contact-card{display:flex;min-height:290px;flex-direction:column;padding:32px;border:1px solid var(--cgp-border);border-radius:var(--cgp-radius-sm);background:#fff;color:var(--cgp-text);text-decoration:none;box-shadow:var(--cgp-shadow-sm);transition:transform .2s ease,border-color .2s ease}
.cgp-contact-card:hover{transform:translateY(-5px);border-color:var(--cgp-sky);color:var(--cgp-text)}
.cgp-contact-card h2{font-size:clamp(1.65rem,2.6vw,2.3rem);overflow-wrap:anywhere}
.cgp-contact-card span{margin-top:auto;color:var(--cgp-navy);font-weight:900}
.cgp-book-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.58fr);gap:50px;align-items:start}
.cgp-book-aside{position:sticky;top:142px;padding:34px;border-radius:var(--cgp-radius);background:var(--cgp-ink);color:#fff;box-shadow:var(--cgp-shadow)}
.cgp-book-aside h2{color:#fff}
.cgp-book-aside p{color:#d6e4ef}
.cgp-book-aside .cgp-kicker{color:#8bd3f2}
.cgp-book-aside .cgp-button{width:100%}
.cgp-mini{margin-top:20px;font-size:.78rem;line-height:1.55}
.cgp-book-aside .cgp-mini a{color:#9addf6}
.cgp-text-link{font-weight:900;text-decoration:none}
.cgp-text-link:hover{text-decoration:underline}
.cgp-text-link.light{color:#9eddf5}
.cgp-footer{padding-top:74px;background:var(--cgp-ink-2);color:#c9d6e3}
.cgp-footer-grid{display:grid;grid-template-columns:1.45fr .72fr .86fr .9fr;gap:48px;padding-bottom:56px}
.cgp-footer h2{color:#fff;font-size:2rem}
.cgp-footer a{color:#e5f4fb}
.cgp-footer-brand img{width:108px;height:72px;margin-bottom:20px;object-fit:contain;background:#fff;border-radius:12px;padding:8px}
.cgp-footer-heading{margin-bottom:14px;color:#fff;font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.cgp-footer-space{margin-top:28px}
.cgp-footer-links{margin:0;padding:0;list-style:none}
.cgp-footer-links li{margin:0 0 9px}
.cgp-footer-links a{text-decoration:none}
.cgp-footer-links a:hover{text-decoration:underline}
.cgp-footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:22px;border-top:1px solid rgba(255,255,255,.13);color:#91a5b9;font-size:.72rem}
.cgp-mobile-book{display:none}
.cgp-editor-content>*{max-width:100%}
.cgp-index-item{padding-block:24px;border-bottom:1px solid var(--cgp-border)}
@media (max-width:1100px){
  .cgp-header-inner{grid-template-columns:1fr auto auto;gap:16px}
  .cgp-menu-toggle{display:flex}
  .cgp-nav{position:absolute;top:100%;right:20px;left:20px;display:none;padding:16px;border:1px solid var(--cgp-border);border-radius:16px;background:#fff;box-shadow:var(--cgp-shadow)}
  .cgp-header.nav-open .cgp-nav{display:block}
  .cgp-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .cgp-menu a{padding:13px}
  .cgp-header.nav-open .cgp-menu-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .cgp-header.nav-open .cgp-menu-icon i:nth-child(2){opacity:0}
  .cgp-header.nav-open .cgp-menu-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .cgp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cgp-price-strip{grid-template-columns:1fr 1fr 1fr}
  .cgp-price-strip>div:first-child{grid-column:1/-1}
  .cgp-footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .cgp-footer-grid>div:last-child{grid-column:1/-1}
}
@media (max-width:860px){
  body.admin-bar .cgp-header{top:46px}
  .cgp-topbar-inner{justify-content:center;text-align:center}
  .cgp-topbar-inner span{display:none}
  .cgp-hero-grid{grid-template-columns:1fr;padding-block:68px}
  .cgp-hero-media{max-width:660px}
  .cgp-hero-image{aspect-ratio:16/11}
  .cgp-hero-note{right:18px;bottom:18px}
  .cgp-media-story,.cgp-media-story.reverse{grid-template-columns:1fr}
  .cgp-media-story.reverse figure{order:0}
  .cgp-story-image{max-height:600px;aspect-ratio:16/12}
  .cgp-two-col,.cgp-cta-grid,.cgp-problem-layout,.cgp-book-panel{grid-template-columns:1fr}
  .cgp-cta .cgp-actions{justify-content:flex-start}
  .cgp-problem-output,.cgp-book-aside{position:relative;top:auto}
  .cgp-location-grid{grid-template-columns:1fr 1fr}
  .cgp-location-grid>div:first-child{grid-column:1/-1}
  .cgp-location-feature-grid{grid-template-columns:1fr}
  .cgp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cgp-contact-grid{grid-template-columns:1fr}
  .cgp-contact-card{min-height:220px}
  .cgp-footer-grid{grid-template-columns:1fr 1fr}
  .cgp-footer-grid>div:last-child{grid-column:auto}
}
@media (max-width:680px){
  :root{--cgp-wrap:min(100% - 28px,1180px)}
  body.cgp-site{font-size:16px;padding-bottom:64px}
  h1{font-size:clamp(2.45rem,13vw,4rem)}
  .cgp-topbar{font-size:.74rem}
  .cgp-header-inner{min-height:76px;grid-template-columns:1fr auto}
  .cgp-brand{min-width:0;gap:9px}
  .cgp-brand img{width:48px;height:40px}
  .cgp-brand strong{font-size:1rem}
  .cgp-brand small{font-size:.59rem}
  .cgp-header-book{display:none}
  .cgp-menu-toggle{padding:8px}
  .cgp-nav{right:14px;left:14px}
  .cgp-menu{grid-template-columns:1fr}
  .cgp-hero-grid{gap:38px;padding-block:52px 66px}
  .cgp-hero-image{aspect-ratio:4/3;border-radius:20px}
  .cgp-hero-note{position:relative;right:auto;bottom:auto;margin:-24px 14px 0}
  .cgp-actions{align-items:stretch}
  .cgp-actions .cgp-button{width:100%}
  .cgp-chip-row{gap:6px}
  .cgp-section,.cgp-band{padding-block:68px}
  .cgp-card-grid,.cgp-card-grid.two,.cgp-card-grid.three,.cgp-card-grid.compact{grid-template-columns:1fr}
  .cgp-card-body{padding:22px}
  .cgp-story-image{aspect-ratio:4/3}
  .cgp-location-grid,.cgp-price-strip{grid-template-columns:1fr}
  .cgp-location-grid>div:first-child{grid-column:auto}
  .cgp-price-strip>div:first-child{grid-column:auto}
  .cgp-price{padding:18px 0 0;border-top:1px solid rgba(255,255,255,.25);border-left:0}
  .cgp-gallery{gap:10px}
  .cgp-problem-choice{align-items:flex-start;flex-direction:column;gap:2px}
  .cgp-steps li{grid-template-columns:42px 1fr;gap:14px}
  .cgp-steps li>span{width:40px;height:40px}
  .cgp-footer-grid{grid-template-columns:1fr}
  .cgp-footer-grid>div:last-child{grid-column:auto}
  .cgp-footer-bottom{align-items:flex-start;flex-direction:column}
  .cgp-mobile-book{position:fixed;z-index:1200;right:0;bottom:0;left:0;display:flex;height:64px;align-items:center;justify-content:center;background:var(--cgp-gold);color:var(--cgp-ink-2);font-weight:900;text-decoration:none;box-shadow:0 -10px 24px rgba(18,35,63,.16)}
}
@media (max-width:420px){
  .cgp-brand small{display:none}
  .cgp-topbar-inner a{font-size:.7rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* === Cat Grooming Portland Phase 2 components === */
.cgp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:34px;color:var(--cgp-muted);font-size:.78rem;font-weight:800}
.cgp-breadcrumb a{color:var(--cgp-navy);text-decoration:none}.cgp-breadcrumb a:hover{text-decoration:underline}
.cgp-article-hero{position:relative;overflow:hidden;padding-block:54px 76px;background:linear-gradient(135deg,#f6fbfe 0%,#fff 58%,#f7f4ed 100%)}
.cgp-article-hero:after{position:absolute;right:-180px;bottom:-220px;width:520px;height:520px;border-radius:50%;background:rgba(57,165,220,.10);content:""}
.cgp-article-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:64px;align-items:center}
.cgp-article-hero h1{max-width:920px}.cgp-article-hero .cgp-lede{max-width:800px}
.cgp-article-figure{margin:0;padding:13px;border:1px solid rgba(29,79,134,.16);border-radius:26px;background:#fff;box-shadow:var(--cgp-shadow)}
.cgp-article-image{width:100%;aspect-ratio:4/4.2;object-fit:cover;border-radius:18px}
.cgp-article-figure figcaption{padding:12px 6px 2px;color:var(--cgp-muted);font-size:.72rem;line-height:1.5}
.cgp-article-intro{align-items:stretch}.cgp-quick-answer,.cgp-side-panel{padding:clamp(28px,4vw,46px);border-radius:var(--cgp-radius);box-shadow:var(--cgp-shadow-sm)}
.cgp-quick-answer{border:1px solid var(--cgp-border);background:#fff}.cgp-side-panel{background:var(--cgp-ink);color:#dbe8f3}.cgp-side-panel h2{color:#fff}.cgp-side-panel .cgp-kicker{color:#8bd3f2}.cgp-side-panel .cgp-text-link{color:#9eddf5}
.cgp-signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.cgp-signal-list li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start;padding:22px;border:1px solid var(--cgp-border);border-radius:16px;background:#fff;box-shadow:var(--cgp-shadow-sm)}
.cgp-signal-list span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--cgp-mist);color:var(--cgp-navy);font-weight:900}.cgp-signal-list p{margin:3px 0 0}
.cgp-driver-list li{align-items:start}.cgp-driver-list p{margin-top:6px}
.cgp-checklist,.cgp-no-list,.cgp-alert-list{display:grid;gap:13px;margin:24px 0 0;padding:0;list-style:none}
.cgp-checklist li,.cgp-no-list li,.cgp-alert-list li{position:relative;padding:15px 18px 15px 48px;border-radius:13px;background:#fff;box-shadow:var(--cgp-shadow-sm)}
.cgp-checklist li:before,.cgp-no-list li:before,.cgp-alert-list li:before{position:absolute;top:14px;left:16px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;font-size:.75rem;font-weight:900}
.cgp-checklist li:before{background:#dff3e6;color:#1d6b3e;content:"✓"}.cgp-no-list li:before{background:#fff0df;color:#96500f;content:"×"}.cgp-alert-list li:before{background:#fde7e7;color:#982a2a;content:"!"}
.cgp-callout{margin-top:24px;padding:19px 22px;border-left:5px solid var(--cgp-sky);border-radius:0 13px 13px 0;background:var(--cgp-mist);font-weight:700}
.cgp-source-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:clamp(30px,5vw,54px);border:1px solid var(--cgp-border);border-radius:var(--cgp-radius);background:linear-gradient(135deg,#fff,#f1f8fc);box-shadow:var(--cgp-shadow-sm)}
.cgp-source-card h2{max-width:760px}.cgp-source-card p{max-width:820px}
.cgp-faq{display:grid;gap:12px}.cgp-faq details{border:1px solid var(--cgp-border);border-radius:14px;background:#fff;box-shadow:var(--cgp-shadow-sm)}
.cgp-faq summary{position:relative;padding:20px 52px 20px 22px;color:var(--cgp-ink);font-weight:900;cursor:pointer;list-style:none}.cgp-faq summary::-webkit-details-marker{display:none}
.cgp-faq summary:after{position:absolute;right:20px;content:"+";font-size:1.5rem;line-height:1}.cgp-faq details[open] summary:after{content:"−"}
.cgp-faq details div{padding:0 22px 20px}.cgp-faq details p{margin:0}
.cgp-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cgp-list-card{display:flex;min-height:92px;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid var(--cgp-border);border-radius:15px;background:#fff;color:var(--cgp-text);font-weight:900;text-decoration:none;box-shadow:var(--cgp-shadow-sm);transition:transform .18s ease,border-color .18s ease}
.cgp-list-card:hover{transform:translateY(-3px);border-color:var(--cgp-sky);color:var(--cgp-text)}.cgp-list-card b{color:var(--cgp-sky);font-size:1.35rem}
.cgp-phase-directory{border-top:1px solid var(--cgp-border)}
.cgp-location-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}.cgp-location-list li{padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.78rem;font-weight:800}
.cgp-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cgp-case-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;overflow:hidden;border:1px solid var(--cgp-border);border-radius:var(--cgp-radius-sm);background:#fff;box-shadow:var(--cgp-shadow-sm)}
.cgp-case-image{width:100%;height:100%;min-height:300px;object-fit:cover}.cgp-case-card>div{padding:28px 28px 28px 0}.cgp-case-card h2{font-size:clamp(1.45rem,2vw,2rem)}
.cgp-tool-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.72fr);gap:34px;align-items:start}.cgp-tool-panel,.cgp-tool-output{padding:clamp(26px,4vw,44px);border-radius:var(--cgp-radius);box-shadow:var(--cgp-shadow-sm)}
.cgp-tool-panel{border:1px solid var(--cgp-border);background:#fff}.cgp-tool-output{position:sticky;top:142px;background:var(--cgp-ink);color:#dce8f2}.cgp-tool-output h2{color:#fff}.cgp-tool-output .cgp-kicker{color:#8bd3f2}.cgp-tool-output .cgp-button.secondary{border-color:rgba(255,255,255,.4);color:#fff}
.cgp-assessment{display:grid;gap:28px}.cgp-assessment fieldset{display:grid;gap:10px;margin:0;padding:0;border:0}.cgp-assessment legend{margin-bottom:10px;color:var(--cgp-ink);font-family:var(--cgp-serif);font-size:1.35rem;font-weight:700}
.cgp-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--cgp-border);border-radius:13px;background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease}.cgp-option:hover{border-color:var(--cgp-sky);background:var(--cgp-mist)}
.cgp-option input{width:18px;height:18px;margin-top:3px;accent-color:var(--cgp-navy)}.cgp-option span{font-weight:700}
.cgp-tool-result-list{margin:18px 0 0;padding-left:20px}.cgp-tool-result-list li{margin:8px 0}.cgp-result-badge{display:inline-block;margin-bottom:14px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1050px){.cgp-article-hero-grid{grid-template-columns:1fr .72fr;gap:36px}.cgp-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cgp-case-grid{grid-template-columns:1fr}}
@media(max-width:860px){.cgp-article-hero-grid,.cgp-source-card,.cgp-tool-layout{grid-template-columns:1fr}.cgp-article-figure{max-width:680px}.cgp-tool-output{position:relative;top:auto}.cgp-case-card{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:680px){.cgp-article-hero{padding-block:34px 58px}.cgp-breadcrumb{margin-bottom:24px}.cgp-signal-list,.cgp-list-grid{grid-template-columns:1fr}.cgp-source-card{gap:24px}.cgp-source-card .cgp-button{width:100%}.cgp-case-card{grid-template-columns:1fr}.cgp-case-image{height:250px;min-height:0}.cgp-case-card>div{padding:0 24px 26px}.cgp-tool-panel,.cgp-tool-output{padding:24px}.cgp-article-image{aspect-ratio:4/3}}
