:root{--ink:#080808;--muted:#3c4445;--indigo:#171271;--blue:#0078a0;--teal:#00c7bb;--soft:#f3f7f8;--line:#d9e1e4;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font-family:'Instrument Sans',Arial,sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Familjen Grotesk',Arial,sans-serif;line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(3.4rem,6.4vw,7rem);font-weight:700}h2{font-size:clamp(2.35rem,4.1vw,4.35rem)}h3{font-size:1.65rem}.container{width:min(calc(100% - 72px),var(--max));margin:auto}.skip{position:absolute;z-index:100;background:var(--teal);padding:12px;top:-100px}.skip:focus{top:0}.eyebrow{font-size:.78rem;letter-spacing:.14em;font-weight:700;line-height:1.35}.eyebrow-line{display:inline-block;width:18px;border-top:3px solid var(--teal);margin:0 10px 4px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;border:1px solid transparent;border-radius:2px;font-weight:700;font-size:.9rem;white-space:nowrap;cursor:pointer;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button:focus-visible,.text-link:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.button-teal{background:var(--teal);color:var(--ink)}.button-teal:hover{background:#00b5aa}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--indigo)}.button-outline{border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:white}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.site-header{background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #eef0f0}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:30px}.brand img{width:140px;height:auto;max-height:54px;object-fit:contain;object-position:left}.main-nav{display:flex;align-items:center;gap:clamp(17px,2.1vw,34px)}.nav-link{font-size:.92rem;font-weight:600;white-space:nowrap}.nav-link:hover,.nav-link.active{color:var(--blue)}.nav-cta{margin-left:8px}.menu-button{display:none}.home-hero{background:#f8fbfb;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:650px;align-items:center}.hero-copy{padding:72px 6vw 65px 0;position:relative;z-index:1}.hero-copy h1{max-width:760px;margin:21px 0 25px}.hero-copy em{font-style:normal;background:linear-gradient(to bottom,transparent 0 .20em,var(--teal) .20em 100%);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .08em}.hero-intro,.lead{font-size:clamp(1.1rem,1.35vw,1.35rem);line-height:1.55;max-width:630px;color:#263031}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:30px}.hero-note{display:flex;align-items:center;gap:10px;font-size:.85rem;margin-top:55px;color:#394345}.hero-note img{width:36px;height:36px;object-fit:contain}.hero-media{height:100%;min-height:630px;position:relative;margin-right:calc((min(100vw,var(--max)) - 100vw)/2)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center center}.media-tag{position:absolute;right:8%;bottom:8%;background:#fff;padding:17px 20px;display:flex;align-items:center;gap:14px;max-width:235px;font-size:.88rem;font-weight:700;box-shadow:0 0 0 1px #e7ecee}.media-tag img{width:45px;flex:none}.intro-strip{padding:100px 0;background:var(--indigo);color:white}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}.intro-strip .eyebrow{color:#b9fcf7}.intro-strip h2{max-width:830px;margin-bottom:25px}.intro-strip p:last-child{font-size:1.1rem;max-width:730px;color:#e2e4f4}.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section-head h2{margin:15px 0 0;max-width:760px}.section-head>p{max-width:305px;margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{border:1px solid var(--line);padding:28px 28px 30px;display:flex;flex-direction:column;min-height:390px;transition:background .2s,border .2s,transform .2s}.service-card:hover{background:var(--soft);border-color:var(--blue);transform:translateY(-4px)}.card-top{display:flex;justify-content:space-between;align-items:start;font-size:.8rem;font-weight:700;color:var(--blue);letter-spacing:.12em}.card-top img{width:90px;height:90px;object-fit:contain}.service-card h3{margin:31px 0 14px;font-size:clamp(1.7rem,2.2vw,2.3rem)}.service-card p{color:var(--muted);font-size:.97rem}.card-link{font-size:.94rem;font-weight:700;margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between}.method-section{padding:95px 0;background:#e8f7f5}.method-grid{display:grid;grid-template-columns:1fr 1.6fr;align-items:center;gap:100px}.method-icon{border:1px solid #bee5e0;background:#fff;min-height:400px;display:grid;place-items:center}.method-icon img{width:220px}.method-grid h2{margin:18px 0 26px}.method-grid p:not(.eyebrow){font-size:1.1rem;max-width:640px}.method-points{display:flex;gap:20px;flex-wrap:wrap;margin-top:36px;border-top:1px solid #a9d5d1;padding-top:18px;font-size:.83rem;font-weight:700}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.person-image{aspect-ratio:1;overflow:hidden;background:#f6f7f7}.person-image img{width:100%;height:100%;object-fit:cover}.person h3{font-size:1.18rem;margin:20px 0 5px;letter-spacing:-.02em}.person p{font-size:.85rem;color:var(--muted)}.resources-teaser{padding:75px 0;background:#f4f8f9}.resources-teaser-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.resources-teaser h2{margin:15px 0 20px}.resources-teaser p:not(.eyebrow){max-width:540px}.resources-teaser .button{margin-top:13px}.resources-teaser img{width:210px;margin-right:9%}.cta-band{background:var(--indigo);color:#fff;padding:78px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.cta-inner h2{margin:13px 0 18px}.cta-inner p:not(.eyebrow){font-size:1.1rem;color:#e3e4f2;margin-bottom:0}.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:220px}.cta-band .text-link{color:white}.site-footer{background:#080b28;color:white;padding:80px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px}.footer-grid img{max-width:170px;height:auto}.footer-grid p{color:#e0e2eb;max-width:310px}.footer-label{font-size:.78rem;letter-spacing:.14em;font-weight:700;color:#a7f3ef!important}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:10px}.footer-grid a:hover,.footer-bottom a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #55576a;padding-top:22px;margin-top:85px;font-size:.76rem;color:#bfc3d1;display:flex;justify-content:space-between;gap:25px}.page-hero{background:#f4f8f9;padding:90px 0 105px}.page-hero-grid{display:grid;grid-template-columns:1.65fr .7fr;align-items:center;gap:8vw}.page-hero h1{font-size:clamp(3.4rem,5.5vw,6.2rem);max-width:920px;margin:23px 0 25px}.page-hero .lead{max-width:720px}.page-icon-card{min-height:320px;border:1px solid #cfdfe3;background:white;display:flex;justify-content:center;align-items:center;position:relative}.page-icon-card img{width:170px;max-height:180px;object-fit:contain}.page-icon-card span{position:absolute;bottom:20px;left:22px;font-size:.68rem;letter-spacing:.15em;font-weight:700;color:var(--blue)}.problem-section{background:var(--indigo);color:white;padding:65px 0}.problem-grid{display:grid;grid-template-columns:1fr 3fr;gap:30px;align-items:center}.problem-grid h2{margin:0;font-size:clamp(1.9rem,3.5vw,3.7rem);max-width:1000px}.problem-grid .eyebrow{color:#a7f3ef}.process-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:110px}.process-grid h2{margin:18px 0 24px}.process-grid p:not(.eyebrow){max-width:480px;color:var(--muted)}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:80px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:32px 0}.step-number{color:var(--blue);font-size:1.25rem;font-weight:700}.step h3{margin:0 0 10px}.step p{margin:0;color:var(--muted)}.result-section{background:#e8f7f5;padding:70px 0}.result-inner{display:grid;grid-template-columns:125px 1fr;align-items:center;gap:60px}.result-inner img{width:110px}.result-inner h2{max-width:920px;margin:12px 0 0}.faq-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:110px}.faq-grid h2{margin-top:15px}.faqs{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:30px}summary::-webkit-details-marker{display:none}summary span{color:var(--blue);font-size:1.4rem;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);margin:18px 20px 0 0}.resource-feature{display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid var(--line)}.resource-cover{background:var(--indigo);color:white;min-height:420px;padding:30px;display:flex;flex-direction:column;align-items:start}.resource-cover img{width:95px;filter:brightness(0) invert(1)}.resource-cover span{font-size:.75rem;letter-spacing:.12em;margin-top:auto;color:#b5eee7}.resource-cover strong{font-family:'Familjen Grotesk',sans-serif;font-size:clamp(2.5rem,4vw,5rem);line-height:1.03;margin-top:20px}.resource-feature-copy{padding:60px 7%;display:flex;flex-direction:column;align-items:start;justify-content:center}.chip{font-size:.72rem;letter-spacing:.1em;background:var(--teal);padding:7px 10px;font-weight:700}.resource-feature-copy h3{font-size:clamp(2rem,3vw,3.1rem);margin:26px 0 18px;max-width:620px}.resource-feature-copy p{max-width:610px;color:var(--muted)}.resource-feature-copy .button{margin-top:14px}.small-note{font-size:.8rem;margin:14px 0 0}.reading-section{background:#f6f9f9}.reading-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.reading-grid.three{grid-template-columns:repeat(3,1fr)}.reading-card{border:1px solid var(--line);background:white;padding:34px;display:flex;flex-direction:column;min-height:275px;transition:border .2s,transform .2s}.reading-card:hover{border-color:var(--blue);transform:translateY(-3px)}.reading-card span{font-size:.7rem;letter-spacing:.12em;font-weight:700;color:var(--blue)}.reading-card h3{margin:32px 0 12px}.reading-card p{color:var(--muted)}.reading-card b{margin-top:auto;font-size:.88rem}.resource-next{background:#e8f7f5;padding:65px 0}.resource-next-inner{display:flex;align-items:center;gap:70px}.resource-next img{width:110px}.resource-next h2{margin:12px 0}.resource-next p:last-child{max-width:680px}.simple-hero h1{max-width:960px}.simple-hero .lead{max-width:730px}.blog-note{font-size:.85rem;color:var(--muted);margin:30px 0 10px}.contact-hero .button{margin-top:22px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-grid h2{margin:18px 0 20px}.contact-grid p:not(.eyebrow){color:var(--muted)}.contact-grid>div>a{color:var(--blue);font-weight:700}.contact-form{border:1px solid var(--line);padding:40px;background:#f9fbfb}.contact-form label{display:block;font-weight:600;font-size:.86rem;margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;display:block;border:1px solid #aebabc;border-radius:2px;background:white;padding:13px;margin-top:8px;color:var(--ink);font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}textarea{resize:vertical}.form-note,.form-status{font-size:.78rem;color:var(--muted)}.form-note a{text-decoration:underline}.contact-form .button{margin-top:15px}.form-status{min-height:1.5em;margin:12px 0 0}
@media(max-width:1050px){.container{width:min(calc(100% - 48px),var(--max))}.main-nav{gap:15px}.nav-link{font-size:.82rem}.nav-cta{font-size:.8rem;padding:10px}.hero-grid{grid-template-columns:1.05fr .95fr}.hero-copy{padding-right:25px}.team-grid{gap:13px}.method-grid,.process-grid,.faq-grid{gap:55px}}
@media(max-width:800px){.header-inner{min-height:72px}.menu-button{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-button span{height:2px;background:var(--ink);width:24px}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:18px 24px 28px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav .nav-link{font-size:1rem;padding:12px 0;border-bottom:1px solid var(--line)}.main-nav .button{margin:18px 0 0}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:68px 0 55px;width:100%}.hero-media{width:calc(100% + 48px);height:440px;min-height:0;margin:0 -24px}.hero-note{margin-top:35px}.intro-grid,.problem-grid{grid-template-columns:1fr}.intro-strip{padding:70px 0}.section{padding:78px 0}.section-head{align-items:start;flex-direction:column;gap:15px}.section-head>p{max-width:600px}.service-grid{grid-template-columns:1fr}.service-card{min-height:310px}.card-top img{width:76px;height:76px}.method-grid{grid-template-columns:1fr;gap:35px}.method-icon{min-height:270px}.method-icon img{width:140px}.team-grid{grid-template-columns:repeat(3,1fr)}.page-hero-grid{grid-template-columns:1fr}.page-icon-card{display:none}.process-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.result-inner{gap:25px}.reading-grid.three{grid-template-columns:1fr 1fr}.footer-grid{gap:30px}.cta-inner{align-items:start;flex-direction:column;gap:30px}}
@media(max-width:580px){.container{width:calc(100% - 36px)}h1{font-size:clamp(3rem,12vw,4.7rem)}h2{font-size:clamp(2.15rem,8vw,3.4rem)}.hero-copy{padding-top:55px}.hero-copy h1{margin:18px 0}.hero-intro,.lead{font-size:1.04rem}.hero-actions{gap:18px}.hero-media{width:calc(100% + 36px);margin:0 -18px;height:330px}.media-tag{bottom:15px;right:15px;padding:10px;font-size:.73rem}.media-tag img{width:30px}.intro-strip{padding:58px 0}.team-grid{grid-template-columns:repeat(2,1fr)}.person h3{font-size:1.05rem}.person p{font-size:.76rem}.resources-teaser{padding:65px 0}.resources-teaser img{width:90px;margin:0;align-self:start}.resources-teaser-inner{gap:5px}.cta-band{padding:66px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;margin-top:55px}.page-hero{padding:65px 0 75px}.page-hero h1{font-size:clamp(3rem,11vw,4.7rem)}.problem-section{padding:50px 0}.step{grid-template-columns:48px 1fr;gap:13px}.result-inner{grid-template-columns:1fr}.result-inner img{width:76px}.resource-feature{grid-template-columns:1fr}.resource-cover{min-height:300px}.resource-cover strong{font-size:3rem}.resource-feature-copy{padding:40px 25px}.reading-grid,.reading-grid.three{grid-template-columns:1fr}.reading-card{min-height:230px}.resource-next-inner{gap:20px;align-items:start}.resource-next img{width:65px}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:25px}.contact-grid{gap:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.article{padding-top:92px;padding-bottom:105px;max-width:960px}.article h1{font-size:clamp(3rem,5.5vw,5.4rem);margin:20px 0 25px}.article-deck{font-size:1.22rem;line-height:1.55;color:var(--muted);padding-bottom:35px;border-bottom:1px solid var(--line)}.article-body{max-width:760px;margin:45px auto 0;font-size:1.08rem;line-height:1.75;overflow-wrap:anywhere}.article-body h2{font-size:2.2rem;margin:55px 0 20px}.article-body h3{font-size:1.6rem;margin:36px 0 12px}.article-body p{margin-bottom:24px}.article-body ul,.article-body ol{padding-left:27px;margin-bottom:24px}.article-body li{margin:8px 0}.article-body a{color:var(--blue);text-decoration:underline}.article-body img{width:auto;max-width:100%;height:auto;margin:20px auto}.article-body figure{margin:30px 0}.article-body figcaption{font-size:.82rem;color:var(--muted);text-align:center}.article-body blockquote{border-left:4px solid var(--teal);padding:10px 0 10px 25px;margin:32px 0;font-size:1.2rem}.article-end{border-top:1px solid var(--line);margin-top:70px;padding-top:25px}.reading-grid.three .reading-card h3{font-size:1.45rem}.reading-grid.three .reading-card p{font-size:.89rem}

/* Movement follows the Goodie system: a short entrance, a quiet pause, and small responses. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy .eyebrow { animation: tga-enter .65s both; }
  .hero-copy h1 { animation: tga-enter .8s .12s both; }
  .hero-copy .hero-intro, .hero-copy .hero-actions { animation: tga-enter .75s .28s both; }
  .hero-media { animation: tga-photo .9s .15s both; }
  .hero-note img { animation: tga-goodie-look 7s 1.3s ease-in-out infinite; transform-origin: 50% 72%; }
  .media-tag img { animation: tga-goodie-look 7s 2.4s ease-in-out infinite; transform-origin: 50% 72%; }
  .resources-teaser-inner > img {
    animation: tga-float 5.5s ease-in-out infinite;
  }
  .resources-teaser-inner > img { animation-delay: -1.5s; }
  .result-inner > img, .resource-next-inner > img { animation: tga-goodie-look 7s ease-in-out infinite; transform-origin: 50% 72%; }
  .card-top img { transition: transform .35s cubic-bezier(.2,.8,.2,1); transform-origin: 50% 72%; }
  .resource-cover img { transition: transform .35s cubic-bezier(.2,.8,.2,1); }
  .reveal-ready { opacity: 0; transform: translateY(18px); }
  .reveal-ready.reveal-visible { opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); transition-delay: var(--reveal-delay, 0ms); }
  @keyframes tga-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes tga-photo { from { opacity: .6; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }
  @keyframes tga-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
  @keyframes tga-goodie-look { 0%,15%,42%,100% { transform: rotate(0); } 25%,33% { transform: rotate(-8deg); } }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card:hover .card-top img, .service-card:focus-visible .card-top img { transform: rotate(-8deg) scale(1.08); }
  .resource-feature:hover .resource-cover img { transform: rotate(7deg) scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-ready { opacity: 1 !important; transform: none !important; }
  .hero-copy *, .hero-media, .hero-note img, .media-tag img, .method-icon img,
  .resources-teaser-inner > img, .page-icon-card img, .result-inner > img,
  .resource-next-inner > img, .card-top img, .resource-cover img { animation: none !important; transform: none !important; }
}

/* The service cards respond like small editorial covers; Goodie reacts only on interaction. */
.service-card { position: relative; isolation: isolate; overflow: hidden; transition: background .2s, border .2s, transform .35s, box-shadow .35s; }
.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #d9f7f3;
  transform: translateY(101%);
  transition: transform .6s cubic-bezier(.2,.8,.2,1);
}
.service-card:nth-child(2)::before { background: #e8edff; }
.service-card:nth-child(3)::before { background: #def1f7; }
.service-card > * { position: relative; z-index: 1; }
.service-card:focus-visible::before { transform: translateY(0); }
.service-card:focus-visible { border-color: var(--blue); }
.card-link span { display: inline-block; transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.service-card:focus-visible .card-link span { transform: translate(4px,-4px); }

/* Reading cards borrow the same language, with less movement to keep titles calm. */
.reading-card { position: relative; overflow: hidden; transition: border .2s, transform .35s, box-shadow .35s; }
.reading-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--teal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.2,.8,.2,1);
}
.reading-card:focus-visible::before { transform: scaleX(1); }
.reading-card b { transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.reading-card:focus-visible b { transform: translateX(4px); }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card:hover::before { transform: translateY(0); }
  .service-card:hover .card-link span { transform: translate(4px,-4px); }
  .service-card.reveal-visible:hover { transform: translateY(-5px); box-shadow: 0 15px 30px #15224416; }
  .reading-card:hover::before { transform: scaleX(1); }
  .reading-card:hover b { transform: translateX(4px); }
  .reading-card.reveal-visible:hover { transform: translateY(-4px); box-shadow: 0 12px 26px #15224412; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card::before, .reading-card::before { display: none; }
  .service-card:hover, .service-card:focus-visible { background: #e8f7f5; }
  .reading-card:hover, .reading-card:focus-visible { border-color: var(--blue); }
}

/* Service pages: useful detail without turning each route into a catalogue. */
.service-audience{background:#f4f8f9}
.service-audience h2{max-width:850px;margin:16px 0 42px}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.audience-card{background:white;border:1px solid var(--line);padding:30px;min-height:250px}
.audience-number,.offer-number{font-size:.78rem;letter-spacing:.14em;font-weight:700;color:var(--blue)}
.audience-card h3{margin:45px 0 13px;font-size:1.85rem}
.audience-card p{max-width:350px;margin:0;color:var(--muted)}
.service-offer{background:#f4f8f9}
.service-offer .section-head>p{max-width:380px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.offer-card{background:white;border:1px solid var(--line);padding:29px;min-height:265px}
.offer-card h3{margin:26px 0 18px;font-size:1.75rem}
.offer-card ul{margin:0;padding-left:20px;color:var(--muted)}
.offer-card li{padding-left:2px;margin:6px 0}
.offer-card li::marker{color:var(--blue)}
.lab-section{background:white}
.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lab-card{border-top:2px solid var(--indigo);background:#f4f8f9;padding:28px;min-height:220px}
.lab-card span{color:var(--blue);font-size:.78rem;letter-spacing:.14em;font-weight:700}
.lab-card h3{margin:33px 0 10px;font-size:1.65rem}
.lab-card p{color:var(--muted);margin:0}
.service-detail{background:var(--indigo);color:white;padding:75px 0}
.detail-inner{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:75px}
.detail-inner>img{width:180px;height:180px;object-fit:contain;background:white;padding:35px}
.detail-inner h2{margin:16px 0 20px;max-width:850px}
.detail-inner p:not(.eyebrow){max-width:760px;color:#e2e4f4;font-size:1.08rem}
.detail-inner .eyebrow{color:#b9fcf7}
.detail-inner .text-link{display:inline-block;margin-top:8px;color:white}
@media(max-width:800px){.audience-grid,.offer-grid,.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-inner{gap:35px;grid-template-columns:110px minmax(0,1fr)}.detail-inner>img{width:110px;height:110px;padding:20px}}
@media(max-width:580px){.audience-grid,.offer-grid,.lab-grid{grid-template-columns:1fr}.audience-card,.offer-card,.lab-card{min-height:0}.audience-card h3{margin-top:25px}.service-detail{padding:60px 0}.detail-inner{display:block}.detail-inner>img{width:85px;height:85px;padding:16px;margin-bottom:30px}}

/* Home: specific situations and three guiding ideas from the brand voice. */
.home-hero h1{font-size:clamp(3rem,5vw,5.8rem);max-width:820px}
.hero-note{max-width:550px}
.intro-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:34px}
.intro-case{border-top:2px solid #80e4dc;padding-top:19px}
.intro-case h3{font-size:1.3rem;letter-spacing:-.02em;line-height:1.2;margin:0 0 13px}
.intro-strip .intro-case p{font-size:.96rem;color:#e2e4f4;line-height:1.5;margin:0}
.principles-section{background:#f5f9fa}
.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.principle{background:white;border:1px solid var(--line);border-top:3px solid var(--teal);padding:30px;min-height:280px}
.principle:nth-child(2){border-top-color:var(--blue)}
.principle:nth-child(3){border-top-color:var(--indigo)}
.principle>span{font-size:.78rem;letter-spacing:.14em;color:var(--blue);font-weight:700}
.principle h3{font-size:1.8rem;margin:36px 0 16px}
.principle p{margin:0;color:var(--muted)}
@media(max-width:800px){.intro-cases{grid-template-columns:1fr;gap:25px}.principles-grid{grid-template-columns:1fr 1fr}.principle{min-height:0}}
@media(max-width:580px){.home-hero h1{font-size:clamp(2.7rem,10.5vw,4rem)}.principles-grid{grid-template-columns:1fr}.principle h3{margin-top:26px}}

/* Team portraits: each drawing gives way to the matching photograph. */
.portrait-toggle{position:relative;width:100%;display:block;border:0;padding:0;cursor:pointer;text-align:left;background:#e5e5e4}
.portrait-toggle img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.portrait-photo{opacity:0;transition:opacity .45s ease}
.portrait-toggle.is-photo .portrait-photo{opacity:1}
@media(hover:hover){.portrait-toggle:hover .portrait-photo{opacity:1}}
.portrait-cue{position:absolute;right:10px;bottom:10px;background:#fff;color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.08em;padding:7px 9px;box-shadow:0 1px 8px #0002;pointer-events:none}
@media(hover:hover){.portrait-toggle:hover .portrait-cue{opacity:0}}
@media(prefers-reduced-motion:reduce){.portrait-photo{transition:none}}

/* Footer claim and social link */
.footer-claim{border-left:3px solid var(--teal);padding-left:20px;margin-top:38px}
.footer-claim p{font-family:'Familjen Grotesk',Arial,sans-serif;font-size:clamp(1.45rem,2vw,2.15rem);font-weight:700;letter-spacing:-.025em;line-height:1.14;color:#fff;max-width:none;margin:0}
.footer-social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-top:6px;border:1px solid #a7f3ef;color:#a7f3ef;border-radius:3px;transition:background .2s,color .2s}
.footer-social:hover{background:#a7f3ef;color:#080b28}

/* Open destinations on the Resources page */
.open-resources-section{padding-top:10px}
.open-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.open-resource-banner{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:400px;padding:38px;overflow:hidden;transition:transform .25s ease}
.open-resource-banner:hover{transform:translateY(-4px)}
.open-resource-banner--podcast{background:var(--indigo);color:#fff}
.open-resource-banner--shop{background:#d9f8f4;color:var(--ink)}
.open-resource-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em}
.open-resource-banner img{position:absolute;right:28px;top:37px;width:120px;height:120px;object-fit:contain}
.open-resource-banner--podcast img{filter:brightness(0) invert(1)}
.open-resource-banner h3{position:relative;font-size:clamp(2.2rem,3.5vw,3.6rem);margin:95px 0 12px;max-width:390px}
.open-resource-banner p{position:relative;max-width:345px;margin:0 0 32px}
.open-resource-action{position:relative;margin-top:auto;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
@media(max-width:800px){.open-resources-grid{grid-template-columns:1fr}.open-resource-banner{min-height:340px}}
@media(max-width:580px){.open-resource-banner{padding:27px;min-height:345px}.open-resource-banner img{width:95px;height:95px;right:20px;top:25px}.open-resource-banner h3{margin-top:95px;font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.open-resource-banner{transition:none}.open-resource-banner:hover{transform:none}}
