:root{--ink:#233e34;--muted:#59665e;--paper:#f8f7f0;--line:#d9ded2;--yellow:#f2c957;--green:#244f3e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:16px;line-height:1.95}a{color:inherit;text-underline-offset:5px}a:hover{color:#68733b}a:focus-visible,summary:focus-visible{outline:3px solid #9b5e00;outline-offset:5px;border-radius:3px}.skip{position:fixed;top:-80px;left:16px;background:white;padding:10px 20px;z-index:20}.skip:focus{top:12px}.header{max-width:1440px;margin:auto;padding:22px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:25px;text-decoration:none;letter-spacing:.07em;line-height:1.35}.brand small{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:4px}.brand-mark{background:var(--green);border-radius:50%;width:43px;height:43px;color:var(--yellow);display:grid;place-items:center;font-size:23px;transform:rotate(-8deg)}nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:bold}nav a{text-decoration:none}.nav-contact{border:1px solid var(--green);border-radius:5px;padding:11px 17px}.hero{background:#edf0e5;border-block:1px solid #dfe3d6}.hero-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:.9fr 1.25fr;align-items:center;gap:4%;padding:64px 5% 54px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;margin:0 0 18px;color:#536a50}h1,h2,h3,p,figure{margin-top:0}h1{font-size:clamp(38px,4vw,58px);line-height:1.48;letter-spacing:.045em;margin-bottom:22px}h2{font-size:clamp(26px,2.7vw,36px);line-height:1.6;letter-spacing:.035em;margin-bottom:26px}h3{font-size:22px;line-height:1.6;margin:10px 0 16px}.lead{font-size:15px;line-height:2.15;margin-bottom:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:15px 24px;border-radius:5px;text-decoration:none;font-weight:bold;font-size:14px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:white}.primary:hover{color:white;background:#34634f}.text-link{display:inline-block;font-size:12px;margin-left:18px}.hero-art{margin:0;transform:rotate(-2deg)}.hero-art img{display:block;width:100%;height:auto;box-shadow:0 18px 35px #173b2c24;border-radius:3px}.hero-art figcaption{text-align:center;font-size:12px;margin-top:23px;letter-spacing:.08em}.hero-bottom{border-top:1px solid #d4dccb;max-width:1296px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:11px;letter-spacing:.06em}.section{max-width:1160px;margin:auto;padding:90px 36px}.intro{text-align:center}.concerns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0}.concerns p{font-weight:bold;padding:20px 12px;border-left:1px solid var(--line);margin:0;font-size:17px}.concerns p:first-child{border:0}.concerns span{display:block;color:#788264;font-size:12px;letter-spacing:.1em;margin-bottom:10px}.intro-note{color:var(--muted);font-size:14px;margin-bottom:0}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:30px}.section-title h2{margin-bottom:0}.section-title>p{font-size:14px;color:var(--muted);margin:0}.services{padding-top:35px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service{background:#fffef9;border:1px solid var(--line);border-radius:8px;padding:32px 36px}.service-no{font-size:11px;color:#647657;letter-spacing:.15em;font-weight:800}.service p,.service li{font-size:14px}.service ul{list-style:none;padding:0;margin:20px 0 0}.service li{padding-left:20px;position:relative;margin:5px 0}.service li:before{content:'✓';position:absolute;left:0;color:#657842}.service .small{font-size:12px;color:var(--muted);line-height:1.9;margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--line)}.service-wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-wide p{margin:0}.service-wide ul{align-self:center}.flow-section{background:#e9eddf}.steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:40px 0 24px;list-style:none;gap:28px}.steps li{border-top:2px solid #a4b293;padding-top:20px}.steps span{font-size:11px;letter-spacing:.15em;font-weight:bold;color:#61724e}.steps h3{font-size:19px;margin:10px 0}.steps p{font-size:13px;line-height:2}.flow-note{font-size:12px;border-top:1px solid #ced6c4;padding-top:22px;margin:0}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.about-message{color:#617256;font-size:17px;margin-top:42px}.about-body p{font-size:14px}.about-body .person{font-size:28px;font-weight:bold;letter-spacing:.12em;margin-bottom:24px}.person small{display:block;font-size:11px;letter-spacing:.04em;font-weight:normal;margin-bottom:7px}.overview{margin-top:28px;font-size:12px}.overview>div{display:grid;grid-template-columns:85px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}dt{font-weight:bold}dd{margin:0}.note-link{display:flex;justify-content:space-between;font-size:13px;padding:18px 0;border-block:1px solid var(--line);text-decoration:none}.faq{padding-top:5px;padding-bottom:90px;max-width:920px}.faq h2{margin-bottom:30px}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:14px;font-weight:bold;line-height:1.8;padding-right:15px}details p{font-size:14px;color:var(--muted);padding:20px 15px 0;margin-bottom:0}.contact{background:#203d32;color:#fffdf0;text-align:center;border-top:8px solid #ae7a40;padding:66px 24px}.contact .eyebrow{color:#e9cd78}.contact h2{font-size:34px}.contact p{font-size:14px}.yellow{background:var(--yellow);color:#263e30;margin-top:13px}.yellow:hover{background:#ffda72;color:#263e30}.contact .contact-caption{font-size:11px;color:#d7dfd1;margin:14px 0 0}footer{max-width:1296px;padding:30px 24px;margin:auto;display:flex;gap:30px;align-items:center;font-size:12px}footer a{text-decoration:none}.footer-brand{font-weight:800;font-size:17px}footer small{margin-left:auto}.mobile-break{display:none}@media(min-width:1600px){.hero-inner{padding-block:90px}}@media(max-width:1000px){nav{gap:14px;font-size:11px}.hero-inner{gap:25px}.hero-bottom{margin-inline:5%}.hero-copy .text-link{display:block;margin:18px 0 0}.about{gap:35px}.steps{gap:20px}}@media(max-width:720px){html{scroll-padding-top:18px}.header{padding:18px 22px;display:block}.brand{font-size:23px}nav{margin-top:20px;justify-content:space-between;gap:9px;flex-wrap:wrap;font-size:11px}.nav-contact{padding:6px 10px}nav a:nth-child(3){display:none}.hero-inner{grid-template-columns:1fr;padding:36px 24px 28px;gap:36px}.hero-art{max-width:600px;transform:rotate(-1deg);margin:0 2px}.hero-art figcaption{font-size:10px;margin-top:14px}h1{font-size:39px;line-height:1.5}h1 br:last-child{display:none}.hero-copy .text-link{display:inline-block;margin-left:16px}.hero-bottom{display:block;padding-block:15px;line-height:1.8;font-size:10px}.hero-bottom span{display:block}.section{padding:58px 24px}.eyebrow{font-size:10px;margin-bottom:12px}.mobile-break{display:block}h2{font-size:25px}.concerns{grid-template-columns:1fr;text-align:left;gap:0;margin-block:24px}.concerns p{border:0;border-top:1px solid var(--line);font-size:15px;display:flex;gap:22px;align-items:center;padding:18px 0}.concerns span{margin:0}.intro-note{font-size:13px;text-align:left}.intro-note br{display:none}.section-title{display:block;margin-bottom:24px}.section-title>p{margin-top:15px;font-size:13px}.service-grid{grid-template-columns:1fr;gap:16px}.service{padding:25px}.service-wide{grid-column:auto;display:block}.service-wide ul{margin-top:20px}.service h3{font-size:21px}.steps{grid-template-columns:1fr 1fr;gap:25px 20px}.steps h3{font-size:17px}.steps p{font-size:12px;margin-bottom:0}.about{display:block}.about-message{margin-top:18px;margin-bottom:32px;font-size:15px}.about-body .person{font-size:25px}.faq{padding-top:0}summary{font-size:13px}.contact{padding:46px 24px}.contact h2{font-size:26px}.contact .button{font-size:13px;gap:18px;padding-inline:18px}footer{flex-wrap:wrap;gap:15px 24px;padding:25px 24px}.footer-brand{font-size:15px}footer small{margin-left:0}footer a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Readability revision: comfortable body text and responsive reading widths. */
body{font-size:19px;line-height:1.9}
.brand small{font-size:14px;letter-spacing:.06em}
nav{font-size:16px;gap:22px;flex-wrap:wrap;justify-content:flex-end}
nav a{padding-block:10px}
.eyebrow,.service-no,.steps span,.concerns span{font-size:14px;letter-spacing:.1em}
.lead{font-size:20px;line-height:1.95}
.button{font-size:18px;line-height:1.65;padding:17px 24px;gap:22px}
.text-link{font-size:17px;margin:20px 0 0;display:block;width:fit-content}
.hero-art figcaption{font-size:16px;letter-spacing:.02em}
.hero-bottom{font-size:15px;flex-wrap:wrap;padding:20px 24px;line-height:1.9}
.concerns p{font-size:20px}
.intro-note,.section-title>p,.service p,.service li,.steps p,.about-body p,summary,details p,.contact p{font-size:19px;line-height:1.9}
.section-title{align-items:flex-start}
.section-title>div{flex:1.15}
.section-title>p{flex:1}
.service{min-width:0;padding:36px}
.service h3{font-size:25px}
.service li{padding-left:26px;margin-block:10px}
.service .small,.flow-note,.person small,.overview,.note-link,.contact .contact-caption,footer{font-size:16px;line-height:1.9}
.service-wide{gap:40px}
.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 44px}
.steps h3{font-size:23px}
.steps p{max-width:29em}
.about-message{font-size:20px}
.overview>div{grid-template-columns:100px minmax(0,1fr);padding-block:16px}
.note-link{gap:20px;flex-wrap:wrap}
.faq{max-width:980px}
summary{padding-block:5px}
details{padding-block:22px}
details p{padding:20px 0 0}
footer{flex-wrap:wrap}
footer small{font-size:15px}
@media(max-width:1100px){
 .header{align-items:flex-start;gap:28px;flex-direction:column}
 nav{justify-content:flex-start;gap:12px 28px;width:100%}
 .hero-inner{grid-template-columns:1fr 1fr}
 .about{gap:36px;grid-template-columns:.85fr 1.15fr}
}
@media(max-width:720px){
 body{font-size:18px}
 .header{padding:20px 24px;display:block}
 .header > nav{display:none}
 .brand small{font-size:13px}
 nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;font-size:16px;margin-top:22px;align-items:center}
 nav a:nth-child(3){display:block}
 .nav-contact{padding:10px 12px;text-align:center}
 .hero-inner{grid-template-columns:1fr;gap:30px}
 .hero-inner > .hero-art{order:-1}
 .lead{font-size:18px}
 .lead br{display:none}
 .hero-copy .text-link{display:block;margin:20px 0 0;font-size:17px}
 .hero-art figcaption{font-size:15px;line-height:1.8}
 .hero-bottom{font-size:15px;padding-inline:5px}
 h1{font-size:clamp(32px,8.6vw,39px);letter-spacing:.01em}
 h2{font-size:27px}
 .eyebrow,.service-no,.steps span,.concerns span{font-size:14px}
 .section{padding:60px 24px}
 .intro-note,.section-title>p,.service p,.service li,.steps p,.about-body p,summary,details p,.contact p{font-size:18px;line-height:1.9}
 .concerns p{font-size:18px;gap:18px;padding-block:22px}
 .concerns p br{display:none}
 .service{padding:27px 24px}
 .service h3{font-size:23px}
 .service .small,.flow-note,.person small,.overview,.note-link,.contact .contact-caption,footer{font-size:16px}
 .steps{grid-template-columns:1fr;gap:26px;margin-top:32px}
 .steps h3{font-size:22px}
 .about{display:block}
 .about-message{font-size:19px}
 .overview>div{grid-template-columns:1fr;gap:4px}
 .faq{padding-top:0}
 .contact .button{font-size:18px;padding:16px;gap:10px;text-align:left}
 .contact h2{font-size:27px}
 footer{gap:20px}
 footer a:last-child{margin-left:0}
}
@media(max-width:360px){
 .header,.section{padding-inline:20px}
 .hero-inner{padding-inline:20px}
 nav{font-size:15px;gap:10px}
 .service{padding:24px 20px}
 .contact{padding-inline:20px}
}
.ai-message{font-weight:700;color:var(--green)}
@media(max-width:720px){.intro h2{font-size:25px;text-wrap:balance}.intro h2 .mobile-break{display:none}}
.career{margin-top:32px;padding-top:26px;border-top:1px solid var(--line)}
.career h3{font-size:24px;margin:0 0 18px}
.career ul{padding-left:1.2em;margin:0}
.career li{font-size:19px;line-height:1.9;margin-block:14px;overflow-wrap:break-word}
.career li::marker{color:var(--green)}
@media(max-width:720px){.career li{font-size:18px}.career h3{font-size:23px}}
/* Only the two introduction paragraphs; retain the name and career typography. */
.about-body > p:not(.person){font-size:16px}
@media(max-width:720px){.about-body > p:not(.person){font-size:16px}}
/* Profile text below the name, through the career list. */
.about-body > p:not(.person),.about-body .career h3,.about-body .career li{font-size:16px}
/* Business visual direction: navy, slate, and restrained green. */
:root{--ink:#243b4e;--muted:#586977;--paper:#f8fafb;--line:#d8e1e7;--green:#294e62;--yellow:#dcebe5}
body{background:var(--paper)}
.brand-mark{border-radius:8px;transform:none;color:#fff;background:#294e62}
.header{background:#fff}
.hero{background:#eef3f6;border-color:#dce4ea}
.hero-art{transform:none}
.hero-art img{box-shadow:none;border-radius:10px;border:1px solid #d6e0e7}
.hero-art figcaption{color:var(--muted)}
.hero-bottom{border-color:#d4dfe6}
.eyebrow,.service-no,.steps span,.concerns span{color:#557266}
.service-grid{gap:28px}
.service{background:#fff;border-color:#d8e1e7;border-radius:10px;overflow:hidden}
.service-visual{margin:-36px -36px 28px;background:#edf2f5;border-bottom:1px solid #e2e9ed}
.service-visual img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain}
.service-wide{display:block}
.service-wide .service-visual img{max-height:290px}
.service-wide>div:not(.service-visual){max-width:46em}
.service-wide ul{margin-top:20px}
.service li:before{color:#528475}
.flow-section{background:#eaf0f4}
.steps li{border-color:#a7bbc8}
.flow-note{border-color:#cbd9e1}
.about-message{color:#526e65}
.contact{background:#243f53;border-top:1px solid #243f53}
.contact .eyebrow{color:#bdd8ce}
.yellow{background:#e2eee8;color:#243f53}
.yellow:hover{background:#cddfd6;color:#243f53}
.primary:hover{background:#386079}
@media(max-width:720px){.service-visual{margin:-27px -24px 24px}.service-visual img{max-height:none}.service-wide .service-visual img{max-height:none}.service-grid{gap:24px}.hero-art{transform:none}}
@media(max-width:360px){.service-visual{margin:-24px -20px 24px}}
/* Lower-page glare reduction; header and hero keep their existing backgrounds. */
:root{--paper:#d5dfe5;--line:#b4c3cd}
.service{background:#e6ecef;border-color:#b8c7d1}
.service-visual{background:#e2e9ee;border-color:#c3d0d9}
.flow-section{background:#cbd8e0}
.steps li{border-color:#8ba4b4}
.flow-note{border-color:#a8bcc9}
.intro .eyebrow,.concerns span{color:#405d53}
.intro-note,.section-title>p,.service .small,.flow-note,details p{color:#435a6b}
.brand-mark{background:transparent;flex-shrink:0}
.brand-mark img{display:block;width:43px;height:43px}
.step-visual{display:block;width:100%;height:180px;object-fit:contain;margin:0 0 24px}
@media(max-width:720px){.step-visual{height:auto;max-height:180px;margin-bottom:20px}}
/* Restore the original forest greens while retaining subdued backgrounds. */
:root{--ink:#233e34;--muted:#4c6054;--paper:#d8e0d5;--line:#b7c5b3;--green:#244f3e;--yellow:#e4c875}
.header{background:#e7ece2}
.hero{background:#e0e7da;border-color:#c2cebc}
.hero-art img{border-color:#c2cebc}
.hero-bottom{border-color:#bdcbb7}
.eyebrow,.service-no,.steps span,.concerns span,.intro .eyebrow{color:#425e48}
.service{background:#e5eade;border-color:#b9c8b2}
.service-visual{background:#dce5d7;border-color:#c0ceb9}
.service li:before{color:#4e7459}
.flow-section{background:#cfdac8}
.steps li{border-color:#91a88a}
.flow-note{border-color:#adbea5}
.about-message{color:#46654e}
.intro-note,.section-title>p,.service .small,.flow-note,details p{color:#435a49}
.contact{background:#203d32;border-top-color:#203d32}
.contact .eyebrow{color:#dfce95}
.yellow{background:#e4c875;color:#233e34}
.yellow:hover{background:#d8bb67;color:#233e34}
.primary:hover{background:#34634f}
/* Original warm-neutral surfaces and forest-green contrast, with content panels. */
:root{--paper:#dedfd6;--line:#bfc6b7;--muted:#4c6054}
.header{background:#ecece3}
.hero{background:#e7eadf;border-color:#ccd2c2}
.hero-art img{border:0;border-radius:3px;box-shadow:0 12px 28px #233e3418}
.hero-bottom{border-color:#c6cebe}
.concerns{gap:22px;align-items:stretch}
.concerns p,.concerns p:first-child{background:#eeede4;border:1px solid #bfc6b7;border-top:4px solid #6c8461;border-radius:8px;padding:28px 20px;box-shadow:0 5px 14px #233e3409}
.concerns span{font-size:14px;margin-bottom:14px}
.intro-note{background:#eae9df;border:1px solid #c1c8b8;border-radius:8px;padding:24px 30px;max-width:840px;margin:28px auto 0}
.section-title>p{background:#eae9df;border:1px solid #c1c8b8;border-radius:8px;padding:20px 24px}
.service{background:#efeee5;border:1px solid #b7c1ad;box-shadow:0 7px 20px #233e3410}
.service-visual{background:#dce5d7;border-bottom:1px solid #bac9b1}
.flow-section{background:#d3dccb}
.steps{gap:28px}
.steps li{padding:26px 28px 28px;background:#eeede4;border:1px solid #b5c2ab;border-radius:9px;box-shadow:0 5px 16px #233e340c}
.step-visual{margin-bottom:20px;border-radius:6px;background:#e0e6d8}
.steps p{margin-bottom:0}
.flow-note{background:#e7e9dd;border:1px solid #b9c6af;border-radius:8px;padding:20px 24px}
.about{grid-template-columns:.85fr 1.15fr;gap:26px;align-items:start}
.about>div{background:#eeede4;border:1px solid #b8c3ae;border-radius:9px;padding:32px;box-shadow:0 6px 18px #233e340b;min-width:0}
.about>div:first-child{border-top:5px solid #526e45}
.about h2{font-size:clamp(26px,2.7vw,36px)}
.career{background:#e4e8da;border:1px solid #b6c4a9;border-radius:7px;padding:22px;margin-top:28px}
.career li:last-child{margin-bottom:0}
.faq details,.faq details:last-child{background:#eeede4;border:1px solid #b9c4b0;border-radius:8px;margin:14px 0;padding:22px 26px}
.contact{border-top:6px solid #9aaf83}
@media(max-width:1000px){.about{grid-template-columns:1fr}.about>div{padding:30px}}
@media(max-width:720px){
 .concerns{gap:16px}
 .concerns p,.concerns p:first-child{padding:23px 20px;align-items:flex-start}
 .concerns span{margin:2px 0 0}
 .intro-note{padding:22px}
 .section-title>p{padding:20px;margin-top:20px}
 .steps{gap:22px}
 .steps li{padding:22px}
 .flow-note{padding:20px}
 .about{display:grid;gap:22px}
 .about>div{padding:25px 22px}
 .about h2{font-size:27px}
 .career{padding:20px 17px}
 .faq details,.faq details:last-child{padding:20px}
}
.about h2{text-wrap:balance}
.about h2 br{display:none}

/* Approved public portfolio example */
.case-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;background:#eeede4;border:1px solid #b8c3ae;border-top:4px solid #6c8461;border-radius:9px;padding:32px;box-shadow:0 6px 18px #233e340b}.case-card h3{font-size:26px;line-height:1.6;margin:8px 0 16px}.case-card p{font-size:19px;line-height:1.9;margin:0}.case-card .case-label{font-size:14px;letter-spacing:.14em;color:#4c6054;font-weight:700}.case-card .button{white-space:normal}.portfolio{padding-top:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.case-card{grid-template-columns:1fr}.case-card .button{justify-self:start}}@media(max-width:720px){.case-card{padding:25px 22px;gap:24px}.case-card h3{font-size:23px}.case-card p{font-size:18px}}
