:root{--green: #3A6351;--green-700: #2f5142;--green-800: #264235;--green-900: #1d3329;--green-100: #e6efe9;--green-050: #f1f6f2;--blue: #003D5B;--blue-700: #00314a;--terracotta: #E07A5F;--terracotta-600: #d2694d;--cream: #F4E3D7;--cream-50: #FBF7F1;--cream-100: #F7EFE6;--cream-200: #F1E5D8;--charcoal: #4A4E69;--ink: #20302a;--ink-soft: #4c5a52;--muted: #6b7972;--paper: #ffffff;--line: #e4ded4;--accent: var(--terracotta);--accent-ink: #ffffff;--serif: "Newsreader",Georgia,"Times New Roman",serif;--sans: "Hanken Grotesk",system-ui,-apple-system,sans-serif;--mono: "Space Mono",ui-monospace,"SFMono-Regular",monospace;--maxw: 1240px;--gutter: clamp(20px,5vw,64px);--radius: 14px;--radius-lg: 24px;--section-y: clamp(72px,9vw,140px);--ease: cubic-bezier(0.22,1,0.36,1)} *,*::before,*::after{box-sizing: border-box} *{margin: 0} html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth} body{font-family: var(--sans);color: var(--ink);background: var(--cream-50);line-height: 1.6;font-size: 18px;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;overflow-x: hidden} img{display: block;max-width: 100%;height: auto} a{color: inherit;text-decoration: none} button{font-family: inherit;cursor: pointer} ::selection{background: var(--green);color: var(--cream-50)} .wrap{max-width: var(--maxw);margin-inline: auto;padding-inline: var(--gutter)} .wrap--wide{max-width: 1440px} .section{padding-block: var(--section-y)} .stack > * + *{margin-top: 1rem} .eyebrow{font-family: var(--mono);font-size: 13px;letter-spacing: 0.16em;text-transform: uppercase;color: var(--accent);display: inline-flex;align-items: center;gap: 10px;font-weight: 700} .eyebrow::before{content: "";width: 26px;height: 2px;background: currentColor;display: inline-block} .eyebrow--center{justify-content: center} h1,h2,h3,h4{font-family: var(--serif);font-weight: 500;line-height: 1.04;letter-spacing: -0.015em;color: var(--green-900);text-wrap: balance} .display{font-family: var(--serif);font-weight: 400;font-size: clamp(2.9rem,7vw,5.6rem);line-height: 1.08;letter-spacing: -0.025em} .display em{font-style: italic;color: var(--green)} h2.title{font-size: clamp(2rem,4.4vw,3.4rem);line-height: 1.02} h3{font-size: clamp(1.3rem,2.2vw,1.7rem)} .lead{font-size: clamp(1.15rem,1.7vw,1.45rem);line-height: 1.5;color: var(--ink-soft);font-weight: 400} .measure{max-width: 60ch} .measure-sm{max-width: 44ch} .serif-italic{font-family: var(--serif);font-style: italic} .btn{display: inline-flex;align-items: center;gap: 0.6em;font-family: var(--sans);font-weight: 600;font-size: 1rem;padding: 0.95em 1.5em;border-radius: 100px;border: 1.5px solid transparent;transition: transform .35s var(--ease),background-color .25s,color .25s,border-color .25s;line-height: 1;white-space: nowrap} .btn:active{transform: translateY(1px)} .btn .arrow{transition: transform .35s var(--ease)} .btn:hover .arrow{transform: translateX(4px)} .btn--primary{background: var(--green);color: var(--cream-50)} .btn--primary:hover{background: var(--green-800)} .btn--accent{background: var(--accent);color: var(--accent-ink)} .btn--accent:hover{filter: brightness(0.94)} .btn--ghost{background: transparent;border-color: var(--green);color: var(--green)} .btn--ghost:hover{background: var(--green);color: var(--cream-50)} .btn--light{background: var(--cream-50);color: var(--green-900)} .btn--light:hover{background: #fff} .btn--outline-light{background: transparent;border-color: rgba(255,255,255,.5);color: #fff} .btn--outline-light:hover{border-color: #fff;background: rgba(255,255,255,.08)} .textlink{display: inline-flex;align-items: center;gap: 0.5em;font-weight: 600;color: var(--green);border-bottom: 2px solid transparent;padding-bottom: 2px;transition: border-color .25s,gap .25s} .textlink:hover{border-color: var(--accent);gap: 0.75em} .textlink .arrow{color: var(--accent)} .ph{position: relative;overflow: hidden;background: linear-gradient(150deg,rgba(255,255,255,.06),rgba(0,0,0,.18)),linear-gradient(135deg,var(--green) 0%,var(--green-800) 70%);border-radius: var(--radius);isolation: isolate} .ph::before{content: "";position: absolute;inset: 0;background-image: repeating-linear-gradient(0deg,rgba(244,227,215,.10) 0 1px,transparent 1px 46px),repeating-linear-gradient(90deg,rgba(244,227,215,.10) 0 1px,transparent 1px 46px);mask-image: radial-gradient(120% 120% at 80% 10%,#000 30%,transparent 75%)} .ph::after{content: "";position: absolute;right: -10%;bottom: -25%;width: 60%;aspect-ratio: 1;border-radius: 50%;background: radial-gradient(circle at 35% 35%,rgba(224,122,95,.42),transparent 62%);filter: blur(6px)} .ph__tag{position: absolute;left: 16px;bottom: 14px;z-index: 2;font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--cream);opacity: .85;background: rgba(29,51,41,.45);border: 1px solid rgba(244,227,215,.25);padding: 5px 10px;border-radius: 100px;backdrop-filter: blur(2px)} .ph--cream{background: linear-gradient(150deg,rgba(255,255,255,.5),rgba(58,99,81,.10)),linear-gradient(135deg,var(--cream) 0%,var(--cream-200) 100%)} .ph--cream::before{background-image: repeating-linear-gradient(0deg,rgba(58,99,81,.10) 0 1px,transparent 1px 46px),repeating-linear-gradient(90deg,rgba(58,99,81,.10) 0 1px,transparent 1px 46px)} .ph--cream::after{background: radial-gradient(circle at 35% 35%,rgba(58,99,81,.28),transparent 62%)} .ph--cream .ph__tag{color: var(--green-900);background: rgba(244,227,215,.6);border-color: rgba(58,99,81,.25)} .ph--blue{background: linear-gradient(150deg,rgba(255,255,255,.06),rgba(0,0,0,.22)),linear-gradient(135deg,var(--blue) 0%,#00263a 100%)} .ph--blue::after{background: radial-gradient(circle at 35% 35%,rgba(224,122,95,.4),transparent 62%)} .ph--terra{background: linear-gradient(150deg,rgba(255,255,255,.12),rgba(0,0,0,.16)),linear-gradient(135deg,var(--terracotta) 0%,var(--terracotta-600) 100%)} .ph--terra::after{background: radial-gradient(circle at 35% 35%,rgba(58,99,81,.4),transparent 62%)} .site-header{position: sticky;top: 0;z-index: 60;background: rgba(251,247,241,.82);backdrop-filter: saturate(140%) blur(12px);border-bottom: 1px solid transparent;transition: border-color .3s,background .3s,box-shadow .3s} .site-header[data-scrolled="true"]{border-color: var(--line);box-shadow: 0 6px 24px -18px rgba(29,51,41,.5)} .nav{display: flex;align-items: center;justify-content: space-between;gap: 24px;height: 84px} .nav__logo img{height: 46px;width: auto} .nav__links{display: flex;align-items: center;gap: 30px} .nav__links a{font-weight: 500;font-size: 0.98rem;color: var(--green-900);position: relative;padding: 6px 0;transition: color .2s;white-space: nowrap} .nav__links a::after{content: "";position: absolute;left: 0;bottom: -2px;height: 2px;width: 0;background: var(--accent);transition: width .3s var(--ease)} .nav__links a:hover{color: var(--green)} .nav__links a:hover::after{width: 100%} .nav__cta{display: flex;align-items: center;gap: 16px} .nav__phone{font-weight: 600;color: var(--green);font-size: .95rem} .nav__toggle{display: none} .mobile-menu{display: none} @media (max-width: 1000px){.nav__links,.nav__phone{display: none} .nav__toggle{display: inline-flex;flex-direction: column;gap: 5px;justify-content: center;width: 46px;height: 46px;border: 1.5px solid var(--green);border-radius: 12px;background: transparent} .nav__toggle span{height: 2px;width: 20px;background: var(--green);margin-inline: auto;transition: .3s} body[data-menu="open"] .nav__toggle span:nth-child(1){transform: translateY(7px) rotate(45deg)} body[data-menu="open"] .nav__toggle span:nth-child(2){opacity: 0} body[data-menu="open"] .nav__toggle span:nth-child(3){transform: translateY(-7px) rotate(-45deg)} .nav__cta .btn{display: none} .mobile-menu{display: block;position: fixed;inset: 84px 0 auto 0;z-index: 55;background: var(--cream-50);border-bottom: 1px solid var(--line);transform: translateY(-120%);transition: transform .45s var(--ease);padding: 18px var(--gutter) 32px;box-shadow: 0 30px 50px -30px rgba(29,51,41,.4)} body[data-menu="open"] .mobile-menu{transform: translateY(0)} .mobile-menu a{display: block;font-family: var(--serif);font-size: 1.7rem;color: var(--green-900);padding: 12px 0;border-bottom: 1px solid var(--line)} .mobile-menu .btn{display: inline-flex;align-items: center;justify-content: center;text-align: center;width: 100%;margin-top: 20px;padding: 16px 22px;font-family: var(--sans);font-size: 1rem;white-space: normal;border-bottom: 1.5px solid transparent} .mobile-menu .btn--primary{color: var(--cream-50)} } .hero{display: none} body[data-hero="a"] #hero-a,body[data-hero="b"] #hero-b,body[data-hero="c"] #hero-c{display: block} .hero__eyebrow{margin-bottom: 26px} .hero__cta{display: flex;flex-wrap: wrap;gap: 14px;margin-top: 38px} .hero__trust{margin-top: 46px;display: flex;align-items: center;gap: 18px;flex-wrap: wrap} .hero__trust span{font-family: var(--mono);font-size: 12px;letter-spacing: .1em;text-transform: uppercase;color: var(--muted)} .hero__trust .dot{width: 5px;height: 5px;border-radius: 50%;background: var(--accent)} #hero-a{padding-block: clamp(48px,6vw,96px) var(--section-y)} .hero-a__grid{display: grid;grid-template-columns: 1.05fr 0.95fr;gap: clamp(32px,5vw,80px);align-items: center} .hero-a__media{position: relative} .hero-a__media .ph{aspect-ratio: 4 / 5;box-shadow: 0 40px 80px -50px rgba(29,51,41,.6)} .hero-a__badge{position: absolute;left: -28px;bottom: 36px;background: var(--cream-50);border-radius: var(--radius);padding: 18px 22px;box-shadow: 0 24px 50px -28px rgba(29,51,41,.5);display: flex;align-items: center;gap: 14px;max-width: 260px} .hero-a__badge .num{font-family: var(--serif);font-size: 2.4rem;color: var(--green);line-height: 1} .hero-a__badge .lbl{font-size: .82rem;color: var(--ink-soft);line-height: 1.3} #hero-b{position: relative;padding: 0} .hero-b__media{position: relative;min-height: 86vh;display: flex;align-items: flex-end} .hero-b__media .ph{position: absolute;inset: 0;border-radius: 0} .hero-b__media .ph::before{mask-image: none;opacity: .7} .hero-b__img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover} .hero-b__tint{position: absolute;inset: 0;background: var(--green);mix-blend-mode: multiply;opacity: .4} .hero-b__scrim{position: absolute;inset: 0;background: linear-gradient(75deg,rgba(29,51,41,.9) 0%,rgba(29,51,41,.6) 40%,rgba(29,51,41,.18) 100%)} .hero-b__inner{position: relative;z-index: 2;padding-block: clamp(60px,9vw,120px);width: 100%} .hero-b__inner .display,.hero-b__inner .eyebrow{color: var(--cream-50)} .hero-b__inner .display em{color: var(--cream)} .hero-b__inner .lead{color: rgba(244,227,215,.86)} .hero-b__inner .hero__trust span{color: rgba(244,227,215,.7)} #hero-c{padding-block: clamp(56px,7vw,110px) 0} .hero-c__head{display: grid;grid-template-columns: 1fr auto;gap: 40px;align-items: end} .hero-c__statement{font-size: clamp(2.6rem,7.4vw,6.2rem);padding-bottom: 0.12em} .hero-c__aside{max-width: 320px;padding-bottom: 10px} .hero-c__band{margin-top: clamp(64px,7vw,96px);display: grid;grid-template-columns: 2fr 1fr;gap: 18px} .hero-c__band .ph{aspect-ratio: 21 / 9} .hero-c__band .ph.tall{aspect-ratio: auto} .hero-c__statcard{background: var(--green);color: var(--cream-50);border-radius: var(--radius);padding: 28px;display: flex;flex-direction: column;justify-content: space-between} .hero-c__statcard .big{font-family: var(--serif);font-size: clamp(2.4rem,4vw,3.4rem);line-height: 1} .hero-c__statcard .lbl{font-size: .9rem;opacity: .85;margin-top: 8px} @media (max-width: 880px){.hero-a__grid{grid-template-columns: 1fr} .hero-a__media{order: -1} .hero-a__media .ph{aspect-ratio: 16/11} .hero-a__badge{left: 16px} .hero-c__head{grid-template-columns: 1fr} .hero-c__band{grid-template-columns: 1fr} } .trust{background: var(--paper);border-block: 1px solid var(--line);padding-block: 30px} .trust__row{display: flex;align-items: center;gap: clamp(28px,5vw,64px);flex-wrap: wrap;justify-content: center} .trust__label{font-family: var(--mono);font-size: 12px;letter-spacing: .14em;text-transform: uppercase;color: var(--muted)} .trust__logos{display: flex;align-items: center;gap: clamp(24px,4vw,52px);flex-wrap: wrap;justify-content: center} .trust__logo{font-family: var(--serif);font-style: italic;font-size: 1.3rem;color: var(--green);opacity: .55;transition: opacity .25s} .trust__logo:hover{opacity: 1} .trust__logo--img{height: 34px;width: auto;opacity: .55;transition: opacity .25s} .trust__logo--img:hover{opacity: 1} .intro__grid{display: grid;grid-template-columns: 1fr 0.9fr;gap: clamp(40px,6vw,96px);align-items: start} .intro__big{font-size: clamp(1.8rem,3.3vw,2.9rem);font-family: var(--serif);line-height: 1.18;letter-spacing: -.015em;color: var(--green-900)} .intro__big .hl{color: var(--accent);font-style: italic} .intro__side .lead{margin-bottom: 26px} .intro__stats{display: grid;grid-template-columns: 1fr 1fr;gap: 26px 20px;margin-top: 36px} .stat .n{font-family: var(--serif);font-size: clamp(2.4rem,4vw,3.2rem);color: var(--green);line-height: 1} .stat .l{font-size: .92rem;color: var(--ink-soft);margin-top: 8px;max-width: 22ch} .stat--link{display: block;text-decoration: none;color: inherit;transition: transform .25s var(--ease)} .stat--link .l{display: inline-flex;align-items: center;gap: 6px;transition: color .2s} .stat--link .l::after{content: "→";font-family: var(--mono);opacity: 0;transform: translateX(-4px);transition: opacity .25s,transform .25s var(--ease)} .stat--link:hover .n,.stat--link:focus-visible .n{color: var(--accent)} .stat--link:hover .l,.stat--link:focus-visible .l{color: var(--green-900)} .stat--link:hover .l::after,.stat--link:focus-visible .l::after{opacity: .8;transform: translateX(0)} .stat--link:focus-visible{outline: none;box-shadow: 0 0 0 3px var(--accent);border-radius: 8px} @media (max-width: 880px){.intro__grid{grid-template-columns: 1fr} } .services{background: var(--cream-100)} .services__head{display: flex;justify-content: space-between;align-items: end;gap: 30px;flex-wrap: wrap;margin-bottom: clamp(40px,5vw,64px)} .svc-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 1px;background: var(--line);border: 1px solid var(--line);border-radius: var(--radius-lg);overflow: hidden} .svc{background: var(--cream-50);padding: 38px 32px 34px;position: relative;display: flex;flex-direction: column;min-height: 320px;transition: background .35s var(--ease),color .35s} .svc:hover{background: var(--green);color: var(--cream-50)} .svc__num{font-family: var(--mono);font-size: 12px;letter-spacing: .12em;color: var(--accent);transition: color .35s} .svc:hover .svc__num{color: var(--cream)} .svc__icon{color: var(--accent);display: block;width: 42px;height: 42px;transition: color .35s} .svc__icon svg{width: 100%;height: 100%;fill: none;stroke: currentColor;stroke-width: 1.5;stroke-linecap: round;stroke-linejoin: round} .svc__icon svg .dot{fill: currentColor;stroke: none} .svc:hover .svc__icon{color: var(--cream)} .svc h3{margin-top: 22px;color: var(--green-900);transition: color .35s} .svc:hover h3{color: var(--cream-50)} .svc p{margin-top: 14px;font-size: .98rem;color: var(--ink-soft);transition: color .35s} .svc:hover p{color: rgba(244,227,215,.85)} .svc__more{margin-top: auto;padding-top: 24px;font-family: var(--mono);font-size: 12px;letter-spacing: .1em;text-transform: uppercase;color: var(--green);display: inline-flex;align-items: center;gap: 8px;transition: color .35s;opacity: 0;transform: translateY(6px);transition: opacity .3s,transform .3s,color .35s} .svc:hover .svc__more{opacity: 1;transform: translateY(0);color: var(--cream)} .svc--cta{justify-content: space-between;background: linear-gradient(160deg,rgba(29,51,41,.82),rgba(20,40,32,.92)),url("assets/cta-bg.jpg") center/cover} .svc--cta:hover{background: linear-gradient(160deg,rgba(29,51,41,.9),rgba(20,40,32,.96)),url("assets/cta-bg.jpg") center/cover} .svc--cta .svc__num,.svc--cta:hover .svc__num{color: var(--terracotta)} .svc--cta h3,.svc--cta:hover h3{margin-top: 22px;color: var(--cream-50);font-family: var(--serif);font-weight: 400;font-size: clamp(1.5rem,2.2vw,2rem);line-height: 1.12} .svc--cta__go{margin-top: auto;padding-top: 24px;font-family: var(--mono);font-size: 12px;letter-spacing: .1em;text-transform: uppercase;color: var(--cream);display: inline-flex;align-items: center;gap: 8px} .svc--cta__go .arrow{transition: transform .35s var(--ease)} .svc--cta:hover .svc--cta__go .arrow{transform: translateX(5px)} @media (max-width: 980px){.svc-grid{grid-template-columns: repeat(2,1fr)} } @media (max-width: 600px){.svc-grid{grid-template-columns: 1fr} .svc{min-height: auto} } .approach__grid{display: grid;grid-template-columns: 0.85fr 1.15fr;gap: clamp(40px,5vw,80px);align-items: start} .steps{display: flex;flex-direction: column} .step{display: grid;grid-template-columns: auto 1fr;gap: 26px;padding: 30px 0;border-top: 1px solid var(--line)} .step:last-child{border-bottom: 1px solid var(--line)} .step__n{font-family: var(--serif);font-size: 1.6rem;color: var(--accent);width: 54px;height: 54px;border: 1.5px solid var(--line);border-radius: 50%;display: grid;place-items: center;transition: .35s} .step:hover .step__n{background: var(--green);color: var(--cream-50);border-color: var(--green)} .step h3{color: var(--green-900)} .step p{margin-top: 8px;color: var(--ink-soft);font-size: .98rem} .approach__media .ph{aspect-ratio: 3/4;position: sticky;top: 110px} @media (max-width: 880px){.approach__grid{grid-template-columns: 1fr} .approach__media{display: none} } .values{background: var(--green);color: var(--cream-50);position: relative;overflow: hidden} .values::after{content:"";position:absolute;right:-8%;top:-30%;width:42%;aspect-ratio:1;border-radius:50%;background: radial-gradient(circle at 40% 40%,rgba(224,122,95,.28),transparent 60%)} .values .eyebrow{color: var(--terracotta)} .values h2.title{color: var(--cream-50)} .values__lead{color: rgba(244,227,215,.82)} .values__grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 16px;margin-top: clamp(40px,5vw,60px);position: relative;z-index: 2} .value{position: relative;border-radius: var(--radius);overflow: hidden;cursor: pointer;outline: none} .value__inner{position: relative;min-height: 232px;height: 100%} .value__face{display: flex;flex-direction: column;padding: 30px 28px;border-radius: var(--radius)} .value__front{position: relative;z-index: 1;min-height: 232px;height: 100%;overflow: hidden;background: var(--green-800);border: 1px solid rgba(244,227,215,.16)} .value__front::after{content: "";position: absolute;inset: 0;z-index: 0;background-image: url("assets/hero-collab.jpg");background-repeat: no-repeat;background-size: 360%;background-position: center} .value__front::before{content: "";position: absolute;inset: 0;z-index: 1;background: linear-gradient(155deg,rgba(36,66,53,.78),rgba(20,40,32,.92))} .value__front > *{position: relative;z-index: 2} .values__grid .value:nth-child(1) .value__front::after{background-size: 340%;background-position: 16% 24%} .values__grid .value:nth-child(2) .value__front::after{background-size: 300%;background-position: 84% 30%} .values__grid .value:nth-child(3) .value__front::after{background-size: 280%;background-position: 50% 12%} .values__grid .value:nth-child(4) .value__front::after{background-size: 330%;background-position: 28% 72%} .values__grid .value:nth-child(5) .value__front::after{background-size: 380%;background-position: 96% 58%} .values__grid .value:nth-child(6) .value__front::after{background-size: 320%;background-position: 64% 14%} .value__back{position: absolute;inset: 0;z-index: 2;justify-content: center;background: var(--terracotta);opacity: 0;transform: translateY(12px);transition: opacity .4s var(--ease),transform .45s var(--ease);pointer-events: none} .value:hover .value__back,.value.is-open .value__back{opacity: 1;transform: translateY(0)} .value:focus-visible{box-shadow: 0 0 0 3px var(--terracotta)} .value__k{font-family: var(--mono);font-size: 12px;letter-spacing: .12em;color: var(--terracotta)} .value__front h3{color: var(--cream-50);font-size: 1.4rem;margin-top: 20px} .value__hint{margin-top: auto;padding-top: 18px;font-family: var(--mono);font-size: 11px;letter-spacing: .1em;text-transform: uppercase;color: rgba(244,227,215,.5);display: inline-flex;align-items: center;gap: 8px;transition: color .3s} .value__hint::after{content: "+";font-size: 16px;line-height: 1;transition: transform .35s var(--ease)} .value:hover .value__hint,.value.is-open .value__hint{color: var(--cream)} .value:hover .value__hint::after,.value.is-open .value__hint::after{transform: rotate(45deg)} .value__back h3{color: #fff;font-size: 1.12rem;margin-bottom: 10px} .value__back p{color: rgba(255,255,255,.96);font-size: 1rem;line-height: 1.45} @media (max-width: 900px){.values__grid{grid-template-columns: 1fr 1fr} } @media (max-width: 560px){.values__grid{grid-template-columns: 1fr} .value__inner,.value__front{min-height: 200px} } @media (prefers-reduced-motion: reduce){.value__back{transition: opacity .2s;transform: none} } .impact__grid{display: grid;grid-template-columns: repeat(4,1fr);gap: clamp(24px,3vw,40px)} .impact .stat{border-top: 2px solid var(--accent);padding-top: 22px} .impact .stat .n{font-size: clamp(2.8rem,4.5vw,4rem)} @media (max-width: 760px){.impact__grid{grid-template-columns: 1fr 1fr} } .fieldnotes{background: var(--paper);border-block: 1px solid var(--line)} .fieldnotes__list{display: flex;flex-direction: column;border-top: 1px solid var(--line)} .note{display: grid;grid-template-columns: 132px 180px 1fr auto;align-items: center;gap: clamp(18px,3vw,40px);padding: clamp(20px,2.6vw,28px) 0;border-bottom: 1px solid var(--line)} .note__thumb{display: block;width: 132px;aspect-ratio: 4 / 3;border-radius: 14px;overflow: hidden;background: repeating-linear-gradient(0deg,rgba(58,99,81,.10) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(58,99,81,.10) 0 1px,transparent 1px 24px),linear-gradient(135deg,var(--cream) 0%,var(--cream-200) 100%)} .note__thumb img{width: 100%;height: 100%;object-fit: cover;transition: transform .5s var(--ease)} .note:hover .note__thumb img{transform: scale(1.05)} .note__meta{display: flex;flex-direction: column;align-items: flex-start;gap: 10px} .note__date{font-family: var(--mono);font-size: 12px;letter-spacing: .1em;text-transform: uppercase;color: var(--muted)} .note__title{font-size: clamp(1.2rem,1.8vw,1.45rem);transition: color .25s} .note__excerpt{color: var(--ink-soft);font-size: .98rem;max-width: 62ch;margin-top: 8px} .note__arrow{display: inline-flex;align-items: center;gap: 0.5em;font-weight: 600;font-size: .92rem;color: var(--green);white-space: nowrap;align-self: center} .note__arrow .arrow{color: var(--accent);transition: transform .35s var(--ease)} .note:hover .note__title{color: var(--green)} .note:hover .note__arrow .arrow{transform: translateX(6px)} @media (max-width: 760px){.note{grid-template-columns: 1fr;gap: 12px} .note__thumb{width: 100%;aspect-ratio: 16 / 7} .note__meta{flex-direction: row;align-items: center} .note__arrow{display: none} } .fnhero{position: relative;overflow: hidden;background: var(--green);padding: clamp(56px,8vw,104px) 0 clamp(150px,16vw,220px)} .fnhero::after{content:"";position:absolute;right:-6%;top:-44%;width:42%;aspect-ratio:1;border-radius:50%;background: radial-gradient(circle at 40% 40%,rgba(224,122,95,.26),transparent 62%);pointer-events:none} .fnhero::before{content: "";position: absolute;inset: 0;pointer-events: none;background: repeating-linear-gradient(0deg,rgba(244,227,215,.05) 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,rgba(244,227,215,.05) 0 1px,transparent 1px 56px);mask-image: linear-gradient(to bottom,rgba(0,0,0,1),rgba(0,0,0,.2))} .fnhero__inner{position: relative;z-index: 1} .fnhero .eyebrow{color: var(--terracotta)} .fnhero .display{color: var(--cream-50);margin-top: 14px} .fnhero .display em{color: var(--terracotta)} .fnhero .lead{color: rgba(244,227,215,.85);margin-top: 22px} .breadcrumb--light,.breadcrumb--light a{color: rgba(244,227,215,.65)} .breadcrumb--light a:hover{color: var(--cream-50)} .fn-featured-wrap{margin-top: clamp(-110px,-11vw,-150px);position: relative;z-index: 2} .fn-featured{display: grid;grid-template-columns: 1.05fr 1fr;align-items: stretch;background: var(--paper);border-radius: var(--radius);overflow: hidden;box-shadow: 0 40px 80px -40px rgba(29,51,41,.45)} .fn-featured__media{display: block;position: relative;min-height: 320px;height: 100%;overflow: hidden;background: var(--green-050)} .fn-featured__media img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: contain;transition: transform .6s var(--ease)} .fn-featured:hover .fn-featured__media img{transform: scale(1.04)} .fn-featured__body{padding: clamp(28px,4vw,52px);display: flex;flex-direction: column;align-items: flex-start;gap: 14px} .fn-featured__body h2{font-size: clamp(1.6rem,2.8vw,2.3rem);line-height: 1.1} .fn-featured__body h2 a{transition: color .25s} .fn-featured__body h2 a:hover{color: var(--green)} .fn-featured__body p{color: var(--ink-soft)} @media (max-width: 860px){.fn-featured{grid-template-columns: 1fr} .fn-featured__media{min-height: 0;aspect-ratio: 16 / 8} } .fn-filter{display: flex;align-items: center;gap: 10px;flex-wrap: wrap} .fn-filter__label{font-family: var(--mono);font-size: 12px;letter-spacing: .14em;text-transform: uppercase;color: var(--muted);margin-right: 8px} .fn-chip{font-family: var(--mono);font-size: 12.5px;letter-spacing: .06em;padding: 8px 16px;border-radius: 100px;border: 1px solid var(--line);background: var(--paper);color: var(--ink-soft);transition: background-color .25s,color .25s,border-color .25s} .fn-chip:hover{border-color: var(--green);color: var(--green)} .fn-chip.is-active{background: var(--green);border-color: var(--green);color: var(--cream-50)} .fn-pager{display: flex;align-items: center;justify-content: space-between;gap: 18px;flex-wrap: wrap;margin-top: clamp(32px,4vw,48px)} .fn-pager__info{font-family: var(--mono);font-size: 12px;letter-spacing: .12em;text-transform: uppercase;color: var(--muted)} .fn-pager__links{display: flex;gap: 12px} .fn-pager .btn{background: var(--green);border-color: var(--green);color: var(--cream-50)} .fn-pager .btn:hover{background: var(--green-800);border-color: var(--green-800);color: var(--cream-50)} .work{background: var(--cream-100)} .work__grid{display: grid;grid-template-columns: 1.25fr 1fr;gap: 26px;margin-top: clamp(40px,5vw,56px)} .case{background: var(--cream-50);border-radius: var(--radius-lg);overflow: hidden;display: flex;flex-direction: column;transition: transform .4s var(--ease),box-shadow .4s} .case:hover{transform: translateY(-6px);box-shadow: 0 36px 60px -40px rgba(29,51,41,.5)} .case__media{aspect-ratio: 16/10} .case__media--photo{position: relative;overflow: hidden} .case__media--photo img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover} .case__media--photo::after{content: "";position: absolute;inset: 0;background: linear-gradient(135deg,var(--terracotta) 0%,var(--terracotta-600) 100%);mix-blend-mode: multiply;opacity: .82} .case__media--photo-blue::after{background: linear-gradient(135deg,#0d5a7e 0%,#00293d 100%);opacity: .8} .case__media--photo-green::after{background: linear-gradient(135deg,var(--green) 0%,var(--green-900) 100%);opacity: .8} .case--tall .case__media{aspect-ratio: 4/5} .case__body{padding: 30px 30px 34px;display: flex;flex-direction: column;gap: 14px;flex: 1} .case__tags{display: flex;gap: 8px;flex-wrap: wrap} .tag{font-family: var(--mono);font-size: 11px;letter-spacing: .08em;text-transform: uppercase;color: var(--green);background: var(--green-050);border: 1px solid var(--green-100);padding: 5px 11px;border-radius: 100px} .case h3{color: var(--green-900)} .case__metric{margin-top: auto;display: flex;align-items: baseline;gap: 12px;padding-top: 14px} .case__metric .n{font-family: var(--serif);font-size: 2rem;color: var(--accent)} .case__metric .l{font-size: .88rem;color: var(--ink-soft)} .case--clickable{cursor: pointer;outline: none} .case--clickable:focus-visible{box-shadow: 0 0 0 3px var(--accent)} .case__cue{font-family: var(--mono);font-size: 11px;letter-spacing: .1em;text-transform: uppercase;color: var(--accent);display: inline-flex;align-items: center;gap: 8px;margin-top: 4px} .case--clickable .case__cue .arrow{transition: transform .35s var(--ease)} .case--clickable:hover .case__cue .arrow{transform: translateX(5px)} .case-modal{position: fixed;inset: 0;z-index: 200;display: none} .case-modal.is-open{display: block} .case-modal__backdrop{position: absolute;inset: 0;background: rgba(29,51,41,.6);backdrop-filter: blur(3px);opacity: 0;transition: opacity .3s} .case-modal.is-open .case-modal__backdrop{opacity: 1} .case-modal__panel{position: relative;z-index: 2;max-width: 920px;margin: clamp(14px,5vh,56px) auto;width: calc(100% - 32px);background: var(--cream-50);border-radius: var(--radius-lg);overflow: hidden;display: grid;grid-template-columns: 0.82fr 1.18fr;box-shadow: 0 50px 100px -45px rgba(29,51,41,.65);transform: translateY(18px) scale(.985);opacity: 0;transition: transform .42s var(--ease),opacity .42s;max-height: calc(100vh - 28px)} .case-modal.is-open .case-modal__panel{transform: none;opacity: 1} .case-modal__media{position: relative;background: var(--green);min-height: 100%} .case-modal__media img{width: 100%;height: 100%;object-fit: cover;object-position: center;display: block} .case-modal__media::after{content: "";position: absolute;inset: 0;background: linear-gradient(150deg,rgba(58,99,81,.32),rgba(29,51,41,.62))} .case-modal__media--blue{background: linear-gradient(150deg,#0a4f6e,#003D5B)} .case-modal__media--blue::after{background: linear-gradient(150deg,rgba(0,61,91,.25),rgba(0,40,60,.55))} .case-modal__media-tags{position: absolute;left: 22px;bottom: 22px;z-index: 2;display: flex;gap: 8px;flex-wrap: wrap} .case-modal__media-tags .tag{color: var(--cream-50);background: rgba(244,227,215,.16);border-color: rgba(244,227,215,.28)} .case-modal__body{padding: clamp(28px,4vw,48px);overflow-y: auto} .case-modal__body .eyebrow{color: var(--accent)} .case-modal__body h2{font-size: clamp(1.6rem,3vw,2.3rem);color: var(--green-900);margin-top: 12px;line-height: 1.12} .case-modal__body h3{font-family: var(--mono);font-size: 12px;letter-spacing: .14em;text-transform: uppercase;color: var(--green);margin-top: 32px} .case-modal__body p{color: var(--ink-soft);margin-top: 12px;line-height: 1.7} .case-modal__body em{font-style: italic} .case-modal__list{list-style: none;padding: 0;margin: 16px 0 0;display: flex;flex-direction: column;gap: 12px} .case-modal__list li{position: relative;padding-left: 22px;color: var(--ink-soft);line-height: 1.6} .case-modal__list li::before{content: "";position: absolute;left: 0;top: .6em;width: 7px;height: 7px;border-radius: 2px;background: var(--accent)} .case-modal__list strong,.case-modal__body p strong{color: var(--green-900);font-weight: 600} .case-modal__steps{list-style: none;padding: 0;margin: 16px 0 0;counter-reset: cs} .case-modal__steps li{display: flex;flex-direction: column;gap: 5px;padding: 16px 0;border-top: 1px solid var(--line)} .case-modal__steps li:first-child{border-top: 0} .case-modal__step-k{font-family: var(--mono);font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: var(--accent)} .case-modal__step-p{color: var(--ink-soft);line-height: 1.65} .case-modal__quote{font-family: var(--serif);font-style: italic;font-size: clamp(1.15rem,1.9vw,1.4rem);line-height: 1.4;color: var(--green);border-left: 3px solid var(--accent);padding-left: clamp(18px,2.5vw,26px);margin: 34px 0 0} .case-modal__cta{margin-top: 32px;padding-top: 28px;border-top: 1px solid var(--line)} .case-modal__close{position: absolute;top: 14px;right: 16px;z-index: 3;width: 42px;height: 42px;border-radius: 50%;border: 0;background: rgba(251,247,241,.94);color: var(--green-900);font-size: 26px;line-height: 1;display: grid;place-items: center;cursor: pointer;transition: background .2s,transform .2s} .case-modal__close:hover{background: #fff;transform: rotate(90deg)} @media (prefers-reduced-motion: reduce){.case-modal__panel{transition: opacity .2s;transform: none} .case-modal__close:hover{transform: none} } @media (max-width: 680px){.case-modal__panel{grid-template-columns: 1fr} .case-modal__media{aspect-ratio: 16/10;min-height: 0} } .work__grid--lower{grid-template-columns: 1fr 1fr} @media (max-width: 820px){.work__grid,.work__grid--lower{grid-template-columns: 1fr} } .work__grid--trio{grid-template-columns: 1fr 1fr 1.18fr} .case--more{position: relative;overflow: hidden;border-radius: var(--radius-lg);min-height: 100%;display: flex;text-decoration: none;background: linear-gradient(160deg,rgba(29,51,41,.78),rgba(20,40,32,.9)),url("assets/cta-bg.jpg") center/cover;transition: transform .4s var(--ease),box-shadow .4s} .case--more:hover{transform: translateY(-6px);box-shadow: 0 36px 60px -42px rgba(29,51,41,.55)} .case--more__inner{display: flex;flex-direction: column;justify-content: space-between;gap: 28px;padding: clamp(30px,3vw,42px);width: 100%} .case--more .eyebrow{color: var(--terracotta)} .case--more h3{font-family: var(--serif);font-weight: 400;font-size: clamp(1.6rem,2.4vw,2.2rem);color: var(--cream-50);line-height: 1.1} .case--more__cta{font-family: var(--mono);font-size: 12px;letter-spacing: .1em;text-transform: uppercase;color: var(--cream);display: inline-flex;align-items: center;gap: 8px} .case--more__cta .arrow{transition: transform .35s var(--ease)} .case--more:hover .case--more__cta .arrow{transform: translateX(5px)} @media (max-width: 980px){.work__grid--trio{grid-template-columns: 1fr 1fr} } @media (max-width: 600px){.work__grid--trio{grid-template-columns: 1fr} } .quote{background: var(--blue);color: var(--cream-50);position: relative;overflow: hidden} .quote::before{content: "\201C";position: absolute;left: 3%;top: -6%;font-family: var(--serif);font-size: 26rem;color: rgba(244,227,215,.07);line-height: 1;pointer-events: none} .quote .wrap{position: relative;z-index: 2} .quote .eyebrow{color: var(--terracotta)} .quote .sec-head h2.title{color: var(--cream-50)} .marquee{position: relative;z-index: 2;overflow: hidden;margin-top: clamp(36px,4vw,52px);-webkit-mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)} .marquee__track{display: flex;width: max-content;animation: marquee 64s linear infinite} .marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state: paused} .tcard{flex: 0 0 min(440px,84vw);margin-right: 24px;background: rgba(244,227,215,.05);border: 1px solid rgba(244,227,215,.16);border-radius: var(--radius-lg);padding: 32px 30px;display: flex;flex-direction: column;justify-content: space-between;gap: 26px} .tcard blockquote{font-family: var(--serif);font-size: clamp(1.15rem,1.6vw,1.4rem);line-height: 1.4;font-weight: 400;color: var(--cream-50)} .tcard blockquote em{color: var(--terracotta);font-style: italic} .tcard figcaption{display: flex;align-items: center;gap: 14px} .tcard__avatar{width: 46px;height: 46px;border-radius: 50%;flex: none} .tcard__who{display: flex;flex-direction: column} .tcard .nm{font-family: var(--sans);font-weight: 600;color: var(--cream-50)} .tcard .rl{font-size: .86rem;color: rgba(244,227,215,.7)} @keyframes marquee{from{transform: translateX(0)} to{transform: translateX(-50%)} } @media (prefers-reduced-motion: reduce){.marquee{overflow-x: auto;scroll-snap-type: x mandatory;-webkit-overflow-scrolling: touch} .marquee__track{animation: none} .tcard{scroll-snap-align: center} } .team__grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 24px;margin-top: clamp(40px,5vw,56px)} .member__photo{aspect-ratio: 4/5;border-radius: var(--radius);margin-bottom: 16px} .member h3{font-size: 1.2rem;color: var(--green-900)} .member .role{font-family: var(--mono);font-size: 12px;letter-spacing: .06em;text-transform: uppercase;color: var(--accent);margin-top: 6px} .team__grid--3{grid-template-columns: repeat(3,1fr)} .team__grid--2{grid-template-columns: repeat(2,1fr);max-width: 700px} .team__grid--assoc{grid-template-columns: 1fr 1.6fr;align-items: stretch} .team__grid--assoc .cta{align-self: stretch} .member--cta{display: flex;flex-direction: column;justify-content: space-between;gap: 20px;background: linear-gradient(160deg,rgba(29,51,41,.72),rgba(20,40,32,.88)),url("assets/cta-bg.jpg") center/cover;border-radius: var(--radius);padding: 28px;min-height: 100%;overflow: hidden;transition: transform .4s var(--ease)} .member--cta:hover{transform: translateY(-6px)} .member--cta .t{font-family: var(--serif);font-size: 1.6rem;color: var(--cream-50);line-height: 1.08} .member--cta .go{font-family: var(--mono);font-size: 12px;letter-spacing: .1em;text-transform: uppercase;color: var(--cream);display: inline-flex;align-items: center;gap: 8px} .member--cta .arrow{transition: transform .35s var(--ease)} .member--cta:hover .arrow{transform: translateX(4px)} @media (max-width: 860px){.team__grid{grid-template-columns: 1fr 1fr} .team__grid--3{grid-template-columns: 1fr 1fr} } @media (max-width: 560px){.team__grid--3{grid-template-columns: 1fr} .team__grid--2{grid-template-columns: 1fr} .team__grid--assoc{grid-template-columns: 1fr} } img.member__photo{object-fit: cover;object-position: center 18%;width: 100%;display: block;background: var(--green-050)} .member__media{position: relative;border-radius: var(--radius);overflow: hidden;margin-bottom: 16px} .member__media img.member__photo{margin-bottom: 0;border-radius: 0;filter: grayscale(.55) contrast(1.03)} .member__media::after{content: "";position: absolute;inset: 0;mix-blend-mode: multiply;opacity: .6;pointer-events: none} .member--blue .member__media::after{background: linear-gradient(160deg,#2b7da3 0%,#00293d 100%)} .member--green .member__media::after{background: linear-gradient(160deg,#5f9078 0%,var(--green-900) 100%)} .member--terra .member__media::after{background: linear-gradient(160deg,#e98e74 0%,var(--terracotta-600) 100%)} .member__actions{display: flex;align-items: center;gap: 16px;margin-top: 14px;flex-wrap: wrap} .member__link{font-family: var(--mono);font-size: 11px;letter-spacing: .1em;text-transform: uppercase;color: var(--green);background: none;border: 0;padding: 0 0 2px;border-bottom: 2px solid transparent;cursor: pointer;transition: border-color .2s,color .2s} .member__link:hover,.member__link:focus-visible{border-bottom-color: var(--accent);color: var(--green-900);outline: none} .member__bio-btn{color: var(--accent)} .member__bio-btn:hover{color: var(--terracotta-600)} .footer__loc a{color: inherit;border-bottom: 1px solid transparent;transition: border-color .2s,color .2s} .footer__loc a:hover{color: #fff;border-bottom-color: var(--terracotta)} .bio-modal{position: fixed;inset: 0;z-index: 200;display: none} .bio-modal.is-open{display: block} .bio-modal__backdrop{position: absolute;inset: 0;background: rgba(29,51,41,.58);backdrop-filter: blur(3px);opacity: 0;transition: opacity .3s} .bio-modal.is-open .bio-modal__backdrop{opacity: 1} .bio-modal__panel{position: relative;z-index: 2;max-width: 780px;margin: clamp(16px,6vh,72px) auto;width: calc(100% - 32px);background: var(--cream-50);border-radius: var(--radius-lg);overflow: hidden;display: grid;grid-template-columns: 0.82fr 1.18fr;box-shadow: 0 50px 100px -45px rgba(29,51,41,.65);transform: translateY(18px) scale(.985);opacity: 0;transition: transform .42s var(--ease),opacity .42s;max-height: calc(100vh - 32px)} .bio-modal.is-open .bio-modal__panel{transform: none;opacity: 1} .bio-modal__media{background: var(--green);min-height: 100%} .bio-modal__media img{width: 100%;height: 100%;object-fit: cover;object-position: center 18%;display: block} .bio-modal__body{padding: clamp(28px,4vw,46px);overflow-y: auto} .bio-modal__body .eyebrow{color: var(--accent)} .bio-modal__body h2{font-size: clamp(1.6rem,3vw,2.2rem);color: var(--green-900);margin-top: 12px} .bio-modal__body p{color: var(--ink-soft);margin-top: 18px;line-height: 1.72;white-space: pre-line} .bio-modal__links{display: flex;gap: 22px;margin-top: 28px;flex-wrap: wrap} .bio-modal__close{position: absolute;top: 14px;right: 16px;z-index: 3;width: 40px;height: 40px;border-radius: 50%;border: 0;background: rgba(251,247,241,.92);color: var(--green-900);font-size: 24px;line-height: 1;display: grid;place-items: center;cursor: pointer;transition: background .2s,transform .2s} .bio-modal__close:hover{background: #fff;transform: rotate(90deg)} @media (prefers-reduced-motion: reduce){.bio-modal__panel{transition: opacity .2s;transform: none} .bio-modal__close:hover{transform: none} } @media (max-width: 640px){.bio-modal__panel{grid-template-columns: 1fr} .bio-modal__media{aspect-ratio: 16/11;min-height: 0} } .quoteband{background: var(--green);color: var(--cream-50);position: relative;overflow: hidden;padding-block: clamp(56px,8vw,110px)} .quoteband::after{content:"";position:absolute;right:-6%;top:-44%;width:42%;aspect-ratio:1;border-radius:50%;background: radial-gradient(circle at 40% 40%,rgba(224,122,95,.26),transparent 62%);pointer-events:none} .quoteband .wrap{position: relative;z-index: 1} .quoteband blockquote{font-family: var(--serif);font-size: clamp(1.9rem,4vw,3.2rem);line-height: 1.22;letter-spacing: -.01em;max-width: 24ch} .quoteband blockquote em{font-style: italic;color: var(--terracotta)} .quoteband cite{display: block;margin-top: 26px;font-style: normal;font-family: var(--mono);font-size: 12px;letter-spacing: .12em;text-transform: uppercase;color: rgba(244,227,215,.65)} .cta{position: relative;overflow: hidden;background: var(--green-900);color: var(--cream-50);border-radius: var(--radius-lg)} .cta__img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover} .cta__tint{position: absolute;inset: 0;background: linear-gradient(115deg,rgba(20,40,32,.93) 0%,rgba(29,51,41,.8) 52%,rgba(29,51,41,.6) 100%)} .cta__inner{position: relative;z-index: 2;padding: clamp(48px,7vw,96px) clamp(28px,6vw,90px);display: grid;grid-template-columns: 1.3fr 1fr;gap: 40px;align-items: center} .cta h2{color: var(--cream-50);font-size: clamp(2.2rem,4.5vw,3.6rem)} .cta__inner p{color: rgba(244,227,215,.85);margin-top: 18px} .cta__actions{display: flex;flex-direction: column;gap: 16px;align-items: flex-start} .cta__actions .btn{width: 100%;justify-content: center} .cta__meta{font-family: var(--mono);font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: rgba(244,227,215,.6)} @media (max-width: 800px){.cta__inner{grid-template-columns: 1fr} } .footer{background: var(--blue);color: rgba(244,227,215,.8);padding-block: clamp(56px,7vw,84px) 36px;position: relative;overflow: hidden} .footer > .wrap{position: relative;z-index: 1} .footer__map{position: absolute;inset: 0;z-index: 0;pointer-events: none;overflow: hidden} .footer__map svg{position: absolute;right: -4%;top: 50%;transform: translateY(-50%);height: 165%;width: auto;min-width: 64%;-webkit-mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 38%,#000 72%);mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 38%,#000 72%)} @media (max-width: 700px){.footer__map svg{right: -22%;height: 140%;opacity: .65} } .header-sprig{position: absolute;left: 22px;top: 50%;transform: translateY(-50%);width: 22px;height: auto;color: var(--green);opacity: .4;pointer-events: none} @media (max-width: 1180px){.header-sprig{display: none} } .footer-sprig{position: absolute;left: 1.8%;bottom: -6%;width: clamp(92px,9vw,140px);height: auto;color: #9fc4ad;opacity: .14;z-index: 0;pointer-events: none} @media (max-width: 760px){.footer-sprig{display: none} } .footer__top{display: grid;grid-template-columns: 1.4fr 1fr 1fr 1.2fr;gap: 40px} .footer__brand img{height: 96px;width: auto;margin-bottom: 22px} .footer__brand p{max-width: 30ch;font-size: .96rem} .footer__col h4{font-family: var(--mono);font-weight: 700;font-size: 12px;letter-spacing: .14em;text-transform: uppercase;color: var(--terracotta);margin-bottom: 18px} .footer__col a{display: block;padding: 7px 0;font-size: .98rem;color: rgba(244,227,215,.8);transition: color .2s} .footer__col a:hover{color: #fff} .footer__cta .btn{display: inline-flex;padding: 0.95em 1.5em;margin-top: 8px;color: var(--accent-ink)} .footer__loc{font-size: .96rem;line-height: 1.7} .footer__bottom{margin-top: clamp(48px,6vw,72px);padding-top: 26px;border-top: 1px solid rgba(244,227,215,.16);display: flex;justify-content: space-between;gap: 20px;flex-wrap: wrap;font-size: .85rem;color: rgba(244,227,215,.6)} .footer__social{display: flex;gap: 18px;align-items: center} .footer__social .social-ico{display: inline-flex;align-items: center} .footer__social .social-ico svg{width: 19px;height: 19px;fill: currentColor;display: block} .footer__social a:hover{color: #fff} @media (max-width: 900px){.footer__top{grid-template-columns: 1fr 1fr} } @media (max-width: 540px){.footer__top{grid-template-columns: 1fr} } .reveal{opacity: 1;transform: none} @media (prefers-reduced-motion: no-preference){.reveal{transition: opacity .7s var(--ease),transform .7s var(--ease)} html.js .reveal:not(.in){opacity: 0;transform: translateY(22px)} .reveal[data-d="1"]{transition-delay: .08s} .reveal[data-d="2"]{transition-delay: .16s} .reveal[data-d="3"]{transition-delay: .24s} } .sec-head{max-width: 720px} .sec-head .eyebrow{margin-bottom: 20px} .sec-head .lead{margin-top: 20px} .sec-head--center{margin-inline: auto;text-align: center} .sec-head--center .eyebrow{justify-content: center} .nav__links a[aria-current="page"]{color: var(--green)} .nav__links a[aria-current="page"]::after{width: 100%} .page-hero{background: var(--green);color: var(--cream-50);position: relative;overflow: hidden;padding-block: clamp(56px,7vw,108px) clamp(48px,6vw,88px)} .page-hero::after{content:"";position:absolute;right:-6%;top:-44%;width:42%;aspect-ratio:1;border-radius:50%;background: radial-gradient(circle at 40% 40%,rgba(224,122,95,.26),transparent 60%)} .page-hero__inner{position: relative;z-index: 2;max-width: 920px} .page-hero .eyebrow{color: var(--terracotta)} .page-hero h1{color: var(--cream-50);font-family: var(--serif);font-weight: 400;font-size: clamp(2.5rem,5.6vw,4.4rem);line-height: 1.05;letter-spacing: -.02em;margin-top: 20px} .page-hero h1 em{font-style: italic;color: var(--cream)} .page-hero .lead{color: rgba(244,227,215,.86);margin-top: 24px;max-width: 62ch} .breadcrumb{font-family: var(--mono);font-size: 12px;letter-spacing: .12em;text-transform: uppercase;color: rgba(244,227,215,.55);display: flex;gap: 10px;align-items: center;flex-wrap: wrap} .breadcrumb a{color: rgba(244,227,215,.8)} .post-hero .breadcrumb span{display: inline-block;max-width: min(42ch,55vw);white-space: nowrap;overflow: hidden;text-overflow: ellipsis} .breadcrumb a:hover{color: var(--cream-50)} .breadcrumb i{font-style: normal;opacity: .5} .lede{font-family: var(--serif);font-size: clamp(1.6rem,3vw,2.4rem);line-height: 1.22;letter-spacing: -.015em;color: var(--green-900)} .lede .hl{color: var(--accent);font-style: italic} .intro-2col{display: grid;grid-template-columns: 1fr 0.9fr;gap: clamp(36px,5vw,80px);align-items: start} @media (max-width: 880px){.intro-2col{grid-template-columns: 1fr} } .phase-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 24px} @media (max-width: 820px){.phase-grid{grid-template-columns: 1fr} } .phase{background: var(--cream-50);border: 1px solid var(--line);border-radius: var(--radius-lg);padding: 38px 34px;display: flex;flex-direction: column;transition: transform .4s var(--ease),box-shadow .4s} .phase:hover{transform: translateY(-6px);box-shadow: 0 36px 60px -42px rgba(29,51,41,.42)} .phase__n{font-family: var(--serif);font-size: 2.4rem;color: var(--accent);line-height: 1} .phase h3{margin-top: 18px;color: var(--green-900)} .phase p{margin-top: 12px;color: var(--ink-soft);font-size: 1rem} .phase .textlink{margin-top: 22px} .svc-list{border-top: 1px solid var(--line)} .svc-row{display: grid;grid-template-columns: 4.5rem 1fr 1.05fr;gap: clamp(18px,3.5vw,52px);padding: clamp(28px,4vw,48px) 0;border-bottom: 1px solid var(--line);align-items: start} .svc-row__num{font-family: var(--serif);font-size: clamp(1.7rem,3vw,2.6rem);color: var(--accent);line-height: 1} .svc-row__head h2{font-size: clamp(1.45rem,2.6vw,2.1rem);color: var(--green-900)} .svc-row__head p{margin-top: 14px;color: var(--ink-soft);font-size: 1.02rem} .svc-row__incl .lbl{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--muted);margin-bottom: 14px;display: block} .incl{display: flex;flex-direction: column;gap: 11px} .incl li{display: grid;grid-template-columns: auto 1fr;gap: 12px;align-items: start;font-size: .98rem;color: var(--ink);list-style: none} .incl li::before{content:"";width: 7px;height: 7px;border-radius: 2px;background: var(--accent);margin-top: .55em} @media (max-width: 880px){.svc-row{grid-template-columns: 3rem 1fr} .svc-row__incl{grid-column: 2 / -1;margin-top: 4px} } @media (max-width: 560px){.svc-row{grid-template-columns: 1fr} .svc-row__incl{grid-column: 1} } .svc-accordion{border-top: 1px solid var(--line)} .svc-item{border-bottom: 1px solid var(--line)} .svc-item__head{width: 100%;background: none;border: 0;cursor: pointer;display: grid;grid-template-columns: 4.5rem 1fr auto;gap: clamp(16px,3vw,40px);align-items: center;padding: clamp(22px,3vw,32px) 0;text-align: left;font-family: inherit;color: inherit} .svc-item__head .svc-row__num{line-height: 1} .svc-row__ico{display: inline-flex;align-items: center;color: var(--accent);transition: color .3s} .svc-row__ico svg{width: 50px;height: 50px} .svc-item__head:hover .svc-row__ico{color: var(--green)} .svc-item__name{display: block;font-family: var(--serif);font-size: clamp(1.3rem,2.4vw,1.95rem);color: var(--green-900);line-height: 1.1;transition: color .25s} .svc-item__head:hover .svc-item__name{color: var(--accent)} .svc-item__desc{display: block;margin-top: 8px;color: var(--ink-soft);font-size: 1rem;max-width: 62ch;line-height: 1.5} .svc-item__toggle{width: 38px;height: 38px;border-radius: 50%;border: 1.5px solid var(--line);position: relative;flex: none;transition: background .3s,border-color .3s,transform .35s var(--ease)} .svc-item__toggle::before,.svc-item__toggle::after{content: "";position: absolute;left: 50%;top: 50%;width: 13px;height: 2px;background: var(--green);transform: translate(-50%,-50%);transition: background .3s,opacity .3s,transform .35s var(--ease)} .svc-item__toggle::after{transform: translate(-50%,-50%) rotate(90deg)} .svc-item__head[aria-expanded="true"] .svc-item__toggle{background: var(--accent);border-color: var(--accent);transform: rotate(180deg)} .svc-item__head[aria-expanded="true"] .svc-item__toggle::before{background: #fff} .svc-item__head[aria-expanded="true"] .svc-item__toggle::after{opacity: 0} .svc-item__panel{display: grid;grid-template-rows: 0fr;transition: grid-template-rows .42s var(--ease)} .svc-item__head[aria-expanded="true"] + .svc-item__panel{grid-template-rows: 1fr} .svc-item__panel-inner{overflow: hidden} .svc-item__detail{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(20px,4vw,52px);align-items: start;padding: 0 0 clamp(26px,3.5vw,38px) calc(4.5rem + clamp(16px,3vw,40px))} .svc-item__detail .lbl{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--muted);margin-bottom: 14px;display: block} .svc-item__link{align-self: start} @media (prefers-reduced-motion: reduce){.svc-item__panel{transition: none} .svc-item__toggle,.svc-item__toggle::before,.svc-item__toggle::after{transition: none} } @media (max-width: 760px){.svc-item__head{grid-template-columns: 3rem 1fr auto;gap: 16px} .svc-item__detail{grid-template-columns: 1fr;padding-left: 0;gap: 18px} } .prose{max-width: 68ch} .prose > * + *,.prose > div > * + *{margin-top: 22px} .prose h2{font-size: clamp(1.45rem,2.6vw,2rem);color: var(--green-900);margin-top: 46px} .prose p{color: var(--ink-soft);font-size: 1.1rem;line-height: 1.72} .prose strong{color: var(--green-900);font-weight: 600} .prose a{color: var(--green);font-weight: 600;border-bottom: 2px solid rgba(224,122,95,.4);transition: border-color .25s} .prose a:hover{border-color: var(--terracotta)} .prose ul{margin-top: 6px;padding-left: 0} .prose ul li{list-style: none;display: grid;grid-template-columns: auto 1fr;gap: 14px;align-items: start;padding: 8px 0;color: var(--ink-soft);font-size: 1.05rem} .prose ul li::before{content:"";width: 8px;height: 8px;border-radius: 2px;background: var(--accent);margin-top: .6em} .pullquote{font-family: var(--serif);font-style: italic;font-size: clamp(1.5rem,3vw,2.2rem);line-height: 1.3;color: var(--green);border-left: 3px solid var(--accent);padding-left: clamp(20px,3vw,30px)} .prose-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px;margin-top: 16px} .pgrid{padding-top: 16px;border-top: 2px solid var(--line);transition: border-color .3s} .pgrid:hover{border-color: var(--accent)} .pgrid__n{font-family: var(--mono);font-size: 12px;letter-spacing: .14em;color: var(--accent)} .pgrid h4{font-family: var(--serif);font-weight: 500;font-size: 1.25rem;color: var(--green-900);margin-top: 10px} .pgrid p{color: var(--ink-soft);font-size: .96rem;margin-top: 6px;line-height: 1.5} @media (max-width:760px){.prose-grid{grid-template-columns: 1fr} } .split{display: grid;grid-template-columns: 1.15fr 0.85fr;gap: clamp(40px,6vw,90px);align-items: start} @media (max-width: 920px){.split{grid-template-columns: 1fr} } .aside-card{background: var(--cream-100);border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(28px,4vw,40px);position: sticky;top: 110px} .aside-card .eyebrow{margin-bottom: 18px} .aside-card h3{color: var(--green-900);font-size: 1.3rem} .aside-card .meta{font-family: var(--mono);font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: var(--accent);margin-top: 8px} .aside-card__links{display: flex;flex-direction: column;gap: 12px;margin-top: 26px;align-items: flex-start} .aside-card p{margin-top: 16px;color: var(--ink-soft);font-size: .98rem} @media (max-width: 920px){.aside-card{position: static} } .founder{display: grid;grid-template-columns: 0.85fr 1.15fr;gap: clamp(32px,5vw,64px);align-items: center} .founder .ph{aspect-ratio: 4/5;border-radius: var(--radius-lg)} .founder .role{font-family: var(--mono);font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: var(--accent);margin-top: 10px} @media (max-width: 760px){.founder{grid-template-columns: 1fr} } .contact__grid{display: grid;grid-template-columns: 1.15fr 0.85fr;gap: clamp(40px,5vw,72px);align-items: start} @media (max-width: 880px){.contact__grid{grid-template-columns: 1fr} } .form{display: grid;gap: 20px} .field{display: flex;flex-direction: column;gap: 8px} .field label{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--ink-soft)} .field input,.field select,.field textarea{font-family: var(--sans);font-size: 1rem;color: var(--ink);background: var(--paper);border: 1.5px solid var(--line);border-radius: 12px;padding: 14px 16px;width: 100%;transition: border-color .2s,box-shadow .2s} .field textarea{resize: vertical;min-height: 150px} .field input:focus,.field select:focus,.field textarea:focus{outline: none;border-color: var(--green);box-shadow: 0 0 0 4px rgba(58,99,81,.12)} .field-row{display: grid;grid-template-columns: 1fr 1fr;gap: 20px} @media (max-width: 560px){.field-row{grid-template-columns: 1fr} } .form__note{font-size: .85rem;color: var(--muted)} .contact-info{display: flex;flex-direction: column;gap: 28px;background: var(--cream-100);border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(28px,4vw,40px)} .cinfo__k{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--accent);margin-bottom: 8px} .cinfo__v{font-size: 1.1rem;color: var(--green-900);line-height: 1.5} .cinfo__v a{border-bottom: 2px solid transparent;transition: border-color .2s} .cinfo__v a:hover{border-color: var(--accent)} .contact-info__social{display: flex;gap: 16px} .contact-info__social a{font-family: var(--mono);font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: var(--green);border-bottom: 2px solid transparent} .contact-info__social a:hover{border-color: var(--accent)} .contact__col{display: flex;flex-direction: column;gap: 24px} .map-card{background: var(--cream-100);border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(24px,3vw,34px)} .map-card .cinfo__k{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--accent)} .map-card h3{font-family: var(--serif);font-weight: 400;font-size: clamp(1.2rem,1.9vw,1.55rem);line-height: 1.22;color: var(--green-900);margin-top: 10px;text-wrap: pretty} .map-card__embed{margin-top: 20px;border-radius: var(--radius);overflow: hidden;border: 1px solid var(--line);aspect-ratio: 16/10;background: var(--cream-50)} .map-card__embed iframe{width: 100%;height: 100%;border: 0;display: block} .map-card__embed--full{aspect-ratio: auto;width: 100%;height: clamp(259px,30vw,420px);min-height: 259px} .booking__grid{display: grid;grid-template-columns: 0.82fr 1.18fr;gap: clamp(36px,4.5vw,64px);align-items: start} @media (max-width: 940px){.booking__grid{grid-template-columns: 1fr} } .booking__steps{list-style: none;display: flex;flex-direction: column;gap: 26px;margin-top: 32px;counter-reset: bstep} .booking__step{display: grid;grid-template-columns: auto 1fr;gap: 18px;align-items: start} .booking__num{counter-increment: bstep;width: 38px;height: 38px;flex: none;border-radius: 50%;background: var(--green);color: var(--cream-50);font-family: var(--mono);font-size: 13px;display: flex;align-items: center;justify-content: center} .booking__num::before{content: counter(bstep,decimal-leading-zero)} .booking__step h3{font-family: var(--serif);font-weight: 500;font-size: 1.16rem;color: var(--green-900);line-height: 1.2} .booking__step p{color: var(--ink-soft);margin-top: 6px;font-size: .98rem;line-height: 1.55;max-width: 38ch} .booking__aside-foot{margin-top: 34px;padding-top: 28px;border-top: 1px solid var(--line);display: flex;flex-direction: column;gap: 16px} .booking__altline{display: flex;gap: 12px;align-items: baseline} .booking__altk{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--accent);min-width: 58px;flex: none} .booking__altv{font-size: 1.04rem;color: var(--green-900);line-height: 1.5} .booking__altv a{border-bottom: 2px solid transparent;transition: border-color .2s} .booking__altv a:hover{border-color: var(--accent)} .booking__card{background: var(--cream-100);border: 1px solid var(--line);border-radius: var(--radius-lg);padding: clamp(18px,2.4vw,28px);position: sticky;top: 96px} @media (max-width: 940px){.booking__card{position: static} } .booking__card-head{display: flex;justify-content: space-between;align-items: baseline;gap: 16px;flex-wrap: wrap;margin-bottom: 18px} .booking__card-head h2{font-family: var(--serif);font-weight: 400;font-size: clamp(1.25rem,1.9vw,1.6rem);color: var(--green-900)} .booking__fallback{font-family: var(--mono);font-size: 12px;letter-spacing: .05em;text-transform: uppercase;color: var(--green);border-bottom: 2px solid transparent;white-space: nowrap;display: inline-flex;align-items: center;gap: 5px} .booking__fallback:hover{border-color: var(--accent)} .booking__embed{position: relative;border-radius: var(--radius);overflow: hidden;border: 1px solid var(--line);background: var(--cream-50);height: clamp(640px,80vh,880px)} .booking__embed iframe{width: 100%;height: 100%;border: 0;display: block;position: relative;z-index: 2} .booking__loader{position: absolute;inset: 0;z-index: 1;display: flex;flex-direction: column;gap: 16px;align-items: center;justify-content: center;color: var(--muted);font-family: var(--mono);font-size: 12px;letter-spacing: .12em;text-transform: uppercase;background: var(--cream-50);text-align: center;padding: 24px} .booking__loader span{width: 30px;height: 30px;border-radius: 50%;border: 3px solid var(--line);border-top-color: var(--green);animation: bspin .9s linear infinite} @keyframes bspin{to{transform: rotate(360deg)} } @media (prefers-reduced-motion: reduce){.booking__loader span{animation: none} } .faq{background: var(--cream-100);border-top: 1px solid var(--line)} .faq__wrap{max-width: 860px} .faq__head{text-align: center;margin-bottom: clamp(34px,4vw,52px)} .faq__list{display: flex;flex-direction: column;gap: 0;border-top: 1px solid var(--line)} .faq__item{border-bottom: 1px solid var(--line)} .faq__item summary{list-style: none;cursor: pointer;display: flex;align-items: flex-start;gap: 24px;padding: 26px 4px;font-family: var(--serif);font-weight: 400;font-size: clamp(1.15rem,1.9vw,1.5rem);line-height: 1.28;color: var(--green-900);text-wrap: pretty;transition: color .2s} .faq__item summary::-webkit-details-marker{display: none} .faq__item summary:hover{color: var(--green)} .faq__icon{position: relative;flex: 0 0 auto;width: 22px;height: 22px;margin-left: auto;margin-top: 6px} .faq__icon::before,.faq__icon::after{content: "";position: absolute;background: var(--green);border-radius: 2px;transition: transform .3s var(--ease),opacity .3s var(--ease)} .faq__icon::before{top: 10px;left: 0;width: 22px;height: 2px} .faq__icon::after{top: 0;left: 10px;width: 2px;height: 22px} .faq__item[open] .faq__icon::after{transform: scaleY(0);opacity: 0} .faq__a{padding: 0 4px 28px;max-width: 64ch} .faq__a p{color: var(--ink-soft);font-size: 1.05rem;line-height: 1.6} .faq__a a{color: var(--green);font-weight: 600;border-bottom: 2px solid transparent;transition: border-color .2s} .faq__a a:hover{border-color: var(--accent)} @media (prefers-reduced-motion: no-preference){.faq__item[open] .faq__a{animation: faqReveal .4s var(--ease)} @keyframes faqReveal{from{opacity: 0;transform: translateY(-6px)} to{opacity: 1;transform: none} } } .coverage{margin:0 auto} .coverage__intro{font-size:1.05rem;color:var(--ink-soft,#4c5a52);max-width:60ch;margin-bottom:2rem} .coverage__county{margin-bottom:1.75rem;padding-bottom:1.75rem;border-bottom:1px solid var(--line,#e4ded4)} .coverage__county:last-child{border-bottom:0} .coverage__county-name{font-family:var(--serif,Georgia,serif);font-size:1.25rem;color:var(--green-900,#1d3329);margin-bottom:.9rem} .coverage__cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.4rem .9rem} .coverage__cities li{font-size:.95rem;color:var(--ink-soft,#4c5a52);padding-left:1rem;position:relative} .coverage__cities li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--terracotta,#E07A5F)} @media (max-width:600px){.coverage__cities{grid-template-columns:repeat(2,1fr)}} .nav__drop{position: relative;display: flex;align-items: center} .nav__drop-btn{display: inline-flex;align-items: center;gap: 6px;font: inherit;font-weight: 500;font-size: 0.98rem;color: var(--green-900);background: none;border: 0;cursor: pointer;padding: 6px 0;position: relative;transition: color .2s;white-space: nowrap} .nav__drop-btn::after{content: "";position: absolute;left: 0;bottom: -2px;height: 2px;width: 0;background: var(--accent);transition: width .3s var(--ease)} .nav__drop:hover .nav__drop-btn,.nav__drop-btn:focus-visible,.nav__drop-btn.is-active{color: var(--green)} .nav__drop:hover .nav__drop-btn::after,.nav__drop-btn.is-active::after{width: 100%} .nav__drop-caret{transition: transform .25s var(--ease)} .nav__drop:hover .nav__drop-caret,.nav__drop:focus-within .nav__drop-caret{transform: rotate(180deg)} .nav__drop-menu{position: absolute;top: 100%;left: 50%;transform: translateX(-50%) translateY(6px);min-width: 176px;padding: 10px;margin-top: 10px;background: var(--cream-50,#FBF7F1);border: 1px solid var(--line,#e4ded4);border-radius: 14px;box-shadow: 0 18px 44px rgba(29,51,41,.14);opacity: 0;visibility: hidden;transition: opacity .22s var(--ease),transform .22s var(--ease),visibility 0s linear .22s;z-index: 60} .nav__drop-menu::before{content: "";position: absolute;top: -12px;left: 0;right: 0;height: 12px} .nav__drop:hover .nav__drop-menu,.nav__drop:focus-within .nav__drop-menu{opacity: 1;visibility: visible;transform: translateX(-50%) translateY(0);transition-delay: 0s} .nav__links .nav__drop-menu a{display: block;padding: 9px 12px;border-radius: 9px;font-size: 0.95rem} .nav__links .nav__drop-menu a::after{display: none} .nav__links .nav__drop-menu a:hover{background: var(--green-100,#e6efe9);color: var(--green)} .mobile-menu__group{display: block;font-family: var(--mono,monospace);font-size: .75rem;font-weight: 700;letter-spacing: .16em;text-transform: uppercase;color: var(--muted,#6b7972);padding: 18px 0 4px} .mobile-menu a.mobile-menu__sub{padding-left: 18px;font-size: 1.4rem} .nav__links a.is-active{color: var(--green)} .nav__links a.is-active::after{width: 100%} .post-hero{padding: clamp(48px,6vw,84px) 0 clamp(28px,4vw,44px)} .post-hero__inner{max-width: 860px} .post-hero .breadcrumb{color: var(--muted)} .post-hero .breadcrumb a{color: var(--green)} .post-hero .breadcrumb a:hover{color: var(--green-800)} .post-hero .breadcrumb span{color: var(--ink-soft)} .post-hero__meta{display: flex;align-items: center;gap: 14px;flex-wrap: wrap;margin-top: 26px} .post-hero__title{font-size: clamp(2.2rem,5vw,3.8rem);line-height: 1.05;margin-top: 18px} .post-hero__byline{display: flex;align-items: center;gap: 14px;margin-top: 28px} .post-hero__byline img{width: 52px;height: 52px;border-radius: 50%;object-fit: cover} .post-hero__byline > div{display: flex;flex-direction: column;gap: 2px} .post-hero__author{font-weight: 600;color: var(--green-900)} .post-hero__role{font-size: .85rem;color: var(--muted)} .post-figure{max-width: 1000px} .post-figure figure{margin: 0;border-radius: var(--radius);overflow: hidden;box-shadow: 0 30px 60px -40px rgba(29,51,41,.5)} .post-figure img{width: 100%;height: auto} .post-body{max-width: 760px;padding-block: clamp(36px,5vw,60px);font-size: 1.08rem} .post-body > * + *{margin-top: 1.25em} .post-body h2{font-size: clamp(1.5rem,2.6vw,2rem);margin-top: 1.8em} .post-body h3{margin-top: 1.6em} .post-body a{color: var(--green);font-weight: 600;border-bottom: 2px solid rgba(224,122,95,.4);transition: border-color .25s} .post-body a:hover{border-color: var(--terracotta)} .post-body ul,.post-body ol{padding-left: 1.3em;display: flex;flex-direction: column;gap: .6em} .post-body li::marker{color: var(--terracotta);font-weight: 700} .post-body blockquote{font-family: var(--serif);font-style: italic;font-size: 1.3rem;line-height: 1.45;color: var(--green-900);border-left: 3px solid var(--terracotta);padding: .4em 0 .4em 1.2em;margin-left: 0} .post-body img{border-radius: 14px} .post-body figcaption{font-family: var(--mono);font-size: 12px;color: var(--muted);margin-top: 10px} .post-foot{max-width: 760px;padding-bottom: clamp(20px,3vw,36px)} .post-foot__tags{display: flex;align-items: center;gap: 10px;flex-wrap: wrap;padding-bottom: 28px;border-bottom: 1px solid var(--line)} .post-nav{display: grid;grid-template-columns: 1fr 1fr;gap: 18px;margin-top: 28px} .post-nav__link{display: flex;flex-direction: column;gap: 8px;padding: 20px 22px;border: 1px solid var(--line);border-radius: 16px;background: var(--paper);transition: border-color .25s,transform .3s var(--ease)} .post-nav__link:hover{border-color: var(--green);transform: translateY(-2px)} .post-nav__link--next{text-align: right;align-items: flex-end} .post-nav__k{font-family: var(--mono);font-size: 11.5px;letter-spacing: .12em;text-transform: uppercase;color: var(--muted)} .post-nav__t{font-family: var(--serif);font-size: 1.08rem;line-height: 1.25;color: var(--green-900)} @media (max-width: 640px){.post-nav{grid-template-columns: 1fr} .post-nav__link--next{text-align: left;align-items: flex-start} } .sharedaddy .sd-content ul{display: flex !important;flex-direction: row !important;flex-wrap: wrap;align-items: center;gap: 10px;margin: 0 !important;padding: 0 !important;list-style: none} .sharedaddy .sd-content ul li{display: inline-flex !important;margin: 0 !important;float: none !important} .sharedaddy .sd-content .sd-button,.sharedaddy .sd-content .sd-button:visited{background: transparent !important;background-image: none !important;border: 1px solid var(--line) !important;border-radius: 999px !important;box-shadow: none !important;color: var(--muted) !important;text-shadow: none !important;font-family: var(--sans,inherit) !important} .sharedaddy .sd-content .sd-button::before{color: var(--muted) !important} .sharedaddy .sd-content .sd-button:hover,.sharedaddy .sd-content .sd-button:hover::before{color: var(--green) !important;border-color: var(--green) !important} .sharedaddy .sd-title{font-family: var(--mono) !important;font-size: 12px !important;letter-spacing: .12em;text-transform: uppercase;color: var(--muted) !important} .sharedaddy .sd-title::before{display: none !important} .yt-facade{position: relative;display: block;width: 100%;aspect-ratio: 16 / 9;padding: 0;border: 0;border-radius: var(--radius);overflow: hidden;background: var(--green-900);cursor: pointer} .yt-facade img{width: 100%;height: 100%;object-fit: cover;opacity: .95;transition: transform .5s var(--ease),opacity .3s} .yt-facade:hover img{transform: scale(1.045);opacity: 1} .yt-facade__play{position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);width: 58px;height: 58px;border-radius: 50%;background: var(--terracotta);color: #fff;display: grid;place-items: center;box-shadow: 0 10px 30px rgba(29,51,41,.35);transition: background .25s,transform .35s var(--ease)} .yt-facade:hover .yt-facade__play{background: var(--terracotta-600);transform: translate(-50%,-50%) scale(1.08)} .yt-facade__play svg{width: 20px;height: 20px;margin-left: 3px} .yt-embed{width: 100%;aspect-ratio: 16 / 9;border-radius: var(--radius);overflow: hidden;background: #000} .yt-embed iframe{width: 100%;height: 100%;border: 0;display: block} .svc-video{display: block} .svc-video figcaption,.approach-video figcaption,.roots-video figcaption,.roots-photo figcaption,.booking-video figcaption{font-family: var(--mono);font-size: 11px;letter-spacing: .12em;text-transform: uppercase;color: var(--muted);margin-top: 12px} .svc-item__detail:has(.svc-video){grid-template-columns: 1.05fr 1fr} .svc-item__detail:has(.svc-video) .svc-video{grid-column: 2;grid-row: 1 / span 2} @media (max-width: 760px){.svc-item__detail:has(.svc-video){grid-template-columns: 1fr} .svc-item__detail:has(.svc-video) .svc-video{grid-column: 1;grid-row: auto} } .approach__intro{position: sticky;top: 110px} .approach-video{margin-top: clamp(32px,4vw,48px)} @media (max-width: 880px){.approach__intro{position: static} } .roots-video,.roots-photo{margin-block: clamp(28px,4vw,40px) 0} .photo-slot{display: grid;place-items: center;text-align: center;height: 380px;border-radius: var(--radius);border: 1.5px dashed var(--line);background: repeating-linear-gradient(45deg,var(--cream-100) 0 14px,var(--cream-50) 14px 28px);font-family: var(--mono);font-size: 12px;letter-spacing: .08em;text-transform: uppercase;color: var(--muted);padding: 20px;line-height: 1.8} .booking-video{margin-top: 34px;padding-top: 28px;border-top: 1px solid var(--line)} .booking__card{align-self: stretch;display: flex;flex-direction: column} .booking__embed{height: auto;flex: 1;min-height: clamp(640px,80vh,880px)} .roots-facts{border-block: 1px solid var(--line)} .roots-facts__grid{display: grid;grid-template-columns: repeat(4,1fr)} .roots-fact{padding: clamp(22px,3vw,36px) clamp(18px,2.5vw,30px);border-left: 1px solid var(--line)} .roots-fact:first-child{border-left: 0;padding-left: 0} .roots-fact .k{font-family: var(--mono);font-size: 11px;font-weight: 700;letter-spacing: .14em;text-transform: uppercase;color: var(--accent);display: block;margin-bottom: 10px} .roots-fact .v{font-family: var(--serif);font-size: clamp(1.15rem,1.8vw,1.4rem);color: var(--green-900);line-height: 1.25;display: block} .roots-fact .s{display: block;margin-top: 6px;color: var(--muted);font-size: .92rem;line-height: 1.45} a.roots-fact{transition: background .25s} a.roots-fact:hover{background: var(--cream-100)} @media (max-width: 900px){.roots-facts__grid{grid-template-columns: 1fr 1fr} .roots-fact:nth-child(3){border-left: 0;padding-left: 0} .roots-fact:nth-child(n+3){border-top: 1px solid var(--line)} } .chapter{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(36px,5vw,84px);align-items: center} .chapter + .chapter{margin-top: clamp(72px,9vw,130px)} .chapter__body p{color: var(--ink-soft);margin-top: 16px;line-height: 1.65} .chapter__body h2{font-size: clamp(1.7rem,3.2vw,2.5rem);margin-top: 16px} .chapter__media{min-width: 0} .chapter--flip .chapter__media{order: -1} @media (max-width: 880px){.chapter{grid-template-columns: 1fr;gap: 28px} .chapter--flip .chapter__media{order: 0} } .chapter__body a{color: var(--green);font-weight: 600;border-bottom: 2px solid rgba(224,122,95,.4);transition: border-color .25s} .chapter__body a:hover{border-color: var(--terracotta)}