@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#eaece4;--white:#f5f5ed;--forest:#2b392c;--ink:#1f261f;--muted:#5b675d;--acid:#cde76f;--line:#a8b4a3;--deep:#1f2b21}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1380px,calc(100% - 96px));margin:0 auto}.header{border-bottom:1px solid rgba(36,43,36,.18);position:relative;z-index:10;background:var(--paper)}.nav{height:85px;display:flex;justify-content:space-between;align-items:center;gap:30px}.logo{font-size:19px;font-weight:800;letter-spacing:-.07em}.logo span{color:#7d8d70}.links{display:flex;align-items:center;gap:34px}.links a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;transition:opacity .2s}.links a:hover{opacity:.5}.pill{border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:0 27px;font-weight:700;font-size:13px;border:1px solid var(--forest);transition:transform .25s,background .25s}.pill:hover{transform:translateY(-2px)}.pill.dark{color:#fff;background:var(--forest)}.pill.light{color:var(--forest);background:rgba(255,255,255,.34)}.pill.acid{background:var(--acid);border-color:var(--acid);color:var(--ink)}.menu{display:none;background:transparent;border:0;font-size:25px}.hero{min-height:725px;display:grid;grid-template-columns:1.18fr .82fr;align-items:end;gap:0;position:relative}.hero-copy{padding:86px 0 95px;position:relative;z-index:2}.eyebrow{display:flex;gap:10px;align-items:center;font-weight:800;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--forest)}.dot{height:8px;width:8px;border-radius:50%;background:#98b74a;display:inline-block}.hero h1{font-size:clamp(53px,6.8vw,111px);line-height:1.02;letter-spacing:-.088em;max-width:930px;margin:28px 0 28px;font-weight:800}.hero h1 em{font-style:normal;color:#71836a}.hero p{font-size:17px;line-height:1.75;max-width:570px;color:#4a584d}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;align-items:center}.hero-actions .pill{min-width:232px;justify-content:center}.hero-photo{height:690px;display:flex;align-items:end;justify-content:center;position:relative;overflow:hidden}.hero-photo:before{content:"";position:absolute;border-radius:50%;width:560px;height:560px;bottom:0;background:#d4dece;transform:translateY(28%)}.hero-photo:after{content:"";position:absolute;width:100%;height:2px;bottom:0;background:var(--forest);opacity:.25}.hero-photo img{position:relative;z-index:1;width:min(100%,540px);height:100%;object-fit:contain;object-position:bottom;filter:saturate(.72)}.hero-vertical{position:absolute;right:0;top:26px;font-size:11px;letter-spacing:.16em;writing-mode:vertical-rl;color:var(--muted)}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:27px 0}.stat{display:flex;align-items:baseline;gap:19px}.stat strong{font-size:clamp(29px,3.4vw,52px);letter-spacing:-.08em}.stat span{font-size:12px;color:var(--muted);font-weight:700}.section{padding:116px 0}.section-tag{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--forest);font-weight:800;margin-bottom:26px}.section-heading{font-size:clamp(38px,5.3vw,78px);letter-spacing:-.078em;line-height:1.12;margin:0;font-weight:800}.section-intro{font-size:18px;max-width:570px;line-height:1.75;color:#5c685e}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-top .section-intro{max-width:400px;margin:0}.dark-section{background:var(--deep);color:#f3f5ef}.dark-section .section-tag{color:#dcecab}.dark-section .section-heading,.dark-section .section-heading span{color:#f3f5ef}.dark-section .section-intro{color:#d8e0d6}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px}.principle{border:1px solid rgba(236,244,225,.24);background:rgba(255,255,255,.06);border-radius:22px;padding:31px;min-height:294px;display:flex;flex-direction:column;justify-content:space-between;backdrop-filter:blur(2px)}.principle .n{font-size:12px;color:#dcecab}.principle h3{font-size:26px;line-height:1.2;letter-spacing:-.055em;margin:0 0 13px}.principle p{font-size:13px;line-height:1.72;color:#d7ded5;margin:0}.work-list{border-top:1px solid var(--line)}.work-item{display:grid;grid-template-columns:65px 1fr 1fr 40px;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:38px 4px;transition:padding .3s,background .3s}.work-item:hover{padding-left:16px;background:rgba(212,237,128,.13)}.work-item .num{font-size:12px;color:var(--muted)}.work-item h3{font-size:clamp(25px,3vw,45px);letter-spacing:-.063em;line-height:1.13;margin:0}.work-item p{font-size:14px;line-height:1.7;color:#5d685e;max-width:460px}.arrow{height:36px;width:36px;border:1px solid var(--forest);border-radius:50%;display:grid;place-items:center}.journey{display:grid;grid-template-columns:1.05fr .95fr;gap:80px}.journey-lead{position:sticky;top:50px;align-self:start}.journey-lead .section-heading span{color:#829173}.journey-lead .section-intro{margin:28px 0}.timeline{border-top:1px solid var(--line)}.time-step{padding:35px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:20px}.number{font-size:14px;font-weight:800;color:#829173}.time-step h3{font-size:25px;letter-spacing:-.05em;margin:0 0 13px}.time-step p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:45px}.service{padding:34px;border:1px solid var(--line);border-radius:20px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}.service small{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.service h3{font-size:30px;line-height:1.18;letter-spacing:-.06em;margin:0 0 14px}.service p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.service.feature{background:var(--acid);border-color:var(--acid)}.service.feature p,.service.feature small{color:#4a593c}.steps{border-top:1px solid rgba(220,236,171,.35)}.step{padding:28px 0;border-bottom:1px solid rgba(220,236,171,.35);display:grid;grid-template-columns:130px 1fr 1fr;gap:40px}.step span{color:#dcecab;font-size:14px;font-weight:700}.step h3{font-size:30px;letter-spacing:-.06em;line-height:1.25;margin:0}.step p{color:#e1e8df;line-height:1.72;font-size:14px;margin:0}.statement{background:var(--acid);padding:108px 0}.statement h2{font-size:clamp(44px,6vw,94px);letter-spacing:-.08em;line-height:1.06;max-width:1100px;margin:0}.statement p{max-width:650px;margin:38px 0 0;font-size:17px;line-height:1.8}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:end}.contact-note{background:#dfe5d9;border-radius:20px;padding:30px}.contact-note h3{margin:0 0 16px;font-size:23px}.contact-note p{font-size:14px;line-height:1.8;color:#516051}.footer{padding:30px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#687568}.page-hero{padding:105px 0 90px}.page-hero h1{font-size:clamp(52px,8vw,112px);line-height:1.05;letter-spacing:-.09em;margin:15px 0 24px;max-width:1150px}.page-hero p{max-width:670px;font-size:19px;line-height:1.7;color:var(--muted)}.article{max-width:850px;margin:0 auto;padding:30px 0 120px}.article h2{font-size:35px;letter-spacing:-.06em;margin:50px 0 14px}.article p,.article li{line-height:1.9;color:#536052;font-size:16px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:120px}.case-card{border-radius:22px;background:#dce3d7;min-height:400px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}.case-card:nth-child(2){background:var(--forest);color:white}.case-card:nth-child(2) p{color:#d1ded0}.case-card:nth-child(3){background:#d9e8b5}.case-card small{text-transform:uppercase;letter-spacing:.14em;font-size:11px}.case-card h2{font-size:37px;line-height:1.14;letter-spacing:-.07em}.case-card p{line-height:1.65;font-size:14px;color:#596659}.notice{border-left:3px solid #829173;padding:15px 20px;color:var(--muted);font-size:14px;background:#dfe5d9}.mobile-cta{display:none}@media(max-width:1000px){.wrap{width:min(100% - 48px,1200px)}.hero{grid-template-columns:1fr 0.75fr;min-height:620px}.hero h1{font-size:clamp(50px,7vw,83px)}.hero-photo{height:600px}.hero-copy{padding:70px 0}.journey{gap:45px}.case-grid{grid-template-columns:1fr 1fr}.case-card:last-child{grid-column:1/-1}}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.nav{height:72px}.links{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:24px;box-shadow:0 20px 30px #2535271b;flex-direction:column;align-items:start}.links.open{display:flex}.menu{display:block}.header .pill{display:none}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:61px 0 18px}.hero h1{font-size:clamp(48px,13vw,77px);margin:25px 0}.hero p{font-size:15px}.hero-photo{height:480px;width:100%;margin-top:15px}.hero-photo:before{height:390px;width:390px}.hero-photo img{height:100%;max-width:385px}.hero-vertical{display:none}.hero-actions{gap:8px}.pill{font-size:12px;min-height:50px;padding:0 21px}.stats{grid-template-columns:1fr;gap:13px}.stat{justify-content:space-between}.section{padding:76px 0}.section-top{display:block}.section-top .section-intro{margin-top:24px}.section-heading{font-size:clamp(38px,10vw,60px)}.principles,.services,.case-grid{grid-template-columns:1fr}.principle{min-height:240px}.work-item{grid-template-columns:30px 1fr 36px;gap:12px;padding:27px 0}.work-item p{grid-column:2/3;margin:0}.work-item .arrow{grid-column:3;grid-row:1}.work-item h3{font-size:28px}.journey{display:block}.journey-lead{position:static;margin-bottom:40px}.time-step{padding:25px 0}.step{grid-template-columns:45px 1fr;gap:20px}.step p{grid-column:2}.step h3{font-size:23px}.statement{padding:80px 0}.statement h2{font-size:49px}.contact{display:block}.contact-note{margin-top:34px}.footer{flex-direction:column}.case-card:last-child{grid-column:auto}.page-hero{padding:75px 0 55px}.page-hero h1{font-size:56px}.case-grid{padding-bottom:80px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pill,.work-item{transition:none}}

.hero h1 .keep{white-space:nowrap;color:#71836a}
.section-heading{text-wrap:balance}
.hero h1{text-wrap:balance}

/* Readability and editorial refinements */
.section-top .section-intro{font-size:15px;line-height:1.72;max-width:355px;color:inherit;opacity:.85}
.dark-section .section-top .section-intro{color:#e0e8de;opacity:1}
.dark-section .section-heading{color:#f3f5ef}
.dark-section .section-heading span{color:var(--acid)}
.dark-section .principle h3,.dark-section .step h3{color:#f6f7f1}
.statement h2 .no-wrap{white-space:nowrap}
.case-card{transition:transform .25s ease,box-shadow .25s ease}
.case-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px #1c2c1d19}
.article .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0}
.metric{background:#dfe7d8;border:1px solid #c2cfc0;border-radius:16px;padding:21px}
.metric strong{display:block;font-size:clamp(23px,2.7vw,37px);letter-spacing:-.065em;color:#283829;line-height:1.1}
.metric span{display:block;margin-top:10px;font-size:12px;line-height:1.5;color:#526455}
.article .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 32px}
.detail{padding:18px;background:#dfe5d9;border-radius:12px}
.detail strong{display:block;font-size:12px;margin-bottom:6px;color:#536657}
.detail span{font-size:15px}
.breadcrumb{font-size:12px;padding-top:24px;color:#5b6d5e}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.article a.inline-link{color:#2a512d;text-decoration:underline;text-underline-offset:4px}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:21px}
.contact-actions .pill{min-width:195px}
.home-case-note{margin-top:8px;color:var(--muted);font-size:13px}
@media(max-width:700px){.article .metrics{grid-template-columns:1fr 1fr}.article .detail-grid{grid-template-columns:1fr}.contact-actions .pill{width:100%}.section-top .section-intro{max-width:100%}.statement h2 .no-wrap{white-space:normal}}
@media(max-width:400px){.article .metrics{grid-template-columns:1fr}.hero h1{font-size:clamp(40px,11vw,56px)}}

/* Internal pages — SEO landing and case editorial system */
.article--service{max-width:1050px}
.service-block{margin:0 0 72px}
.service-block .section-tag{margin-bottom:14px}
.service-block>h2,.about-added h2{font-size:clamp(32px,3.4vw,49px);letter-spacing:-.065em;line-height:1.14;margin:15px 0 28px}
.service-block>p,.about-added>p{font-size:17px;line-height:1.86;max-width:780px;color:#445649}
.service-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.service-use{border:1px solid #b7c6b1;background:#e0e7da;border-radius:19px;padding:24px;min-height:218px}
.service-use h3{font-size:22px;line-height:1.2;letter-spacing:-.04em;margin:0 0 14px}
.service-use p{font-size:14px;line-height:1.75;color:#506354;margin:0}
.service-callout{margin:28px 0 0;padding:25px;border-left:4px solid #657e58;background:#dde5d5}
.service-callout strong{font-size:19px;letter-spacing:-.02em}.service-callout p{margin:9px 0 0;font-size:14px;line-height:1.7}
.related-list{list-style:none;padding:0;margin:15px 0 30px;border-top:1px solid var(--line)}
.related-list li{border-bottom:1px solid var(--line);padding:16px 0;margin:0}
.faq-item{border-top:1px solid var(--line);padding:20px 0}.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;font-size:19px;font-weight:700;letter-spacing:-.03em;list-style-position:inside}
.faq-item p{font-size:15px;margin:12px 0 0;padding-left:20px}
.service-bottom-cta{background:#d9e5c8;border-radius:24px;padding:36px;margin:30px 0 45px}
.service-bottom-cta h2{margin:0 0 12px;font-size:36px;letter-spacing:-.055em}
.service-bottom-cta p{max-width:640px;margin:0 0 25px;font-size:15px;line-height:1.75}
.service-bottom-cta .pill{margin:0 9px 10px 0}
.about-added{padding-top:25px;padding-bottom:115px}.about-added>h2{margin-top:53px}
.case-related{padding-top:34px;border-top:1px solid var(--line)}
.case-related .pill{margin-top:14px}
@media(max-width:750px){.service-use-grid{grid-template-columns:1fr}.service-use{min-height:0}.article--service{padding-top:0}.service-bottom-cta{padding:24px}.service-bottom-cta .pill{width:100%}.service-block{margin-bottom:52px}}

/* Case study: results and comparison table */
.case-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:27px 0 35px}
.case-metrics>div{border:1px solid #b1c1aa;background:#e2e9dc;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:5px}
.case-metrics strong{font-size:clamp(30px,4.1vw,52px);letter-spacing:-.07em;color:#283a2d;line-height:1.1}
.case-metrics span{color:#526454;font-size:13px;line-height:1.5}
.case-facts{border-left:3px solid #708e57;padding:8px 0 8px 20px;background:#e2e9dc;margin:22px 0}
.case-facts p{font-size:15px!important;margin:7px 15px!important}
.case-data-table{overflow-x:auto;margin:25px 0}
.case-data-table table{width:100%;border-collapse:collapse;min-width:560px;font-size:14px}
.case-data-table th,.case-data-table td{padding:14px 12px;border-bottom:1px solid #b8c7b3;text-align:left}
.case-data-table th{background:#d4e4cd;color:#253727}
.case-card h2{overflow-wrap:break-word;hyphens:auto}
@media(max-width:600px){.case-metrics{grid-template-columns:1fr}}

/* Brand system — symbol + personal name */
.logo{display:inline-flex;flex:none;align-items:center;gap:10px;min-width:0;max-width:270px;letter-spacing:normal;text-decoration:none;white-space:nowrap}
.logo .logo-symbol{display:block;width:46px;height:46px;flex:0 0 auto}
.logo .logo-words{display:flex;flex-direction:column;gap:2px;line-height:1.15}
.logo .logo-words strong{font-size:15px;font-weight:800;letter-spacing:-.045em;color:#26382C}
.logo .logo-words small{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.085em;color:#667461}
@media(max-width:1150px){.nav{gap:14px}.links{gap:16px}.logo .logo-words strong{font-size:13px}.logo .logo-symbol{width:40px;height:40px}.nav>.pill{padding:0 16px;min-height:46px}}
@media(max-width:700px){.logo .logo-symbol{width:40px;height:40px}.logo .logo-words strong{font-size:13px}.logo .logo-words small{font-size:8px}}
@media(max-width:370px){.logo{gap:7px}.logo .logo-words strong{font-size:12px}.logo .logo-words small{letter-spacing:.04em}}

/* Consistent vector arrows instead of emoji glyphs across mobile platforms */
.site-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex:none;stroke:currentColor;transform:none}a .site-arrow,button .site-arrow{margin-left:.18em}a:hover .site-arrow{transform:translate(1px,-1px)}@media(prefers-reduced-motion:no-preference){.site-arrow{transition:transform .18s ease}}
