/* Restaurant Groups · page refine v2 (2026-10-26) · prefix grp- · replaces restaurant-groups.css on this page.
   Section rhythm follows PR & Brand Launch: white hero → photo band → cream → white → white → gradient → cream → charcoal → white → cream → FAQ → shared CTA. */
/* Existing integration fixes: scoped skip link and nonduplicated button arrow. */
.rg-page>.rg-skip{position:absolute;left:20px;top:-100px;z-index:1000;background:#fff;padding:12px}.rg-page>.rg-skip:focus{top:10px}
main.grp .btn svg{width:14px;height:14px}main.grp .btn:has(svg)::after{display:none}
main.grp .grp-btn-ghost:disabled{cursor:default;opacity:1}
main.grp .grp-launch-l::before{transform-origin:top}
main.grp .grp-sequence .grp-launch-l::before{animation:grp-launch-fill 1.2s ease-out both}
@keyframes grp-launch-fill{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){main.grp *,main.grp *::before,main.grp *::after{animation:none!important;transition:none!important}}
main.grp{--grp-ink:#17171b;--grp-soft:#6e6c66;--grp-line:#e4e1da;--grp-cream:#F5F3F0;--grp-char:#1a1719;--grp-pink:#E84274;--grp-pink-ink:#c72d5c;--grp-green:#1d7a46;--grp-red:#b8372b;
 --grp-grad:linear-gradient(135deg,#F59700 0%,#EC625F 50%,#E84274 100%);--grp-ease:cubic-bezier(.32,.72,0,1);
 --grp-shadow:0 1px 1px rgba(23,23,27,.06),0 26px 52px -30px rgba(23,23,27,.55);background:#fff;color:#232323}
main.grp section{position:relative}
main.grp p{max-width:none}
main.grp ul,main.grp ol{margin:0;padding:0;list-style:none}
main.grp [id]{scroll-margin-top:120px}
main.grp h3{margin:0}
:where(main.grp) :where(.grp-cal,.grp-week,.grp-rc,.grp-sheet,.grp-post,.grp-mini,.grp-appr,.grp-report,.grp-launch,.grp-30-l,.grp-steps4,.grp-adv-g,.grp-ways,.grp-gap-pts) p{margin:0}
main.grp>section:not(.pp-final-cta){padding:clamp(72px,9vw,124px) 0}
.grp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.grp-hero-g>*,.grp-gap-g>*,.grp-voice-g>*,.grp-ctl-g>*,.grp-open-g>*,.grp-faq-g>*,.grp-head>*{min-width:0}
.grp-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--grp-ink);text-decoration:none}
.grp-link:hover{color:var(--grp-pink-ink)}
.grp-link svg,.grp-inline svg{width:14px;height:14px}
.grp-inline{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--grp-pink-ink);text-decoration:none}
.grp-tag{position:absolute;right:12px;top:12px;font:600 11px/1 'Outfit',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:99px;background:#2b2b2e;color:#fff;z-index:3}
.grp-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:end;margin-bottom:44px}
.grp-head h2{margin:0;max-width:20ch}
main.grp .grp-head>p{margin:0;color:var(--grp-soft);font-size:1.05rem;line-height:1.6}
.grp-bg{position:absolute;inset:0;z-index:-2}.grp-bg img{width:100%;height:100%;object-fit:cover;display:block}
.grp-photo{isolation:isolate;overflow:hidden}
.grp-photo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.grp-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--grp-ink);color:#fff;font-weight:700;font-size:.9rem;flex:none}
@keyframes grp-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* 01 hero · white */
.grp-hero{background:#fff;overflow:hidden}
main.grp>.grp-hero{padding:clamp(40px,6vw,84px) 0 clamp(64px,8vw,104px)}
.grp-hero-g{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:center}
main.grp .grp-hero-copy>p:not(.eyebrow){max-width:44ch;color:var(--grp-soft);font-size:1.1rem;line-height:1.6;margin-top:22px}
.grp-hero-copy .btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:26px}
main.grp .grp-hero .btn-dark{background:var(--grp-ink);color:#fff;border:1px solid var(--grp-ink)}
main.grp .grp-hero .btn-dark:hover{background:var(--grp-pink);border-color:var(--grp-pink);color:#17171b}
.grp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px!important}
.grp-chips li{font-size:.86rem;font-weight:600;color:var(--grp-ink);border:1px solid var(--grp-line);border-radius:99px;padding:6px 12px;background:var(--grp-cream)}
.grp-hero-art{position:relative;margin:0;padding:0 0 70px}
.grp-hero-photo{display:block;width:86%;margin-left:auto;height:520px!important;object-fit:cover;border-radius:24px;box-shadow:0 50px 90px -50px rgba(0,0,0,.7)}
.grp-cal{position:absolute;left:0;bottom:0;width:min(320px,64%);background:#fff;border-radius:22px;padding:16px;box-shadow:var(--grp-shadow);animation:grp-up .9s var(--grp-ease) both}
.grp-cal-h{display:grid;padding:0 70px 12px 2px;border-bottom:1px solid #eee}
.grp-cal-h small{color:var(--grp-soft);font-size:.78rem}
.grp-cal li{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 2px;border-bottom:1px solid #f2f0eb}
.grp-cal li:last-child{border-bottom:0;padding-bottom:2px}
.grp-cal li i{height:30px;border-radius:2px;background:var(--c)}
.grp-cal li span{display:grid}
.grp-cal li b{font-size:.92rem}
.grp-cal li small{color:var(--grp-soft);font-size:.8rem}
.grp-cal li em{font-style:normal;font-size:.78rem;font-weight:600;color:var(--grp-soft);background:var(--grp-cream);padding:4px 8px;border-radius:99px}
.grp-toast{position:absolute;right:-8px;top:28px;display:flex;gap:10px;align-items:center;max-width:260px;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:var(--grp-shadow);font-size:.84rem;animation:grp-up .9s .15s var(--grp-ease) both}
.grp-toast span:last-child{display:grid}
.grp-toast small{color:var(--grp-soft)}
.grp-ok{width:22px;height:22px;border-radius:50%;background:var(--grp-green);flex:none;position:relative}
.grp-ok::after{content:"";position:absolute;left:7px;top:4px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* 02 gap · photo band under charcoal overlay (same treatment as PR "Why Press") */
.grp-gap{background:var(--grp-char);color:#fff}
/* Scoped contrast repair: retain photography, crop and text geometry. */
.grp-gap::after{background:linear-gradient(90deg,rgba(26,23,25,.94) 0%,rgba(26,23,25,.86) 50%,rgba(26,23,25,.74) 100%)}
.grp-gap .eyebrow{color:#ffc09a!important;border-color:rgba(245,151,0,.5)!important;background:rgba(255,255,255,.05)!important}
.grp-gap-g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.grp-gap h2{color:#fff;margin:0;max-width:14ch}
main.grp .grp-gap-copy>p:not(.eyebrow){color:rgba(255,255,255,.78);font-size:1.05rem;line-height:1.6;margin-top:16px}
.grp-gap-pts{display:grid;gap:10px;margin-top:24px!important}
.grp-gap-pts li{padding:14px 16px 14px 40px;border-radius:16px;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,255,255,.12);color:#fff;font-weight:600;position:relative}
.grp-gap-pts li::before{content:"";position:absolute;left:16px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:3px;background:var(--grp-pink)}
.grp-week{position:relative;background:#fff;color:var(--grp-ink);border-radius:24px;padding:20px;box-shadow:0 0 0 6px rgba(255,255,255,.08),0 40px 80px -40px rgba(0,0,0,.85)}
.grp-week-h{display:flex;gap:12px;align-items:center;padding:0 80px 14px 0;border-bottom:1px solid #eee}
.grp-week-h span:last-child{display:grid}
.grp-week-h small{color:var(--grp-soft);font-size:.8rem}
.grp-week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px!important}
.grp-week-grid li{display:grid;gap:6px;align-content:start}
.grp-week-grid li>b{font-size:.78rem;color:var(--grp-soft);font-weight:600;padding:0 2px 4px}
.grp-week-grid .ev{display:block;font-size:.76rem;line-height:1.3;padding:8px;border-radius:8px;min-height:50px}
.ev-new{background:#fde5ec;color:#8f1d42;box-shadow:inset 3px 0 0 var(--grp-pink)}
.ev-ops{background:#f1eee9;color:#4b4945}
.ev-dim{background:repeating-linear-gradient(135deg,#fafaf8 0 6px,#f3f2ef 6px 12px);color:#7d7a74}
.ev-more{background:var(--grp-ink);color:#fff;font-weight:600;display:grid!important;place-items:center}
.grp-week-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px!important;font-size:.78rem;color:var(--grp-soft)}
.grp-week-legend span{display:inline-flex;align-items:center;gap:6px}
.grp-week-legend i{width:10px;height:10px;border-radius:3px}
.lg-new{background:var(--grp-pink)}.lg-ops{background:#d9d5ce}.lg-dim{background:#ecebe7;box-shadow:inset 0 0 0 1px #d9d6d0}

/* 03 research · cream */
.grp-res{background:var(--grp-cream)}
.grp-rc-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grp-rc{position:relative;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1px rgba(23,23,27,.05),0 30px 60px -44px rgba(23,23,27,.5)}
.grp-map{position:relative;height:150px;background:#eceee9;background-image:linear-gradient(#fff 3px,transparent 3px),linear-gradient(90deg,#fff 3px,transparent 3px),linear-gradient(28deg,transparent 48%,#fff 48%,#fff 53%,transparent 53%);background-size:56px 44px,56px 44px,100% 100%}
.grp-map i{position:absolute;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);background:#9a968f;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.grp-map i.you{width:20px;height:20px;background:var(--c);box-shadow:0 0 0 4px rgba(255,255,255,.9),0 4px 10px rgba(0,0,0,.25)}
.grp-rc-b{padding:18px 20px 20px}
.grp-rc h3{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:1.2rem}
.grp-rc h3 small{font-size:.82rem;font-weight:500;color:var(--grp-soft);width:100%}
.grp-rc .sw{width:12px;height:12px;border-radius:3px;background:var(--c)}
.grp-rc-list{margin-top:12px!important}
.grp-rc-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #f0ede8;font-size:.86rem}
.grp-rc-list em{font-style:normal;color:var(--grp-soft);text-align:right;white-space:nowrap}
.grp-rc-gap{margin-top:12px!important;padding:12px 14px;border-radius:12px;background:var(--grp-cream);font-size:.9rem;line-height:1.45}
.grp-rc-gap b{color:var(--grp-pink-ink)}
.grp-steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px!important}
.grp-steps4 li{display:grid;gap:4px;align-content:start;padding:20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgba(23,23,27,.05)}
.grp-steps4 span{font-size:.8rem;font-weight:700;color:var(--grp-pink-ink);letter-spacing:.06em}
.grp-steps4 b{font-size:1.1rem;color:var(--grp-ink)}
.grp-steps4 p{color:var(--grp-soft);font-size:.95rem;line-height:1.5}

/* 04 compare · white */
.grp-cmp{background:#fff}
.grp-cmp-wrap{background:#fff;border-radius:24px;padding:8px;box-shadow:0 0 0 6px var(--grp-cream),0 0 0 7px var(--grp-line),var(--grp-shadow)}
.grp-cmp-t{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;table-layout:fixed}
.grp-cmp-t thead th{text-align:left;font-size:.95rem;font-weight:700;color:var(--grp-ink);padding:18px 18px 14px}
.grp-cmp-t thead td{width:22%}
.grp-cmp-t tbody th{text-align:left;font-weight:600;color:var(--grp-soft);font-size:.86rem;padding:16px 18px;border-top:1px solid #f0ede8;vertical-align:top}
.grp-cmp-t tbody td{padding:16px 18px;border-top:1px solid #f0ede8;color:#3b3a37;vertical-align:top;line-height:1.45}
.grp-cmp-t .pp{background:var(--grp-char);color:#fff;border-top-color:rgba(255,255,255,.1)}
.grp-cmp-t thead .pp{border-radius:16px 16px 0 0}
.grp-cmp-t thead .pp span{display:inline-flex;align-items:center;gap:8px}
.grp-cmp-t thead .pp span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--grp-grad)}
.grp-cmp-t tbody tr:last-child .pp{border-radius:0 0 16px 16px}
.grp-cmp-t tbody td.pp{font-weight:500}
main.grp .grp-cmp-note{margin-top:22px;color:var(--grp-soft)}
.grp-cmp-note b{color:var(--grp-ink)}

/* 05 brand sheets · white with top rule */
.grp-voice{background:#fff;border-top:1px solid var(--grp-line)}
.grp-voice-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.grp-voice h2{margin:0;max-width:14ch}
main.grp .grp-voice-copy>p:not(.eyebrow):not(.grp-small){color:var(--grp-soft);font-size:1.05rem;line-height:1.6;margin-top:16px}
.grp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.grp-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:99px;border:1px solid rgba(23,23,27,.12);background:#fff;font:600 .92rem 'Outfit',sans-serif;color:var(--grp-ink);cursor:pointer;transition:background .35s var(--grp-ease),color .35s,border-color .35s}
.grp-tabs button i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.grp-tabs button:hover{border-color:var(--grp-ink)}
.grp-tabs button[aria-selected="true"]{background:var(--grp-ink);color:#fff;border-color:var(--grp-ink)}
main.grp .grp-small{margin-top:12px;font-size:.84rem;color:var(--grp-soft)}
.grp-voice-stage{position:relative;background:var(--grp-cream);border-radius:28px;padding:36px}
.grp-bs-pane{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;align-items:center;animation:grp-up .5s var(--grp-ease) both}
.grp-bs-pane[hidden]{display:none}
.grp-appr-btns[hidden],.grp-appr-done[hidden]{display:none}
.grp-sheet{position:relative;background:#fff;border-radius:16px;padding:22px;box-shadow:var(--grp-shadow);border-top:6px solid var(--k)}
.grp-sheet header{display:grid;padding-right:70px;margin-bottom:12px}
.grp-sheet header small{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-soft)}
.grp-sheet-name{font-size:2rem;line-height:1.1;margin-top:6px;color:var(--k)}
.grp-sheet header span{color:var(--grp-soft);font-size:.9rem}
.s-sora{--k:#2b3a55}.s-pot{--k:#e2492f}.s-noodle{--k:#a86f00}
.s-sora .grp-sheet-name{font:italic 400 2.4rem/1 'Instrument Serif',Georgia,serif}
.s-pot .grp-sheet-name{font-weight:800;letter-spacing:-.02em}
.s-noodle .grp-sheet-name{font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.7rem}
.grp-sheet dl{margin:0;display:grid}
.grp-sheet dl div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid #f0ede8;font-size:.9rem}
.grp-sheet dt{color:var(--grp-soft);font-weight:600}
.grp-sheet dd{margin:0;color:var(--grp-ink)}
.grp-pal{display:flex;gap:6px}
.grp-pal i{width:26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.grp-dodont{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.grp-dodont p{padding:10px 12px;border-radius:10px;background:#f2f8f3;font-size:.84rem;line-height:1.4;display:grid;gap:2px}
.grp-dodont p+p{background:#fcf0f0}
.grp-dodont b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-green)}
.grp-dodont p+p b{color:var(--grp-red)}
.grp-post{background:#fff;border-radius:22px;padding:10px;box-shadow:var(--grp-shadow);font-size:.82rem;line-height:1.45}
.grp-post-h{display:flex;align-items:center;gap:8px;padding:2px 4px 10px}
.grp-post-h i{width:24px;height:24px;border-radius:50%;background:var(--k);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--k)}
.grp-post-img{aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#eee}
.grp-post-img img{width:100%;height:100%!important;object-fit:cover;display:block}
.grp-post p{padding:10px 4px 2px}

/* 06 advantage · original brand gradient, all text white */
/* Original brand gradient stops retained beneath the readability veil. */
.grp-adv{background:linear-gradient(rgba(26,23,25,.45),rgba(26,23,25,.45)),var(--grp-grad);color:#fff;isolation:isolate;overflow:hidden}
.grp-adv::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-radial-gradient(ellipse 140% 70% at 80% 0%,rgba(255,255,255,0) 0 30px,rgba(255,255,255,.06) 34px,rgba(255,255,255,0) 40px)}
.grp-adv h2,main.grp .grp-adv .grp-head>p{color:#fff}
.grp-adv .eyebrow{color:#fff!important;border-color:rgba(255,255,255,.7)!important;background:rgba(26,23,25,.12)!important}
.grp-adv-g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.grp-adv-g>li{grid-column:span 2;display:flex;flex-direction:column;gap:6px;padding:14px 14px 22px;border-radius:22px;background:rgba(255,255,255,.96);color:var(--grp-ink);box-shadow:0 0 0 6px rgba(255,255,255,.18),0 40px 80px -40px rgba(90,20,40,.55)}
.grp-adv-g>li.a4,.grp-adv-g>li.a5{grid-column:span 3}
.grp-adv-g>li.a1{background:var(--grp-char);color:#fff}
.grp-adv-g h3{font-size:1.15rem;margin:14px 6px 0!important}
.grp-adv-g>li>p{color:var(--grp-soft);font-size:.95rem;margin:0 6px!important}
.grp-adv-g>li.a1>p{color:rgba(255,255,255,.72)}
.grp-mini{background:var(--grp-cream);color:var(--grp-ink);border-radius:14px;padding:14px;font-size:.84rem;min-height:150px}
.a1 .grp-mini{background:rgba(255,255,255,.08);color:#fff}
.grp-mini small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-soft);margin-bottom:8px}
.a1 .grp-mini small{color:#ffc09a}
.grp-shot p{display:flex;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.12)}
main.grp .grp-shot p{color:#fff}
.grp-shot p span{color:#ffc09a;font-weight:600;width:42px;flex:none}
.grp-mail{background:#fff;box-shadow:0 0 0 1px var(--grp-line)}
.grp-mail p+p{color:var(--grp-soft);margin-top:4px!important}
.grp-mail p b{font-size:1rem}
.grp-site{padding:0;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--grp-line)}
.grp-site-bar{display:flex;align-items:center;gap:5px;padding:10px 12px;background:#f3f1ed}
.grp-site-bar i{width:8px;height:8px;border-radius:50%;background:#d6d2cb}
.grp-site-bar span{margin-left:8px;font-size:.74rem;color:var(--grp-soft);background:#fff;border-radius:99px;padding:3px 10px}
.grp-site-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:12px}
.grp-site-row span{display:grid;align-content:end;height:78px;border-radius:8px;padding:8px;color:#fff;font-weight:700;font-size:.78rem;background:var(--c)}
.grp-gift{display:grid;align-content:space-between;background:var(--grp-char);color:#fff;position:relative;overflow:hidden}
.grp-gift::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--grp-grad)}
.grp-gift small{color:rgba(255,255,255,.6)}
.grp-gift b{font-size:2rem;position:relative;z-index:1}
.grp-gift span{color:rgba(255,255,255,.75)}
.grp-hire{display:grid;align-content:start;gap:4px;background:#fff;box-shadow:0 0 0 1px var(--grp-line)}
.grp-hire b{font-size:1.1rem}
.grp-hire span{color:var(--grp-soft)}
.grp-hire em{font-style:normal;justify-self:start;margin-top:10px;font-weight:700;font-size:.8rem;padding:7px 14px;border-radius:99px;background:var(--grp-ink);color:#fff}

/* 07 control · cream */
.grp-ctl{background:var(--grp-cream)}
.grp-ctl-g{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:center}
.grp-ctl h2{margin:0;max-width:16ch}
main.grp .grp-ctl-copy>p:not(.eyebrow):not(.grp-ways-h):not(.grp-own){color:var(--grp-soft);font-size:1.05rem;line-height:1.6;margin-top:16px}
main.grp .grp-ways-h{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grp-soft);margin:28px 0 10px}
.grp-ways{display:grid;gap:10px}
.grp-ways li{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:16px 18px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px rgba(23,23,27,.05)}
.grp-ways b{color:var(--grp-ink)}
.grp-ways span{color:var(--grp-soft);line-height:1.45}
main.grp .grp-own{margin-top:18px;padding:12px 16px;border-radius:14px;background:var(--grp-char);color:rgba(255,255,255,.85);font-size:.95rem}
.grp-own b{color:#ffc09a}
.grp-ctl-art{position:relative;margin:0;padding:0 0 60px}
.grp-ctl-photo{display:block;width:78%;height:480px!important;object-fit:cover;border-radius:24px;box-shadow:0 50px 90px -50px rgba(0,0,0,.6)}
.grp-appr{position:absolute;right:0;bottom:0;width:min(340px,62%);background:#fff;border-radius:22px;padding:16px;box-shadow:var(--grp-shadow)}
.grp-appr-h{display:flex;gap:10px;align-items:center;padding-right:76px}
.grp-appr-h span:last-child{display:grid}
.grp-appr-h b{font-size:.9rem}
.grp-appr-h small{color:var(--grp-soft);font-size:.76rem}
.grp-appr-media{position:relative;margin-top:12px;height:150px;border-radius:12px;overflow:hidden}
.grp-appr-media img{width:100%;height:100%!important;object-fit:cover;display:block}
.grp-appr-media::before{content:"";position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(255,255,255,.9);z-index:1}
.grp-appr-media::after{content:"";position:absolute;left:50%;top:50%;margin:-8px 0 0 -4px;border:8px solid transparent;border-left:12px solid var(--grp-ink);border-right:0;z-index:2}
.grp-appr-media span{position:absolute;right:8px;bottom:8px;font-size:.72rem;font-weight:600;color:#fff;background:rgba(0,0,0,.55);padding:3px 7px;border-radius:6px;z-index:1}
.grp-appr-cap{margin-top:10px!important;font-size:.86rem;color:#3b3a37;font-style:italic}
.grp-flow{display:flex;gap:6px;margin-top:12px!important;font-size:.76rem;font-weight:600}
.grp-flow li{flex:1;text-align:center;padding:7px 4px;border-radius:99px;background:#f2f0eb;color:var(--grp-soft);transition:background .4s var(--grp-ease),color .4s}
.grp-flow li.done{background:#e6f2ea;color:var(--grp-green)}
.grp-flow li.now{background:var(--grp-ink);color:#fff}
.grp-appr-btns{display:flex;gap:8px;margin-top:12px}
.grp-appr-btns button{flex:1;min-height:44px;border-radius:12px;font:600 .9rem 'Outfit',sans-serif;cursor:pointer;transition:background .3s var(--grp-ease)}
.grp-btn-ok{border:0;background:var(--grp-green);color:#fff}
.grp-btn-ok:hover{background:#155e35}
.grp-btn-ghost{border:1px solid var(--grp-line);background:#fff;color:var(--grp-ink)}
.grp-appr-done{margin-top:12px!important;padding:10px 12px;border-radius:12px;background:#e6f2ea;color:var(--grp-green);font-weight:600;font-size:.88rem;animation:grp-up .5s var(--grp-ease) both}
.grp-tabs button:focus-visible,.grp-appr-btns button:focus-visible{outline:2px solid var(--grp-pink);outline-offset:2px}

/* 08 report · charcoal + slow brand glow (same as PR story) */
.grp-rep{background:var(--grp-char);color:#fff;isolation:isolate;overflow:hidden}
.grp-rep::before{content:"";position:absolute;z-index:-1;width:60vw;height:60vw;left:-20vw;bottom:-30vw;border-radius:50%;background:radial-gradient(closest-side,rgba(245,151,0,.35),rgba(232,66,116,.18) 55%,transparent 75%);animation:grp-glow 24s var(--grp-ease) infinite alternate;pointer-events:none}
@keyframes grp-glow{to{transform:translate3d(8vw,-6vw,0) scale(1.1)}}
.grp-rep h2{color:#fff}
main.grp .grp-rep .grp-head>p{color:rgba(255,255,255,.7)}
.grp-rep .eyebrow{color:#ffc09a!important;border-color:rgba(245,151,0,.5)!important;background:rgba(255,255,255,.05)!important}
.grp-report{position:relative;background:#fff;color:var(--grp-ink);border-radius:24px;padding:22px;box-shadow:0 0 0 6px rgba(255,255,255,.06),0 40px 80px -40px rgba(0,0,0,.85)}
.grp-report-h{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:0 80px 14px 0;border-bottom:1px solid #eee}
.grp-report-h>span:first-child{display:grid}
.grp-report-h small{color:var(--grp-soft);font-size:.8rem}
.grp-report-call{font-size:.82rem;font-weight:600;padding:7px 12px;border-radius:99px;background:var(--grp-cream)}
.grp-report-scroll{overflow-x:auto}
.grp-report-t{width:100%;min-width:780px;border-collapse:collapse;font-size:.9rem}
.grp-report-t th,.grp-report-t td{text-align:left;padding:14px 10px;border-bottom:1px solid #f2f0eb;vertical-align:top}
.grp-report-t thead th{font-size:.76rem;font-weight:600;color:var(--grp-soft);padding-top:16px}
.grp-report-t tbody th{font-weight:700;white-space:nowrap}
.grp-report-t tbody th i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--c);margin-right:8px}
.grp-report-t tr:last-child>*{border-bottom:0}
.grp-report-t em{font-style:normal;font-size:.78rem;font-weight:700;white-space:nowrap}
.grp-report-t em.up{color:var(--grp-green)}
.grp-report-t em.dn{color:var(--grp-red)}
main.grp .grp-caveat{margin-top:18px;color:#ff8fb0;font-size:.95rem}

/* 09 opening · white */
.grp-open{background:#fff}
.grp-open-g{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:start}
.grp-open-l h2{margin:0}
main.grp .grp-open-l>p:not(.eyebrow):not(.grp-open-link){color:var(--grp-soft);font-size:1.05rem;line-height:1.6;margin-top:16px}
.grp-open-l figure{margin:28px 0 0;height:300px;border-radius:22px;overflow:hidden}
.grp-open-l figure img{width:100%;height:100%!important;object-fit:cover;display:block}
main.grp .grp-open-link{margin-top:18px;font-weight:500;font-size:1rem}
.grp-launch{position:relative;background:#fff;border-radius:24px;padding:20px;box-shadow:0 0 0 6px var(--grp-cream),0 0 0 7px var(--grp-line),var(--grp-shadow)}
.grp-launch-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 80px 14px 0;border-bottom:1px solid #eee}
.grp-launch-h>span:first-child{display:grid}
.grp-launch-h small{color:var(--grp-soft);font-size:.8rem}
.grp-launch-count{font-size:.82rem;color:var(--grp-soft);white-space:nowrap}
.grp-launch-count b{font-size:1.2rem;color:var(--grp-ink);margin-right:4px}
.grp-launch-l{position:relative;display:grid;gap:12px;margin-top:16px!important;padding-left:28px!important}
.grp-launch-l::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:linear-gradient(#F59700,#E84274)}
.grp-launch-l li{position:relative;background:#fff;border-radius:18px;padding:16px 18px;box-shadow:0 0 0 1px rgba(23,23,27,.06),0 20px 40px -32px rgba(23,23,27,.4)}
.grp-launch-l li::before{content:"";position:absolute;left:-28px;top:20px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--grp-pink)}
.grp-launch-l li.done::before{background:var(--grp-pink)}
.grp-launch-l li.now{background:var(--grp-cream)}
.grp-launch-l span{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--grp-pink-ink)}
.grp-launch-l h3{font-size:1.1rem;margin:4px 0 2px!important}
.grp-launch-l p{color:var(--grp-soft);font-size:.92rem}

/* 10 first 30 days · cream */
.grp-30{background:var(--grp-cream)}
.grp-30-l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.grp-30-l li{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px rgba(23,23,27,.05),0 20px 40px -30px rgba(23,23,27,.4);border-top:4px solid transparent;border-image:var(--grp-grad) 1;border-image-slice:1 0 0 0}
.grp-30-l span{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--grp-pink-ink)}
.grp-30-l h3{font-size:1.2rem}
.grp-30-l p{color:var(--grp-soft);font-size:.95rem;line-height:1.5;flex:1}
.grp-30-l em{font-style:normal;font-size:.86rem;font-weight:600;color:var(--grp-ink);padding-top:12px;border-top:1px solid #f0ede8;margin-top:8px}

/* 11 faq · white */
.grp-faq{background:#fff}
.grp-faq-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.grp-faq-g h2{margin:0;max-width:12ch}
.grp-faq details{border-bottom:1px solid var(--grp-line)}
.grp-faq details:first-child{border-top:1px solid var(--grp-line)}
.grp-faq summary{display:flex;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;list-style:none;font-weight:600;font-size:1.04rem;color:var(--grp-ink)}
.grp-faq summary::-webkit-details-marker{display:none}
.grp-faq summary::after{content:"+";color:var(--grp-pink);font-size:1.3rem;line-height:1;transition:transform .2s;flex:none}
.grp-faq details[open] summary::after{transform:rotate(45deg)}
main.grp .grp-faq details p{margin:0 0 20px;color:var(--grp-soft);line-height:1.65;padding-right:32px}

@media (max-width:1024px){
 .grp-adv-g{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grp-adv-g>li,.grp-adv-g>li.a4{grid-column:span 1}
 .grp-adv-g>li.a5{grid-column:span 2}
 .grp-bs-pane{grid-template-columns:1fr}
 .grp-post{display:none}
 .grp-30-l{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
 .grp-head,.grp-hero-g,.grp-gap-g,.grp-voice-g,.grp-ctl-g,.grp-open-g,.grp-faq-g{grid-template-columns:1fr;gap:28px}
 .grp-head{gap:14px}
 .grp-hero-art,.grp-ctl-art{max-width:620px}
 .grp-rc-g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none;contain:paint;padding-bottom:6px}
 .grp-rc-g::-webkit-scrollbar{display:none}
 .grp-rc{flex:0 0 min(78%,340px);scroll-snap-align:start}
 .grp-steps4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .grp-voice-stage{padding:20px}
}
@media (max-width:700px){
 .grp-hero-photo{width:100%;height:340px!important}
 .grp-hero-art{padding-bottom:170px}
 .grp-cal{width:86%}
 .grp-toast{top:14px;right:12px;max-width:240px}
 .grp-week{padding:16px}
 .grp-week-grid{grid-template-columns:repeat(5,minmax(96px,1fr));overflow-x:auto;scrollbar-width:none;contain:paint;padding-bottom:4px}
 .grp-week-grid::-webkit-scrollbar{display:none}
 .grp-steps4{grid-template-columns:1fr}
 .grp-cmp-wrap{padding:0;background:transparent;box-shadow:none}
 .grp-cmp-t,.grp-cmp-t tbody,.grp-cmp-t tr{display:block}
 .grp-cmp-t thead{display:none}
 .grp-cmp-t tr{background:#fff;border-radius:18px;padding:6px 16px;margin-bottom:10px;box-shadow:0 0 0 1px var(--grp-line)}
 .grp-cmp-t tbody th{display:block;padding:12px 0 6px;border:0;color:var(--grp-ink);font-size:.95rem}
 .grp-cmp-t tbody td{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid #f0ede8;font-size:.9rem}
 .grp-cmp-t tbody td::before{content:attr(data-l);font-size:.78rem;font-weight:600;color:var(--grp-soft)}
 .grp-cmp-t tbody td.pp{background:var(--grp-char);margin:4px -10px 8px;padding:10px;border-radius:12px!important}
 .grp-cmp-t tbody td.pp::before{color:#ffc09a}
 .grp-sheet{padding:18px}
 .grp-sheet dl div{grid-template-columns:64px minmax(0,1fr)}
 .grp-dodont{grid-template-columns:1fr}
 .grp-voice-stage{padding:14px;border-radius:22px}
 .grp-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;contain:paint;padding-bottom:4px}
 .grp-tabs::-webkit-scrollbar{display:none}
 .grp-tabs button{flex:none}
 .grp-adv-g{grid-template-columns:1fr}
 .grp-adv-g>li,.grp-adv-g>li.a5{grid-column:span 1}
 .grp-ways li{grid-template-columns:1fr;gap:2px}
 .grp-ctl-photo{width:100%;height:320px!important}
 .grp-ctl-art{padding-bottom:300px}
 .grp-appr{width:90%;right:5%}
 .grp-report{padding:16px}
 .grp-report-h{padding-right:70px}
 .grp-report-t{min-width:0}
 .grp-report-t thead{display:none}
 .grp-report-t,.grp-report-t tbody,.grp-report-t tr{display:block}
 .grp-report-t tr{padding:6px 0 10px;border-bottom:1px solid #eee}
 .grp-report-t tr:last-child{border-bottom:0}
 .grp-report-t tbody th{display:block;padding:12px 0 6px;border:0}
 .grp-report-t td{display:block;padding:6px 0 6px 128px;position:relative;border:0;font-size:.88rem}
 .grp-report-t td::before{content:attr(data-l);position:absolute;left:0;top:7px;width:118px;font-size:.76rem;font-weight:600;color:var(--grp-soft)}
 .grp-open-l figure{height:200px}
 .grp-launch-h{flex-wrap:wrap}
 .grp-30-l{grid-template-columns:1fr}
 main.grp .grp-faq details p{padding-right:0}
}
@media (prefers-reduced-motion:reduce){.grp-cal,.grp-toast,.grp-bs-pane,.grp-appr-done{animation:none}.grp-rep::before{animation:none}.grp-tabs button,.grp-flow li,.grp-appr-btns button{transition:none}}
