/* Gibbons & Moran site styles. The shared rules come from the design
   canvas's pages; build.mjs appends one class per inline style used in the
   page sources, because the security policy allows no inline styles. */

@font-face{font-family:'Tiempos Headline';src:url('/fonts/TiemposHeadline-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Tiempos Headline';src:url('/fonts/TiemposHeadline-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}

:root{
  --forest:#072219;
  --pink:#FFCFEE;
  --mint:#E8F1E4;
  --white:#FFF4FB;
  --accent:#C7448C;
  --card:rgba(10,49,36,0.72);
  --error:#FFB4A8;
  /* The type scale (Kate, 2026-11-04): every font-size on the site is one
     of these. Pick the nearest one rather than adding a size; a new size is
     a design decision for Sarah. Serif sizes are for Tiempos headings;
     sans sizes for Inter text. */
  --text-display:clamp(48px,6vw,96px);   /* "Let's get started." */
  --text-h1:clamp(40px,4.4vw,64px);      /* page titles, "Let's talk." */
  --text-h1-long:clamp(28px,3.82vw,55px);/* titles that are sentences: Home, Thanks, 404 */
  --text-h2:clamp(28px,2.8vw,40px);      /* "What you get" headlines, partner names */
  --text-h3:clamp(26px,2.3vw,34px);      /* card titles, philosophy beliefs, talk titles, .big */
  --text-h4:clamp(22px,1.9vw,26px);      /* item headings, "When you need it" lines, small cards */
  --text-lede:clamp(22px,2.1vw,30px);    /* the line under a page title */
  --text-body-l:clamp(17px,1.4vw,20px);  /* .body paragraphs, Home's hero tags, the form band line */
  --text-body:18px;                      /* body text, nav, buttons, lists */
  --text-small:16px;                     /* form labels, breadcrumbs, bylines, footer */
  --text-label:14px;                     /* uppercase labels, fine print, captions */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--forest)}
img,svg{max-width:100%}
img{height:auto}
a{color:var(--pink)}a:hover{color:#FFFFFF}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.gm{background:var(--forest);color:var(--pink);font-family:'Inter','Helvetica Neue',Arial,sans-serif;font-size:var(--text-body);line-height:1.55}
.wrap{box-sizing:border-box;max-width:1440px;margin:0 auto;padding-left:max(16px,7.8vw);padding-right:max(16px,7.8vw)}
@media (min-width:1440px){.wrap{padding-left:112px;padding-right:112px}}
.serif{font-family:'Tiempos Headline','Newsreader',Georgia,serif;font-weight:400}
.label{margin:0;font-size:var(--text-label);line-height:20px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}
.rule{height:1px;margin:0;border:0;background:rgba(255,207,238,0.25)}
.card{box-sizing:border-box;background:var(--card);border:1px solid rgba(255,255,255,0.08);border-radius:20px;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.field{position:absolute;pointer-events:none;display:block;max-width:none;object-fit:fill}
.row{display:flex;flex-wrap:wrap;gap:20px 80px;align-items:flex-start}
.row > .label{flex:1 1 240px;padding-top:12px}
.row > .content{flex:3 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.big{margin:0;max-width:30em;text-wrap:balance;font-family:'Tiempos Headline','Newsreader',Georgia,serif;font-weight:400;font-size:var(--text-h3);line-height:1.3;color:var(--white)}
.body{margin:0;max-width:40em;font-size:var(--text-body-l);line-height:1.6}
.link{font-weight:600;font-size:var(--text-small);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}
.nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--pink)}

/* AI strategy's "What you get": plain lines on wide screens, bullets on phones. */
.getlist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;max-width:40em;font-size:var(--text-body-l);line-height:1.6}
@media (max-width:760px){.getlist{list-style:disc;padding-left:1.25em;gap:10px}}

/* Subpages, desktop only: the line graphic fades out before it reaches the
   nav, so the links and the current-page underline sit on plain forest
   (Kate, 2026-10-28, option 2 on the canvas's "Nav legibility options"). */
@media (min-width:900px){
  .gm img.field.fade-top{-webkit-mask-image:linear-gradient(to left,#000 50%,transparent),linear-gradient(to bottom,transparent 36%,#000 62%)!important;-webkit-mask-composite:source-in!important;mask-image:linear-gradient(to left,#000 50%,transparent),linear-gradient(to bottom,transparent 36%,#000 62%)!important;mask-composite:intersect!important}
}
/* On a screen wider than the content (1440px), the line fields stop
   stretching: they keep their 1440px size, centered on the content's edges,
   and fade into the forest past it, so the lines never widen into bars
   (Kate, 2026-10-28). Home has two fields, left then right; the other
   pages have one, on the right. */
@media (min-width:1441px){
  .gm img.field:not(.fade-top):nth-of-type(1){width:1613px;left:calc(50% - 1526px)}
  .gm img.field:not(.fade-top):nth-of-type(2){width:1613px;right:calc(50% - 1526px)}
  .gm img.field.fade-top{width:1411px;right:calc(50% - 1426px)}
}

/* Home's heading breaks after "you need" on a wide screen. Below about
   760px, where its first line can't fit, the break comes out and the lines
   balance, so it doesn't leave a short third line (Kate, 2026-10-28). */
@media (max-width:760px){
  .gm h1 br{display:none}
  .gm h1{text-wrap:balance}
}

/* Link cards: a 3px rise, a pink border, and the arrow sliding right, only
   with a mouse or trackpad, and for keyboard focus (Kate, 2026-10-28,
   option D on the canvas's "Link card hover options"). */
@media (hover:hover) and (pointer:fine){
  .gm a.card{transition:transform 220ms cubic-bezier(.2,.7,.3,1),border-color 220ms ease}
  .gm a.card .link [aria-hidden="true"]{display:inline-block;transition:transform 220ms cubic-bezier(.2,.7,.3,1)}
  .gm a.card:hover,.gm a.card:focus-visible{transform:translateY(-3px);border-color:rgba(255,207,238,0.4)}
  .gm a.card:hover .link [aria-hidden="true"],.gm a.card:focus-visible .link [aria-hidden="true"]{transform:translateX(6px)}
}

/* The main call to action on a talk landing page. */
.cta{text-decoration:none;min-height:56px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:0 32px;border-radius:6px;background:var(--pink);color:var(--forest);font-weight:600;font-size:var(--text-body)}
.cta:hover{background:#FFFFFF;color:var(--forest)}

/* Skip link: hidden until focused. */
.skip{position:absolute;left:16px;top:-60px;z-index:10;padding:12px 18px;border-radius:6px;background:var(--pink);color:var(--forest);font:600 var(--text-small)/1.2 Inter,Arial,sans-serif;text-decoration:none}
.skip:focus{top:16px;color:var(--forest)}
main:focus,.skip-target:focus{outline:none}
/* Where the skip link lands: just past the header, which sits inside main with the hero. */
.skip-target{display:block;height:0}

/* The contact form. */
.form-input{box-sizing:border-box;width:100%;min-height:56px;padding:14px 18px;border-radius:8px;border:1px solid rgba(255,207,238,0.45);background:rgba(0,0,0,0.18);color:var(--white);font:400 var(--text-body)/1.4 Inter,Arial,sans-serif}
.form-input::placeholder{color:rgba(255,244,251,0.55)}
.form-input:focus-visible{outline:2px solid var(--pink);outline-offset:1px;border-color:var(--pink)}
.form-select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23FFCFEE' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 6 8 10.5 12.5 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.form-select option{color:#072219;background:#FFFFFF}
.form-field.is-error .form-input{border-color:var(--error)}
.form-msg{font-size:var(--text-small);line-height:1.4;color:var(--error)}
.form-msg:empty{display:none}
.form-alert{margin:0;padding:14px 18px;border-radius:8px;border:1px solid var(--error);color:var(--white);font-size:var(--text-small);line-height:1.5}
.form-alert a{color:var(--white)}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-send{min-height:52px;padding:0 36px;border:0;border-radius:6px;background:var(--pink);color:var(--forest);font:600 var(--text-body)/1 Inter,Arial,sans-serif;cursor:pointer}
.form-send:hover{background:#FFFFFF}
.form-send[aria-disabled="true"]{opacity:0.6;cursor:progress}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The pink "Let's get started." band on each service page
   (src/partials/service-form.html). Fields follow the contact form's shape,
   flipped for a pink ground. */
.band-start{background:#FFCFEE;color:#072219}
.band-form .band-input{border:1px solid rgba(7,34,25,0.6);background:rgba(7,34,25,0.06);color:#072219}
.band-form .band-input::placeholder{color:rgba(7,34,25,0.7)}
.band-form .band-input:focus-visible{outline:2px solid #072219;outline-offset:1px;border-color:#072219}
.band-form .form-field.is-error .band-input{border-color:#8A0F3C}
.band-form .form-msg{color:#8A0F3C}
.band-form .form-alert{border-color:#8A0F3C;color:#072219}
.band-form .form-alert a{color:#072219}
.band-send{align-self:flex-start;background:#072219;color:#FFCFEE}

/* The "← Services" eyebrow above each service page's name. */
.eyebrow-link{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.eyebrow-link:hover{text-decoration:underline;text-underline-offset:0.2em}

/* Arrow icons (build.mjs, arrowIcons): sized to the text, centered on it. */
.icon{display:inline-block;flex:none;width:1.1em;height:1.1em;vertical-align:-0.2em}

/* The Services menu in the header (src/partials/header.html). Without the
   script, "Services" is a plain link to /services; site.js makes it open
   the menu instead. On a phone the menu spans the header's width. */
.nav-menu{position:relative}
.nav .nav-menu-btn{gap:6px}
.nav-menu-btn svg{width:14px;height:14px;flex:none;transition:transform 0.15s}
.nav-menu-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-menu-panel{position:absolute;top:calc(100% + 10px);left:-18px;z-index:20;width:260px;box-sizing:border-box;padding:8px;background:#0A3124;border:1px solid rgba(255,207,238,0.18);border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,0.45);display:flex;flex-direction:column}
.nav-menu-panel[hidden]{display:none}
.nav .nav-menu-panel a{padding:0 18px;border-radius:8px;font-size:var(--text-body);box-shadow:none}
.nav .nav-menu-panel a:hover,.nav .nav-menu-panel a:focus-visible{background:rgba(255,207,238,0.08)}
.nav .nav-menu-panel .nav-menu-all{font-weight:600;font-size:var(--text-small)}
.nav-menu-rule{height:1px;margin:6px 18px;background:rgba(255,207,238,0.18)}
@media (max-width:699px){
  .nav-menu{position:static}
  .nav-menu-panel{left:16px;right:16px;width:auto;top:100%;margin-top:6px}
}

/* The menu button and side panel (Kate, 2026-11-04). site.js adds
   .nav-compact to the header only when the nav can't fit on one line beside
   the logo; then the nav hides and the Menu button shows on the right. With
   no script the button never shows and the nav wraps as before. */
.nav-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 4px;margin-right:-4px;border:0;background:none;color:var(--pink);font:500 var(--text-body)/1 Inter,'Helvetica Neue',Arial,sans-serif;cursor:pointer}
.nav-toggle svg{width:24px;height:24px;flex:none}
.gm header.nav-compact .nav{display:none}
.gm header.nav-compact .nav-toggle{display:inline-flex}
.gm header.nav-compact{flex-wrap:nowrap;column-gap:16px}
.gm header.nav-compact > a:first-child{min-width:0;flex:0 1 auto}
.gm header.nav-compact > a:first-child img{max-width:100%;height:auto;max-height:clamp(24px,2.4vw,34px)}
.gm header.nav-compact .nav-toggle{flex:none}
.site-panel-backdrop{position:fixed;inset:0;z-index:40;background:rgba(3,15,11,0.6);opacity:0;transition:opacity 0.2s}
.site-panel{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(360px,86vw);box-sizing:border-box;overflow-y:auto;padding:20px 28px 40px;background:#0A3124;border-left:1px solid rgba(255,207,238,0.18);box-shadow:-18px 0 48px rgba(0,0,0,0.45);display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.25s ease}
.site-panel-backdrop[hidden],.site-panel[hidden]{display:none}
.site-panel.open{transform:none}
.site-panel-backdrop.open{opacity:1}
.site-panel-close{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;border:0;background:none;color:var(--pink);cursor:pointer}
.site-panel-close svg{width:24px;height:24px}
.site-panel-nav{display:flex;flex-direction:column;padding-top:8px}
.site-panel-nav a{text-decoration:none;min-height:48px;display:flex;align-items:center;gap:6px;font-size:var(--text-body);line-height:1.3;color:var(--pink)}
.site-panel-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.site-panel-backdrop:not(.open){pointer-events:none}
.site-panel-nav a.site-panel-sub{padding-left:14px}
.site-panel-nav a:focus-visible,.site-panel-close:focus-visible,.nav-toggle:focus-visible{outline:2px solid var(--pink);outline-offset:2px;border-radius:4px}
.site-panel-rule{height:1px;margin:16px 0;background:rgba(255,207,238,0.18)}
.site-panel-nav svg.icon{width:14px;height:14px}

/* Home's hero tags: large body size, but the label size on phones, where
   the larger size wrapped them with a "|" starting a line (Kate's type scale, 2026-11-04). */
@media (max-width:599px){.gm p.hero-tags{font-size:var(--text-label)}}

/* From the page sources' inline styles (build.mjs). */
.gm .s-c6d8ef2{position: relative; overflow: hidden}
.gm .s-ee60d1c{left: -56%; top: 38%; width: 112%; height: 124%; -webkit-mask-image: linear-gradient(to top, #000 50%, transparent); mask-image: linear-gradient(to top, #000 50%, transparent)}
.gm .s-ffddc37{right: -56%; top: 38%; width: 112%; height: 124%; -webkit-mask-image: linear-gradient(to top, #000 50%, transparent); mask-image: linear-gradient(to top, #000 50%, transparent)}
.gm .s-7d52e9a{position: relative; z-index: 3; padding-top: clamp(24px, 3vw, 44px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px}
.gm .s-33cfe0e{text-decoration: none; display: flex; align-items: center; min-height: 44px}
.gm .s-8691bcc{display: block; width: auto; height: clamp(24px, 2.4vw, 34px)}
.gm .s-0478e22{display: flex; flex-wrap: wrap; gap: 0 clamp(20px, 3vw, 44px); font-size: var(--text-body)}
.gm .s-8ee0769{position: relative; z-index: 1; padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(96px, 10vw, 140px); display: flex; flex-direction: column; gap: 28px}
.gm .s-4bd428b{margin: 0; font-size: var(--text-h1-long); line-height: 1.2; color: #FFF4FB}
.gm .s-1911eaa{margin: 0; font-size: var(--text-body-l); line-height: 1.55; display: flex; flex-wrap: wrap; gap: 4px 14px}
.gm .s-1cd2eeb{white-space: nowrap}
.gm .s-31127fe{opacity: 0.6}
.gm .s-60e3447{padding-top: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 24px}
.gm .s-46c7614{min-width: 0px; text-decoration: none; color: rgb(255, 207, 238); padding: 36px 32px 28px; display: flex; flex-direction: column; gap: 16px}
.gm .s-d76ebf6{font-size: var(--text-h3); line-height: 1.2; color: rgb(255, 255, 255)}
.gm .s-f97f4b4{font-size: var(--text-body); line-height: 1.6}
.gm .s-b41ae4d{margin-top: auto}
.gm .s-9d9d7dd{background: #0A3124}
.gm .s-c2a8033{padding-top: clamp(72px, 8vw, 120px); padding-bottom: clamp(72px, 8vw, 120px); display: flex; flex-direction: column; gap: 56px}
.gm .s-477f0c2{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: clamp(48px, 5vw, 72px) clamp(40px, 6vw, 96px)}
.gm .s-a7eae57{min-width: 0; display: flex; flex-direction: column; gap: 14px}
.gm .s-2b9aedf{margin: 0; font-size: var(--text-h3); line-height: 1.22; color: #FFF4FB; text-wrap: balance}
.gm .s-7772be8{margin: 0; max-width: 34em; font-size: var(--text-body); line-height: 1.6}
.gm .s-f5f7703{background: #E8F1E4; color: #072219}
.gm .s-768661f{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 40px 24px}
.gm .s-d3f66f9{min-width: 0; display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(20px, 2.2vw, 32px)}
.gm .s-5f141b3{flex: none; position: relative; width: clamp(140px, 20vw, 280px); height: clamp(140px, 20vw, 280px); max-width: 50%; overflow: hidden; border-radius: 12px}
.gm .s-dab31ab{display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transform: scale(1.28); transform-origin: 50% 61%}
.gm .s-620e22a{display: flex; flex-direction: column; gap: 8px}
.gm .s-ce65968{margin: 0; font-size: var(--text-h2); line-height: 1.15}
.gm .s-0d095c4{margin: 0; font-size: var(--text-label); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.75}
.gm .s-abd1858{display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05)}
.gm .s-16315ea{background: rgba(7,34,25,0.2)}
.gm .s-3931cfa{display: flex; flex-wrap: wrap; gap: 40px 96px}
.gm .s-f51df13{flex: 3 1 480px; min-width: 0; margin: 0; max-width: 30em; font-weight: 300; font-size: var(--text-h4); line-height: 1.5}
.gm .s-381648c{flex: 2 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 14px}
.gm .s-c147a45{margin: 0; font-weight: 600}
.gm .s-a343393{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px}
.gm .s-b264e9d{display: flex; align-items: center; gap: 12px}
.gm .s-a556f87{flex: none}
.gm .s-7ea6cd4{align-self: flex-start; text-decoration: none; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; padding: 0 28px; border: 1.5px solid #072219; border-radius: 6px; color: #072219; font-weight: 600; font-size: var(--text-body)}
.gm .s-50c7fdd{padding-top: clamp(72px, 8vw, 112px); padding-bottom: clamp(80px, 9vw, 120px); display: flex; flex-direction: column; gap: clamp(64px, 8vw, 112px)}
.gm .s-d07ac29{display: flex; flex-direction: column; align-items: flex-start; gap: 32px}
.gm .s-88efda8{margin: 0; font-size: var(--text-h1); line-height: 1.15; color: #FFF4FB}
.gm .s-7297011{text-decoration: none; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; padding: 0 28px; border: 1.5px solid #FFCFEE; border-radius: 6px; font-weight: 600; font-size: var(--text-body)}
.gm .s-6bf5c20{padding-top: 24px; padding-bottom: 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 32px; font-size: var(--text-small)}
.gm .s-3b42672{opacity: 0.8}
.gm .s-9f3a17f{display: flex; flex-wrap: wrap; gap: 0 28px}
.gm .s-2311814{text-decoration: none; min-height: 44px; display: flex; align-items: center}
.gm .s-b6562b5{text-decoration: none; min-height: 44px; display: flex; align-items: center; gap: 6px}
.gm .s-dc9d0b1{right: -49%; top: -100%; width: 98%; height: 300%; -webkit-mask-image: linear-gradient(to left, #000 50%, transparent); mask-image: linear-gradient(to left, #000 50%, transparent)}
.gm .s-7b208c5{position: relative; z-index: 1; padding-top: clamp(72px, 10vw, 140px); padding-bottom: calc(clamp(96px, 10vw, 136px) + 40px); display: flex; flex-direction: column; gap: 28px}
.gm .s-3d58340{margin: 0; max-width: 20ch; text-wrap: balance; font-size: var(--text-h1); line-height: 1.12; color: #FFF4FB}
.gm .s-a880487{margin: 0; max-width: 32ch; text-wrap: pretty; font-size: var(--text-lede); line-height: 1.35}
.gm .s-ffbacce{padding-top: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(480px, 100%), 1fr)); gap: 24px; align-items: stretch}
.gm .s-666ecf1{min-width: 0px; text-decoration: none; color: rgb(255, 207, 238); padding: 36px 32px 28px; display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 16px}
.gm .s-86744fc{display: flex; flex-direction: column; gap: 6px; padding-top: 16px; border-top: 1px solid rgba(255, 207, 238, 0.25)}
.gm .s-b6815b9{font-size: var(--text-label); font-style: italic; opacity: 0.8}
.gm .s-60dcf33{font-size: var(--text-body); line-height: 1.55}
.gm .s-a0e550a{align-self: end}
.gm .s-9ce69ad{padding-top: 0; display: flex; flex-direction: column; gap: 36px}
.gm .s-dc22a0c{padding-top: clamp(40px, 5vw, 72px); display: flex; flex-direction: column; gap: 20px}
.gm .s-c0856c1{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(40px, 4vw, 56px) clamp(40px, 5vw, 72px)}
.gm .s-458f2c4{min-width: 0; display: flex; flex-direction: column; gap: 10px}
.gm .s-d4eac31{margin: 0; font-size: var(--text-h4); line-height: 1.25; color: #FFF4FB}
.gm .s-4d7a6ec{padding-top: 40px; padding-bottom: clamp(80px, 9vw, 120px); display: flex; flex-direction: column; gap: clamp(64px, 8vw, 112px)}
.gm .s-71e4a51{position: relative; z-index: 1; padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(80px, 9vw, 128px); display: flex; flex-direction: column; gap: 28px}
.gm .s-e4f5df4{margin: -56px 0 -16px; font-size: var(--text-small); font-weight: 500; letter-spacing: 0.04em}
.gm .s-b2f735c{align-self: flex-start; margin-top: 12px; text-decoration: none; min-height: 52px; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; padding: 0 28px; border-radius: 6px; background: #FFCFEE; color: #072219; font-weight: 600; font-size: var(--text-body)}
.gm .s-cc63ce6{padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(64px, 8vw, 112px); display: flex; flex-direction: column; gap: clamp(56px, 7vw, 96px)}
.gm .s-ac5ef0b{margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 24px}
.gm .s-ded07af{ font-size: var(--text-h4); line-height: 1.4; color: rgba(255,207,238,0.68); text-wrap: pretty}
.gm .s-7bbab39{color: #FFFFFF}
.gm .s-b3cf189{padding-top: 24px; font-size: var(--text-h4); line-height: 1.4; color: rgba(255,207,238,0.68); text-wrap: pretty}
.gm .s-a963f0b{color: rgb(255, 255, 255)}
.gm .s-954b19d{padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(64px, 8vw, 112px); display: flex; flex-direction: column; gap: clamp(56px, 7vw, 96px)}
.gm .s-85cc6a3{color: #072219}
.gm .s-28d5528{margin: 0; color: #072219; font-size: var(--text-h2); line-height: 1.2}
.gm .s-eb47394{margin-bottom: 24px}
.gm .s-6ec2e8f{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: clamp(40px, 4vw, 56px) clamp(40px, 5vw, 72px)}
.gm .s-9d89c42{padding-top: 0; padding-bottom: clamp(64px, 8vw, 112px); display: flex; flex-direction: column; gap: clamp(56px, 7vw, 96px)}
.gm .s-70f740f{text-underline-offset: 0.2em}
.gm .s-b7a0aa8{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 40px 56px; padding-top: 12px}
.gm .s-8d49950{min-width: 0; display: flex; flex-direction: column; gap: 12px}
.gm .s-c519e46{margin: 0; font-size: var(--text-h4); line-height: 1.3; color: #FFF4FB}
.gm .s-fbb7f2a{margin: 0; font-size: var(--text-body); line-height: 1.6}
.gm .s-19a523b{padding-top: clamp(80px, 10vw, 144px); padding-bottom: clamp(80px, 10vw, 144px); display: flex; flex-wrap: wrap; gap: 48px 96px; align-items: flex-start}
.gm .s-e28274d{flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 20px}
.gm .s-d087326{margin: 0; font-size: var(--text-display); line-height: 1.02; color: #072219}
.gm .s-d742a42{margin: 0; max-width: 26em; font-size: var(--text-body-l); line-height: 1.55}
.gm .s-a57d59c{flex: 1 1 420px; min-width: 0; max-width: 560px; display: flex; flex-direction: column; gap: 28px}
.gm .s-90543b1{display: flex; flex-direction: column; gap: 10px}
.gm .s-1c5425a{font-weight: 600; font-size: var(--text-small)}
.gm .s-a35b8b9{resize: vertical}
.gm .s-be10acf{display: flex; flex-direction: column; align-items: flex-start; gap: 16px}
.gm .s-d7cbd9b{margin: 0; font-size: var(--text-label); line-height: 1.5; opacity: 0.85}
.gm .s-11d38a3{color: #072219; text-underline-offset: 0.2em}
.gm .s-a873cf9{padding-top: clamp(64px, 8vw, 112px)}
.gm .s-68ff1a2{padding-bottom: clamp(48px, 6vw, 80px); display: flex; flex-direction: column; gap: 32px}
.gm .s-26d7ea6{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px}
.gm .s-8690a9c{min-width: 0; text-decoration: none; color: #FFCFEE; padding: 36px 32px 28px; display: flex; flex-direction: column; gap: 16px}
.gm .s-92a38a7{font-size: var(--text-h4); line-height: 1.2; color: #FFFFFF}
.gm .s-f3e7533{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: clamp(40px, 4vw, 56px) clamp(40px, 5vw, 72px)}
.gm .s-fee807d{margin-top: clamp(28px, 3vw, 40px)}
.gm .s-ef05dff{margin: 0; max-width: 26em; text-wrap: pretty; font-size: var(--text-h2); line-height: 1.25; color: #072219}
.gm .s-5579eb6{margin: 0; font-size: var(--text-h4); line-height: 1.4; color: rgba(255,207,238,0.68); text-wrap: pretty}
.gm .s-7dd70af{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: clamp(40px, 4vw, 56px) clamp(40px, 5vw, 72px)}
.gm .s-a325a8a{height: clamp(260px, 40vw, 600px); overflow: hidden; background: #072219}
.gm .s-6cb7d50{display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; filter: grayscale(1)}
.gm .s-983ef82{gap: 48px}
.gm .s-1a354aa{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); gap: 56px 40px}
.gm .s-774ede3{margin: 0; display: flex; flex-direction: column; gap: 8px}
.gm .s-4761290{aspect-ratio: 3 / 2; overflow: hidden; border-radius: 12px; background: #0A3124}
.gm .s-9dd11bc{font-size: var(--text-label); opacity: 0.7}
.gm .s-d1918ca{margin: 8px 0 0; font-size: var(--text-h3); line-height: 1.25; color: #FFF4FB}
.gm .s-2d8bca2{margin: 0; font-size: var(--text-small); font-weight: 500; opacity: 0.8}
.gm .s-7fe1465{display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: grayscale(1) brightness(1.35) contrast(1.05)}
.gm .s-17adc17{font-size: var(--text-h4); line-height: 1.4; color: rgba(255,207,238,0.68); text-wrap: pretty}
.gm .s-e91afbc{padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(72px, 9vw, 128px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 64px 80px}
.gm .s-9f44a5e{min-width: 0; display: flex; flex-direction: column; gap: 28px}
.gm .s-969cee2{flex: none; position: relative; width: clamp(220px, 24vw, 340px); height: clamp(220px, 24vw, 340px); max-width: 100%; overflow: hidden; border-radius: 12px}
.gm .s-3535d8e{margin: 0; font-size: var(--text-h2); line-height: 1.1; color: #FFF4FB}
.gm .s-b313c9f{margin: 0; max-width: 28ch; font-size: var(--text-h4); line-height: 1.35; color: #FFF4FB}
.gm .s-be14a0e{font-size: var(--text-body)}
.gm .s-c7b3977{margin: 0; display: flex; flex-wrap: wrap; gap: 0 24px}
.gm .s-98489cb{display: flex; flex-direction: column; gap: 14px; font-size: var(--text-body)}
.gm .s-e82ea1f{padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(80px, 9vw, 120px); display: flex; flex-direction: column; gap: clamp(64px, 8vw, 112px)}
.gm .s-943019c{margin-top: 28px; max-width: 640px; padding: clamp(24px, 3.5vw, 48px); display: flex; flex-direction: column; gap: 28px}
.gm .s-b1c6729{font-weight: 400; opacity: 0.7}
.gm .s-5a1f00b{margin: 0; font-size: var(--text-label); line-height: 1.5; opacity: 0.8}
.gm .s-6146865{margin: 0; max-width: 640px; font-size: var(--text-body); line-height: 1.6}
.gm .s-86ceb6f{font-weight: 600; text-underline-offset: 0.2em}
.gm .s-12e2db5{position: relative; z-index: 1; padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(160px, 18vw, 280px); display: flex; flex-direction: column; gap: 28px}
.gm .s-4bf539c{position: relative; z-index: 1; padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(56px, 7vw, 96px); display: flex; flex-direction: column; gap: 28px}
.gm .s-5555837{padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(64px, 8vw, 112px); display: flex; flex-direction: column; gap: clamp(40px, 5vw, 64px)}
.gm .s-692724b{list-style: disc; padding-left: 1.25em; gap: 10px}
.gm .s-08c6c4e{position: relative; z-index: 1; padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(160px, 18vw, 280px); display: flex; flex-direction: column; align-items: flex-start; gap: 28px}
