/* ==========================================================================
   the gracespace — main stylesheet
   --------------------------------------------------------------------------
   1. Fonts (self-hosted)         5. Hero
   2. Design tokens               6. Sections (about, lenses, band…)
   3. Base                        7. Footer
   4. Components & header         8. Responsive
   ========================================================================== */


/* 1. FONTS ----------------------------------------------------------------
   Playfair Display (headlines) and Be Vietnam Pro (body). Both OFL-licensed,
   served from /assets/fonts so the site makes no third-party requests.
   Each family is split in three subsets; the browser only downloads the ones
   the page actually needs (unicode-range). "vietnamese" carries ă â đ ê ô ơ ư
   and every tone-marked vowel. */

/* Playfair Display 400 — normal */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-vietnamese-400-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Playfair Display 400 — italic */
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-vietnamese-400-italic.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Be Vietnam Pro 300 */
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/be-vietnam-pro-vietnamese-300-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Be Vietnam Pro 400 */
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/be-vietnam-pro-vietnamese-400-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Be Vietnam Pro 400 italic (the four questions on the about page) */
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/be-vietnam-pro-vietnamese-400-italic.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Be Vietnam Pro 600 (the bold line on the about page) */
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/be-vietnam-pro-vietnamese-600-normal.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/be-vietnam-pro-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


/* 2. DESIGN TOKENS --------------------------------------------------------
   The brand palette is exactly six colours (Brand Direction, section 05).
   Anything lighter or softer is one of these six at reduced opacity — no
   additional hues are introduced anywhere in this file. */
:root{
  /* palette */
  --ivory:#F4F0E8;      /* Warm Ivory    — main background            */
  --sand:#DED5C7;       /* Soft Sand     — secondary background       */
  --charcoal:#292925;   /* Warm Charcoal — primary text               */
  --sage:#A7AE98;       /* Quiet Sage    — soft accent                */
  --olive:#394338;      /* Deep Olive    — headings, CTA, dark panels */
  --clay:#B99B8C;       /* Muted Clay    — use extremely sparingly    */

  /* the same colours at reduced opacity (blobs, borders, muted text) */
  --ink-soft:rgba(41,41,37,.74);        /* charcoal  */
  --olive-soft:rgba(57,67,56,.78);      /* olive     */
  --olive-line:rgba(57,67,56,.35);      /* olive     */
  --olive-wash:rgba(57,67,56,.09);      /* olive     */
  --olive-wash-hover:rgba(57,67,56,.17);
  --sage-strong:rgba(167,174,152,.55);  /* sage      */
  --sage-mid:rgba(167,174,152,.45);
  --sage-soft:rgba(167,174,152,.3);
  --clay-mid:rgba(185,155,140,.5);      /* clay      */
  --ivory-line:rgba(244,240,232,.45);   /* ivory     */
  --ivory-hair:rgba(244,240,232,.2);
  --ivory-soft:rgba(244,240,232,.8);

  /* type */
  --font-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-sans:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* layout */
  --gutter:clamp(24px,6.7vw,96px);      /* side padding of full-width sections */
  --panel-gutter:clamp(12px,2vw,28px);  /* side margin of the floating header  */
  --radius-sheet:56px;                  /* rounded top edge of every colour band */
  --radius-card:40px;
  --maxw:1248px;
  --ease:cubic-bezier(.22,.61,.36,1);
}


/* 3. BASE ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;background:var(--ivory);color:var(--charcoal);
  font-family:var(--font-sans);font-size:16.5px;font-weight:300;line-height:1.75;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,p,ul,ol,blockquote,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.sheet--olive :focus-visible,.foot :focus-visible{outline-color:var(--ivory)}

.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--olive);color:var(--ivory);padding:12px 22px;border-radius:999px;font-size:14.5px}
.skip-link:focus{left:16px}

.serif{font-family:var(--font-serif);font-weight:400}
.eyebrow{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.5;color:var(--olive)}

.photo{object-fit:cover;filter:saturate(.92)}      /* gentle, so photos sit inside the palette */
.blob{position:absolute;aspect-ratio:1/1;pointer-events:none}

main{overflow-x:hidden;overflow-x:clip}   /* decorative blobs may bleed past the gutter; never cause sideways scroll */
.sheet__inner{max-width:var(--maxw);margin:0 auto}
.partners .lede{max-width:34em}
.lede{margin:40px auto 0;max-width:33em;font-size:18px;line-height:1.85}

/* section heading: the section's name (large) + its quiet line (italic) + a short lead-in */
.sechead{text-align:center}
.sechead__title{margin:0 auto;max-width:13em;font-family:var(--font-serif);font-weight:400;font-size:clamp(36px,4.6vw,64px);line-height:1.1;letter-spacing:-.012em;color:var(--olive)}
.sechead__sub{margin:22px auto 0;max-width:24em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,2vw,27px);line-height:1.4;color:var(--olive-soft)}
.sechead .lede{margin-top:36px}
.sechead .lede+.lede{margin-top:22px}


/* balanced line breaks avoid single-word last lines in headlines (progressive enhancement) */
h1,h2,h3,h4,.sechead__sub,.return__title,.return__core,.lens__line,.invitation__title span{text-wrap:balance}

/* 4. COMPONENTS ---------------------------------------------------------- */

/* buttons ---------------------------------------------------------------- */
.btn,.btn-soft,.btn-ghost{display:inline-flex;align-items:center;gap:12px;border-radius:999px;font-size:15.5px;font-weight:400;line-height:1.2;transition:background-color .6s ease,border-color .6s ease}
.btn{background:var(--olive);color:var(--ivory);border:1px solid var(--olive);padding:15px 30px}
.btn:hover{background:var(--charcoal);border-color:var(--charcoal)}
.btn-soft{background:transparent;color:var(--olive);border:1px solid var(--olive-line);padding:14px 28px}
.btn-soft:hover{background:var(--olive-wash);border-color:rgba(57,67,56,.6)}
.btn-ghost{background:transparent;color:var(--ivory);border:1px solid var(--ivory-line);padding:14px 28px}
.btn-ghost:hover{background:rgba(244,240,232,.1);border-color:rgba(244,240,232,.75)}
.arrow{display:inline-block;transition:transform .6s ease}
.btn:hover .arrow,.btn-soft:hover .arrow,.btn-ghost:hover .arrow,.cta:hover .arrow{transform:translateX(4px)}

.cta{display:inline-flex;align-items:center;gap:14px;background:var(--olive);color:var(--ivory);border-radius:999px;padding:7px 7px 7px 24px;font-size:15px;font-weight:400;line-height:1.2;transition:background-color .6s ease}
.cta:hover{background:var(--charcoal)}
.cta__dot{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ivory);color:var(--olive);font-size:15px}
.cta--lg{padding:9px 9px 9px 30px;font-size:16.5px}
.cta--lg .cta__dot{width:40px;height:40px}

.chips{display:flex;flex-wrap:wrap;gap:10px;max-width:32em;margin-top:30px}
.chip{display:inline-block;padding:9px 18px;border-radius:999px;background:var(--olive-wash);font-size:14px;line-height:1.35;color:var(--olive);transition:background-color .5s ease}
.chip:hover{background:var(--olive-wash-hover)}

/* motion: slow fades only, switched off for reduced-motion users --------- */
@keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fade-in{animation:fade-up 2s var(--ease) both}
.fade-in--2{animation-delay:.3s}
.fade-in--3{animation-delay:.6s}
.fade-in--4{animation-delay:.9s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fade-in{animation:none}
  .btn,.btn-soft,.btn-ghost,.arrow,.cta,.chip,.dd__btn svg,.jitem,.jitem__arrow,.bcard__link,.bcard__media img,.bcard__play,.bshelf__btn{transition:none}
  .bcard__link:hover .bcard__media img,.bcard__link:hover .bcard__play{transform:none}
}

/* header / navigation ---------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:50;padding:12px var(--panel-gutter) 0}
.site-header__wrap{position:relative;max-width:1320px;margin:0 auto}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(244,240,232,.94);border:1px solid rgba(57,67,56,.12);border-radius:999px;padding:10px 12px 10px 28px;font-size:14.5px;font-weight:400}
/* nav logo: Grace's own horizontal lockup (G + gracespace + transformation studio), one image so nothing can drift out of alignment */
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand__logo{height:52px;width:auto}
.nav__links{display:flex;align-items:center;gap:26px}
.nav__link{opacity:.85;transition:opacity .5s ease}
.nav__link:hover{opacity:1}
.nav__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}

.dd{position:relative}
.dd__btn{background:none;border:0;padding:12px 2px;margin:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px;opacity:.85;transition:opacity .5s ease}
.dd__btn:hover,.dd.is-open .dd__btn{opacity:1}
.dd__btn svg{transition:transform .4s ease}
.dd.is-open .dd__btn svg{transform:rotate(180deg)}
.dd__panel{position:absolute;top:100%;left:-22px;padding-top:14px;display:none;z-index:30}
.dd.is-open .dd__panel{display:block}
.dd__inner{background:var(--ivory);border:1px solid var(--sand);border-radius:28px;padding:22px 24px}
.dd__inner--cols{display:grid;grid-template-columns:repeat(2,auto);gap:8px 40px}
.dd__head{margin:0 0 8px;padding:0 14px;white-space:nowrap;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:17px;color:var(--olive)}
.dd__item{display:block;padding:9px 14px;border-radius:14px;font-size:14.5px;line-height:1.4;white-space:nowrap;transition:background-color .35s ease}
.dd__item:hover{background:var(--sand)}

.menu-btn{display:none;align-items:center;background:none;border:1px solid var(--olive-line);color:var(--olive);border-radius:999px;padding:0 22px;min-height:44px;font-size:14.5px;cursor:pointer}

.m-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);max-height:78vh;overflow:auto;background:var(--ivory);border:1px solid var(--sand);border-radius:28px;padding:6px 24px 24px}
.site-header.is-menu-open .m-menu{display:block}
.m-link,.m-sum{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--sand);font-family:var(--font-serif);font-size:21px;font-weight:400;color:var(--olive);cursor:pointer;list-style:none}
.m-sum::-webkit-details-marker{display:none}
.m-sum::after{content:'+';font-family:var(--font-sans);font-size:20px;font-weight:300}
.m-group[open] .m-sum::after{content:'\2013'}
.m-sub-wrap{padding:6px 0 12px}
.m-sub{display:block;padding:11px 0 11px 14px;font-size:15.5px;color:var(--charcoal)}
.m-head{margin:14px 0 2px 14px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:16px;color:var(--olive)}
.m-cta{margin-top:22px}


/* 5. HERO ---------------------------------------------------------------- */
.hero{position:relative;overflow:hidden;padding:40px var(--gutter) calc(104px + var(--radius-sheet));scroll-margin-top:90px}
.hero__blob-a{right:-9%;top:-6%;width:min(44vw,620px);background:var(--sand);border-radius:58% 42% 56% 44% / 46% 56% 44% 54%}
.hero__blob-b{left:-8%;bottom:-4%;width:min(34vw,440px);background:var(--sage-soft);border-radius:46% 54% 42% 58% / 56% 44% 56% 44%}
/* topographic contour lines (hillside, like the og-image), a little darker toward the edges so the centred text keeps a calm clearing */
.hero__pattern{position:absolute;inset:0;background:url(../img/hero-pattern.svg) 50% 50%/cover no-repeat;opacity:.15;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 52% 56% at 50% 50%,rgba(0,0,0,.22) 0%,#000 100%);mask-image:radial-gradient(ellipse 52% 56% at 50% 50%,rgba(0,0,0,.22) 0%,#000 100%)}
.hero__inner{position:relative;max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero__mark{display:block;width:auto;height:88px;margin:0 0 22px}
.hero__eyebrow{margin:0 0 30px;font-family:var(--font-sans);font-style:normal;font-weight:400;font-size:16px;line-height:1.6;letter-spacing:.03em}
.hero__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(34px,4.1vw,60px);line-height:1.14;letter-spacing:-.012em;color:var(--olive)}
.hero__title span{display:block}
.hero__title .soft{font-style:italic;color:var(--olive-soft)}
.hero__text{margin:36px auto 0;max-width:30em;font-size:18.5px;line-height:1.8}
.hero__text--sub{margin:16px auto 0;max-width:35em;font-size:15.5px;line-height:1.8;color:var(--ink-soft)}
.hero__actions{margin-top:40px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}


/* 6. SECTIONS ------------------------------------------------------------ */


/* colour sheets ------------------------------------------------------------
   Every section is a full-width band of ONE palette colour. Each band has a
   rounded top edge and slides over the bottom of the one before it, so the
   page reads as a stack of sheets: where the colour changes, a new section
   begins. Order: ivory (hero) · olive · sand · ivory · sage · ivory ·
   olive (footer). Two neighbours never share a colour. */
.sheet{position:relative;overflow:hidden;overflow:clip;margin-top:calc(var(--radius-sheet) * -1);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding:128px var(--gutter) calc(140px + var(--radius-sheet));scroll-margin-top:90px}
.sheet--ivory{background:var(--ivory)}
.sheet--sand{background:var(--sand)}
.sheet--sage{background:var(--sage)}
.sheet--olive{background:var(--olive);color:var(--ivory);text-align:center;font-weight:400}

/* transformation journeys: two audience cards, each with its three journeys */
.journeys{padding-bottom:calc(100px + var(--radius-sheet))}
.journeys .lede{max-width:34em}
/* "Những hành trình chuyển hoá" stays on one line at every width (the text is ~13em long, so the size follows the viewport on phones) */
.journeys .sechead__title{max-width:none;white-space:nowrap;font-size:clamp(20px,6.4vw,64px)}
.journeys__stack{display:grid;gap:32px;margin-top:84px;text-align:left}
.jgroup{--jline:rgba(57,67,56,.2);position:relative;border-radius:var(--radius-card);padding:36px clamp(24px,5vw,72px) 60px;scroll-margin-top:100px}
.jgroup--women{background:var(--ivory)}
/* sage at 30% over ivory: a pale, bright sage panel */
.jgroup--business{--jline:rgba(57,67,56,.24);background:linear-gradient(var(--sage-soft),var(--sage-soft)),var(--ivory)}
.jgroup__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--jline)}
.jgroup__label{font-family:var(--font-serif);font-weight:400;font-size:clamp(24px,2.5vw,34px);line-height:1.2;letter-spacing:-.005em;color:var(--olive)}
.jgroup__grid{display:grid;gap:clamp(40px,6vw,96px);align-items:center;margin-top:48px}
.jgroup--women .jgroup__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.jgroup--business .jgroup__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.jgroup--business .jgroup__media{order:2;justify-self:end}
.jgroup__media{position:relative;width:100%;max-width:460px}
.jgroup__media .main{position:relative;display:block;width:100%}
.jgroup--women .main{aspect-ratio:3/4;object-position:50% 50%;border-radius:50%}
.jgroup--business .main{aspect-ratio:4/5;object-position:50% 50%;border-radius:50% 50% 24% 24% / 38% 38% 15% 15%}
.jgroup__media .sub{position:absolute;aspect-ratio:1/1;border-radius:50%;border:7px solid var(--ivory)}
.jgroup--women .sub{right:-4%;bottom:4%;width:36%}
.jgroup--women .jgroup__media{align-self:start;position:sticky;top:110px}
.jgroup--business .sub{left:-8%;bottom:9%;width:36%}
.jgroup__line{display:block}
.jgroup__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(21px,2.1vw,28px);line-height:1.34;letter-spacing:-.003em;color:var(--olive);max-width:19em}
.jgroup__text{margin-top:18px;max-width:34em;font-size:17px;line-height:1.85}
.jgroup__title+.jgroup__text{margin-top:24px}
.jgroup__beat{margin-top:22px;max-width:28em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(19px,1.8vw,23px);line-height:1.5;color:var(--olive)}
.jgroup__beat+.jgroup__text{margin-top:22px}
.jlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px clamp(24px,3vw,48px);margin-top:56px;padding:0;list-style:none}
.jlist li{display:flex}
.jitem{flex:1;display:flex;flex-direction:column;gap:12px;padding:26px 20px 24px;border-top:1px solid var(--jline);border-radius:0 0 22px 22px;transition:background-color .5s ease}
.jitem:hover{background:var(--olive-wash)}
.jitem__no{font-family:var(--font-serif);font-variant-numeric:lining-nums;font-style:italic;font-size:17px;line-height:1.4;color:var(--olive-soft)}
.jitem__main{display:block;flex:1}
.jitem__name{display:block;font-size:19px;font-weight:400;line-height:1.4;color:var(--olive)}
.jitem__desc{display:block;max-width:40em;margin-top:10px;font-size:15px;line-height:1.75}
.jitem__meta{display:block;margin-top:14px;font-size:13px;line-height:1.5;letter-spacing:.03em;color:var(--ink-soft)}
.jitem__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.jitem__tags span{padding:3px 12px;border:1px solid var(--olive-line);border-radius:999px;font-size:12.5px;line-height:1.5;letter-spacing:.02em;color:var(--olive)}
.jitem__tagline{display:block;margin-top:12px;font-family:var(--font-serif);font-style:italic;font-size:15.5px;line-height:1.6;color:var(--olive)}
.jitem__arrow{align-self:flex-start;font-size:16px;line-height:1.4;color:var(--olive);transition:transform .6s ease}
.jitem:hover .jitem__arrow{transform:translateX(4px)}
/* wide screens: the oval follows the height of the text beside it, so the group reads as one frame */
@media (min-width:1200px){
  .jgroup--women .jgroup__media{align-self:stretch;position:relative;top:auto}
  .jgroup--women .jgroup__media .main{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:50% 50%}
}

/* people: the space-maker, then the co-creators */
.people .sechead__title{max-width:16em}
.people .sechead__sub{max-width:26em}
.people__stack{display:grid;gap:104px;margin-top:84px;text-align:left}
.pgroup{scroll-margin-top:100px}
.pgroup__head{padding-bottom:22px;border-bottom:1px solid rgba(57,67,56,.2)}
.pgroup__label{font-family:var(--font-serif);font-weight:400;font-size:clamp(24px,2.5vw,34px);line-height:1.2;letter-spacing:-.005em;color:var(--olive)}
.pgroup__intro{margin-top:36px;text-align:center;font-size:17px;line-height:1.85}
.pgroup__intro p{max-width:36em;margin-left:auto;margin-right:auto;text-wrap:balance}
.pgroup__intro p+p{margin-top:20px}
.pgroup__intro .pgroup__quote{max-width:none;margin-bottom:24px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.35;letter-spacing:-.005em;color:var(--olive)}
@media (min-width:901px){.pgroup__quote{white-space:nowrap}}
.grace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,96px);align-items:center;margin-top:60px}
.grace__figure{position:relative;width:100%;max-width:340px;margin:0 auto}
.grace__figure .blob{left:-7%;bottom:-6%;width:62%;background:var(--sage-strong);border-radius:46% 54% 50% 50% / 50% 46% 54% 50%}
.grace__figure img{position:relative;width:100%;aspect-ratio:3/4;object-position:50% 30%;border-radius:170px 24px 170px 24px}
.grace__name{font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3.3vw,46px);line-height:1.14;letter-spacing:-.01em;color:var(--olive)}
.grace__role{margin-top:14px;max-width:32em;font-size:16.5px;line-height:1.7;font-weight:400;color:var(--olive);text-wrap:balance}
.grace__text{margin-top:28px;max-width:32em;font-size:17px;line-height:1.85}
.grace__cta{margin-top:36px}
.partners__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,110px);margin:72px auto 0;max-width:900px;align-items:start}
.partner{text-align:center}
.partner:nth-child(2){margin-top:72px}
.partner__figure{position:relative;width:100%;max-width:340px;margin:0 auto}
.partner__figure .blob{bottom:-4%;width:58%}
.partner:nth-child(1) .blob{left:-9%;background:var(--sage-mid);border-radius:50% 50% 46% 54% / 52% 48% 52% 48%}
.partner:nth-child(2) .blob{right:-9%;background:var(--clay-mid);border-radius:46% 54% 52% 48% / 48% 52% 48% 52%}
.partner__figure img{position:relative;width:100%;aspect-ratio:3/4;object-position:50% 40%;border-radius:50%}
.partner__body{max-width:340px;margin:32px auto 0;text-align:left}
.partner__name{font-family:var(--font-serif);font-weight:400;font-size:25px;line-height:1.25;color:var(--olive)}
.partner__role{margin-top:8px;font-size:15.5px;line-height:1.6;color:var(--olive)}
.partner__text{margin-top:16px;font-size:16px;line-height:1.8;color:var(--ink-soft)}
.partners__cta{margin-top:80px;text-align:center}

/* return: one olive sheet. The belief in words, then see · relate · express */
.return .blob{pointer-events:none}
.return .blob--a{right:-10%;top:-12%;width:min(32vw,400px);background:rgba(167,174,152,.16);border-radius:54% 46% 50% 50% / 46% 54% 46% 54%}
.return .blob--b{right:-6%;bottom:-14%;width:min(30vw,380px);background:rgba(167,174,152,.14);border-radius:46% 54% 56% 44% / 54% 46% 54% 46%}
/* section 2: Grace's photo runs full-bleed down the left edge and fades into the olive; the belief text sits on the right */
.return{padding:0 0 calc(96px + var(--radius-sheet));text-align:left}
.return__split{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:stretch}
.return__photo{position:relative;min-height:620px;margin:0}
.return__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 24%;filter:saturate(.86) brightness(.97);-webkit-mask-image:linear-gradient(to right,#000 60%,transparent 100%),linear-gradient(to bottom,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 60%,transparent 100%),linear-gradient(to bottom,#000 80%,transparent 100%);mask-composite:intersect}
.return__copy{align-self:center;padding:clamp(64px,6.5vw,88px) max(var(--gutter),calc((100vw - var(--maxw)) / 2)) clamp(40px,4.5vw,64px) clamp(8px,2vw,32px)}
.return__title{max-width:15em;font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3.1vw,44px);line-height:1.18;letter-spacing:-.012em;color:var(--ivory)}
.return__text{max-width:37em;margin-top:28px}
.return__text p{font-size:16.5px;line-height:1.82;color:var(--ivory-soft);text-wrap:pretty}
.return__text .nw{white-space:nowrap}
.return__text p+p{margin-top:18px}
.return__text .return__core{margin:28px 0 0;padding-left:20px;border-left:1px solid rgba(244,240,232,.32);font-family:var(--font-serif);font-weight:400;font-size:clamp(20px,1.85vw,25px);line-height:1.5;color:var(--ivory)}
.return__text .return__core+p{margin-top:28px}
.return__inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}

/* see · relate · express: one straight row. Hover turns the shape and sends a soft ripple out of it */
.lenses__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;max-width:1040px;margin:0 auto;text-align:center;align-items:start}
.lens{--lens-bg:var(--sage);--lens-r:58% 42% 52% 48% / 52% 48% 52% 48%;--lens-r2:44% 56% 48% 52% / 56% 44% 56% 44%}
.lens:nth-child(2){--lens-bg:var(--clay);--lens-r:46% 54% 42% 58% / 56% 44% 56% 44%;--lens-r2:56% 44% 58% 42% / 46% 54% 46% 54%}
.lens:nth-child(3){--lens-bg:var(--sand);--lens-r:54% 46% 58% 42% / 44% 56% 44% 56%;--lens-r2:42% 58% 46% 54% / 54% 46% 54% 46%}
.lens__word{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:150px;height:150px;margin:0 auto;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:26px;color:var(--olive)}
.lens__word::before,.lens__word::after{content:'';position:absolute;inset:0;border-radius:var(--lens-r)}
.lens__word::before{z-index:-1;background:var(--lens-bg);transition:transform 1.5s var(--ease),border-radius 1.5s var(--ease)}
.lens__word::after{z-index:-2;border:1.5px solid var(--lens-bg);opacity:0;pointer-events:none}
@keyframes lens-ripple{0%{transform:scale(1);opacity:1}100%{transform:scale(1.6);opacity:0}}
@keyframes lens-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.14)}}
@media (hover:hover){
  .lens:hover .lens__word::before{transform:rotate(200deg) scale(1.06);border-radius:var(--lens-r2);animation:lens-glow 1.9s ease-in-out infinite}
  .lens:hover .lens__word::after{animation:lens-ripple 1.9s ease-out infinite}
}
@media (prefers-reduced-motion:reduce){
  .lens__word::before{transition:none}
  .lens:hover .lens__word::before{transform:none;border-radius:var(--lens-r);animation:none}
  .lens:hover .lens__word::after{animation:none}
}
.lens__line{margin-top:30px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:23px;line-height:1.35;color:var(--ivory)}
.lens__text{margin:14px auto 0;max-width:17em;font-size:16.5px;line-height:1.75;color:var(--ivory-soft)}
/* blog: two horizontal shelves (articles, podcast) on the sage band, three cards each.
   Each shelf bleeds to the right edge of the window so it is obvious it scrolls. */
.blog .sechead__sub{color:var(--olive)}
.bshelf{--shelf-pad:max(var(--gutter),calc((100vw - var(--maxw)) / 2));margin:72px calc(50% - 50vw) 0;text-align:left;scroll-margin-top:100px}
.bshelf+.bshelf{margin-top:96px}
.bshelf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 var(--shelf-pad)}
.bshelf__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.15;color:var(--olive)}
.bshelf__note{margin-top:8px;font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.45;color:var(--olive-soft)}
.bshelf__ctrl{display:flex;gap:10px;flex-shrink:0}
.bshelf__ctrl[hidden]{display:none}
.bshelf__btn{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid rgba(57,67,56,.45);background:transparent;color:var(--olive);cursor:pointer;transition:background-color .5s ease,opacity .5s ease}
.bshelf__btn:hover:not(:disabled){background:var(--olive-wash-hover)}
.bshelf__btn:disabled{opacity:.35;cursor:default}
.bshelf__track{display:flex;gap:28px;margin:0;padding:34px var(--shelf-pad) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--shelf-pad);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.bshelf__track::-webkit-scrollbar{display:none}
.bshelf__track:focus-visible{outline-offset:-6px;border-radius:32px}
.bshelf__foot{padding:36px var(--shelf-pad) 0}
.bcard{flex:0 0 min(440px,82vw);min-width:0;scroll-snap-align:start}
.bcard__link{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid transparent;border-radius:32px;background:var(--ivory);color:var(--charcoal);transition:border-color .6s ease}
.bcard__link:hover{border-color:var(--olive-line)}
.bcard__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--sage-mid)}
.bcard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.bcard__link:hover .bcard__media img{transform:scale(1.03)}
/* podcast cover: a quiet tile sits under the YouTube thumbnail, so the card still reads if the thumbnail does not load */
.bcard__ph{position:absolute;left:26px;bottom:14px;font-family:var(--font-serif);font-style:italic;font-size:46px;line-height:1;font-variant-numeric:lining-nums;color:rgba(57,67,56,.42)}
.bcard__play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:rgba(244,240,232,.92);color:var(--olive);transition:background-color .6s ease,transform .6s var(--ease)}
.bcard__play svg{margin-left:3px}
.bcard__link:hover .bcard__play{background:var(--ivory);transform:scale(1.06)}
.bcard__body{display:flex;flex-direction:column;flex:1;gap:10px;padding:26px 30px 30px}
.bcard__kicker{font-family:var(--font-serif);font-style:italic;font-variant-numeric:lining-nums;font-size:17px;line-height:1.4;color:var(--olive-soft)}
.bcard__title{font-family:var(--font-serif);font-weight:400;font-variant-numeric:lining-nums;font-size:clamp(21px,1.8vw,25px);line-height:1.3;color:var(--olive);text-wrap:balance}
.bcard__text{font-size:15px;line-height:1.65;color:var(--ink-soft)}
.bcard__meta{margin-top:auto;padding-top:10px;font-size:13.5px;line-height:1.5;letter-spacing:.02em;color:var(--ink-soft)}

/* podcast sub-pages: /blog/podcast/ and one page per episode */
.subhero{position:relative;padding:56px var(--gutter) calc(112px + var(--radius-sheet));scroll-margin-top:90px}
.subhero__inner{max-width:1040px;margin:0 auto;text-align:center}
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:13.5px;line-height:1.6;letter-spacing:.02em;color:var(--ink-soft)}
.crumbs a{transition:color .4s ease}
.crumbs a:hover{color:var(--olive)}
.crumbs [aria-current]{color:var(--olive)}
.subhero .eyebrow{margin-top:44px;font-variant-numeric:lining-nums}
.subhero__title{margin:14px auto 0;max-width:16em;font-family:var(--font-serif);font-weight:400;font-variant-numeric:lining-nums;font-size:clamp(34px,4.4vw,60px);line-height:1.14;letter-spacing:-.012em;color:var(--olive);text-wrap:balance}
.crumbs+.subhero__title{margin-top:44px}
.subhero__meta{margin-top:22px;font-size:14.5px;line-height:1.6;letter-spacing:.03em;color:var(--ink-soft)}
.subhero__lede{margin:24px auto 0;max-width:28em;font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,2vw,26px);line-height:1.45;color:var(--olive-soft);text-wrap:balance}
.player{position:relative;margin:52px auto 0;max-width:960px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-card);background:var(--olive)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.subhero__note{margin-top:24px;font-size:14.5px;line-height:1.7;color:var(--ink-soft)}
.subhero__note a{color:var(--olive);text-decoration:underline;text-decoration-color:var(--olive-line);text-underline-offset:4px;transition:text-decoration-color .4s ease}
.subhero__note a:hover{text-decoration-color:var(--olive)}
.bgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),390px));justify-content:center;gap:28px;margin-top:64px;text-align:left}
.bgrid .bcard{flex:none}
.bshelf__foot--center{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:56px 0 0}
.bgroup{max-width:1226px;margin:88px auto 0;text-align:left}
.sechead+.bgroup{margin-top:64px}
.bgroup__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,2.6vw,34px);line-height:1.2;color:var(--olive);text-wrap:balance}
.bgroup__note{margin-top:6px;font-family:var(--font-serif);font-style:italic;font-size:17px;line-height:1.45;color:var(--olive-soft)}
.bgroup .bgrid{justify-content:start;margin-top:28px}

/* invitation */
.invitation{padding-top:150px;padding-bottom:calc(170px + var(--radius-sheet));text-align:center}
.invitation__watermark{position:absolute;left:50%;top:50%;width:min(80vw,760px);height:auto;transform:translate(-50%,-50%);opacity:.06;pointer-events:none}
.invitation__inner{position:relative;max-width:820px;margin:0 auto}
.invitation__avatar{width:132px;height:132px;margin:0 auto 44px;border-radius:50%;object-position:50% 50%;background:var(--sand)}
.invitation__title{margin:22px auto 0;max-width:17em;font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3.3vw,46px);line-height:1.22;letter-spacing:-.01em;color:var(--olive)}
.invitation__title span{display:block}
.invitation__title .soft{margin-top:.3em;font-style:italic;color:var(--olive-soft)}
.invitation__actions{margin-top:52px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}


/* 7. FOOTER -------------------------------------------------------------- */
.foot{position:relative;margin-top:calc(var(--radius-sheet) * -1);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--olive);color:var(--ivory);padding:112px var(--gutter) 44px;font-weight:400}
.foot__inner{max-width:var(--maxw);margin:0 auto}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,4vw,64px)}
.foot__logo{display:inline-block}
.foot__logo img{width:190px;height:auto}
.foot__tagline{margin-top:28px;max-width:14em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;line-height:1.5;color:var(--sand)}
.foot__head{margin-bottom:20px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:17px;color:var(--sand)}
.foot__list{font-size:15px;line-height:1.5}
.foot__list li{margin-bottom:13px}
.foot__list li:last-child{margin-bottom:0}
.foot__list a{opacity:.82;transition:opacity .5s ease}
.foot__list a:hover{opacity:1}
.foot__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.foot__bottom{margin-top:88px;padding-top:28px;border-top:1px solid var(--ivory-hair);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13.5px;line-height:1.6;color:var(--ivory-soft)}
/* Grace's social links: sit in the last column, level with the tagline (below it on narrower screens) */
.foot__last{display:contents}
.foot__social{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.foot__ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--ivory-hair);border-radius:50%;color:var(--ivory-soft);transition:color .4s ease,border-color .4s ease,background .4s ease}
.foot__ico:hover,.foot__ico:focus-visible{color:var(--ivory);border-color:rgba(244,240,232,.55);background:rgba(244,240,232,.06)}
.foot__ico svg{display:block}
.foot__mail{margin-top:2px;font-size:14px;line-height:1.6;letter-spacing:.005em;color:var(--ivory-soft);transition:color .4s ease}
.foot__mail:hover,.foot__mail:focus-visible{color:var(--ivory);text-decoration:underline;text-underline-offset:4px}
@media (min-width:1241px){
  .foot__last{display:flex;flex-direction:column;justify-content:space-between;gap:20px}
  .foot__social{grid-column:auto}
}


/* resources page: guidebook, pop-up with sign-up form, thank-you steps */
button.btn{cursor:pointer}
.gb{padding-top:104px;padding-bottom:calc(120px + var(--radius-sheet))}
.gb__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,112px);align-items:center}
.gb__media{position:relative;display:flex;flex-direction:column;align-items:center}
.gb__blob{left:-12%;top:4%;width:86%;background:var(--sage-strong);border-radius:52% 48% 58% 42% / 44% 54% 46% 56%}
.gb__cover{position:relative;display:block;width:min(100%,430px);padding:0;border:0;background:none;border-radius:4px 14px 14px 4px;cursor:pointer;transition:transform .8s var(--ease)}
.gb__cover::after{content:"";position:absolute;left:0;top:0;bottom:0;width:7%;border-radius:inherit;background:linear-gradient(90deg,rgba(244,240,232,.18),rgba(244,240,232,0));pointer-events:none}
.gb__img{width:100%;height:auto;aspect-ratio:753/1175;border-radius:inherit;box-shadow:0 34px 60px -30px rgba(41,41,37,.5),0 10px 22px -12px rgba(41,41,37,.35)}
.gb__tag{position:absolute;right:-14px;bottom:-19px;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;background:var(--ivory);color:var(--olive);font-size:14px;font-weight:400;line-height:1.2;box-shadow:0 12px 26px -14px rgba(41,41,37,.45)}
.gb__cover:hover{transform:translateY(-6px) rotate(-.5deg)}
.gb__cover:hover .arrow{transform:translateX(4px)}
.gb__hint{margin-top:30px;font-family:var(--font-serif);font-style:italic;font-size:17px;line-height:1.5;color:var(--olive-soft)}
.gb__body .eyebrow{font-variant-numeric:lining-nums}
.gb__title{margin-top:10px;font-family:var(--font-serif);font-weight:400;font-size:clamp(36px,4.2vw,58px);line-height:1.1;letter-spacing:-.012em;color:var(--olive);text-wrap:balance}
.gb__sub{margin-top:14px;font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,2vw,26px);line-height:1.4;color:var(--olive-soft)}
.gb__lead{margin-top:30px;max-width:31em;font-size:17.5px;line-height:1.85}
.gb__lead--first{margin-top:0}
.gb__for{margin-top:16px;max-width:31em;font-size:16px;line-height:1.8;color:var(--ink-soft)}
.gb__h{margin-top:40px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:20px;line-height:1.4;color:var(--olive)}
.gb__chapters{margin-top:14px;max-width:32em;border-top:1px solid var(--olive-line)}
.gb__chapters li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--olive-line);font-size:16.5px;line-height:1.5}
.gb__no{font-family:var(--font-serif);font-variant-numeric:lining-nums;font-style:italic;font-size:17px;color:var(--olive-soft)}
.gb__meta{margin-top:22px;font-size:14px;line-height:1.6;letter-spacing:.03em;color:var(--ink-soft)}
.gb__actions{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.gb__cover--static{cursor:default}
.gb__cover--static:hover{transform:none}
.gb__more{margin-top:44px;padding-top:30px;max-width:32em;border-top:1px solid var(--olive-line)}
.gb__more p{margin-bottom:22px;font-size:16.5px;line-height:1.8}
.gb__noscript{max-width:520px;margin-top:72px}
.gb__noscript .gb__h{margin-top:0}
.gb__noscript p{margin-top:8px}
.gbquote{padding-top:96px;padding-bottom:calc(120px + var(--radius-sheet));text-align:center}
.gbquote__fig{max-width:880px;margin:0 auto}
.gbquote__text{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw,46px);line-height:1.25;letter-spacing:-.01em;color:var(--olive);text-wrap:balance}
.gbquote__fig figcaption{margin-top:24px;font-size:14.5px;line-height:1.6;letter-spacing:.03em;color:var(--olive)}
.gbquote__actions{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}

/* pop-up (native <dialog>) */
html.is-modal-open{overflow:hidden;padding-right:var(--sbw,0px)}
.modal{box-sizing:border-box;width:min(920px,calc(100vw - 2 * var(--panel-gutter)));max-width:none;max-height:calc(100vh - 2 * var(--panel-gutter));max-height:calc(100dvh - 2 * var(--panel-gutter));margin:auto;padding:0;border:0;border-radius:var(--radius-card);background:var(--ivory);color:var(--charcoal);overflow:auto;overscroll-behavior:contain;box-shadow:0 40px 90px -30px rgba(41,41,37,.55)}
.modal::backdrop{background:rgba(41,41,37,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal[open]{animation:modal-in .6s var(--ease) both}
.modal[open]::backdrop{animation:modal-fade .5s ease both}
@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes modal-fade{from{opacity:0}to{opacity:1}}
.modal__panel{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);min-height:100%}
.modal__media{position:relative;display:flex;align-items:center;justify-content:center;padding:56px 36px;background:var(--sand);overflow:hidden}
.modal__blob{right:-34%;top:-12%;width:92%;background:var(--sage-strong);border-radius:46% 54% 42% 58% / 56% 44% 56% 44%}
.modal__cover{position:relative;width:min(100%,230px);height:auto;aspect-ratio:753/1175;border-radius:3px 10px 10px 3px;box-shadow:0 26px 44px -24px rgba(41,41,37,.55)}
.modal__body{padding:56px clamp(28px,4vw,56px) 48px}
.modal__body .eyebrow{font-size:19px}
.modal__close{position:absolute;right:16px;top:16px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--olive-line);border-radius:50%;background:var(--ivory);color:var(--olive);cursor:pointer;transition:background-color .5s ease}
.modal__close:hover{background:var(--sand)}
.modal__title{margin-top:8px;font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.01em;color:var(--olive)}
.modal__sub{margin-top:8px;font-family:var(--font-serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--olive-soft)}
.modal__text{margin-top:20px;font-size:16px;line-height:1.75}
.modal__meta{margin-top:10px;font-size:13.5px;line-height:1.6;letter-spacing:.03em;color:var(--ink-soft)}

/* sign-up form (used in the pop-up and in the no-JS fallback) */
.gbform{margin-top:26px;display:grid;gap:16px}
.field{display:grid;gap:7px}
.field label{font-size:14px;line-height:1.4;letter-spacing:.02em;color:var(--olive)}
.field input{width:100%;min-height:52px;padding:0 24px;border:1px solid var(--olive-line);border-radius:999px;background:var(--ivory);color:var(--charcoal);font:inherit;font-size:16px;font-weight:300;transition:border-color .4s ease}
.field input::placeholder{color:var(--ink-soft);opacity:.7}
.field input:hover{border-color:rgba(57,67,56,.6)}
.field input:focus{border-color:var(--olive)}
.field input:user-invalid{border-color:var(--clay)}
.gbform .btn{justify-self:start;margin-top:6px}
.gbform .btn[disabled]{opacity:.6;cursor:default}
.gbform__status{font-size:14.5px;line-height:1.6;color:var(--olive)}
.gbform__status:empty{display:none}
.gbform__note{font-size:13.5px;line-height:1.7;color:var(--ink-soft)}

/* thank-you page */
.thanks{padding-top:96px;padding-bottom:calc(120px + var(--radius-sheet))}
.steps{max-width:640px;margin:0 auto;border-top:1px solid var(--olive-line)}
.step{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:8px;padding:28px 0;border-bottom:1px solid var(--olive-line)}
.step__no{grid-row:span 2;font-family:var(--font-serif);font-variant-numeric:lining-nums;font-style:italic;font-size:22px;line-height:1.5;color:var(--olive-soft)}
.step__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(22px,2.2vw,26px);line-height:1.3;color:var(--olive)}
.step__text{margin-top:8px;font-size:16.5px;line-height:1.8}
.thanks__actions{margin-top:56px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px}


/* subscribe band at the end of the homepage */
.subscribe{padding-top:112px;padding-bottom:calc(120px + var(--radius-sheet));text-align:center}
.subscribe__inner{max-width:760px;margin:0 auto}
.subscribe__lede{margin:22px auto 0;max-width:30em;font-size:17.5px;line-height:1.85;text-wrap:balance}
.subform{max-width:720px;margin:44px auto 0;text-align:left}
.subform__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;gap:14px;align-items:end}
.subform .btn{min-height:52px;padding-top:0;padding-bottom:0;justify-content:center}
.subform .btn[disabled]{opacity:.6;cursor:default}
.subform .gbform__status{margin-top:16px;text-align:center}
.subform__note{margin-top:16px;text-align:center;font-size:13.5px;line-height:1.7;color:var(--ink-soft)}

/* 8. 404 / placeholder page --------------------------------------------- */
.notfound{min-height:100vh;display:flex;flex-direction:column}
.notfound__main{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px var(--gutter)}
.notfound__mark{width:64px;margin:0 auto 36px;opacity:.55}
.notfound__title{margin:22px auto 0;max-width:13em;font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,4vw,52px);line-height:1.24;color:var(--olive)}
.notfound__text{margin:28px auto 0;max-width:28em;font-size:17.5px;line-height:1.85}
.notfound__actions{margin-top:40px}


/* 9. RESPONSIVE ---------------------------------------------------------- */
@media (min-width:1241px){.m-menu,.menu-btn{display:none!important}}
.nav__cta{white-space:nowrap}
@media (min-width:1241px) and (max-width:1340px){.nav__links{gap:16px}.nav{gap:14px;padding-left:22px}}
@media (max-width:1240px){
  .nav__links{display:none}
  .menu-btn{display:inline-flex}
}
@media (max-width:1100px){
  .jlist{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  :root{--radius-sheet:36px;--radius-card:30px}
  .sheet{padding-top:84px;padding-bottom:calc(88px + var(--radius-sheet))}
  .hero{padding-top:28px;padding-bottom:calc(80px + var(--radius-sheet))}
  .grace,.partners__grid,.foot__grid,.jgroup--women .jgroup__grid,.jgroup--business .jgroup__grid{grid-template-columns:minmax(0,1fr)}
  .partner:nth-child(2){margin-top:0}
  .people__stack{gap:80px;margin-top:56px}
  .grace{margin-top:40px;gap:48px}
  .partners__grid{margin-top:56px}
  .partners__cta{margin-top:56px}
  .journeys__stack{margin-top:56px}
  .jgroup{padding:28px 24px 52px}
  .jgroup__grid{margin-top:40px;gap:48px}
  .jlist{margin-top:40px;gap:12px}
  .jitem{padding-left:0;padding-right:0}
  .jgroup--women .jgroup__media{position:relative;top:auto;align-self:auto}
  .jgroup--business .jgroup__media{order:0;justify-self:start}
  .foot__grid{gap:44px}
  .foot{padding:76px 24px 40px}
  .return{padding:0 0 calc(80px + var(--radius-sheet))}
  .return__split{grid-template-columns:minmax(0,1fr)}
  .return__photo{min-height:0;height:min(112vw,520px)}
  .return__photo img{object-position:60% 22%;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
  .return__copy{max-width:none;margin-top:-56px;padding:0 var(--gutter) 0}
  .return__text{margin-top:28px}
  .return__inner{padding-top:56px}
  .hero__pattern{-webkit-mask-image:radial-gradient(ellipse 92% 60% at 50% 52%,rgba(0,0,0,.3) 0%,rgba(0,0,0,.3) 45%,#000 100%);mask-image:radial-gradient(ellipse 92% 60% at 50% 52%,rgba(0,0,0,.3) 0%,rgba(0,0,0,.3) 45%,#000 100%)}
  .lenses__grid{gap:32px}
  .invitation{padding-top:96px;padding-bottom:calc(104px + var(--radius-sheet))}
}
@media (max-width:720px){
  .lenses__grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .lens{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:22px;align-items:center;text-align:left}
  .lens__word{grid-row:1 / span 2;width:96px;height:96px;margin:0;font-size:19px}
  .lens__line{margin-top:0;font-size:21px}
  .lens__text{grid-column:2;margin:6px 0 0;max-width:none;font-size:15.5px;line-height:1.65}
}
@media (max-width:720px){
  .nav__cta{display:none}
  .brand__logo{height:44px}
  .bshelf{margin-top:56px}
  .bshelf+.bshelf{margin-top:72px}
  .bshelf__track{gap:18px;padding-top:28px}
  .bshelf__btn{width:44px;height:44px}
  .bshelf__note{font-size:17px}
  .bcard__body{padding:22px 24px 26px}
  .bcard__ph{left:20px;bottom:10px;font-size:38px}
  .bcard__play{width:54px;height:54px;margin:-27px 0 0 -27px}
  .subhero{padding-top:36px;padding-bottom:calc(84px + var(--radius-sheet))}
  .subhero .eyebrow{margin-top:32px}
  .player{margin-top:36px}
  .bgrid{margin-top:48px}
  .bgroup{margin-top:64px}
  .sechead+.bgroup{margin-top:48px}
  .bgroup .bgrid{margin-top:24px}
  .jgroup__head{flex-wrap:wrap;gap:12px}
}

/* resources page — responsive and reduced motion */
@media (max-width:900px){
  .gb{padding-top:72px;padding-bottom:calc(88px + var(--radius-sheet))}
  .gb__grid{grid-template-columns:minmax(0,1fr);gap:56px}
  .gb__cover{width:min(78%,340px)}
  .gb__tag{right:-10px;bottom:-19px}
  .gb__noscript{margin-top:56px}
  .gbquote{padding-top:72px;padding-bottom:calc(88px + var(--radius-sheet))}
  .thanks{padding-top:64px;padding-bottom:calc(88px + var(--radius-sheet))}
}
@media (max-width:720px){
  .modal{width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
  .modal__panel{grid-template-columns:minmax(0,1fr)}
  .modal__media{display:none}
  .modal__body{padding:68px 24px 32px}
  .gbform .btn{justify-self:stretch;justify-content:center}
  .step{grid-template-columns:44px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .modal[open],.modal[open]::backdrop{animation:none}
  .gb__cover{transition:none}
  .gb__cover:hover{transform:none}
}
@media (max-width:900px){
  .subscribe{padding-top:72px;padding-bottom:calc(88px + var(--radius-sheet))}
  .subform{margin-top:36px}
  .subform__row{grid-template-columns:minmax(0,1fr)}
}


/* ============================================================================
   ABOUT · về giang (grace) phan  (/about/grace/)
   One long, quiet read. Colour bands: ivory (hero) → sand → olive → ivory → sage
   → ivory → sand → ivory → olive footer. Photos bleed to the screen edge and
   dissolve into the band beside them; none of them sits in a frame.
   ============================================================================ */
.about{--ab-pad:clamp(56px,5.6vw,80px)}

/* shared type */
.ab-text{font-size:16.5px;line-height:1.8;text-wrap:pretty}
.ab-text p+p,.ab-text p+ul,.ab-text ul+p{margin-top:16px}
.ab-lead{font-size:16.5px;line-height:1.8;font-weight:600;text-wrap:pretty}
.ab-h{font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3.1vw,44px);line-height:1.2;letter-spacing:-.012em;color:var(--olive);text-wrap:balance}
.ab-h+.ab-text{margin-top:28px}
.abcol{position:relative;max-width:40em;margin:0 auto}
.abphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88) brightness(.98)}

/* hero ------------------------------------------------------------------- */
.abhero{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"top photo" "body photo";column-gap:clamp(8px,2vw,32px);align-items:start;padding:40px 0 0;scroll-margin-top:90px}
.abhero__blob{left:-9%;top:6%;width:min(34vw,460px);background:rgba(167,174,152,.12);border-radius:50% 50% 46% 54% / 54% 46% 54% 46%}
.abhero__top,.abhero__body{position:relative;padding-left:max(var(--gutter),calc((100vw - var(--maxw)) / 2))}
.abhero__top{grid-area:top;padding-top:16px}
.abhero__body{grid-area:body;margin-top:36px;padding-bottom:calc(72px + var(--radius-sheet));max-width:calc(38em + max(var(--gutter),calc((100vw - var(--maxw)) / 2)))}
.abhero .crumbs{justify-content:flex-start}
.abhero__title{margin-top:40px;font-family:var(--font-serif);font-weight:400;font-size:clamp(38px,4.9vw,70px);line-height:1.08;letter-spacing:-.015em;color:var(--olive);text-wrap:balance}
.abhero__role{margin-top:18px;max-width:32em;font-size:16.5px;line-height:1.7;font-weight:400;color:var(--olive);text-wrap:balance}
.abhero__lede{margin-bottom:22px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.5vw,34px);line-height:1.3;color:var(--olive)}
.abhero__photo{grid-area:photo;position:relative;align-self:stretch;margin:0;min-height:640px}
.abhero__photo .abphoto{object-position:56% 22%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 42%),linear-gradient(to bottom,transparent 0,#000 14%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 42%),linear-gradient(to bottom,transparent 0,#000 14%,#000 80%,transparent 100%);mask-composite:intersect}

/* the cost · sand --------------------------------------------------------- */
.about .sheet{padding:var(--ab-pad) var(--gutter) calc(var(--ab-pad) + var(--radius-sheet))}
.abcost__blob{right:-8%;top:8%;width:min(30vw,400px);background:rgba(167,174,152,.22);border-radius:46% 54% 52% 48% / 52% 46% 54% 48%}
.abcost .ab-lead{margin-bottom:16px}
.abdot{width:10px;height:10px;margin:40px auto 0;border-radius:50%;background:var(--olive);opacity:.55}
.abpivot{margin:22px auto 0;max-width:20em;text-align:center;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.4;color:var(--olive);text-wrap:balance}

/* the question · olive ---------------------------------------------------- */
.abdark{padding-top:calc(var(--ab-pad) + 8px)}
.abdark__blob{left:50%;top:50%;width:min(62vw,760px);transform:translate(-50%,-50%);background:rgba(167,174,152,.06);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.abdark__inner{position:relative;max-width:var(--maxw);margin:0 auto}
.abdark .abcol{text-align:left}
.abdark .ab-text p{color:var(--ivory-soft)}
.abquestion{margin:clamp(40px,4.6vw,60px) auto;max-width:15em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(32px,4.6vw,64px);line-height:1.18;letter-spacing:-.012em;color:var(--ivory);text-wrap:balance}
.abqs{margin-top:14px}
.abqs li{font-style:italic;font-size:16.5px;line-height:1.8;color:var(--ivory-soft)}
.abqs li+li{margin-top:4px}
.abclose{margin:clamp(40px,4.4vw,56px) auto 0;max-width:20em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.4vw,32px);line-height:1.4;color:var(--ivory);text-wrap:balance}

/* a chapter with no photo: the title on the left, the story on the right ----- */
.abchap__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;max-width:var(--maxw);margin:0 auto}
.abchap .ab-h{max-width:9em}
.abchap .ab-text{max-width:41em}

/* split bands: a photo to one side, the story on the other ---------------- */
.about .absplit{padding:0}
.absplit__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:stretch}
.absplit--flip .absplit__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.absplit--flip .absplit__photo{order:2}
.absplit__photo{position:relative;margin:0;min-height:560px}
.absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to right,#000 56%,transparent 100%),linear-gradient(to bottom,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 56%,transparent 100%),linear-gradient(to bottom,#000 80%,transparent 100%);mask-composite:intersect}
.absplit--flip .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to left,#000 56%,transparent 100%),linear-gradient(to bottom,#000 80%,transparent 100%);mask-image:linear-gradient(to left,#000 56%,transparent 100%),linear-gradient(to bottom,#000 80%,transparent 100%)}
.abphoto[data-pos=smile]{object-position:6% 38%}
.abphoto[data-pos=lotus]{object-position:50% 36%}
.absplit--flip .absplit__photo .abphoto[data-pos=lotus]{-webkit-mask-image:linear-gradient(to left,#000 78%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to left,#000 78%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%)}
.absplit__copy{align-self:center;max-width:calc(36em + 8vw);padding:var(--ab-pad) max(var(--gutter),calc((100vw - var(--maxw)) / 2)) calc(var(--ab-pad) + var(--radius-sheet)) clamp(8px,2vw,32px)}
.absplit--flip .absplit__copy{justify-self:end;padding-left:max(var(--gutter),calc((100vw - var(--maxw)) / 2));padding-right:clamp(8px,2vw,32px)}
.abborn{margin-top:32px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(28px,3.2vw,46px);line-height:1.2;letter-spacing:-.01em;color:var(--olive)}
.abmay{margin:20px 0}
.abmay li{position:relative;padding:3px 0 3px 22px;font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--olive)}
.abmay li+li{margin-top:10px}
.abmay li::before{content:'';position:absolute;left:0;top:.82em;width:8px;height:8px;border-radius:50%;background:var(--olive);opacity:.5}
.abbecause{font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,1.9vw,25px);color:var(--olive)}
.abbecause{margin-top:28px}

/* how i can help ---------------------------------------------------------- */
.abhelp__inner{max-width:var(--maxw);margin:0 auto}
.abhelp__head{text-align:center}
.abhelp__head .ab-h{max-width:16em;margin:0 auto}
.abhelp__lede{max-width:35em;margin:22px auto 0;font-size:17.5px;line-height:1.85;text-wrap:pretty}
.abhelp__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,96px);margin-top:clamp(40px,4.4vw,56px)}
.abhelp__col{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-top:32px;border-top:1px solid var(--olive-line)}
.abmark{display:block;width:52px;height:52px;margin-bottom:18px}
.abmark--sage{background:var(--sage);border-radius:58% 42% 52% 48% / 52% 48% 52% 48%}
.abmark--sand{background:var(--sand);border-radius:46% 54% 42% 58% / 56% 44% 56% 44%}
.abhelp__label{margin-bottom:14px;font-family:var(--font-serif);font-style:italic;font-size:clamp(22px,2vw,27px);line-height:1.3;color:var(--olive)}
.abhelp__col .ab-text{margin-bottom:26px}
.abhelp__link{margin-top:auto}

/* closing: the line ------------------------------------------------------ */
.abfinale__copy{position:relative;text-align:center}
.abquote{max-width:min(100%,820px);margin:0 auto}
.abquote p{font-family:var(--font-serif);font-weight:400;font-size:clamp(27px,3.5vw,48px);line-height:1.28;letter-spacing:-.012em;color:var(--olive);text-wrap:balance}
.abcta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px}

/* about · tablet and phone ------------------------------------------------ */
@media (max-width:900px){
  .about{--ab-pad:56px}
  .abhero{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "photo" "body";padding-top:28px}
  .abhero__top,.abhero__body{padding-left:var(--gutter);padding-right:var(--gutter)}
  .abhero__top{padding-top:8px}
  .abhero__title{margin-top:40px}
  .abhero__photo{min-height:0;height:min(124vw,640px);margin-top:20px}
  .abhero__photo .abphoto{object-position:54% 16%;-webkit-mask-image:linear-gradient(to bottom,#000 54%,transparent 96%);mask-image:linear-gradient(to bottom,#000 54%,transparent 96%)}
  .abhero__body{margin-top:-36px;max-width:none;padding-bottom:calc(72px + var(--radius-sheet))}
  .abhero__body .ab-text,.abhero__lede{max-width:38em}
  .absplit__grid,.absplit--flip .absplit__grid{grid-template-columns:minmax(0,1fr)}
  .absplit--flip .absplit__photo{order:0}
  .absplit__photo{min-height:0;height:min(112vw,560px)}
  .absplit__photo .abphoto,.absplit--flip .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .absplit__copy,.absplit--flip .absplit__copy{max-width:none;margin-top:-28px;padding:0 var(--gutter) calc(var(--ab-pad) + var(--radius-sheet));justify-self:stretch}
  .absplit--flip .absplit__photo .abphoto[data-pos=lotus]{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .abhelp__grid{grid-template-columns:minmax(0,1fr);gap:56px}
  .abchap__grid{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media (max-width:560px){
  .abhero__top{padding-top:0}
  .abcta .btn,.abcta .btn-soft{justify-content:center}
  .abcta{flex-direction:column;align-items:stretch}
}


/* ============================================================================
   COMPANIONS · về những người đồng hành  (/about/doi-tac/)
   Two soft cards side by side. Pressing one opens that person's story right
   underneath (one at a time), so nobody has to scroll past one story to reach
   the other. Each photo dissolves into its card; none sits in a frame.
   Colour bands: ivory (hero) → sand (the two cards) → ivory (invitation) → olive footer.
   ============================================================================ */
.cohero{padding-bottom:calc(64px + var(--radius-sheet))}
.cohero .subhero__lede{max-width:20em}
.cohero__text{max-width:36em;margin:28px auto 0;font-size:16.5px;line-height:1.8;text-wrap:pretty}
.cohero__text p+p{margin-top:14px}

.coshelf{--co-r:36px;padding:64px var(--gutter) calc(96px + var(--radius-sheet))}
.coshelf__inner{max-width:var(--maxw);margin:0 auto}
.cohint{margin-bottom:28px;text-align:center;font-size:14px;line-height:1.6;letter-spacing:.04em;color:var(--olive-soft)}
.costage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,2.4vw,32px);align-items:stretch}
.cotile--annie{grid-area:1/1}
.cotile--thuy{grid-area:1/2}
.copanel{grid-area:2/1/3/3}

/* the card: text on the left, photo on the right dissolving into it */
.cotile{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);min-height:400px;border-radius:var(--co-r);background:rgba(244,240,232,.55);scroll-margin-top:112px;transition:background-color .6s ease}
.cotile:hover{background:rgba(244,240,232,.8)}
.cotile.is-open{background:var(--ivory)}
.cotile__photo{position:relative;order:2;margin:0;overflow:hidden;border-radius:0 var(--co-r) var(--co-r) 0}
.cophoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.98);-webkit-mask-image:linear-gradient(to left,#000 62%,transparent 100%),linear-gradient(to bottom,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to left,#000 62%,transparent 100%),linear-gradient(to bottom,#000 88%,transparent 100%);mask-composite:intersect}
.cophoto[data-pos=annie]{object-position:50% 40%}
.cophoto[data-pos=thuy]{object-position:50% 36%}
.cotile__body{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:40px 8px 32px 36px}
.cotile__name{font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:-.01em;color:var(--olive)}
.cotile__btn{margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.cotile__btn::after{content:'';position:absolute;inset:0;border-radius:var(--co-r)}
.cotile__btn:focus-visible{outline:none}
.cotile__btn:focus-visible::after{outline:2px solid var(--olive);outline-offset:3px}
.cotile__role{margin-top:10px;font-size:14.5px;line-height:1.6;font-weight:400;color:var(--olive);text-wrap:balance}
.cotile__quote{margin-top:20px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(18px,1.55vw,21px);line-height:1.45;color:var(--olive);text-wrap:balance}
.cotile__more{display:inline-flex;align-items:center;gap:14px;margin-top:auto;padding-top:26px;font-size:14.5px;line-height:1.4;letter-spacing:.02em;color:var(--olive)}
.cotile__plus{position:relative;flex:none;width:38px;height:38px;border:1px solid var(--olive-line);border-radius:50%;transition:background-color .5s ease,border-color .5s ease}
.cotile__plus::before,.cotile__plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:var(--olive);transition:transform .5s var(--ease)}
.cotile__plus::after{transform:rotate(90deg)}
.cotile.is-open .cotile__plus::after{transform:rotate(0)}
.cotile:hover .cotile__plus,.cotile.is-open .cotile__plus{background:var(--olive-wash);border-color:rgba(57,67,56,.6)}
.cotile__lab--open{display:none}
.cotile.is-open .cotile__lab--open{display:inline}
.cotile.is-open .cotile__lab--closed{display:none}

/* the story that opens underneath */
.copanel{position:relative;margin-top:16px;padding:clamp(36px,5.6vw,80px) clamp(24px,5.6vw,80px) clamp(40px,5vw,64px);border-radius:var(--co-r);background:var(--ivory)}
.copanel[hidden]{display:none}
.copanel::before{content:'';position:absolute;top:-15px;left:25%;margin-left:-15px;border:15px solid transparent;border-top-width:0;border-bottom-color:var(--ivory)}
.copanel--thuy::before{left:75%}
.copanel:not([hidden]){animation:co-in .7s var(--ease) both}
@keyframes co-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.copanel__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.copanel__side{position:sticky;top:112px}
.copanel__name{margin-top:10px;font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:-.012em;color:var(--olive);text-wrap:balance}
.copanel__role{max-width:20em;margin-top:14px;font-size:15.5px;line-height:1.65;font-weight:400;color:var(--olive)}
.costory{max-width:40em}
.costory p+p{margin-top:16px}
.costory__lead{font-weight:600}
.coquote{margin:32px 0;padding:4px 0 4px 26px;border-left:1px solid var(--olive-line);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,27px);line-height:1.4;letter-spacing:-.005em;color:var(--olive);text-wrap:balance}
.coquote+p{margin-top:0}
.copanel__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:40px}
.coinvite{padding-top:96px;padding-bottom:calc(112px + var(--radius-sheet))}
.nw{white-space:nowrap}
button.btn-soft{cursor:pointer}

@media (prefers-reduced-motion:reduce){
  .copanel:not([hidden]){animation:none}
  .cotile,.cotile__plus,.cotile__plus::before,.cotile__plus::after{transition:none}
}
@media (max-width:900px){
  .coshelf{padding-top:48px;padding-bottom:calc(72px + var(--radius-sheet))}
  .costage{grid-template-columns:minmax(0,1fr);row-gap:16px}
  .cotile--annie,.cotile--thuy,.copanel{grid-area:auto}
  .cotile{grid-template-columns:minmax(0,1fr);min-height:0}
  .cotile__photo{order:0;height:min(104vw,460px);border-radius:var(--co-r) var(--co-r) 0 0}
  .cophoto,.cophoto[data-pos]{object-position:50% 40%;-webkit-mask-image:linear-gradient(to bottom,#000 52%,transparent 98%);mask-image:linear-gradient(to bottom,#000 52%,transparent 98%)}
  .cotile__body{margin-top:-44px;padding:0 24px 28px}
  .copanel{margin-top:-4px;padding:36px 24px 40px}
  .copanel::before{left:50%}
  .copanel--thuy::before{left:50%}
  .copanel__grid{grid-template-columns:minmax(0,1fr);gap:0}
  .copanel__side{display:none}
  .coinvite{padding-top:72px;padding-bottom:calc(88px + var(--radius-sheet))}
}
@media (max-width:560px){
  .copanel__cta{flex-direction:column;align-items:stretch}
  .copanel__cta .btn,.copanel__cta .btn-soft{justify-content:center}
}


/* ============================================================================
   CONTACT · liên hệ  (/contact/)
   One quiet form on an ivory card. The first question is who the visitor wants to
   talk to; /contact/?with=annie ticks that answer. Sent through Netlify Forms.
   ============================================================================ */
.ctintro{padding-bottom:calc(72px + var(--radius-sheet))}
.ctsheet{padding:56px var(--gutter) calc(96px + var(--radius-sheet))}
.ctcard{max-width:780px;margin:0 auto;padding:clamp(28px,5vw,60px);border-radius:var(--radius-card);background:var(--ivory)}
.ctform{display:grid;gap:28px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pick{min-width:0;margin:0;padding:0;border:0}
.pick legend{margin-bottom:14px;padding:0;font-family:var(--font-serif);font-size:clamp(21px,2vw,26px);line-height:1.3;color:var(--olive)}
.pick__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pill{position:relative;display:block;cursor:pointer}
.pill input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pill__box{display:flex;flex-direction:column;gap:3px;height:100%;padding:16px 22px;border:1px solid var(--olive-line);border-radius:24px;transition:background-color .4s ease,border-color .4s ease,color .4s ease}
.pill__name{font-size:16.5px;line-height:1.4;font-weight:400;color:var(--olive);transition:color .4s ease}
.pill__sub{font-size:13.5px;line-height:1.5;color:var(--ink-soft);transition:color .4s ease}
.pill:hover .pill__box{border-color:rgba(57,67,56,.6);background:var(--olive-wash)}
.pill input:checked+.pill__box{background:var(--olive);border-color:var(--olive)}
.pill input:checked+.pill__box .pill__name{color:var(--ivory)}
.pill input:checked+.pill__box .pill__sub{color:var(--ivory-soft)}
.pill input:focus-visible+.pill__box{outline:2px solid var(--olive);outline-offset:3px}
.ctrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field label .opt{color:var(--ink-soft)}
.field textarea,.field select{width:100%;border:1px solid var(--olive-line);background-color:var(--ivory);color:var(--charcoal);font:inherit;font-size:16px;font-weight:300;transition:border-color .4s ease}
.field select{min-height:52px;padding:0 52px 0 24px;border-radius:999px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 10 10' fill='none' stroke='%23394338' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 22px center;cursor:pointer}
.field textarea{display:block;min-height:150px;padding:16px 24px;border-radius:26px;line-height:1.7;resize:vertical}
.field textarea::placeholder{color:var(--ink-soft);opacity:.7}
.field textarea:hover,.field select:hover{border-color:rgba(57,67,56,.6)}
.field textarea:focus,.field select:focus{border-color:var(--olive)}
.field textarea:user-invalid,.field select:user-invalid{border-color:var(--clay)}
.ctform__foot{display:grid;gap:16px;justify-items:start}
.ctform__foot .btn[disabled]{opacity:.6;cursor:default}
@media (max-width:900px){
  .ctintro{padding-bottom:calc(56px + var(--radius-sheet))}
  .ctsheet{padding-top:40px;padding-bottom:calc(72px + var(--radius-sheet))}
}
@media (max-width:560px){
  .pick__row,.ctrow{grid-template-columns:minmax(0,1fr)}
}


/* ============================================================================
   AUTHENTIC FEMININE FULFILLMENT  (/transformation-journeys/authentic-feminine-fulfillment/)
   Colour bands: ivory (hero) → sand (mirror) → olive (a journey back) → ivory (3A spiral)
   → sand (how we work) → sage (what changes) → ivory (who it is for) → sand (invitation)
   → olive footer. Photos bleed to the edge and dissolve into the band; none sits in a frame.
   The 3A spiral: three points on a spiral around "3A"; pointing at one opens its card.
   ============================================================================ */
.af{--af-r:36px}
.afital{display:block;font-style:italic}

/* hero */
.afhero{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(8px,2vw,32px);align-items:stretch;min-height:min(88vh,780px);padding:40px 0 0;scroll-margin-top:90px}
.afhero__blob{left:-9%;top:8%;width:min(34vw,460px);background:rgba(167,174,152,.14);border-radius:50% 50% 46% 54% / 54% 46% 54% 46%}
.afhero__text{position:relative;display:flex;flex-direction:column;padding:16px 0 calc(64px + var(--radius-sheet)) max(var(--gutter),calc((100vw - var(--maxw)) / 2))}
.afhero .crumbs{justify-content:flex-start}
.afhero__main{margin:auto 0;padding-top:48px}
.afhero__title{margin-top:14px;max-width:8.5em;font-family:var(--font-serif);font-weight:400;font-size:clamp(42px,5.6vw,82px);line-height:1.04;letter-spacing:-.018em;color:var(--olive);text-wrap:balance}
.afhero__tag{margin-top:24px;max-width:18em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.3vw,32px);line-height:1.35;color:var(--olive-soft);text-wrap:balance}
.afhero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.afhero__photo{position:relative;margin:0;min-height:620px}
.afhero__photo .abphoto{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 40%),linear-gradient(to bottom,transparent 0,#000 12%,#000 76%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 40%),linear-gradient(to bottom,transparent 0,#000 12%,#000 76%,transparent 100%);mask-composite:intersect}
.abphoto[data-pos=twirl]{object-position:44% 38%}
.abphoto[data-pos=afh]{object-position:50% 30%}
.afhero__photo--frame{margin-top:26px;border-radius:64px 0 0 64px;overflow:hidden}
.afhero__photo--frame .abphoto{-webkit-mask-image:none;mask-image:none}

/* the mirror · sand */
.afmirror__blob{right:-8%;top:5%;width:min(30vw,400px);background:rgba(167,174,152,.22);border-radius:46% 54% 52% 48% / 52% 46% 54% 48%}
.afmirror__head{position:relative;max-width:var(--maxw);margin:0 auto;text-align:center}
.afmirror__q{max-width:19em;margin:0 auto}
.afmirror__intro{max-width:38em;margin:32px auto 0;text-align:center}
.afmirror__intro p{text-wrap:balance}
.afmirror__grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4.4vw,60px) clamp(40px,6vw,96px);max-width:var(--maxw);margin:clamp(48px,5vw,72px) auto 0}
.afmirror__item{padding-top:26px;border-top:1px solid var(--olive-line)}
.afmirror__item .ab-lead{margin-bottom:14px}

/* a journey back · olive, photo on the right */
.afback{text-align:left}
.afback .ab-h{color:var(--ivory)}
.afback .ab-text p{color:var(--ivory-soft)}
.afback .absplit__photo{min-height:640px}
.afback .abphoto[data-pos=gp]{object-position:50% 30%}
.afback .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to left,#000 66%,transparent 100%),linear-gradient(to bottom,#000 82%,transparent 100%);mask-image:linear-gradient(to left,#000 66%,transparent 100%),linear-gradient(to bottom,#000 82%,transparent 100%)}
.abphoto[data-pos=gp]{object-position:50% 22%}
.afback .abphoto[data-pos=afhair]{object-position:50% 100%}
.afpull{margin-top:36px;max-width:22em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.3vw,31px);line-height:1.4;color:var(--ivory);text-wrap:balance}

/* 3A · ivory */
.afspiral__blob--a{left:-10%;top:4%;width:min(32vw,420px);background:rgba(167,174,152,.16);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.afspiral__blob--b{right:-9%;bottom:6%;width:min(28vw,360px);background:rgba(222,213,199,.55);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.afspiral__head{position:relative;max-width:44em;margin:0 auto;text-align:center}
.afspiral__head .ab-h{margin-top:6px}
.afspiral__lede{margin-top:22px;font-size:17px;line-height:1.85;text-wrap:pretty}
.afs{position:relative;max-width:var(--maxw);margin:clamp(32px,3.4vw,48px) auto 0}
.afs__stage{position:relative;container-type:inline-size;display:grid;justify-items:center}
.afs__box{position:relative;container-type:inline-size;width:min(100%,540px);aspect-ratio:1/1;margin:0 auto}
.afs__box::before{content:'';position:absolute;inset:-4%;border-radius:50%;background:radial-gradient(circle,rgba(167,174,152,.3) 0,rgba(167,174,152,.16) 44%,rgba(167,174,152,0) 70%);pointer-events:none}
.afs__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.afs__ring{fill:none;stroke:rgba(57,67,56,.16);stroke-width:1;stroke-dasharray:2 7}
.afs__ribbon{fill:none;stroke:rgba(167,174,152,.55);stroke-width:15;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}
.afs__line{fill:none;stroke:var(--olive);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}
.afs[data-ready]:not(.is-in) .afs__ribbon,.afs[data-ready]:not(.is-in) .afs__line{stroke-dashoffset:1}
.afs.is-in .afs__line{transition:stroke-dashoffset 3.4s var(--ease)}
.afs.is-in .afs__ribbon{transition:stroke-dashoffset 3.4s var(--ease) .2s}
.afs__core{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:21%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;background:var(--olive);color:var(--ivory)}
.afs__core span{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:9.4cqw;line-height:1;letter-spacing:-.02em;padding-bottom:.06em}

.afnode{position:absolute;display:block;width:clamp(40px,9.6cqw,52px);aspect-ratio:1/1;margin:0;padding:0;border:0;border-radius:50%;background:none;color:var(--olive);font:inherit;cursor:pointer;transform:translate(-50%,-50%);transition:opacity 1s ease}
.afnode--1{left:68.28%;top:35.72%}
.afnode--2{left:17.32%;top:50%}
.afnode--3{left:85.54%;top:72.21%}
.afs[data-ready]:not(.is-in) .afnode{opacity:0}
.afs.is-in .afnode--1{transition-delay:1.1s}
.afs.is-in .afnode--2{transition-delay:1.9s}
.afs.is-in .afnode--3{transition-delay:2.7s}
.afnode__dot{position:relative;display:grid;place-items:center;width:100%;height:100%;border:1px solid var(--olive);border-radius:50%;background:var(--ivory);font-family:var(--font-serif);font-style:italic;font-size:clamp(15px,3.5cqw,19px);line-height:1;transition:background-color .5s ease,color .5s ease,transform .6s var(--ease)}
.afnode__dot::after{content:'';position:absolute;inset:-1px;border:1px solid var(--olive);border-radius:50%;opacity:0;animation:af-breathe 4.2s ease-out infinite}
.afnode--2 .afnode__dot::after{animation-delay:1.4s}
.afnode--3 .afnode__dot::after{animation-delay:2.8s}
.afs.has-open .afnode__dot::after{animation:none}
@keyframes af-breathe{0%{opacity:.4;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.55)}}
.afnode__lab{position:absolute;left:50%;top:100%;margin-top:9px;transform:translateX(-50%);padding:4px 13px;border-radius:999px;background:rgba(244,240,232,.92);font-size:clamp(11.5px,2.5cqw,13.5px);font-weight:400;line-height:1.5;letter-spacing:.02em;white-space:nowrap;color:var(--olive)}
.afnode:hover .afnode__dot,.afnode.is-on .afnode__dot{background:var(--olive);color:var(--ivory);transform:scale(1.06)}
.afnode:focus-visible{outline:none}
.afnode:focus-visible .afnode__dot{outline:2px solid var(--olive);outline-offset:4px}

/* the card that opens beside (wide) or below (narrow) the spiral */
.afcard{position:relative;z-index:3;width:min(100%,680px);margin-top:22px;padding:30px 28px 28px;border-radius:var(--af-r);background:var(--sand);border:1px solid rgba(57,67,56,.14);box-shadow:0 30px 70px -44px rgba(41,41,37,.5);scroll-margin-top:96px}
.afcard[hidden]{display:none}
.afcard:not([hidden]){animation:af-in-flow .5s var(--ease) both}
@keyframes af-in-flow{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes af-in-side{from{opacity:0;transform:translateY(calc(-50% + 10px))}to{opacity:1;transform:translateY(-50%)}}
.afcard__x{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;margin:0;padding:0;border:1px solid var(--olive-line);border-radius:50%;background:none;color:var(--olive);font-size:21px;line-height:1;cursor:pointer;transition:background-color .4s ease,border-color .4s ease}
.afcard__x:hover{background:var(--olive-wash);border-color:rgba(57,67,56,.6)}
.afcard__no{padding-right:44px;font-size:13.5px;line-height:1.5;letter-spacing:.06em;color:var(--olive-soft)}
.afcard__title{margin-top:8px;padding-right:12px;font-family:var(--font-serif);font-weight:400;font-size:clamp(23px,2.1vw,29px);line-height:1.22;letter-spacing:-.008em;color:var(--olive);text-wrap:balance}
.afcard__text{margin-top:16px;font-size:15.5px;line-height:1.75;text-wrap:pretty}
.afcard__text p+p{margin-top:10px}
.afcard__prac{margin-top:20px;font-size:12.5px;line-height:1.5;letter-spacing:.08em;color:var(--olive-soft)}
.afcard__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.afcard__chips li{padding:3px 12px;border:1px solid var(--olive-line);border-radius:999px;font-size:12.5px;line-height:1.55;color:var(--olive)}
.afs__hint{margin-top:26px;text-align:center;font-size:14px;line-height:1.6;letter-spacing:.04em;font-style:italic;color:rgba(57,67,56,.6)}
.afs.has-open .afs__hint{opacity:.5}

@media (min-width:1280px){
  .afs__stage{min-height:790px;align-content:center}
  .afs__box{width:clamp(440px,43cqw,540px)}
  .afcard{position:absolute;top:50%;width:clamp(312px,30cqw,380px);margin-top:0;padding:32px 30px 28px;transform:translateY(-50%)}
  .afcard:not([hidden]){animation-name:af-in-side}
  .afcard--1,.afcard--3{right:0}
  .afcard--2{left:0}
  .afcard__text{font-size:14.5px;line-height:1.7}
  .afcard__x{top:14px;right:14px;width:32px;height:32px}
}

/* how we work · sand */
.afhow__blob{left:-11%;bottom:-9%;width:min(24vw,340px);background:rgba(167,174,152,.22);border-radius:48% 52% 54% 46% / 52% 46% 54% 48%}
.afhow__grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;max-width:var(--maxw);margin:0 auto}
.afhow__head{position:sticky;top:112px}
.afhow__sub{margin:18px 0 22px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.4;color:var(--olive)}
.afsteps{counter-reset:none}
.afstep{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:6px;padding:28px 0;border-top:1px solid var(--olive-line)}
.afstep:first-child{padding-top:0;border-top:0}
.afstep:last-child{padding-bottom:0}
.afstep__no{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:34px;line-height:1.05;color:var(--olive)}
.afstep__title{font-size:17.5px;font-weight:600;line-height:1.45;color:var(--charcoal)}
.afstep p{margin-top:8px;font-size:16.5px;line-height:1.8;text-wrap:pretty}

/* what can change · sage */
.afchg__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.afchg__blob--a{left:-11%;top:-5%;width:min(27vw,350px);background:rgba(244,240,232,.16);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.afchg__blob--b{right:-9%;bottom:12%;width:min(28vw,380px);background:rgba(244,240,232,.14);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.afchg__head{max-width:40em;margin:0 auto;text-align:center}
.afchg__lede{margin-top:22px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.afchg__list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:clamp(20px,2.2vw,30px);margin-top:clamp(44px,4.6vw,64px)}
.afchg__item{position:relative;grid-column:span 2;padding:34px 30px 32px;border-radius:46px 46px 46px 14px;background:rgba(244,240,232,.58);box-shadow:0 28px 54px -38px rgba(41,41,37,.4);transition:transform .5s ease,background-color .5s ease}
.afchg__item:nth-child(2){margin-top:46px;border-radius:46px 14px 46px 46px}
.afchg__item:nth-child(3){border-radius:46px 46px 14px 46px}
.afchg__item:nth-child(4){grid-column:2 / span 2;border-radius:14px 46px 46px 46px}
.afchg__item:nth-child(5){grid-column:4 / span 2;margin-top:46px}
.afchg__item:hover{transform:translateY(-5px);background:rgba(244,240,232,.8)}
.afchg__no{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:50%;background:rgba(57,67,56,.1);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;line-height:1;color:var(--olive)}
.afchg__item .ab-lead{margin-bottom:10px;color:var(--charcoal)}
.afchg__text{font-size:16.5px;line-height:1.8;text-wrap:pretty}

/* is it for you · ivory */
.affit__inner{max-width:var(--maxw);margin:0 auto}
.affit__title{max-width:16em;margin:0 auto;text-align:center}
.affit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);align-items:start;margin-top:clamp(36px,4vw,56px)}
.affit__col{padding:clamp(28px,3.4vw,48px);border-radius:var(--af-r)}
.affit__col--yes{background:rgba(167,174,152,.28)}
.affit__col--no{background:rgba(222,213,199,.6)}
.affit__h{margin-bottom:22px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,27px);line-height:1.3;color:var(--olive);text-wrap:balance}
.affit__list li{position:relative;padding-left:30px;font-size:16px;line-height:1.75;text-wrap:pretty}
.affit__list li+li{margin-top:16px}
.affit__list li::before{content:'';position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:50%}
.affit__col--yes li::before{background:var(--olive);opacity:.6}
.affit__col--no li::before{border:1px solid var(--olive);opacity:.55}

/* invitation · sand */
.afinvite .invitation__watermark{opacity:.04}
.afinvite .invitation__actions{margin-top:40px}

/* authentic feminine fulfillment · tablet and phone */
@media (max-width:760px){
  .afhero{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:28px}
  .afhero__text{padding:8px var(--gutter) 0}
  .afhero__main{padding-top:36px}
  .afhero__photo{min-height:0;height:min(120vw,620px);margin-top:20px}
  .afhero__photo--frame{margin:20px var(--gutter) 0;height:min(112vw,560px);border-radius:40px}
  .afhero__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 56%,transparent 96%);mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 56%,transparent 96%)}
  .afhero__photo--frame .abphoto{-webkit-mask-image:none;mask-image:none}
}
@media (max-width:900px){
  .afmirror__grid{grid-template-columns:minmax(0,1fr)}
  .afback .absplit__photo{min-height:0}
  .afback .abphoto[data-pos=afhair]{object-position:50% 54%}
  .afback .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .afhow__grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .afhow__head{position:static}
  .afchg__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .afchg__item,.afchg__item:nth-child(n){grid-column:auto;margin-top:0}
  .afchg__item:nth-child(even){margin-top:34px}
  .afchg__item:nth-child(5){grid-column:1 / -1;justify-self:center;width:calc(50% - 15px);margin-top:0}
  .affit__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .afback .abphoto[data-pos=afhair]{object-position:50% 68%}
}
@media (max-width:640px){
  .afchg__list{grid-template-columns:minmax(0,1fr)}
  .afchg__item,.afchg__item:nth-child(n){margin-top:0;padding:30px 24px 28px;border-radius:34px 34px 34px 12px}
  .afchg__item:nth-child(even){border-radius:34px 12px 34px 34px}
  .afchg__item:nth-child(5){grid-column:auto;width:auto}
}
@media (prefers-reduced-motion:reduce){
  .afchg__item{transition:none}
  .afchg__item:hover{transform:none}
}
@media (max-width:560px){
  .afhero__cta{flex-direction:column;align-items:stretch}
  .afhero__cta .btn,.afhero__cta .btn-soft{justify-content:center}
  .afstep{grid-template-columns:56px minmax(0,1fr)}
  .afstep__no{font-size:28px}
  .afcard{padding:26px 22px 24px}
  .afcard__text{font-size:15.5px}
}
@media (prefers-reduced-motion:reduce){
  .afs.is-in .afs__line,.afs.is-in .afs__ribbon,.afs.is-in .afnode{transition:none}
  .afnode__dot::after{animation:none}
  .afcard:not([hidden]){animation:none}
}


/* ============================================================================
   RISE & RAISE PRIVATE COACHING  (/transformation-journeys/rise-raise-coaching/)
   Annie's page. Colour bands: ivory (hero) → sand (her letter) → sage (imagine) → ivory (who it is for)
   → olive (don't wait) → sand (career evolution session) → ivory (closing letter) → sand (apply)
   → olive footer. Re-uses the hero, the split bands and the two panels of the Authentic page;
   photos dissolve into the band beside them, none sits in a frame.
   ============================================================================ */
.rr strong{font-weight:600}
.abphoto[data-pos=rrh]{object-position:60% 34%}
.abphoto[data-pos=rrl]{object-position:50% 22%}
.abphoto[data-pos=rri]{object-position:0% 26%}

/* hero: a longer title and a longer line underneath than the Authentic page */
.rrhero .afhero__title{max-width:9.2em;font-size:clamp(38px,4.7vw,68px);line-height:1.08}
.rrhero .afhero__tag{max-width:27em;margin-top:22px;font-size:clamp(18px,1.5vw,21px);line-height:1.65;text-wrap:pretty}
.rrhero__by{margin-top:20px;font-size:14px;line-height:1.6;letter-spacing:.05em;color:var(--ink-soft)}
.rrhero .afhero__cta{margin-top:34px}

/* her letter · sand, photo on the left */
.rrletter .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to right,#000 64%,transparent 100%),linear-gradient(to bottom,#000 82%,transparent 100%);mask-image:linear-gradient(to right,#000 64%,transparent 100%),linear-gradient(to bottom,#000 82%,transparent 100%)}
.rrsalute{margin-bottom:28px;font-family:var(--font-serif);font-weight:400;font-size:clamp(23px,2.2vw,30px);line-height:1.38;letter-spacing:-.006em;color:var(--olive);text-wrap:balance}
.rrsalute__a{display:block;font-style:italic}
.rrsalute__b{display:block;margin-top:.5em;font-size:.84em;line-height:1.5;color:var(--olive-soft)}
.rrpull{margin-top:32px;max-width:22em;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,27px);line-height:1.42;color:var(--olive);text-wrap:balance}
.rrpull--center{margin-left:auto;margin-right:auto;text-align:center}

/* imagine · sage */
.rrimg__blob--a{left:-11%;top:-4%;width:min(27vw,350px);background:rgba(244,240,232,.16);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.rrimg__blob--b{right:-9%;bottom:6%;width:min(28vw,380px);background:rgba(244,240,232,.14);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.rrimg__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.rrimg__head{max-width:34em;margin:0 auto;text-align:center}
.rrimg__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,2.4vw,32px);max-width:1000px;margin:clamp(40px,4.4vw,60px) auto 0}
.rrimg__item{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:20px;align-items:start;padding:34px 34px 32px 30px;border-radius:46px 46px 46px 14px;background:rgba(244,240,232,.58);box-shadow:0 28px 54px -38px rgba(41,41,37,.4);transition:transform .5s ease,background-color .5s ease}
.rrimg__item:nth-child(even){margin-top:44px;border-radius:46px 14px 46px 46px}
.rrimg__item:hover{transform:translateY(-5px);background:rgba(244,240,232,.8)}
.rrimg__petal{position:relative;display:block;width:34px;height:34px;margin-top:5px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.14)}
.rrimg__petal::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(57,67,56,.4);transform:rotate(-45deg)}
.rrimg__text{font-size:17px;line-height:1.78;text-wrap:pretty}
.rrimg__close{max-width:36em;margin:clamp(48px,5vw,68px) auto 0;text-align:center}
.rrimg__a{font-size:16.5px;line-height:1.8;color:var(--olive)}
.rrimg__b{margin-top:10px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,27px);line-height:1.45;color:var(--olive);text-wrap:balance}
.rrimg__c{margin-top:22px;font-size:16.5px;line-height:1.8;color:var(--olive)}

/* who it is for · ivory (re-uses the .affit panels) */
.rrfit__head{max-width:40em;margin:0 auto;text-align:center}
.rrfit__head .ab-text{margin-top:22px}
.rrfit__head .ab-text p{text-wrap:balance}

/* don't wait · olive, photo on the right */
.rrwait{text-align:left}
.rrwait .rrwait__h{font-family:var(--font-serif);font-weight:400;font-size:clamp(25px,2.4vw,34px);line-height:1.32;letter-spacing:-.008em;color:var(--ivory);text-wrap:balance}
.rrwait .rrwait__h+.ab-text{margin-top:26px}
.rrwait .ab-text p{color:var(--ivory-soft)}
.rrwait .ab-text strong{color:var(--ivory)}
.rrwait .rrpull--light{margin-top:34px;margin-bottom:28px;color:var(--ivory)}
.rrwait__end{margin-top:26px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,26px);line-height:1.4;color:var(--ivory)}
.rrwait .absplit__photo{min-height:640px}
.rrwait .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to left,#000 76%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to left,#000 76%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%)}

/* career evolution session · sand */
.rrces__blob--a{left:-10%;top:3%;width:min(28vw,380px);background:rgba(167,174,152,.2);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.rrces__blob--b{right:-9%;bottom:8%;width:min(26vw,340px);background:rgba(244,240,232,.4);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.rrces__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.rrces__head{max-width:40em;margin:0 auto;text-align:center}
.rrces__head .ab-h{margin-top:8px}
.rrces__sub{margin-top:18px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.rrces__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.rrces__chips li{padding:5px 18px;border:1px solid var(--olive-line);border-radius:999px;background:rgba(244,240,232,.5);font-size:14px;line-height:1.6;letter-spacing:.02em;color:var(--olive)}
.rrces__lead{margin:clamp(44px,4.6vw,64px) auto 0;text-align:center;font-size:16.5px;line-height:1.8;color:var(--olive)}
.rrces__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(18px,2vw,28px);max-width:1080px;margin:22px auto 0}
.rrces__card{position:relative;padding:32px 28px 30px;border-radius:44px 44px 44px 14px;background:rgba(244,240,232,.66);box-shadow:0 26px 50px -38px rgba(41,41,37,.4);transition:transform .5s ease,background-color .5s ease}
.rrces__card:nth-child(2){margin-top:34px;border-radius:44px 14px 44px 44px}
.rrces__card:nth-child(3){border-radius:44px 44px 14px 44px}
.rrces__card:hover{transform:translateY(-5px);background:rgba(244,240,232,.85)}
.rrces__no{display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:50%;background:rgba(57,67,56,.1);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:18px;line-height:1;color:var(--olive)}
.rrces__card p{font-size:16.5px;line-height:1.75;text-wrap:pretty}
.rrces__panel{max-width:760px;margin:clamp(48px,5vw,68px) auto 0;padding:clamp(30px,4vw,52px);border-radius:var(--af-r);background:rgba(244,240,232,.6)}
.rrces__rule{width:56px;height:1px;margin:28px 0;border:0;background:var(--olive-line)}
.rrces__c{margin-top:26px;font-size:16.5px;line-height:1.8;text-wrap:pretty}
.rrces__panel .rrpull{margin-top:22px}

/* closing letter · ivory */
.rrbye__blob--a{left:-10%;top:6%;width:min(26vw,340px);background:rgba(222,213,199,.6);border-radius:50% 50% 46% 54% / 54% 46% 54% 46%}
.rrbye__blob--b{right:-9%;bottom:10%;width:min(24vw,320px);background:rgba(167,174,152,.18);border-radius:46% 54% 52% 48% / 52% 46% 54% 48%}
.rrbye__inner{position:relative;z-index:1;max-width:42em;margin:0 auto;text-align:center}
.rrbye__lines--first{margin-top:0}
.rrbye__q{margin-top:34px;font-family:var(--font-serif);font-weight:400;font-size:clamp(23px,2.3vw,31px);line-height:1.42;letter-spacing:-.008em;color:var(--olive);text-wrap:balance}
.rrbye__lines{margin-top:30px}
.rrbye__lines p{text-wrap:balance}
.rrbye__yes{margin-top:34px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.3;color:var(--olive)}
.rrbye__yes+.rrbye__lines{margin-top:22px}
.rrbye__way{margin-top:26px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.rrbye__way+.rrbye__lines{margin-top:26px}
.rrbye__sign{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:48px}
.rrbye__avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--sand)}
.rrbye__name{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:34px;line-height:1.1;color:var(--olive)}

/* apply · sand: her words beside the form */
.rrapply{padding-top:clamp(84px,9vw,128px)}
.rrapply__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start;max-width:var(--maxw);margin:0 auto}
.rrapply__head .ab-h{margin-top:8px}
.rrapply__sub{margin:18px 0 26px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.rrapply__read{margin-top:30px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.rrapply__read span{display:block}
.rrapply__card{max-width:none;margin:0;padding:clamp(26px,3.6vw,48px)}
.rrapply .ctform{gap:22px}
.rrapply .field textarea{min-height:108px}

/* rise & raise · tablet and phone */
@media (max-width:1040px){
  .rrces__cards{grid-template-columns:minmax(0,1fr);max-width:560px}
  .rrces__card,.rrces__card:nth-child(n){margin-top:0}
}
@media (max-width:900px){
  .rrletter .absplit__photo .abphoto,.rrwait .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .rrwait .absplit__photo{min-height:0}
  .abphoto[data-pos=rrl]{object-position:50% 24%}
  .abphoto[data-pos=rri]{object-position:30% 24%}
  .rrapply__grid{grid-template-columns:minmax(0,1fr);gap:44px}
  .rrimg__list{grid-template-columns:minmax(0,1fr)}
  .rrimg__item:nth-child(even){margin-top:0;border-radius:46px 14px 46px 46px}
}
@media (max-width:640px){
  .rrimg__item,.rrimg__item:nth-child(n){grid-template-columns:34px minmax(0,1fr);column-gap:16px;padding:28px 24px 26px 22px;border-radius:34px 34px 34px 12px}
  .rrimg__item:nth-child(even){border-radius:34px 12px 34px 34px}
  .rrimg__petal{width:28px;height:28px;margin-top:6px}
  .rrces__card,.rrces__card:nth-child(n){padding:28px 24px 26px;border-radius:34px 34px 34px 12px}
  .rrces__card:nth-child(even){border-radius:34px 12px 34px 34px}
}
@media (prefers-reduced-motion:reduce){
  .rrimg__item,.rrces__card{transition:none}
  .rrimg__item:hover,.rrces__card:hover{transform:none}
}

/* ============================================================================
   UNLOCK YOUR TRUE LOVE  (/transformation-journeys/unlock-your-true-love/)
   Thuy's page. Colour bands: ivory (hero) → sand (six moments) → sage (I understand) → olive (what you will receive)
   → ivory (what is special) → sand (the journey) → olive (booking) → ivory (questions) → olive footer.
   Re-uses the hero and the split bands of the Authentic page; photos dissolve into the band beside them.
   ============================================================================ */
.utl strong{font-weight:600}
.utl mark{padding:0 .1em;color:inherit;background:linear-gradient(to top,rgba(185,155,140,.36) 0,rgba(185,155,140,.36) 40%,transparent 40%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.abphoto[data-pos=utlh]{object-position:46% 26%}
.abphoto[data-pos=utlp]{object-position:50% 40%}
.abphoto[data-pos=utlj]{object-position:30% 30%}

/* hero: a long title, then the intro line */
.utlhero .afhero__title{max-width:11.4em;font-size:clamp(33px,3.9vw,56px);line-height:1.14;letter-spacing:-.014em}
.utlhero__lede{margin-top:26px;max-width:31em;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.85;color:var(--ink-soft);text-wrap:pretty}
.utlhero__by{margin-top:20px;font-size:14px;line-height:1.6;letter-spacing:.05em;color:var(--ink-soft)}
.utlhero .afhero__cta{margin-top:32px}

/* six moments · sand */
.utlsc__blob--a{left:-10%;top:2%;width:min(28vw,380px);background:rgba(167,174,152,.2);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.utlsc__blob--b{right:-9%;bottom:5%;width:min(26vw,340px);background:rgba(244,240,232,.4);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.utlsc__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.utlsc__head{max-width:30em;margin:0 auto;text-align:center}
.utlsc__head .ab-h{font-style:italic}
.utlsc__main{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:center;max-width:1100px;margin:clamp(36px,4vw,56px) auto 0;padding:clamp(30px,4.4vw,60px);border-radius:56px 56px 56px 16px;background:rgba(244,240,232,.62);box-shadow:0 30px 60px -42px rgba(41,41,37,.4)}
.utlsc__h{font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,2.7vw,38px);line-height:1.26;letter-spacing:-.01em;color:var(--olive);text-wrap:balance}
.utlsc__h em{font-style:italic;color:var(--olive-soft)}
.utlsc__p{margin-top:22px;font-size:16.5px;line-height:1.85;text-wrap:pretty}
.utlsc__ask{padding:clamp(24px,2.8vw,38px);border-radius:42px 42px 14px 42px;background:rgba(167,174,152,.26)}
.utlsc__askt{margin-bottom:8px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.4;color:var(--olive)}
.utlsc__qs li{padding:15px 0;border-top:1px solid rgba(57,67,56,.2);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--charcoal);text-wrap:pretty}
.utlsc__qs li:first-child{border-top:0}
.utlsc__cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(18px,2vw,26px);max-width:1100px;margin:clamp(22px,2.4vw,30px) auto 0}
.utlsc__card{position:relative;grid-column:span 2;padding:30px 28px 30px;border-radius:44px 44px 44px 14px;background:rgba(244,240,232,.5);box-shadow:0 26px 50px -38px rgba(41,41,37,.38);transition:transform .5s ease,background-color .5s ease}
.utlsc__card:nth-child(n+4){grid-column:span 3}
.utlsc__card:nth-child(2){border-radius:44px 14px 44px 44px}
.utlsc__card:nth-child(3){border-radius:44px 44px 14px 44px}
.utlsc__card:nth-child(4){border-radius:14px 44px 44px 44px}
.utlsc__card:hover{transform:translateY(-5px);background:rgba(244,240,232,.78)}
.utlsc__petal{position:relative;display:block;width:26px;height:26px;margin-bottom:16px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.14)}
.utlsc__petal::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(57,67,56,.4);transform:rotate(-45deg)}
.utlsc__t{margin-bottom:10px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,1.9vw,25px);line-height:1.3;color:var(--olive);text-wrap:balance}
.utlsc__card p{font-size:16px;line-height:1.78;text-wrap:pretty}

/* I understand · sage, photo on the left */
.utlheart .absplit__photo{min-height:640px}
.utlheart .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to right,#000 74%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to right,#000 74%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%)}
.utlheart .ab-text p{color:var(--charcoal)}
.utlquote{max-width:21em;margin:34px 0;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.42;color:var(--olive);text-wrap:balance}
.utlheart__end{position:relative;padding-left:36px;font-size:16.5px;line-height:1.85;color:var(--charcoal);text-wrap:pretty}
.utlheart__mark{position:absolute;left:2px;top:.55em;width:20px;height:20px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.2)}
.utlheart__mark::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(57,67,56,.55);transform:rotate(-45deg)}

/* what you will receive · olive */
.utlben__blob--a{left:-10%;top:3%;width:min(28vw,380px);background:rgba(244,240,232,.05);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.utlben__blob--b{right:-9%;bottom:6%;width:min(26vw,340px);background:rgba(167,174,152,.09);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.utlben__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.utlben__head{max-width:38em;margin:0 auto;text-align:center}
.utlben__h{font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,2.9vw,40px);line-height:1.26;letter-spacing:-.01em;color:var(--ivory);text-wrap:balance}
.utlben__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);max-width:1040px;margin:clamp(40px,4.4vw,60px) auto 0}
.utlben__item{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:18px;align-items:start;padding:28px 30px 28px 26px;border-radius:40px 40px 40px 12px;background:rgba(244,240,232,.07);border:1px solid rgba(244,240,232,.14);text-align:left;transition:background-color .5s ease,transform .5s ease}
.utlben__item:nth-child(even){border-radius:40px 12px 40px 40px}
.utlben__item:hover{background:rgba(244,240,232,.12);transform:translateY(-4px)}
.utlben__petal{position:relative;display:block;width:26px;height:26px;margin-top:4px;border-radius:50% 0 50% 0;background:rgba(244,240,232,.18)}
.utlben__petal::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(244,240,232,.55);transform:rotate(-45deg)}
.utlben__item p{font-size:16.5px;line-height:1.75;color:var(--ivory-soft);text-wrap:pretty}
.utlben__close{max-width:38em;margin:clamp(44px,5vw,68px) auto 0;text-align:center}
.utlben__a{font-size:16.5px;line-height:1.8;color:var(--ivory-soft)}
.utlben__b{margin-top:10px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.3vw,30px);line-height:1.42;color:var(--ivory);text-wrap:balance}

/* what is special · ivory */
.utlfeat__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.utlfeat__head{max-width:32em;margin:0 auto;text-align:center}
.utlfeat__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,2.4vw,32px);max-width:1080px;margin:clamp(40px,4.4vw,60px) auto 0}
.utlfeat__card{padding:clamp(30px,3.4vw,44px) clamp(26px,3vw,40px);border-radius:52px 52px 52px 14px;background:rgba(222,213,199,.6);box-shadow:0 28px 54px -40px rgba(41,41,37,.35);transition:transform .5s ease}
.utlfeat__card:nth-child(even){margin-top:46px;border-radius:52px 14px 52px 52px;background:rgba(167,174,152,.28)}
.utlfeat__card:hover{transform:translateY(-5px)}
.utlfeat__no{display:grid;place-items:center;width:46px;height:46px;margin-bottom:20px;border-radius:50%;background:rgba(57,67,56,.1);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:18px;line-height:1;color:var(--olive)}
.utlfeat__t{font-family:var(--font-serif);font-weight:400;font-size:clamp(21px,1.9vw,25px);line-height:1.32;letter-spacing:-.006em;color:var(--olive);text-wrap:balance}
.utlfeat__card p{margin-top:16px;font-size:16.5px;line-height:1.82;text-wrap:pretty}

/* the journey · sand, photo on the left */
.utltrans .absplit__photo{min-height:620px}
.utltrans .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to right,#000 64%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to right,#000 64%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%)}
.utltrans .eyebrow{margin-bottom:12px;text-wrap:balance}
.utltrans .ab-h{max-width:12.5em}
.utltrans .ab-text{max-width:30em}

/* booking · olive */
.utlbook__blob--a{left:-10%;top:4%;width:min(28vw,380px);background:rgba(244,240,232,.05);border-radius:50% 50% 46% 54% / 54% 46% 54% 46%}
.utlbook__blob--b{right:-9%;bottom:6%;width:min(26vw,340px);background:rgba(167,174,152,.09);border-radius:46% 54% 52% 48% / 52% 46% 54% 48%}
.utlbook__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.utlbook__avatar{width:96px;height:96px;margin:0 auto 28px;border-radius:50%;object-fit:cover;background:var(--sand);box-shadow:0 0 0 6px rgba(244,240,232,.1)}
.utlbook__h{max-width:19em;margin:0 auto;font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,3vw,42px);line-height:1.24;letter-spacing:-.01em;color:var(--ivory);text-wrap:balance}
.utlbook__a{margin:24px auto 0;font-size:17px;line-height:1.8;color:var(--ivory-soft)}
.utlbook__b{margin-top:4px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2.2vw,28px);line-height:1.4;color:var(--ivory)}
.utlbook__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(18px,2vw,28px);max-width:900px;margin:clamp(40px,4.4vw,60px) auto 0;text-align:left}
.utlbook__card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.2vw,42px);border-radius:48px 48px 48px 14px;background:var(--ivory);color:var(--charcoal);box-shadow:0 30px 60px -40px rgba(0,0,0,.45)}
.utlbook__card:nth-child(2){border-radius:48px 14px 48px 48px;background:var(--sand)}
.utlbook__card :focus-visible{outline-color:var(--olive)}
.utlbook__t{font-family:var(--font-serif);font-weight:400;font-size:clamp(22px,2vw,27px);line-height:1.3;color:var(--olive);text-wrap:balance}
.utlbook__card p{flex:1 1 auto;margin-top:14px;font-size:16px;line-height:1.78;text-wrap:pretty}
.utlbook__card .btn{margin-top:28px}

/* questions · ivory */
.utlfaq__inner{max-width:860px;margin:0 auto}
.utlfaq__head{text-align:center}
.utlfaq__list{display:grid;gap:14px;margin-top:clamp(36px,4vw,52px)}
.utlq{border-radius:34px;background:rgba(222,213,199,.5);transition:background-color .4s ease}
.utlq:hover,.utlq[open]{background:rgba(222,213,199,.72)}
.utlq__sum{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;column-gap:16px;align-items:start;padding:22px 28px;list-style:none;cursor:pointer;border-radius:34px}
.utlq__sum::-webkit-details-marker{display:none}
.utlq__no{padding-top:3px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;color:var(--olive-soft);font-variant-numeric:lining-nums}
.utlq__q{font-family:var(--font-serif);font-weight:400;font-size:clamp(18px,1.6vw,21px);line-height:1.45;color:var(--olive);text-wrap:pretty}
.utlq__icon{position:relative;display:block;width:22px;height:22px;margin-top:4px}
.utlq__icon::before,.utlq__icon::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1px;background:var(--olive);transform:translate(-50%,-50%);transition:transform .4s ease,opacity .4s ease}
.utlq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.utlq[open] .utlq__icon::after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.utlq__a{padding:0 28px 28px 78px}
.utlq__a p{font-size:16.5px;line-height:1.85;text-wrap:pretty}
.utlq__a p+p{margin-top:16px}

/* unlock your true love · tablet and phone */
@media (max-width:1040px){
  .utlsc__main{grid-template-columns:minmax(0,1fr)}
  .utlsc__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .utlsc__card,.utlsc__card:nth-child(n+4){grid-column:span 1}
  .utlsc__card:nth-child(5){grid-column:1/-1}
}
@media (max-width:900px){
  .utlheart .absplit__photo .abphoto,.utltrans .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .utlheart .absplit__photo,.utltrans .absplit__photo{min-height:0}
  .abphoto[data-pos=utlp]{object-position:50% 44%}
  .abphoto[data-pos=utlj]{object-position:30% 22%}
  .utlben__list,.utlfeat__list,.utlbook__cards{grid-template-columns:minmax(0,1fr)}
  .utlfeat__card:nth-child(even){margin-top:0}
  .utlben__item:nth-child(even){border-radius:40px 40px 40px 12px}
  .utlbook__cards{max-width:560px}
}
@media (max-width:640px){
  .utlsc__main{padding:28px 22px;border-radius:40px 40px 40px 14px}
  .utlsc__ask{padding:24px 22px;border-radius:32px 32px 12px 32px}
  .utlsc__cards{grid-template-columns:minmax(0,1fr)}
  .utlsc__card,.utlsc__card:nth-child(n){grid-column:auto;padding:28px 24px;border-radius:34px 34px 34px 12px}
  .utlsc__card:nth-child(even){border-radius:34px 12px 34px 34px}
  .utlsc__card{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;align-items:center}
  .utlsc__petal{width:22px;height:22px;margin:0}
  .utlsc__t{margin:0}
  .utlsc__card p{grid-column:1/-1;margin-top:12px}
  .utlben__item{grid-template-columns:22px minmax(0,1fr);column-gap:14px;padding:24px 22px 24px 20px;border-radius:32px 32px 32px 12px}
  .utlfeat__card,.utlfeat__card:nth-child(even){padding:30px 24px;border-radius:38px 38px 38px 12px}
  .utlbook__card,.utlbook__card:nth-child(2){padding:28px 24px;border-radius:38px 38px 38px 12px}
  .utlq{border-radius:28px}
  .utlq__sum{grid-template-columns:26px minmax(0,1fr) 20px;column-gap:12px;padding:20px 20px;border-radius:28px}
  .utlq__a{padding:0 20px 24px 20px}
  .utlq__a p{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .utlsc__card,.utlben__item,.utlfeat__card,.utlq,.utlq__icon::before,.utlq__icon::after{transition:none}
  .utlsc__card:hover,.utlben__item:hover,.utlfeat__card:hover{transform:none}
}


/* ============================================================================
   E&E LEADERSHIP COACHING PROGRAM  (/transformation-journeys/ee-leadership-coaching/)
   Grace & Annie's page. Colour bands: ivory (hero) → sand (intro) → sage (the mirror) → ivory (philosophy, Annie's photo)
   → olive (the framework: Emerge / Embody / Evolve) → sand (how we go together) → ivory (what you get)
   → sage (is it for you) → ivory (questions) → sand (invitation) → olive footer.
   Re-uses the hero and split bands of the Authentic page; photos dissolve into the band beside them.
   ============================================================================ */
.ee strong{font-weight:600}
.abphoto[data-pos=eeh]{object-position:50% 50%}
.abphoto[data-pos=eea]{object-position:62% 30%}

/* hero */
.eehero .afhero__title{max-width:9.6em;font-size:clamp(38px,4.7vw,68px);line-height:1.08;letter-spacing:-.016em}
.eehero__tag{max-width:none;margin-top:20px;font-size:clamp(20px,2vw,27px);letter-spacing:.01em}
.eehero__lede{margin-top:24px;max-width:30em;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.85;color:var(--ink-soft);text-wrap:pretty}
.eehero__by{margin-top:18px;font-size:14px;line-height:1.6;letter-spacing:.05em;color:var(--ink-soft)}
.eehero .afhero__cta{margin-top:30px}
.eehero .afhero__photo{margin-top:26px;border-radius:64px 0 0 64px;overflow:hidden}
.eehero .afhero__photo .abphoto{-webkit-mask-image:none;mask-image:none}
@media (max-width:760px){
  .eehero .afhero__photo{margin:20px var(--gutter) 0;min-height:0;height:min(112vw,560px);border-radius:40px}
}

/* intro · sand */
.eein__blob--a{left:-10%;top:2%;width:min(28vw,380px);background:rgba(167,174,152,.2);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.eein__blob--b{right:-9%;bottom:4%;width:min(26vw,340px);background:rgba(244,240,232,.4);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.eein__inner{position:relative;z-index:1;max-width:1100px;margin:0 auto}
.eein__main{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(30px,4.4vw,60px);border-radius:56px 56px 56px 16px;background:rgba(244,240,232,.62);box-shadow:0 30px 60px -42px rgba(41,41,37,.4)}
.eein__p{font-size:17px;line-height:1.85;text-wrap:pretty}
.eein__know{margin:20px 0;font-family:var(--font-serif);font-weight:400;font-size:clamp(24px,2.5vw,34px);line-height:1.26;letter-spacing:-.01em;color:var(--olive);text-wrap:balance}
.eein__ask{margin:0;padding:clamp(26px,3vw,40px);border-radius:42px 42px 14px 42px;background:rgba(167,174,152,.26)}
.eein__ask p{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.eein__what{max-width:46em;margin:clamp(44px,5vw,72px) auto 0;text-align:center}
.eein__whatp{font-size:17.5px;line-height:1.9;text-wrap:pretty}
.eein__goal{position:relative;margin-top:38px;padding-top:38px}
.eein__goal::before{content:'';position:absolute;left:50%;top:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--olive);opacity:.55}
.eein__goala{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive-soft);text-wrap:balance}
.eein__goalb{margin-top:12px;font-size:clamp(17.5px,1.5vw,19px);line-height:1.85;color:var(--olive);text-wrap:pretty}

/* the mirror · sage */
.eemir__blob--a{left:-11%;top:-4%;width:min(27vw,350px);background:rgba(244,240,232,.16);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.eemir__blob--b{right:-9%;bottom:8%;width:min(28vw,380px);background:rgba(244,240,232,.14);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.eemir__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.eemir__head{max-width:40em;margin:0 auto;text-align:center}
.eemir__h{margin-top:10px;font-family:var(--font-serif);font-weight:400;font-size:clamp(25px,2.7vw,38px);line-height:1.28;letter-spacing:-.01em;color:var(--olive);text-wrap:balance}
.eemir__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,56px);margin-top:clamp(44px,5vw,68px)}
.eemir__item{padding-top:26px;border-top:1px solid rgba(57,67,56,.32)}
.eemir__lead{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(19px,1.65vw,21.5px);line-height:1.5;color:var(--olive);text-wrap:pretty}
.eemir__p{margin-top:14px;font-size:16.5px;line-height:1.8;color:var(--charcoal);text-wrap:pretty}
.eemir__quote{position:relative;max-width:900px;margin:clamp(56px,6.4vw,88px) auto 0;padding-top:34px;text-align:center}
.eemir__quote::before{content:'';position:absolute;left:50%;top:0;width:22px;height:22px;margin-left:-11px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.2)}
.eemir__quote::after{content:'';position:absolute;left:50%;top:11px;width:14px;height:1px;margin-left:-7px;background:rgba(57,67,56,.55);transform:rotate(-45deg)}
.eemir__quote p{max-width:21em;margin:0 auto;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.7vw,36px);line-height:1.38;color:var(--olive);text-wrap:balance}
.eemir__last{max-width:38em;margin:clamp(44px,5vw,64px) auto 0;text-align:center}
.eemir__last .eemir__lead{font-size:clamp(20px,1.8vw,23px)}

/* philosophy · ivory, Annie on the left */
.eephil .absplit__photo{min-height:660px}
.eephil .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to right,#000 72%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to right,#000 72%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%)}
.eephil .eyebrow{margin-bottom:12px}
.eephil .ab-h{max-width:12em}
.eephil .ab-text{max-width:31em}
.eephil__end{position:relative;max-width:20em;margin-top:30px;padding-left:36px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,26px);line-height:1.42;color:var(--olive);text-wrap:balance}
.eephil__end strong{font-weight:400}
.eephil__mark{position:absolute;left:2px;top:.5em;width:20px;height:20px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.2)}
.eephil__mark::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(57,67,56,.55);transform:rotate(-45deg)}

/* the framework · olive */
.eefw{text-align:left}
.eefw__blob--a{left:-10%;top:3%;width:min(28vw,380px);background:rgba(244,240,232,.05);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.eefw__blob--b{right:-9%;bottom:6%;width:min(26vw,340px);background:rgba(167,174,152,.09);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.eefw__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.eefw__head{max-width:40em;margin:0 auto;text-align:center}
.eefw__eb{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.5;color:var(--ivory-soft)}
.eefw__h{margin-top:10px;font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3.6vw,52px);line-height:1.15;letter-spacing:-.014em;color:var(--ivory)}
.eefw__sub{margin-top:20px;font-size:17.5px;line-height:1.8;color:var(--ivory-soft);text-wrap:balance}
.eefw__sub strong{color:var(--ivory)}
.eefw__list{max-width:1100px;margin:clamp(48px,5vw,72px) auto 0}
.eeph{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);padding:clamp(40px,4.6vw,64px) 0;border-top:1px solid rgba(244,240,232,.2)}
.eeph:last-child{padding-bottom:0}
.eeph__side{position:sticky;top:112px;align-self:start}
.eeph__months{display:inline-block;padding:6px 16px;border:1px solid rgba(244,240,232,.3);border-radius:999px;font-size:13.5px;line-height:1.3;letter-spacing:.06em;color:var(--ivory-soft)}
.eeph__name{margin-top:22px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(44px,5.4vw,78px);line-height:1;letter-spacing:-.02em;color:var(--ivory)}
.eeph__sub{font-family:var(--font-serif);font-weight:400;font-size:clamp(22px,2.1vw,29px);line-height:1.32;letter-spacing:-.006em;color:var(--ivory);text-wrap:balance}
.eeph__text{margin-top:22px}
.eeph__text p{font-size:16.5px;line-height:1.85;color:var(--ivory-soft);text-wrap:pretty}
.eeph__text p+p,.eeph__text ul+p,.eeph__text p+ul{margin-top:16px}
.eeph__text strong{color:var(--ivory)}
.eeph__lines li{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(19px,1.7vw,22px);line-height:1.55;color:var(--ivory);text-wrap:balance}
.eeph__result{margin-top:30px;padding:clamp(24px,2.6vw,34px);border-radius:36px 36px 12px 36px;background:rgba(244,240,232,.08);border:1px solid rgba(244,240,232,.16)}
.eeph:nth-child(even) .eeph__result{border-radius:36px 12px 36px 36px}
.eeph__rl{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;line-height:1.4;color:var(--ivory-soft)}
.eeph__rt{margin-top:8px;font-size:16.5px;line-height:1.8;color:var(--ivory);text-wrap:pretty}
.eeph__rt strong{color:var(--ivory)}

/* how we go together · sand */
.eehow__blob--a{left:-10%;top:3%;width:min(28vw,380px);background:rgba(167,174,152,.2);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.eehow__blob--b{right:-9%;bottom:6%;width:min(26vw,340px);background:rgba(244,240,232,.4);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.eehow__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.eehow__head{max-width:40em;margin:0 auto;text-align:center}
.eehow__count{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:22px;color:var(--olive)}
.eehow__n{font-family:var(--font-serif);font-weight:400;font-size:clamp(56px,6vw,88px);line-height:1;letter-spacing:-.03em}
.eehow__nt{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,2vw,27px);line-height:1.3}
.eehow__p{margin-top:22px;font-size:16.5px;line-height:1.85;text-wrap:pretty}
.eehow__weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(16px,1.8vw,24px);margin-top:clamp(44px,5vw,64px)}
.eewk{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:32px 26px 34px;border-radius:44px 44px 44px 14px;background:rgba(244,240,232,.62);box-shadow:0 26px 50px -38px rgba(41,41,37,.38);transition:transform .5s ease,background-color .5s ease}
.eewk:nth-child(2){border-radius:44px 14px 44px 44px}
.eewk:nth-child(3){border-radius:44px 44px 14px 44px}
.eewk:nth-child(4){border-radius:14px 44px 44px 44px}
.eewk--quiet{background:rgba(167,174,152,.3)}
.eewk:hover{transform:translateY(-5px);background:rgba(244,240,232,.8)}
.eewk--quiet:hover{background:rgba(167,174,152,.42)}
.eewk__no{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;line-height:1.3;color:var(--olive-soft)}
.eewk__t{margin-top:6px;font-family:var(--font-serif);font-weight:400;font-size:clamp(22px,2vw,26px);line-height:1.25;letter-spacing:-.006em;color:var(--olive);text-wrap:balance}
.eewk__min{margin-top:14px;padding:4px 14px;border-radius:999px;background:rgba(57,67,56,.1);font-size:13px;line-height:1.4;letter-spacing:.05em;color:var(--olive)}
.eewk__p{margin-top:16px;font-size:16px;line-height:1.75;text-wrap:pretty}
.eewk__p+.eewk__p{margin-top:10px}
.eehow__retro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(22px,2.4vw,30px);padding:clamp(28px,3.4vw,44px) clamp(28px,3.8vw,56px);border-radius:48px 48px 14px 48px;background:rgba(167,174,152,.28)}
.eehow__retrot{font-size:17px;line-height:1.75;text-wrap:pretty}
.eehow__qs li{padding:13px 0;border-top:1px solid rgba(57,67,56,.2);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(17px,1.5vw,19px);line-height:1.55;color:var(--charcoal);text-wrap:pretty}
.eehow__qs li:first-child{padding-top:0;border-top:0}
.eehow__qs li:last-child{padding-bottom:0}

/* what you get · ivory */
.eeout__inner{max-width:var(--maxw);margin:0 auto}
.eeout__head{max-width:42em;margin:0 auto;text-align:center}
.eeout__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,26px);max-width:1040px;margin:clamp(40px,4.4vw,60px) auto 0}
.eeout__item{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:18px;align-items:start;padding:30px 32px 30px 28px;border-radius:40px 40px 40px 12px;background:rgba(222,213,199,.6)}
.eeout__item:nth-child(even){border-radius:40px 12px 40px 40px;background:rgba(167,174,152,.28)}
.eeout__petal{position:relative;display:block;width:26px;height:26px;margin-top:3px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.14)}
.eeout__petal::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(57,67,56,.4);transform:rotate(-45deg)}
.eeout__item p{font-size:16.5px;line-height:1.78;text-wrap:pretty}
.eeout__close{max-width:34em;margin:clamp(40px,4.6vw,64px) auto 0;text-align:center}
.eeout__lead{margin-top:24px;font-size:17px;line-height:1.8;text-wrap:balance}
.eeout__quote{margin-top:10px}
.eeout__quote p{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(24px,2.7vw,36px);line-height:1.36;color:var(--olive);text-wrap:balance}

/* is it for you · sage */
.eefit__inner{max-width:var(--maxw);margin:0 auto}
.eefit__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);align-items:start}
.eefit__col{padding:clamp(30px,3.6vw,50px);border-radius:48px 48px 48px 14px}
.eefit__col--yes{background:rgba(244,240,232,.62);box-shadow:0 28px 54px -40px rgba(41,41,37,.35)}
.eefit__col--no{border-radius:48px 14px 48px 48px;background:rgba(222,213,199,.62)}
.eefit__h{margin-bottom:26px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,27px);line-height:1.32;color:var(--olive);text-wrap:balance}
.eefit__list li{position:relative;padding-left:38px;font-size:16.5px;line-height:1.75;text-wrap:pretty}
.eefit__list li+li{margin-top:18px}
.eefit__list li::before{content:'';position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:rgba(57,67,56,.12)}
.eefit__col--yes li::after{content:'';position:absolute;left:8px;top:7px;width:6px;height:10px;border:solid var(--olive);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.eefit__col--no li::after{content:'';position:absolute;left:0;top:3px;width:22px;height:22px;background:linear-gradient(var(--olive),var(--olive)) center/11px 1.5px no-repeat,linear-gradient(var(--olive),var(--olive)) center/1.5px 11px no-repeat;transform:rotate(45deg);opacity:.8}
.eefit__end{margin-top:clamp(36px,4vw,52px);text-align:center;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.3vw,30px);line-height:1.4;color:var(--olive)}
.eefit__end strong{font-weight:400}

/* questions · ivory */
.eefaq__inner{max-width:860px;margin:0 auto}
.eefaq__head{text-align:center}
.eefaq__list{display:grid;gap:14px;margin-top:clamp(36px,4vw,52px)}
.eeq{border-radius:34px;background:rgba(222,213,199,.5);transition:background-color .4s ease}
.eeq:hover,.eeq[open]{background:rgba(222,213,199,.72)}
.eeq__sum{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;column-gap:16px;align-items:start;padding:22px 28px;list-style:none;cursor:pointer;border-radius:34px}
.eeq__sum::-webkit-details-marker{display:none}
.eeq__no{padding-top:3px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:17px;line-height:1.5;color:var(--olive-soft);font-variant-numeric:lining-nums}
.eeq__q{font-family:var(--font-serif);font-weight:400;font-size:clamp(18px,1.6vw,21px);line-height:1.45;color:var(--olive);text-wrap:pretty}
.eeq__icon{position:relative;display:block;width:22px;height:22px;margin-top:4px}
.eeq__icon::before,.eeq__icon::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:1px;background:var(--olive);transform:translate(-50%,-50%);transition:transform .4s ease,opacity .4s ease}
.eeq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.eeq[open] .eeq__icon::after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.eeq__a{padding:0 28px 28px 78px}
.eeq__a p{font-size:16.5px;line-height:1.85;text-wrap:pretty}
.eeq__a p+p{margin-top:16px}

/* invitation · sand */
.eeinv{text-align:center}
.eeinv__watermark{position:absolute;left:50%;top:50%;width:min(80vw,760px);height:auto;transform:translate(-50%,-50%);opacity:.04;pointer-events:none}
.eeinv__inner{position:relative;max-width:760px;margin:0 auto}
.eeinv__faces{display:flex;justify-content:center;margin-bottom:34px}
.eeinv__faces img{width:92px;height:92px;border-radius:50%;object-fit:cover;background:var(--ivory);box-shadow:0 0 0 5px var(--sand)}
.eeinv__faces img+img{margin-left:-14px}
.eeinv__h{margin:22px auto 0;font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3.6vw,50px);line-height:1.2;letter-spacing:-.012em;color:var(--olive);text-wrap:balance}
.eeinv__p{max-width:34em;margin:22px auto 0;font-size:17px;line-height:1.85;text-wrap:balance}
.eeinv__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:38px}

/* e&e · tablet and phone */
@media (max-width:1040px){
  .eehow__weeks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eemir__grid{gap:32px}
}
@media (max-width:900px){
  .eein__main{grid-template-columns:minmax(0,1fr)}
  .eemir__grid{grid-template-columns:minmax(0,1fr);gap:38px}
  .eephil .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .eephil .absplit__photo{min-height:0}
  .abphoto[data-pos=eea]{object-position:62% 24%}
  .eeph{grid-template-columns:minmax(0,1fr);gap:22px}
  .eeph__side{position:static}
  .eeph__name{margin-top:16px}
  .eehow__retro{grid-template-columns:minmax(0,1fr);gap:22px}
  .eeout__list,.eefit__grid{grid-template-columns:minmax(0,1fr)}
  .eeout__item:nth-child(even){border-radius:40px 40px 40px 12px}
  .eefit__col--no{border-radius:48px 48px 48px 14px}
}
@media (max-width:640px){
  .eein__main{padding:28px 22px;border-radius:40px 40px 40px 14px}
  .eein__ask{padding:24px 22px;border-radius:32px 32px 12px 32px}
  .eehow__weeks{grid-template-columns:minmax(0,1fr)}
  .eewk,.eewk:nth-child(n){padding:28px 24px;border-radius:34px 34px 34px 12px}
  .eewk:nth-child(even){border-radius:34px 12px 34px 34px}
  .eehow__retro{padding:26px 22px;border-radius:36px 36px 12px 36px}
  .eeout__item{grid-template-columns:22px minmax(0,1fr);column-gap:14px;padding:24px 22px 24px 20px;border-radius:32px 32px 32px 12px}
  .eeout__item:nth-child(even){border-radius:32px 32px 32px 12px}
  .eefit__col,.eefit__col--no{padding:28px 22px;border-radius:38px 38px 38px 12px}
  .eeph__result{padding:24px 22px;border-radius:30px 30px 12px 30px}
  .eeph:nth-child(even) .eeph__result{border-radius:30px 12px 30px 30px}
  .eeq{border-radius:28px}
  .eeq__sum{grid-template-columns:26px minmax(0,1fr) 20px;column-gap:12px;padding:20px 20px;border-radius:28px}
  .eeq__a{padding:0 20px 24px 20px}
  .eeq__a p{font-size:16px}
  .eeinv__actions{flex-direction:column;align-items:stretch}
  .eeinv__actions .btn,.eeinv__actions .btn-soft{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .eewk,.eeq,.eeq__icon::before,.eeq__icon::after{transition:none}
  .eewk:hover{transform:none}
}


/* ============================================================================
   MEANINGFUL EXPRESSION  (/transformation-journeys/meaningful-expression/)
   Grace's page. Colour bands: ivory (hero) → sand (intro, with the "khám phá dịch vụ" button) → olive (marketing starts
   from understanding: five questions, what mindful marketing means, Clarity → Storytelling → Marketing)
   → ivory (the four services, laid out like a table) → sand (co-create, photo) → ivory (invitation) → olive footer.
   Re-uses the hero and the split band of the Authentic page; the photo dissolves into the band beside it.
   ============================================================================ */
.me strong{font-weight:600}
.abphoto[data-pos=meh]{object-position:50% 30%}
.abphoto[data-pos=mew]{object-position:50% 34%}

/* hero */
.mehero .afhero__title{max-width:9em;font-size:clamp(40px,5vw,72px);line-height:1.06;letter-spacing:-.016em}
.mehero__tag{max-width:none;margin-top:18px;font-size:clamp(20px,2vw,27px);letter-spacing:.01em}
.mehero__lede{margin-top:24px;max-width:26em;font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.85;color:var(--ink-soft);text-wrap:pretty}
.mehero .afhero__cta{margin-top:30px}
.mehero__art{position:relative;margin:0;min-height:620px;display:flex;align-items:center;justify-content:center;padding:48px clamp(16px,3vw,48px) calc(64px + var(--radius-sheet)) 0}
.mehero__ripple{position:relative;width:min(36vw,520px);aspect-ratio:1/1}
.mehero__ring{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid rgba(57,67,56,.22);animation:me-ripple 9s ease-in-out infinite}
.mehero__ring:nth-child(1){width:28%;height:28%;background:rgba(167,174,152,.26);animation-delay:0s}
.mehero__ring:nth-child(2){width:46%;height:46%;background:rgba(167,174,152,.17);animation-delay:-1.8s}
.mehero__ring:nth-child(3){width:64%;height:64%;background:rgba(167,174,152,.1);animation-delay:-3.6s}
.mehero__ring:nth-child(4){width:82%;height:82%;border-color:rgba(57,67,56,.16);animation-delay:-5.4s}
.mehero__ring:nth-child(5){width:100%;height:100%;border-color:rgba(57,67,56,.1);animation-delay:-7.2s}
.mehero__drop{position:absolute;inset:0;margin:auto;width:11%;height:11%;border-radius:50%;background:var(--olive);opacity:.88;animation:me-drop 5.5s ease-in-out infinite}
.mehero__pebble{position:absolute;left:72%;top:25.5%;width:6.5%;height:6.5%;border-radius:50%;background:var(--clay);opacity:.85;animation:me-float 7s ease-in-out infinite alternate}
@keyframes me-ripple{0%,100%{transform:scale(.965)}50%{transform:scale(1.03)}}
@keyframes me-drop{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@keyframes me-float{from{translate:0 -6px}to{translate:0 6px}}
@media (prefers-reduced-motion:reduce){
  .mehero__ring,.mehero__drop,.mehero__pebble{animation:none}
}

/* intro · sand */
.mein__blob--a{left:-10%;top:2%;width:min(28vw,380px);background:rgba(167,174,152,.2);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.mein__blob--b{right:-9%;bottom:4%;width:min(26vw,340px);background:rgba(244,240,232,.4);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.mein__inner{position:relative;z-index:1;max-width:1100px;margin:0 auto}
.mein__main{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(30px,4.4vw,60px);border-radius:56px 56px 56px 16px;background:rgba(244,240,232,.62);box-shadow:0 30px 60px -42px rgba(41,41,37,.4)}
.mein__p{font-size:17px;line-height:1.85;text-wrap:pretty}
.mein__p+.mein__p{margin-top:14px}
.mein__ask{margin:0;padding:clamp(26px,3vw,40px);border-radius:42px 42px 14px 42px;background:rgba(167,174,152,.26);text-align:center}
.mein__ask p{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.mein__what{max-width:44em;margin:clamp(40px,4.6vw,64px) auto 0;text-align:center}
.mein__whatp{font-size:17.5px;line-height:1.9;text-wrap:pretty}
.mein__actions{display:flex;justify-content:center;margin-top:clamp(26px,3vw,36px)}

/* not more marketing · sage */
.mere__blob--b{right:-9%;bottom:8%;width:min(28vw,380px);background:rgba(167,174,152,.09);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.mere__inner{--mgap:clamp(28px,4vw,56px);position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.mere__rings{position:absolute;right:-12%;top:-150px;width:min(64vw,780px);aspect-ratio:1/1;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,rgba(244,240,232,0) 0 41px,rgba(244,240,232,.11) 41px 42px);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 18%,transparent 68%);mask-image:radial-gradient(circle at 50% 50%,#000 18%,transparent 68%);pointer-events:none}
.mere__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;align-items:end;text-align:left}
.mere__head{max-width:none;margin:0}
.mere__h{margin:0;font-family:var(--font-serif);font-weight:400;font-size:clamp(32px,3.5vw,50px);line-height:1.1;letter-spacing:-.016em;color:var(--ivory);text-wrap:balance}
.mere__neg{display:block;color:rgba(244,240,232,.5)}
.mere__h em{display:block;font-style:normal;font-weight:400;color:var(--ivory)}
.mere__p{margin-top:20px;font-size:17px;line-height:1.85;color:var(--ivory-soft);text-wrap:pretty}
.mere__p.mere__sub{max-width:calc(27em + var(--mgap));margin:0;padding:0 0 6px var(--mgap);font-size:18px;color:var(--ivory);text-wrap:pretty}
.mere__story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;margin-top:clamp(40px,4.6vw,64px);padding-top:clamp(30px,3.4vw,46px);border-top:1px solid rgba(244,240,232,.2);text-align:left}
.mere__story .mere__p{margin-top:0}
.mere__col--root>.mere__p{color:rgba(244,240,232,.74)}
.mere__col{display:flex;flex-direction:column}
.mere__col--more{padding-right:var(--mgap)}
.mere__col--root{padding-left:var(--mgap);border-left:1px solid rgba(244,240,232,.2)}
.mere__col--root>.mere__p{margin-bottom:26px}
.mere__more{margin:22px 0 0;padding:0;list-style:none}
.mere__more li{position:relative;padding:10px 0 10px 36px;border-bottom:1px solid rgba(244,240,232,.12);font-size:17px;line-height:1.5;color:var(--ivory)}
.mere__more li:first-child{border-top:1px solid rgba(244,240,232,.12)}
.mere__more li::before{content:"+";position:absolute;left:2px;top:5px;font-family:var(--font-serif);font-size:24px;line-height:1.4;color:var(--sage)}
.mere__more li:nth-child(2){opacity:.88}
.mere__more li:nth-child(3){opacity:.76}
.mere__more li:nth-child(4){opacity:.64}
.mere__more li:nth-child(5){opacity:.52}
.mere__story strong{font-weight:500;color:var(--ivory)}
.mere__root{margin:auto 0 0;padding-top:24px;border-top:1px solid rgba(244,240,232,.2);font-family:var(--font-serif);font-weight:400;font-size:clamp(20px,1.8vw,24px);line-height:1.5;color:var(--ivory);text-wrap:pretty}
.mere__u{padding:0 .2em;margin:0 -.06em;border-radius:5px;background:rgba(167,174,152,.3);color:var(--ivory);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.mere__lead{max-width:640px;margin:clamp(36px,4vw,52px) auto 0;text-align:center;font-size:17px;line-height:1.85;color:var(--ivory-soft);text-wrap:pretty}
.mefive{display:flex;justify-content:center;align-items:center;margin:clamp(16px,2vw,28px) auto 0;padding:12px 0;list-style:none}
.mefive__item{--s:min(15.3vw,226px);--y:20px;--bg:rgba(167,174,152,.3);position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:var(--s);aspect-ratio:1/1;margin:0 -9px;padding:0 calc(var(--s) * .13);border-radius:50%;background:var(--bg);text-align:center;transform:translateY(var(--y));cursor:default;animation:mefive-float 9s ease-in-out infinite alternate;transition:background-color .4s ease,opacity .4s ease,scale .4s ease}
.mefive__item:nth-child(1){--s:min(15.3vw,226px);--y:20px;--bg:rgba(167,174,152,.3)}
.mefive__item:nth-child(2){--s:min(12.9vw,192px);--y:-28px;--bg:rgba(244,240,232,.1);animation-duration:11s;animation-delay:-3s}
.mefive__item:nth-child(3){--s:min(18.8vw,278px);--y:14px;--bg:rgba(167,174,152,.2);animation-duration:10s;animation-delay:-6s}
.mefive__item:nth-child(4){--s:min(15.7vw,232px);--y:-24px;--bg:rgba(185,155,140,.32);animation-duration:12s;animation-delay:-2s}
.mefive__item:nth-child(5){--s:min(20vw,296px);--y:12px;--bg:rgba(167,174,152,.34);animation-duration:9.5s;animation-delay:-5s}
@keyframes mefive-float{from{translate:0 -5px}to{translate:0 5px}}
.mefive__item::before,.mefive__item::after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:0;animation-play-state:paused}
.mefive__item::before{inset:-9px;background:conic-gradient(from 0deg,rgba(244,240,232,.95),rgba(244,240,232,.35) 22%,rgba(244,240,232,0) 48%,rgba(244,240,232,0) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));animation:mefive-spin 2.6s linear infinite;transition:opacity .35s ease}
.mefive__item::after{inset:0;border:1px solid rgba(244,240,232,.6)}
@keyframes mefive-spin{to{rotate:360deg}}
@keyframes mefive-pulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.3);opacity:0}}
@keyframes mefive-blink{0%,100%{opacity:1}50%{opacity:.2}}
.mefive__no{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:15px;line-height:1;color:var(--ivory-soft);font-variant-numeric:lining-nums}
.mefive__item p{font-family:var(--font-serif);font-weight:400;font-size:clamp(15px,1.45vw,21px);line-height:1.35;color:var(--ivory);text-wrap:balance}
.mefive__q{padding-bottom:2px;background:linear-gradient(rgba(244,240,232,.6),rgba(244,240,232,.6)) no-repeat 0 100%/0 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .45s ease}
@media (hover:hover){
  .mefive:hover .mefive__item:not(:hover){opacity:.5}
  .mefive__item:hover{scale:1.07;background:rgba(244,240,232,.2);z-index:2}
  .mefive__item:hover .mefive__q{background-size:100% 1px}
  .mefive__item:hover::before{opacity:1;animation-play-state:running}
  .mefive__item:hover::after{animation:mefive-pulse 1.7s ease-out infinite}
  .mefive__item:hover .mefive__no{animation:mefive-blink 1.1s ease-in-out infinite}
}
@media (prefers-reduced-motion:reduce){
  .mefive__item{animation:none;transition:none}
  .mefive__item::before,.mefive__item::after{display:none}
  .mefive__item:hover .mefive__no{animation:none}
  .mefive__q{transition:none}
}
@media (max-width:1000px){
  .mefive{flex-direction:column;align-items:flex-start;gap:12px;max-width:32em;padding:0}
  .mefive .mefive__item{--bg:rgba(244,240,232,.09);width:auto;max-width:88%;aspect-ratio:auto;margin:0;padding:16px 26px 18px;align-items:flex-start;border-radius:30px 30px 30px 8px;text-align:left;transform:none;animation:none}
  .mefive .mefive__item:nth-child(even){--bg:rgba(167,174,152,.28);align-self:flex-end;border-radius:30px 30px 8px 30px}
  .mefive__item::before,.mefive__item::after{display:none}
  .mefive__item p{font-size:clamp(18px,4.8vw,21px)}
}
.mere__end{max-width:680px;margin:clamp(40px,4.6vw,60px) auto 0;text-align:center;font-size:17px;line-height:1.85;color:var(--ivory-soft);text-wrap:balance}
.mere__fin{max-width:36em;margin:clamp(40px,4.4vw,56px) auto 0;text-align:center}
.mere__fin p{font-size:17px;line-height:1.85;color:var(--ivory-soft);text-wrap:pretty}
.mere__fin .mere__last{margin-top:0;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.2vw,29px);line-height:1.4;color:var(--ivory);text-wrap:balance}
.mere__fin .mere__last::before{content:"";display:block;width:44px;height:1px;margin:0 auto 22px;background:rgba(244,240,232,.4)}

/* the four services · ivory */
.mesv__blob--a{left:-10%;top:3%;width:min(28vw,380px);background:rgba(167,174,152,.14);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.mesv__blob--b{right:-9%;bottom:4%;width:min(26vw,340px);background:rgba(222,213,199,.5);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.mesv__inner{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto}
.mesv__head{max-width:40em;margin:0 auto;text-align:center}
.mesv__head .ab-h{margin-top:6px}
.mesv__intro{margin-top:20px;font-size:17px;line-height:1.85;text-wrap:balance}
.mesv__cols,.mesv__row{display:grid;grid-template-columns:minmax(0,4.1fr) minmax(0,4.7fr) minmax(0,3.5fr);column-gap:clamp(24px,3.4vw,56px)}
.mesv__cols{margin-top:clamp(40px,4.4vw,60px);padding-bottom:14px;border-bottom:1px solid var(--olive-line);font-size:13px;line-height:1.4;letter-spacing:.08em;color:var(--olive-soft)}
.mesv__list{margin:0;padding:0;list-style:none}
.mesv__row{padding:clamp(34px,3.8vw,50px) 0;border-bottom:1px solid var(--olive-line)}
.mesv__lbl{display:none}
.mesv__no{display:block;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;line-height:1.2;color:var(--olive-soft);font-variant-numeric:lining-nums}
.mesv__name{margin-top:10px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(38px,4.2vw,58px);line-height:1;letter-spacing:-.02em;color:var(--olive)}
.mesv__when{margin-top:18px;max-width:15em;font-family:var(--font-serif);font-weight:400;font-size:clamp(19px,1.7vw,23px);line-height:1.4;color:var(--olive);text-wrap:balance}
.mesv__desc{font-size:16.5px;line-height:1.8;text-wrap:pretty}
.mesv__quote{margin-top:12px;font-size:16.5px;line-height:1.8;color:var(--olive);text-wrap:pretty}
.mesv__tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.mesv__tags li{padding:6px 14px;border-radius:999px;background:rgba(57,67,56,.08);font-size:13.5px;line-height:1.4;color:var(--olive)}
.mesv__spec{margin:0;padding:24px 26px 26px;border-radius:34px 34px 34px 12px;background:rgba(222,213,199,.62)}
.mesv__row:nth-child(even) .mesv__spec{border-radius:34px 12px 34px 34px;background:rgba(167,174,152,.3)}
.mesv__spec>div+div{margin-top:16px;padding-top:16px;border-top:1px solid rgba(57,67,56,.18)}
.mesv__spec dt{font-size:12.5px;line-height:1.4;letter-spacing:.08em;color:var(--olive-soft)}
.mesv__spec dd{margin:5px 0 0;font-size:15.5px;line-height:1.6;color:var(--charcoal);text-wrap:pretty}
.mesv__spec .mesv__dur{font-family:var(--font-serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.2;letter-spacing:-.01em;color:var(--olive)}
.mesv__cta{display:inline-flex;align-items:center;gap:10px;margin-top:20px;padding-bottom:3px;border-bottom:1px solid var(--olive-line);font-size:15px;line-height:1.4;color:var(--olive);transition:border-color .4s ease}
.mesv__cta:hover{border-color:var(--olive)}
.mesv__cta:hover .arrow{transform:translateX(4px)}

/* co-create · sand, the photo on the left */
.mecc .absplit__photo{min-height:700px}
.mecc .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to right,#000 72%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%);mask-image:linear-gradient(to right,#000 72%,transparent 100%),linear-gradient(to bottom,#000 84%,transparent 100%)}
.mecc .eyebrow{margin-bottom:12px}
.mecc .ab-h{max-width:12em}
.mecc .ab-text{max-width:31em}
.mebring{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:34em;margin-top:26px}
.mebring__col{padding:22px 22px 24px;border-radius:30px 30px 30px 10px;background:rgba(244,240,232,.62)}
.mebring__col+.mebring__col{border-radius:30px 10px 30px 30px;background:rgba(167,174,152,.3)}
.mebring__lbl{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:19px;line-height:1.3;color:var(--olive)}
.mebring__list{margin:12px 0 0;padding:0;list-style:none}
.mebring__list li{position:relative;padding-left:20px;font-size:15px;line-height:1.6;text-wrap:pretty}
.mebring__list li+li{margin-top:10px}
.mebring__list li::before{content:'';position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.32)}
.mecc__end{position:relative;max-width:26em;margin-top:30px;padding-left:36px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(19px,1.7vw,22px);line-height:1.5;color:var(--olive);text-wrap:pretty}
.mecc__mark{position:absolute;left:2px;top:.45em;width:20px;height:20px;border-radius:50% 0 50% 0;background:rgba(57,67,56,.2)}
.mecc__mark::after{content:'';position:absolute;left:19%;top:50%;width:62%;height:1px;background:rgba(57,67,56,.55);transform:rotate(-45deg)}

/* invitation · ivory */
.meinv{text-align:center}
.meinv__watermark{position:absolute;left:50%;top:50%;width:min(80vw,760px);height:auto;transform:translate(-50%,-50%);opacity:.04;pointer-events:none}
.meinv__inner{position:relative;max-width:760px;margin:0 auto}
.meinv__faces{display:flex;justify-content:center;margin-bottom:30px}
.meinv__faces img{width:92px;height:92px;border-radius:50%;object-fit:cover;background:var(--sand);box-shadow:0 0 0 5px var(--sand)}
.meinv__p{max-width:34em;margin:22px auto 0;font-size:17px;line-height:1.85;text-wrap:balance}
.meinv__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.meinv__sign{margin-top:44px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(17px,1.5vw,19px);line-height:1.5;letter-spacing:.01em;color:var(--olive-soft)}

/* meaningful expression · tablet and phone */
@media (max-width:900px){
  .mehero__art{min-height:0;padding:28px 0 calc(24px + var(--radius-sheet))}
  .mehero__ripple{width:min(78vw,340px)}
  .mein__main{grid-template-columns:minmax(0,1fr)}
  .mere__top{grid-template-columns:minmax(0,1fr);row-gap:24px;align-items:start}
  .mere__p.mere__sub{max-width:29em;padding-left:0}
  .mere__col--more{padding-right:0}
  .mere__col--root>.mere__p{margin-bottom:0}
  .mere__root{margin-top:26px}
  .mere__story{grid-template-columns:minmax(0,1fr);row-gap:34px}
  .mere__col--root{padding-left:0;border-left:0;padding-top:30px;border-top:1px solid rgba(244,240,232,.2)}
  .mecc .absplit__photo .abphoto{-webkit-mask-image:linear-gradient(to bottom,#000 48%,transparent 96%);mask-image:linear-gradient(to bottom,#000 48%,transparent 96%)}
  .mecc .absplit__photo{min-height:0}
  .mesv__cols{display:none}
  .mesv__row{grid-template-columns:minmax(0,1fr);row-gap:26px}
  .mesv__lbl{display:block;margin-bottom:10px;font-size:13px;line-height:1.4;letter-spacing:.08em;color:var(--olive-soft)}
  .mesv__when{max-width:none}
  .mesv__spec{margin-top:0}
}
@media (max-width:640px){
  .mein__main{padding:28px 22px;border-radius:40px 40px 40px 14px}
  .mein__ask{padding:24px 22px;border-radius:32px 32px 12px 32px}
  .mesv__spec,.mesv__row:nth-child(even) .mesv__spec{padding:22px 22px 24px;border-radius:30px 30px 30px 10px}
  .mesv__row:nth-child(even) .mesv__spec{border-radius:30px 10px 30px 30px}
  .mebring{grid-template-columns:minmax(0,1fr)}
  .meinv__actions{flex-direction:column;align-items:stretch}
  .meinv__actions .btn{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .mesv__cta,.mesv__cta .arrow{transition:none}
}


/* ============================================================================
   RETURN TO REBUILD  (/community/)  ·  paid women's community led by Annie & Grace
   Colour bands: ivory (hero, candle table) → sand (you never walk alone) → ivory (what is here: four equal rows,
   one of them with the clickable 90-minute timeline) → sage (Annie and Grace) → olive (a small community) → sand (join) → olive footer.
   Photos keep crisp edges: the hero photo is a soft-cornered tab running off the right edge, the row photos are rounded rectangles.
   ============================================================================ */
.rtr strong{font-weight:600}
.abphoto[data-pos=rtrh]{object-position:50% 50%}
.abphoto[data-pos=rtr1]{object-position:50% 50%}
.abphoto[data-pos=rtr2]{object-position:50% 38%}
.abphoto[data-pos=rtr3]{object-position:50% 50%}
.abphoto[data-pos=rtr4]{object-position:34% 50%}

/* hero */
.rtrhero .afhero__title{max-width:9em;font-size:clamp(38px,5vw,72px);line-height:1.06;letter-spacing:-.016em}
.rtrhero__lede{margin-top:24px;max-width:26em;font-size:clamp(16.5px,1.35vw,19px);line-height:1.85;color:var(--ink-soft);text-wrap:pretty}
.rtrhero .afhero__cta{margin-top:30px}
.rtrhero__meta{margin-top:18px;font-size:14px;line-height:1.6;letter-spacing:.05em;color:var(--ink-soft)}
.rtrhero .afhero__photo{margin-top:26px;border-radius:64px 0 0 64px;overflow:hidden}
.rtrhero .afhero__photo .abphoto{-webkit-mask-image:none;mask-image:none}

/* shared bits */
.rtr-h3{font-family:var(--font-serif);font-weight:400;font-size:clamp(23px,2.4vw,32px);line-height:1.28;letter-spacing:-.008em;color:var(--olive);text-wrap:balance}
.rtr-when{display:inline-block;margin-top:14px;padding:6px 16px;border:1px solid var(--olive-line);border-radius:20px;font-size:14px;line-height:1.4;letter-spacing:.04em;color:var(--olive)}

/* never alone · sand */
.rtral__blob--a{left:-10%;top:2%;width:min(28vw,380px);background:rgba(167,174,152,.2);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.rtral__blob--b{right:-9%;bottom:4%;width:min(26vw,340px);background:rgba(244,240,232,.4);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.rtral__inner{position:relative;z-index:1;max-width:1100px;margin:0 auto}
.rtral__main{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(30px,4.4vw,60px);border-radius:56px 56px 56px 16px;background:rgba(244,240,232,.62);box-shadow:0 30px 60px -42px rgba(41,41,37,.4)}
.rtral__p{margin-top:24px;font-size:17px;line-height:1.85;text-wrap:pretty}
.rtral__q{margin:0;padding:clamp(26px,3vw,40px);border-radius:42px 42px 14px 42px;background:rgba(167,174,152,.26)}
.rtral__q p{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.9vw,25px);line-height:1.5;color:var(--olive);text-wrap:balance}
.rtral__end{position:relative;max-width:30em;margin:clamp(44px,5vw,68px) auto 0;padding-top:38px;text-align:center;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.3vw,30px);line-height:1.42;color:var(--olive);text-wrap:balance}
.rtral__end::before{content:'';position:absolute;left:50%;top:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--olive);opacity:.55}

/* what is here · ivory: four equal rows (photo | words), the second one carries the timeline */
.rtrhere__inner{max-width:1120px;margin:0 auto}
.rtrhere__head{text-align:center}
.rtrrows{display:grid;gap:clamp(16px,2vw,24px);margin-top:clamp(34px,4vw,52px)}
.rtrrow{display:grid;grid-template-columns:minmax(0,clamp(220px,25vw,300px)) minmax(0,1fr);column-gap:clamp(24px,3.6vw,52px);align-items:stretch;padding:clamp(18px,2vw,26px);border-radius:44px 44px 44px 14px;background:rgba(222,213,199,.5)}
.rtrrow__fig{position:relative;margin:0;min-height:clamp(240px,23vw,300px);border-radius:30px;overflow:hidden;background:var(--sand)}
.rtrrow__body{align-self:center;padding:clamp(4px,1vw,12px) clamp(2px,1vw,14px) clamp(4px,1vw,12px) 0}
.rtrrow__n{margin-bottom:12px;font-family:var(--font-serif);font-weight:400;font-variant-numeric:lining-nums;font-size:15px;line-height:1;letter-spacing:.14em;color:var(--olive-soft)}
.rtrrow__body p:not(.rtrrow__n):not(.rtr-when){max-width:36em;margin-top:14px;font-size:16.5px;line-height:1.8;text-wrap:pretty}
.rtrrow__body .rtr-h3+p,.rtrrow__body .rtr-when+p{margin-top:16px !important}
.rtrrow__body .rtrrow__end{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--olive-soft)}
.rtrrow__more{grid-column:1 / -1;margin-top:clamp(22px,2.6vw,32px);padding-top:clamp(22px,2.6vw,30px);border-top:1px solid rgba(57,67,56,.2)}

/* the 90-minute timeline: three equal stops; one click opens one detail box */
.rtrtl__top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 24px}
.rtrtl__lead{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(18px,1.6vw,21px);line-height:1.5;color:var(--olive)}
.rtrtl__hint{display:none;font-size:13.5px;line-height:1.5;letter-spacing:.05em;color:var(--olive-soft)}
.rtrtl.is-ready .rtrtl__hint{display:block}
.rtrtl__rail{position:relative;margin-top:22px}
.rtrtl__item{display:block;position:relative}
.rtrtl__node{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;column-gap:18px;width:100%;margin:0;padding:6px 0;border:0;background:none;font:inherit;color:var(--olive);text-align:left;cursor:default}
.rtrtl.is-ready .rtrtl__node{cursor:pointer}
.rtrtl__dot{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;border:1.5px solid var(--olive);background:var(--ivory);color:var(--olive);transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.rtrtl__n{font-family:var(--font-serif);font-weight:400;font-variant-numeric:lining-nums;font-size:28px;line-height:1;letter-spacing:-.02em}
.rtrtl__u{margin-top:1px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:13px;line-height:1.2}
.rtrtl__t{font-family:var(--font-serif);font-weight:400;font-size:clamp(17.5px,1.55vw,20px);line-height:1.32;letter-spacing:-.004em;text-wrap:balance}
.rtrtl__plus{display:none}
.rtrtl.is-ready .rtrtl__node:hover .rtrtl__dot{background:var(--sand)}
.rtrtl__node[aria-expanded=true] .rtrtl__dot,.rtrtl.is-ready .rtrtl__node[aria-expanded=true]:hover .rtrtl__dot{background:var(--olive);color:var(--ivory)}
.rtrtl__panel{margin:12px 0 0 94px;padding:clamp(20px,2.4vw,28px) clamp(22px,2.6vw,32px);border-radius:28px 28px 28px 10px;background:rgba(167,174,152,.3)}
.rtrtl__panel p+p{margin-top:12px}
.rtrtl__panel p{font-size:16px;line-height:1.8;text-wrap:pretty}
.rtrtl__panel[hidden]{display:none}
.rtrtl.is-ready .rtrtl__panel{animation:rtrtl-in .35s var(--ease)}
@keyframes rtrtl-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rtrtl.is-ready .rtrtl__panel{animation:none}.rtrtl__dot{transition:none}}
/* phone and narrow tablet: a vertical timeline, the box opens right under its stop */
.rtrtl__item:not(:last-child)::before{content:'';position:absolute;left:37px;top:82px;bottom:-6px;width:0;border-left:1.5px solid var(--olive-line)}
/* wide: a horizontal timeline, one box under the whole row */
@media (min-width:861px){
  .rtrtl.is-ready .rtrtl__rail{--g:clamp(16px,2vw,28px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--g)}
  .rtrtl.is-ready .rtrtl__rail::before{content:'';position:absolute;left:calc((100% - 2 * var(--g)) / 6);right:calc((100% - 2 * var(--g)) / 6);top:44px;height:0;border-top:1.5px solid var(--olive-line)}
  .rtrtl.is-ready .rtrtl__item{display:contents}
  .rtrtl.is-ready .rtrtl__item::before{display:none}
  .rtrtl.is-ready .rtrtl__node{grid-row:1;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;align-items:start;row-gap:14px;text-align:center;padding:6px 8px 0}
  .rtrtl.is-ready .rtrtl__item:nth-child(1) .rtrtl__node{grid-column:1}
  .rtrtl.is-ready .rtrtl__item:nth-child(2) .rtrtl__node{grid-column:2}
  .rtrtl.is-ready .rtrtl__item:nth-child(3) .rtrtl__node{grid-column:3}
  .rtrtl.is-ready .rtrtl__node .rtrtl__t{max-width:15em}
  .rtrtl.is-ready .rtrtl__plus{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-top:2px;border-radius:50%;background:rgba(57,67,56,.1);font-family:var(--font-serif);font-size:19px;line-height:1;color:var(--olive);transition:transform .25s var(--ease)}
  .rtrtl.is-ready .rtrtl__node[aria-expanded=true] .rtrtl__plus{transform:rotate(45deg)}
  .rtrtl.is-ready .rtrtl__panel{position:relative;grid-row:2;grid-column:1 / -1;margin:22px 0 0;max-width:none}
  .rtrtl.is-ready .rtrtl__panel::before{content:'';position:absolute;top:-8px;left:var(--c);width:16px;height:16px;margin-left:-8px;border-radius:3px;background:rgba(167,174,152,.3);transform:rotate(45deg)}
  .rtrtl.is-ready .rtrtl__item:nth-child(1) .rtrtl__panel{--c:calc((100% - 2 * var(--g)) / 6)}
  .rtrtl.is-ready .rtrtl__item:nth-child(2) .rtrtl__panel{--c:50%}
  .rtrtl.is-ready .rtrtl__item:nth-child(3) .rtrtl__panel{--c:calc(100% - (100% - 2 * var(--g)) / 6)}
  .rtrtl.is-ready .rtrtl__panel p{max-width:48em}
}
@media (max-width:860px){
  .rtrtl.is-ready .rtrtl__plus{display:flex;align-items:center;justify-content:center;grid-column:3;width:26px;height:26px;border-radius:50%;background:rgba(57,67,56,.1);font-family:var(--font-serif);font-size:19px;line-height:1;color:var(--olive);transition:transform .25s var(--ease)}
  .rtrtl.is-ready .rtrtl__node{grid-template-columns:76px minmax(0,1fr) 26px}
  .rtrtl.is-ready .rtrtl__node[aria-expanded=true] .rtrtl__plus{transform:rotate(45deg)}
}

/* companions · sage: two equal cards, small round photos */
.rtrpeople__inner{max-width:1080px;margin:0 auto}
.rtrpeople__head{text-align:center}
.rtrpeople__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(18px,2.4vw,30px);margin-top:clamp(34px,4vw,52px)}
.rtrp{display:flex;flex-direction:column;padding:clamp(26px,3.2vw,42px);border-radius:48px 48px 48px 14px;background:rgba(244,240,232,.74)}
.rtrp__head{display:flex;align-items:center;gap:clamp(16px,2vw,24px)}
.rtrp__av{flex:none;display:block;width:clamp(96px,10vw,128px);height:clamp(96px,10vw,128px);border-radius:50%;object-fit:cover;background:var(--sand);box-shadow:0 0 0 5px rgba(244,240,232,.95),0 0 0 6px rgba(57,67,56,.14)}
.rtrp__who{min-width:0}
.rtrp__name{font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.014em;color:var(--olive)}
.rtrp__role span{display:block}
.rtrp__role{margin-top:8px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(16px,1.4vw,18.5px);line-height:1.45;color:var(--olive-soft);text-wrap:balance}
.rtrp__text{margin-top:clamp(20px,2.4vw,28px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid rgba(57,67,56,.18)}
.rtrp__text p{font-size:16.5px;line-height:1.8;text-wrap:pretty}
.rtrp__text p+p{margin-top:14px}

/* a small community · olive */
.rtrsmall__blob--a{left:-10%;top:3%;width:min(28vw,380px);background:rgba(244,240,232,.05);border-radius:52% 48% 46% 54% / 48% 54% 46% 52%}
.rtrsmall__blob--b{right:-9%;bottom:6%;width:min(26vw,340px);background:rgba(167,174,152,.09);border-radius:46% 54% 50% 50% / 54% 46% 54% 46%}
.rtrsmall__inner{position:relative;z-index:1;max-width:900px;margin:0 auto}
.rtrsmall__a,.rtrsmall__b,.rtrsmall__end,.rtrsmall__h{max-width:760px;margin-left:auto;margin-right:auto}
.rtrsmall__h{font-family:var(--font-serif);font-weight:400;font-size:clamp(30px,3.6vw,50px);line-height:1.18;letter-spacing:-.014em;color:var(--ivory);text-wrap:balance}
.rtrsmall__a{margin-top:26px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(21px,2vw,26px);line-height:1.45;color:var(--ivory-soft);text-wrap:balance}
.rtrsmall__b{margin-top:20px;font-size:17.5px;line-height:1.9;color:var(--ivory-soft);text-wrap:pretty}
.rtrsmall__lines{display:grid;gap:12px;margin:clamp(34px,4vw,48px) auto 0;padding:clamp(28px,3.4vw,40px) 0;border-top:1px solid rgba(244,240,232,.22);border-bottom:1px solid rgba(244,240,232,.22)}
.rtrsmall__lines li{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(20px,1.8vw,25px);line-height:1.45;color:var(--ivory);text-wrap:balance}
.rtrsmall__ok{margin-top:clamp(30px,3.6vw,44px);font-family:var(--font-serif);font-weight:400;font-size:clamp(26px,2.8vw,38px);line-height:1.25;letter-spacing:-.01em;color:var(--ivory)}
.rtrsmall__end{margin-top:22px;font-size:17.5px;line-height:1.9;color:var(--ivory-soft);text-wrap:balance}

/* join · sand */
.rtrjoin{text-align:center}
.rtrjoin__watermark{position:absolute;left:50%;top:50%;width:min(80vw,760px);height:auto;transform:translate(-50%,-50%);opacity:.04;pointer-events:none}
.rtrjoin__inner{position:relative;max-width:860px;margin:0 auto}
.rtrjoin__card{padding:clamp(34px,4.6vw,64px) clamp(24px,4vw,64px);border-radius:56px 56px 56px 16px;background:rgba(244,240,232,.62);box-shadow:0 30px 60px -42px rgba(41,41,37,.4)}
.rtrjoin__faces{display:flex;justify-content:center;margin-bottom:26px}
.rtrjoin__faces img{width:84px;height:84px;border-radius:50%;object-fit:cover;background:var(--ivory);box-shadow:0 0 0 5px rgba(244,240,232,.9)}
.rtrjoin__faces img+img{margin-left:-14px}
.rtrjoin__price{display:flex;align-items:baseline;justify-content:center;gap:10px;color:var(--olive)}
.rtrjoin__amt{font-family:var(--font-serif);font-weight:400;font-variant-numeric:lining-nums;font-size:clamp(30px,3vw,40px);line-height:1.1;letter-spacing:-.02em}
.rtrjoin__unit{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(16px,1.4vw,19px);line-height:1.3}
.rtrjoin__p{max-width:30em;margin:20px auto 0;font-size:17px;line-height:1.85;text-wrap:balance}
.rtrjoin__incl{margin-top:36px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.5;color:var(--olive)}
.rtrjoin__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 36px;max-width:700px;margin:24px auto 0;text-align:left}
.rtrjoin__list li{position:relative;padding-left:38px;font-size:16.5px;line-height:1.7;text-wrap:pretty}
.rtrjoin__list li::before{content:'';position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:rgba(57,67,56,.12)}
.rtrjoin__list li::after{content:'';position:absolute;left:8px;top:7px;width:6px;height:10px;border:solid var(--olive);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.rtrjoin__actions{display:flex;justify-content:center;margin-top:40px}

/* return to rebuild · tablet and phone */
@media (max-width:900px){
  .rtral__main{grid-template-columns:minmax(0,1fr)}
  .rtrrow{grid-template-columns:minmax(0,1fr);row-gap:20px}
  .rtrrow__fig{min-height:0;aspect-ratio:16/10}
  .rtrrow__body{padding:4px 6px 0}
  .rtrpeople__grid{grid-template-columns:minmax(0,1fr);max-width:560px;margin-left:auto;margin-right:auto}
  .rtrjoin__list{grid-template-columns:minmax(0,1fr);max-width:30em}
}
@media (max-width:760px){
  .rtrhero .afhero__photo{margin:20px var(--gutter) 0;min-height:0;height:min(104vw,520px);border-radius:40px}
}
@media (max-width:640px){
  .rtral__main{padding:28px 22px;border-radius:40px 40px 40px 14px}
  .rtral__q{padding:24px 22px;border-radius:32px 32px 12px 32px}
  .rtrrow{padding:16px;border-radius:36px 36px 36px 12px}
  .rtrrow__fig{border-radius:24px}
  .rtrtl__node{grid-template-columns:64px minmax(0,1fr);column-gap:14px}
  .rtrtl.is-ready .rtrtl__node{grid-template-columns:64px minmax(0,1fr) 26px}
  .rtrtl__dot{width:64px;height:64px}
  .rtrtl__n{font-size:24px}
  .rtrtl__panel{margin-left:78px;padding:18px 20px}
  .rtrtl__item:not(:last-child)::before{left:31px;top:70px}
  .rtrp{padding:26px 22px 30px;border-radius:40px 40px 40px 14px}
  .rtrjoin__card{padding:30px 20px 34px;border-radius:40px 40px 40px 14px}
  .rtrjoin__actions .btn{width:100%;justify-content:center}
}


/* ============================================================================
   PERSONAL POSITIONING TOOLKIT  (/resources/personal-positioning-toolkit/)
   Free resource that is filled in on the page and sent to Grace (Netlify Forms, form name
   "positioning-toolkit"). The long worksheet is shown a few questions at a time: with
   JavaScript the form gets the class .tk--js and only .is-on step is visible; without
   JavaScript every step is shown one under the other and the form still submits.
   Also here: the thank-you copy box.
   ============================================================================ */
.tk-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}


/* page : intro (on sand) */
.tkpage{padding-top:72px;padding-bottom:calc(112px + var(--radius-sheet))}
.tkintro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,88px);align-items:start;max-width:1040px;margin:0 auto}
.tkintro__lead{max-width:32em;font-size:17.5px;line-height:1.85}
.tkintro .gb__h{margin-top:34px}
.tkgoals{margin-top:14px;display:grid;gap:12px;max-width:32em}
.tkgoals li{position:relative;padding-left:24px;font-size:16.5px;line-height:1.75}
.tkgoals li::before{content:"";position:absolute;left:2px;top:.78em;width:7px;height:7px;border-radius:50%;background:var(--olive-soft)}
.tkhow{padding:30px 30px 26px;border-radius:32px;background:var(--ivory)}
.tkhow .gb__h{margin-top:0}
.tkhow .gb__chapters li{grid-template-columns:36px minmax(0,1fr);align-items:start;font-size:15.5px;line-height:1.65}

/* the worksheet card */
.tkcard{max-width:880px;margin:64px auto 0;padding:clamp(24px,5vw,60px);border-radius:var(--radius-card);background:var(--ivory);scroll-margin-top:96px}
.tkprog{display:none}
.tk--js .tkprog{display:block;margin-bottom:44px}
.tkprog__meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;font-size:13.5px;line-height:1.6;letter-spacing:.03em;color:var(--ink-soft);font-variant-numeric:lining-nums}
.tkprog__bar{display:flex;gap:6px;margin-top:8px}
.tkprog__bar li{flex:1 1 0;min-width:0}
.tkprog__bar li[data-gap]{margin-left:12px}
.tkprog__seg{position:relative;display:block;width:100%;height:24px;padding:0;border:0;background:none;cursor:pointer}
.tkprog__seg::before{content:"";position:absolute;left:0;right:0;top:10px;height:4px;border-radius:2px;background:var(--olive-line);opacity:.55;transition:background-color .5s ease,opacity .5s ease,top .4s ease,height .4s ease}
.tkprog__seg:hover::before{opacity:1}
.tkprog__seg.is-done::before{background:var(--olive-soft);opacity:1}
.tkprog__seg[aria-current="step"]::before{background:var(--olive);opacity:1;top:9px;height:6px}
.tkprog__seg:focus-visible{outline:2px solid var(--olive);outline-offset:1px;border-radius:6px}

.tkstep + .tkstep{margin-top:80px}
.tk--js .tkstep{display:none;margin-top:0}
.tk--js .tkstep.is-on{display:block;animation:tk-in .7s var(--ease) both}
@keyframes tk-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tkstep__part{font-family:var(--font-serif);font-style:italic;font-size:19px;line-height:1.4;color:var(--olive-soft)}
.tkstep__title{margin-top:8px;font-family:var(--font-serif);font-weight:400;font-size:clamp(28px,3.2vw,38px);line-height:1.18;letter-spacing:-.01em;color:var(--olive);text-wrap:balance}
.tkstep__title:focus{outline:none}
.tkstep__goal{margin-top:16px;max-width:34em;font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,1.8vw,21px);line-height:1.5;color:var(--olive-soft)}
.tkstep__intro{margin-top:18px;max-width:38em;font-size:16px;line-height:1.8;color:var(--ink-soft)}
.tkstep__intro+.tkstep__intro{margin-top:12px}
.tkstep__body{display:grid;gap:34px;margin-top:40px}

.tkq label{display:flex;align-items:baseline;gap:12px;font-size:16.5px;line-height:1.65;letter-spacing:0;color:var(--olive)}
.tkq__no{flex:none;width:26px;font-family:var(--font-serif);font-variant-numeric:lining-nums;font-style:italic;font-size:17px;color:var(--olive-soft)}
.tkq__hint{margin:-2px 0 0 38px;font-family:var(--font-serif);font-style:italic;font-size:16.5px;line-height:1.55;color:var(--olive-soft)}
.tkcard .field textarea{min-height:96px}
.tkcard .field input[type="text"],.tkcard .field input[type="email"]{min-height:52px}
.tk--js .field textarea{resize:none;overflow:hidden}
.tkcard .field input:user-invalid{border-color:var(--clay)}
.tkfield label{font-size:15px}
.tkfield__hint{font-size:13.5px;line-height:1.55;font-style:italic;color:var(--ink-soft)}
.tkgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
.tkgrid2+.tkgrid2{margin-top:22px}
.tkgrid2 .field textarea{min-height:84px}
.tkgrid2 .is-wide{grid-column:1/-1}

.tkgroup{padding:clamp(20px,3vw,32px);border:1px solid var(--olive-line);border-radius:32px}
.tkgroup__title{margin-bottom:20px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:21px;line-height:1.4;color:var(--olive)}
.tkgroup.tkgroup--plain{padding:0;border:0;border-radius:0}
details.tkgroup>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:0;cursor:pointer;list-style:none}
details.tkgroup>summary::-webkit-details-marker{display:none}
details.tkgroup>summary::after{content:"+";flex:none;font-family:var(--font-sans);font-style:normal;font-size:24px;font-weight:300;line-height:1;color:var(--olive-soft);transition:transform .5s var(--ease)}
details.tkgroup[open]>summary{margin-bottom:20px}
details.tkgroup[open]>summary::after{transform:rotate(45deg)}
details.tkgroup>summary:focus-visible{outline:2px solid var(--olive);outline-offset:6px;border-radius:12px}

.tkquote{max-width:34em;font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,2vw,24px);line-height:1.5;color:var(--olive)}
.tkguide{border-radius:28px;background:var(--olive-wash)}
.tkguide>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px;font-family:var(--font-serif);font-size:19px;line-height:1.4;color:var(--olive);cursor:pointer;list-style:none}
.tkguide>summary::-webkit-details-marker{display:none}
.tkguide>summary::after{content:"+";flex:none;font-family:var(--font-sans);font-size:24px;font-weight:300;line-height:1;color:var(--olive-soft);transition:transform .5s var(--ease)}
.tkguide[open]>summary::after{transform:rotate(45deg)}
.tkguide>summary:focus-visible{outline:2px solid var(--olive);outline-offset:2px;border-radius:28px}
.tkguide__body{display:grid;gap:18px;padding:2px 26px 28px;font-size:15.5px;line-height:1.8}
.tkguide__body ol{display:grid;gap:18px;counter-reset:tkg}
.tkguide__body ol>li{position:relative;padding-left:34px;counter-increment:tkg}
.tkguide__body ol>li::before{content:counter(tkg);position:absolute;left:0;top:0;font-family:var(--font-serif);font-style:italic;font-size:17px;color:var(--olive-soft)}
.tkguide__body ul{display:grid;gap:6px;margin-top:10px}
.tkguide__body ul li{position:relative;padding-left:18px;font-style:italic;color:var(--ink-soft)}
.tkguide__body ul li::before{content:"";position:absolute;left:2px;top:.8em;width:5px;height:5px;border-radius:50%;background:var(--olive-soft)}
.tkguide__body strong{font-weight:400;color:var(--olive)}
.tkguide__body em{font-style:italic}

/* offerings mapping : A → B → C, five rows */
.tkmap{display:grid;gap:14px}
.tkmap__head,.tkmap__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tkmap__head span{position:relative;font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.4;color:var(--olive)}
.tkmap__head span+span::before{content:"→";position:absolute;left:-14px;top:0;transform:translateX(-50%);font-family:var(--font-sans);font-style:normal;font-size:15px;color:var(--olive-soft)}
.tkmap__row .field label{display:none}
.tkmap__row .field textarea{min-height:92px;padding:14px 18px;border-radius:22px;font-size:15.5px;line-height:1.6}
.tkmap .tkmap__no{display:none;margin:0;font-size:17px;color:var(--olive-soft)}
.tkmap__more{display:none;justify-self:start;cursor:pointer}
.tk--js .tkmap:not(.is-open) .tkmap__row--more{display:none}
.tk--js .tkmap:not(.is-open)+.tkmap__more{display:inline-flex}

.tknav{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.tknav .btn,.tknav .btn-soft{cursor:pointer}
.tknav__prev,.tknav__next{display:none}
.tk--js:not(.is-first) .tknav__prev{display:inline-flex}
.tk--js:not(.is-last) .tknav__next{display:inline-flex}
.tk--js:not(.is-last) .tknav__send{display:none}
.tknav__next,.tknav__send{margin-left:auto}
.tknav .btn[disabled]{opacity:.6;cursor:default}
.tkform .gbform__status{margin-top:16px}
.tkform .gbform__note{margin-top:14px}
.tksend__count{margin-top:22px;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.tk-js-only{display:none}
.tk--js .tk-js-only{display:block}
.tkdraft{display:none;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:32px;padding-top:20px;border-top:1px solid var(--olive-line);font-size:13.5px;line-height:1.7;color:var(--ink-soft)}
.tk--js .tkdraft{display:flex}
.tkdraft__reset{padding:0;border:0;background:none;font:inherit;color:var(--olive);text-decoration:underline;text-decoration-color:var(--olive-line);text-underline-offset:4px;cursor:pointer;transition:text-decoration-color .4s ease}
.tkdraft__reset:hover{text-decoration-color:var(--olive)}

/* thank-you page : a copy of the answers for the visitor */
.tkcopy{max-width:640px;margin:48px auto 0;padding:28px 30px 30px;border-radius:32px;background:var(--ivory);text-align:left}
.tkcopy[hidden]{display:none}
.tkcopy__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(21px,2.1vw,25px);line-height:1.3;color:var(--olive)}
.tkcopy__text{margin-top:8px;font-size:15.5px;line-height:1.75}
.tkcopy .btn-soft{margin-top:20px;cursor:pointer}

@media (max-width:900px){
  .tkpage{padding-top:48px;padding-bottom:calc(80px + var(--radius-sheet))}
  .tkintro{grid-template-columns:minmax(0,1fr);gap:36px}
  .tkcard{margin-top:48px}
}
@media (max-width:760px){
  .tkmap__head{display:none}
  .tkmap{gap:16px}
  .tkmap__row{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px 18px 22px;border:1px solid var(--olive-line);border-radius:28px}
  .tkmap__row .field label{display:block}
  .tkmap .tkmap__no{display:block}
  .tkmap__row .field textarea{min-height:84px}
  .tknav .btn,.tknav .btn-soft{justify-content:center}
}
@media (max-width:560px){
  .tkpage{padding-left:14px;padding-right:14px}
  .tkintro{padding:0 10px}
  .tkcard{padding:28px 20px 34px}
  .tkgrid2{grid-template-columns:minmax(0,1fr)}
  .tkq__hint{margin-left:0}
  .tkq label{gap:8px}
  .tkgroup{padding:20px 18px 22px;border-radius:28px}
  .tkguide>summary{padding:18px 20px;font-size:18px}
  .tkguide__body{padding:2px 20px 24px}
  .tknav{flex-direction:column-reverse;align-items:stretch}
  .tknav .btn,.tknav .btn-soft{width:100%}
  .tknav__next,.tknav__send{margin-left:0}
  .tkcopy{padding:24px 22px 26px}
}
@media (prefers-reduced-motion:reduce){
  .tk--js .tkstep.is-on{animation:none}
  .tkprog__seg::before,.tkguide>summary::after,details.tkgroup>summary::after{transition:none}
}

/* ---------------------------------------------------------------------------
   TOOLKIT · part B diagram  ("Đừng bán sản phẩm, hãy bán giải pháp")
   Drawn as inline SVG. At rest it is complete; JS adds .tkdiag--anim and then .is-in when it scrolls into view,
   and the circles, arrows and the sentence draw in one after another (nothing moves for reduced-motion visitors).
   --------------------------------------------------------------------------- */
.tkdiag{display:grid;justify-items:center;gap:2px;width:100%;max-width:720px;margin:0 auto}
.tkdiag__stage{width:100%}
.tkdiag__svg{display:block;width:100%;height:auto;overflow:visible}
.tkdiag__svg--narrow{display:none}
.tkdiag__disc{fill:rgba(167,174,152,.24);stroke:none}
.tkdiag__ring{fill:none;stroke:var(--olive);stroke-opacity:.55;stroke-width:1.25;stroke-dasharray:1 2;stroke-dashoffset:0}
.tkdiag__arrow{fill:none;stroke:var(--olive);stroke-opacity:.5;stroke-width:1.25;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:0}
.tkdiag__head{fill:none;stroke:var(--olive);stroke-opacity:.5;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.tkdiag__label{font-family:var(--font-serif);font-weight:400;fill:var(--olive)}
.tkdiag__phrase{font-family:var(--font-serif);font-style:italic;font-weight:400;fill:var(--charcoal)}
.tkdiag__halo{fill:var(--clay);opacity:.22}
.tkdiag__bead{fill:var(--clay)}
.tkdiag__replay{display:none;justify-self:center;margin-top:4px;padding:8px 6px;border:0;background:none;font:inherit;font-size:13px;letter-spacing:.04em;color:var(--olive-soft);cursor:pointer;text-decoration:underline;text-decoration-color:var(--olive-line);text-underline-offset:5px;transition:color .3s var(--ease),text-decoration-color .3s var(--ease)}
.tkdiag__replay:hover,.tkdiag__replay:focus-visible{color:var(--olive);text-decoration-color:var(--olive)}
.tk--js .tkdiag__replay{display:inline-block}

@keyframes tkdDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes tkdFade{from{opacity:0}to{opacity:1}}
@keyframes tkdPop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes tkdRise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion:no-preference){
  .tkdiag--anim .tkdiag__ring,.tkdiag--anim .tkdiag__arrow{stroke-dashoffset:1}
  .tkdiag--anim .tkdiag__disc,.tkdiag--anim .tkdiag__label,.tkdiag--anim .tkdiag__head,.tkdiag--anim .tkdiag__phrase,.tkdiag--anim .tkdiag__dots{opacity:0}
  .tkdiag--anim .tkdiag__disc{transform-box:fill-box;transform-origin:center}
  .tkdiag--anim.is-in .tkdiag__ring,.tkdiag--anim.is-in .tkdiag__arrow{animation:tkdDraw 1.1s var(--ease) both}
  .tkdiag--anim.is-in .tkdiag__arrow{animation-duration:.8s}
  .tkdiag--anim.is-in .tkdiag__disc{animation:tkdPop .9s var(--ease) both}
  .tkdiag--anim.is-in .tkdiag__label,.tkdiag--anim.is-in .tkdiag__head{animation:tkdFade .7s var(--ease) both}
  .tkdiag--anim.is-in .tkdiag__head{animation-duration:.35s}
  .tkdiag--anim.is-in .tkdiag__phrase{animation:tkdRise 1s var(--ease) both}
  .tkdiag--anim.is-in .tkdiag__dots{animation:tkdFade 1.2s ease both;animation-delay:6.1s}

  .tkdiag--anim.is-in .tkdiag__ring--0{animation-delay:.1s}
  .tkdiag--anim.is-in .tkdiag__disc--0{animation-delay:.5s}
  .tkdiag--anim.is-in .tkdiag__label--0{animation-delay:.85s}
  .tkdiag--anim.is-in .tkdiag__arrow--1{animation-delay:1.15s}
  .tkdiag--anim.is-in .tkdiag__head--1{animation-delay:1.85s}
  .tkdiag--anim.is-in .tkdiag__ring--1{animation-delay:1.6s}
  .tkdiag--anim.is-in .tkdiag__disc--1{animation-delay:2s}
  .tkdiag--anim.is-in .tkdiag__label--1{animation-delay:2.35s}
  .tkdiag--anim.is-in .tkdiag__arrow--2{animation-delay:2.65s}
  .tkdiag--anim.is-in .tkdiag__head--2{animation-delay:3.35s}
  .tkdiag--anim.is-in .tkdiag__ring--2{animation-delay:3.1s}
  .tkdiag--anim.is-in .tkdiag__disc--2{animation-delay:3.5s}
  .tkdiag--anim.is-in .tkdiag__label--2{animation-delay:3.85s}
  .tkdiag--anim.is-in .tkdiag__arrow--3{animation-delay:4.15s}
  .tkdiag--anim.is-in .tkdiag__head--3{animation-delay:4.85s}
  .tkdiag--anim.is-in .tkdiag__phrase{animation-delay:5.05s}
}
@media (prefers-reduced-motion:reduce){
  .tkdiag__dots,.tkdiag__replay,.tk--js .tkdiag__replay{display:none}
}
@media (max-width:640px){
  .tkdiag__svg--wide{display:none}
  .tkdiag__svg--narrow{display:block}
  .tkdiag{max-width:420px}
}

/* paid guidebook (SePay): the payment steps inside the pop-up, and the download page ------------------- */
[data-gb-pane][hidden],[data-gb-free][hidden],[data-gb-paid][hidden],[data-dl-links][hidden],[data-dl-problem][hidden],.pay [hidden]{display:none!important}
[data-gb-pane]:not([hidden]){animation:pay-in .55s var(--ease) both}
@keyframes pay-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pay{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:26px}
.pay__qrcol{display:flex;flex-direction:column;align-items:center;flex:none}
.pay__qr{margin:0;padding:14px;border-radius:22px;background:var(--sand)}
.pay__qr img{display:block;width:220px;max-width:100%;height:auto;aspect-ratio:1/1;border-radius:10px;background:var(--ivory)}
.pay__qrnote{max-width:220px;padding:44px 6px;font-size:14.5px;line-height:1.7;text-align:center;color:var(--olive)}
.pay__save{margin-top:14px;font-size:14px;line-height:1.5;color:var(--olive);text-decoration:underline;text-underline-offset:3px}
.pay__save:hover{text-decoration-color:var(--sage)}
.pay__side{width:100%;min-width:0}
.pay__list{border-top:1px solid var(--olive-line)}
.pay__row{display:grid;grid-template-columns:minmax(0,8.6em) minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--olive-line);font-size:15.5px;line-height:1.5}
.pay__row dt{font-size:13.5px;letter-spacing:.03em;color:var(--ink-soft)}
.pay__row dd{margin:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;color:var(--charcoal);font-variant-numeric:lining-nums;overflow-wrap:anywhere}
.pay__row dd>span{min-width:0}
.pay__row [data-pay-memo]{letter-spacing:.08em}
.pay__copy{flex:none;padding:4px 14px;border:1px solid var(--olive-line);border-radius:999px;background:none;color:var(--olive);font:inherit;font-size:12.5px;line-height:1.4;letter-spacing:.03em;cursor:pointer;transition:background-color .4s ease}
.pay__copy:hover{background:var(--olive-wash)}
/* the QR step uses the full width of the pop-up: QR on the left, the numbers on the right */
.modal.is-pay .modal__panel{grid-template-columns:minmax(0,1fr)}
.modal.is-pay .modal__media{display:none}
.modal.is-pay .modal__body{padding-right:clamp(28px,4vw,56px)}
.modal.is-pay .pay__intro{max-width:36em}
@media (min-width:721px){
  .modal.is-pay .pay{flex-direction:row;align-items:flex-start;gap:clamp(28px,4vw,48px)}
}
.pay__wait{margin-top:22px;display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.55;color:var(--olive)}
.pay__pulse{flex:none;width:10px;height:10px;border-radius:50%;background:var(--sage);animation:pay-pulse 1.9s ease-in-out infinite}
@keyframes pay-pulse{0%,100%{transform:scale(.7);opacity:.55}50%{transform:scale(1.2);opacity:1}}
.pay__note{margin-top:20px;max-width:44em}
.pay__actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.pay__link{padding:0;border:0;background:none;color:var(--olive);font:inherit;font-size:14.5px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pay__link:hover{text-decoration-color:var(--sage)}
button.btn-soft{font-family:inherit;cursor:pointer}
button.btn-soft[disabled]{opacity:.6;cursor:default}
.gb__for .pay__link{margin-left:6px;font-size:inherit}
@media (max-width:480px){
  .pay__row{grid-template-columns:minmax(0,1fr)}
  .pay__actions{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  [data-gb-pane]:not([hidden]){animation:none}
  .pay__pulse{animation:none}
}
