:root{--bg:#141613;--panel:#1d201c;--ink:#f3f5ed;--muted:#a9b0a5;--line:#3a4035;--lime:#ccff5f;--space:clamp(24px,5.5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:6px}::selection{background:var(--lime);color:var(--bg)}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.4}p{line-height:2}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--lime);color:var(--bg);padding:10px}.skip:focus{top:10px}.header{height:104px;padding:0 var(--space);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--bg)}.brand img{width:184px;height:auto;filter:brightness(0) invert(1)}nav{display:flex;align-items:center;gap:36px}nav a{font-size:14px}nav a:hover,nav a[aria-current]{color:var(--lime)}.nav-contact{background:var(--lime);color:var(--bg);padding:12px 23px;border-radius:3px;display:flex;gap:25px}.nav-contact:hover{background:#e1ff9a;color:var(--bg)}.menu-toggle{display:none}.hero{min-height:730px;height:calc(100svh - 104px);max-height:980px;position:relative;overflow:hidden;padding:28px var(--space) 25px;display:flex;flex-direction:column}.hero-top,.hero-foot{display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.12em;position:relative;z-index:2}.hero-top{color:var(--muted)}.hero-art{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(20,22,19,.65),transparent 65%),url('/assets/hero.jpg');background-size:cover;background-position:center;opacity:.92}.hero-content{z-index:1;position:relative;margin:auto 0}.hero h1{font-size:clamp(48px,6.7vw,104px);line-height:1.4;letter-spacing:-.045em;font-weight:600;text-shadow:0 2px 40px #14161350}.hero h1 span{color:var(--lime)}.hero-bottom{margin-top:38px;display:flex;align-items:center;gap:60px}.hero-bottom p{font-size:17px;line-height:2}.pill{border:1px solid #b4bea2;padding:15px 23px;border-radius:100px;display:flex;gap:48px;font-size:14px;align-items:center;background:#14161370;transition:.2s}.pill:hover{background:var(--lime);color:var(--bg);border-color:var(--lime)}.hero-foot{margin-top:40px;font-size:12px}.hero-foot>a{color:var(--muted)}.section{padding:110px var(--space)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;display:block}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:14px;color:var(--muted)}.intro-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;margin-top:70px}.intro h2{font-size:clamp(30px,3.8vw,58px);line-height:1.6;letter-spacing:-.04em}.intro h2 em{font-style:normal;color:var(--lime)}.intro-text{align-self:end;padding-bottom:10px;max-width:460px}.intro-text p{color:var(--muted);font-size:16px}.text-link{display:flex;justify-content:space-between;gap:45px;font-size:14px;padding:16px 0;border-bottom:1px solid var(--line);width:fit-content;min-width:220px;margin-top:28px}.text-link:hover{color:var(--lime)}.services{background:#e9ece4;color:#20251b}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px}.section-title h2{font-size:clamp(30px,3.4vw,48px);margin-top:22px;line-height:1.6}.services .text-link{border-color:#a9b0a3}.services .text-link:hover{color:#547018}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 32px}.card-image{position:relative;aspect-ratio:1.75;overflow:hidden;background:#d6dad0}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover img{transform:scale(1.035)}.featured .card-image{background:white}.featured .card-image img{object-fit:contain;padding:30px}.card-number,.card-arrow{position:absolute;top:16px;font-size:13px;display:grid;place-items:center;width:38px;height:38px;background:#151913;color:var(--ink);border-radius:50%}.card-number{left:16px}.card-arrow{right:16px;background:var(--lime);color:var(--bg);font-size:23px}.card-copy{padding-top:24px}.card-copy h3{font-size:28px;margin:9px 0 14px}.card-copy p{font-size:15px;color:#4d5549;max-width:490px}.news{display:grid;grid-template-columns:1fr 2.3fr;gap:60px}.news h2{font-size:52px;margin-top:20px}.news h2 span{display:block;font-size:14px;margin-top:6px;color:var(--muted)}.news>a{display:grid;grid-template-columns:auto 1fr auto;column-gap:25px;align-self:center;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news time{font-size:14px;color:var(--muted)}.tag{font-size:11px;letter-spacing:.08em}.news h3{font-size:19px;grid-column:1/3;margin-top:16px}.news>a>span:last-child{grid-column:3;grid-row:1/3;align-self:center;font-size:28px;color:var(--lime)}.contact-band{padding:80px var(--space);background:var(--lime);color:var(--bg);display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-band h2{font-size:clamp(36px,5vw,72px);line-height:1.4;margin:22px 0}.contact-band p{font-size:15px}.round-link{flex-shrink:0;border:1px solid #29351a;border-radius:50%;width:140px;height:140px;display:grid;place-items:center;font-size:66px;transition:.2s}.round-link:hover{background:var(--bg);color:var(--lime)}footer{padding:60px var(--space) 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:55px}.footer-logo{font-size:58px;letter-spacing:-.065em;font-weight:700}.footer-logo span{font-size:14px;vertical-align:top;margin:10px}.footer-top p{color:var(--muted);font-size:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:12px}.footer-bottom div{display:flex;gap:26px}.page-heading{padding:75px var(--space) 70px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(52px,8vw,112px);letter-spacing:-.06em;margin-top:20px;line-height:1.2}.page-heading h1 span{display:block;font-size:18px;letter-spacing:0;margin-top:24px}.page-heading p{max-width:640px;color:var(--muted);margin-top:30px}.content-section{padding:80px var(--space)}.content-section h2{font-size:34px;margin-bottom:28px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px}.value{border-top:1px solid var(--line);padding-top:25px}.value h3{font-size:28px;margin-bottom:15px}.value p{color:var(--muted)}.profile{display:grid;grid-template-columns:1fr 2fr;gap:60px;background:#e9ece4;color:#20251b}.profile dl{margin:0}.profile dl>div{display:grid;grid-template-columns:160px 1fr;gap:25px;padding:25px 0;border-top:1px solid #bac1b4}.profile dt{font-size:14px}.profile dd{margin:0;line-height:2}.profile ul{margin:0;padding-left:20px}.office{display:grid;grid-template-columns:1fr 2fr;gap:60px}.office p{color:var(--muted)}.message-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;align-items:start}.portrait{position:sticky;top:30px}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;background:var(--panel)}.portrait figcaption{font-size:14px;color:var(--muted);margin-top:18px}.message-layout figure{margin:0}.prose p{margin-bottom:28px;line-height:2.2}.prose h2{font-size:23px;margin-top:50px}.prose{max-width:820px}.privacy-prose{margin:auto}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:70px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.service-detail:first-child{padding-top:0}.service-detail img{width:100%;aspect-ratio:1.5;object-fit:cover}.service-detail:first-child img{object-fit:contain;background:white;padding:30px}.service-detail h2{margin:12px 0 20px}.service-detail p{color:var(--muted)}.service-detail .tagline{color:var(--ink);font-size:20px;margin-bottom:20px}.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}.contact-layout aside p{color:var(--muted);margin-top:20px}.field{margin-bottom:25px}.field label{display:block;font-size:14px;margin-bottom:10px}.required{font-size:12px;color:var(--lime);margin-left:10px}.field input,.field select,.field textarea{width:100%;background:var(--panel);border:1px solid #565f4e;color:var(--ink);padding:15px;border-radius:0}.field textarea{resize:vertical;min-height:180px}.fields-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.consent{display:flex;gap:12px;align-items:baseline;font-size:14px}.consent a{text-decoration:underline;text-underline-offset:4px}.submit{border:0;background:var(--lime);padding:19px 30px;margin-top:28px;cursor:pointer;width:100%;color:var(--bg)}.submit:disabled{opacity:.45;cursor:not-allowed}#form-status{margin-top:20px;line-height:1.8;font-size:14px;color:var(--muted)}#form-status.success{color:var(--lime)}.honeypot{display:none}.article-header time{display:block;color:var(--lime);margin-top:25px}.article-image{margin-bottom:45px;background:white;padding:30px}.article-body a{text-decoration:underline;overflow-wrap:anywhere}.article-body{margin:auto}.error-page{min-height:60vh}.error-page p{margin:25px 0}
@media(min-width:1600px){.hero-art{background-size:100% auto}.hero-content{margin:auto 0}}
@media(max-width:1000px){nav{gap:20px}.intro-copy{gap:7%}.hero{min-height:670px}.hero h1{font-size:7.5vw}.profile,.office{grid-template-columns:1fr 2fr;gap:35px}.profile dl>div{grid-template-columns:110px 1fr}.message-layout{gap:35px}.contact-layout{gap:40px}.footer-bottom{flex-wrap:wrap}.hero-bottom{gap:30px}.round-link{width:110px;height:110px}}
@media(max-width:720px){.header{height:80px}.brand img{width:154px}.menu-toggle{display:block;background:none;border:1px solid var(--line);color:var(--ink);font-size:13px;padding:9px 12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--bg);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:0}nav.open{display:flex}nav>a{padding:15px}.hero{min-height:690px;height:calc(100svh - 80px);max-height:900px;padding-top:22px}.hero-top{font-size:10px}.hero-top span:last-child{display:none}.hero-art{background-position:60% center;background-image:linear-gradient(90deg,rgba(20,22,19,.6),rgba(20,22,19,.12)),url('/assets/hero.jpg')}.hero h1{font-size:clamp(35px,8.8vw,62px);letter-spacing:-.055em;line-height:1.65}.hero-content{margin:auto 0 65px}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{font-size:14px}.pill{margin-top:25px;width:fit-content;padding:13px 22px}.hero-foot{font-size:9px;margin-top:0}.hero-foot>a{font-size:9px}.section{padding:70px var(--space)}.intro-copy{display:block;margin-top:42px}.intro h2{font-size:32px}.intro-text{margin-top:32px}.section-title{display:block;margin-bottom:35px}.section-title h2{font-size:32px}.section-title .text-link{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:40px}.card-copy h3{font-size:25px}.news{display:block}.news h2{font-size:42px;margin-top:14px}.news>a{margin-top:35px;column-gap:15px}.news h3{font-size:16px}.tag{font-size:10px}.contact-band{padding:55px var(--space);gap:15px}.contact-band h2{font-size:34px}.contact-band p{font-size:14px;max-width:260px}.round-link{height:70px;width:70px;font-size:40px}.contact-band .eyebrow{font-size:10px}.footer-top{display:block;padding-bottom:35px}.footer-logo{font-size:48px}.footer-top p{margin-top:16px}.footer-bottom{display:block}.footer-bottom div{gap:18px;flex-wrap:wrap;margin:16px 0}.page-heading{padding:55px var(--space)}.page-heading h1{font-size:58px}.page-heading h1 span{font-size:16px}.content-section{padding:55px var(--space)}.content-section h2{font-size:28px}.values{grid-template-columns:1fr;gap:30px;margin-top:45px}.profile,.office,.message-layout,.service-detail,.contact-layout{grid-template-columns:1fr;gap:30px}.profile dl>div{grid-template-columns:90px 1fr;gap:15px}.profile dd{font-size:14px}.portrait{position:static;max-width:420px}.portrait img{aspect-ratio:1}.prose p{font-size:16px;line-height:2.1}.service-detail{padding:45px 0}.service-detail h2{font-size:30px}.fields-row{grid-template-columns:1fr;gap:0}.contact-layout aside{padding-bottom:15px}.page-heading h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.form-disclosure{font-size:13px;color:var(--muted);margin-top:20px}.page-heading h1.news-title{font-size:clamp(32px,5vw,64px);letter-spacing:-.04em;line-height:1.6}
