:root{color-scheme:light;--ink:#30352b;--muted:#686b62;--accent:#596448;--line:#dddfd6;--paper:#fafaf7;--tint:#eff0e9;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3,h4,figure{margin:0}.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:10}.skip-link:focus{top:16px}.header{max-width:1280px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand-mark{font-size:1.45rem;font-weight:650;letter-spacing:.015em}nav{display:flex;align-items:center;gap:30px;font-size:.875rem}.nav-contact{border:1px solid #a7ac9b;border-radius:40px;padding:11px 21px}.hero{max-width:1280px;margin:auto;padding:44px 5% 0}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin:0 0 42px}h1{font-size:clamp(2rem,3.6vw,3.15rem);letter-spacing:.08em;line-height:1.65;font-weight:500}.hero-intro{min-width:270px;padding-bottom:6px}.hero-intro p{font-size:.9rem;line-height:1.95;color:var(--muted)}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:.875rem;border-bottom:1px solid #b5b7a9;padding:10px 0;margin-top:10px}.visual-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:14px}.photo-tile{position:relative;min-width:0;aspect-ratio:1/1.12;overflow:hidden;background:var(--tint)}.photo-tile img{display:block;width:100%;height:100%;object-fit:cover}.photo-tile:first-child img{object-position:43% center}.photo-tile figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 22px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.56));font-size:1rem;letter-spacing:.07em}.photo-tile figcaption span{display:block;font-size:.75rem;letter-spacing:.1em;margin-bottom:8px}.light-tile img{object-position:72% 50%}.light-tile figcaption{color:#32382c;background:linear-gradient(transparent,rgba(250,250,247,.88))}.quote-tile{background:#e7eadf;display:flex;flex-direction:column;justify-content:space-between;padding:28px 28px 25px;min-width:0}.tile-label{font-size:.75rem;letter-spacing:.15em;color:#626b56}.quote-tile p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.3rem,2vw,1.8rem);line-height:2;letter-spacing:.05em}.quote-tile em{font-style:normal}.tile-signature{font:1.35rem Georgia,serif;letter-spacing:-.05em;align-self:flex-end}.hero-foot{display:flex;justify-content:space-between;gap:20px;padding:18px 0 22px;color:var(--muted);font-size:.8rem}.hero-foot>span{font-family:Georgia,serif;font-style:italic;font-size:.95rem}.hero-foot>a{font-size:.875rem}.section{max-width:1280px;margin:auto;padding:95px 5%;border-top:1px solid var(--line)}.about{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-top:60px}.section-label>span{font-size:.75rem;letter-spacing:.16em;color:var(--muted)}.section-label h2{font-size:.95rem;font-weight:500;margin-top:12px}.section-content{min-width:0}.section-content h3{font-size:clamp(1.5rem,2.2vw,1.95rem);font-weight:500;line-height:1.8;letter-spacing:.05em;margin-bottom:25px}.section-content>p{font-size:1rem;line-height:2.2;color:var(--muted);margin-top:18px}.business>.section-label{margin-bottom:30px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}.service{border-top:1px solid #9ba28d;padding:22px 0}.service-number{font-size:.75rem;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:24px}.service h4{font-size:1.1rem;font-weight:500;line-height:1.9;margin-bottom:15px}.service p{font-size:1rem;line-height:2;color:var(--muted)}.company{display:grid;grid-template-columns:1fr 2fr;gap:50px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--line);padding:23px 0;gap:20px;font-size:1rem;line-height:1.95}.company-table>div:first-child{padding-top:0}dt{color:var(--muted);font-size:.875rem}dd{margin:0;overflow-wrap:anywhere}dd a{text-decoration:underline;text-underline-offset:5px}.contact{max-width:1152px;margin:0 auto 36px;background:var(--tint);padding:55px 50px;display:flex;align-items:center;justify-content:space-between;gap:45px}.eyebrow{font-size:.75rem;letter-spacing:.16em;color:var(--muted);margin-bottom:24px}.contact h2{font-size:clamp(1.5rem,2.3vw,2rem);font-weight:500;line-height:1.8;letter-spacing:.04em}.contact p:not(.eyebrow){font-size:.9rem;line-height:2;color:var(--muted);margin-top:20px}.email-link{position:relative;border-bottom:1px solid #9da590;padding:20px 35px 20px 0;font-size:clamp(1rem,1.8vw,1.35rem);overflow-wrap:anywhere}.email-link>span:first-child{display:block;font-size:.8rem;color:var(--muted);margin-bottom:14px}.email-arrow{position:absolute;right:0;bottom:20px}footer{max-width:1280px;margin:auto;padding:24px 5% 35px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:.875rem}small{font-size:.75rem;color:var(--muted)}@media(min-width:1500px){.hero{padding-top:52px}.hero-heading{margin-top:0}}@media(max-width:900px){nav{gap:18px}.hero-heading{align-items:flex-start}.hero-intro{min-width:220px}.quote-tile{padding:20px}.quote-tile p{font-size:1.2rem}.section{padding:65px 5%}.about,.company{gap:30px;grid-template-columns:1fr 2.5fr}.section-content>p br{display:none}.contact{margin:0 5% 25px;padding:40px;flex-direction:column;align-items:flex-start;gap:15px}.services{gap:20px}}@media(max-width:640px){.header{padding:21px 6%;flex-wrap:wrap;gap:20px}.brand-mark{font-size:1.25rem}nav{width:100%;gap:10px;justify-content:space-between;font-size:.875rem;flex-wrap:wrap}nav a{padding:8px 0}.nav-contact{border:0;padding:8px 0}.hero{padding:32px 6% 0}.hero-heading{display:block;margin:0 0 30px}h1{font-size:clamp(1.5rem,6.5vw,2.5rem);line-height:1.8;letter-spacing:.055em}.hero-intro{margin-top:22px;min-width:0}.hero-intro p{font-size:.9rem;line-height:2}.hero-intro p br{display:none}.hero-intro p{max-width:330px}.text-link{margin-top:8px}.visual-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-tile{aspect-ratio:1/1.2}.quote-tile{padding:16px 13px}.tile-label{font-size:.75rem;letter-spacing:.06em}.quote-tile p{font-size:clamp(.95rem,4vw,1.3rem);letter-spacing:0;line-height:1.95}.tile-signature{font-size:1rem}.photo-tile figcaption{padding:30px 12px 16px;font-size:.8rem;letter-spacing:0}.photo-tile figcaption span{font-size:.75rem;letter-spacing:.05em}.light-tile{grid-column:1/-1;aspect-ratio:2.3/1}.light-tile img{object-position:70% 63%}.hero-foot{gap:12px;flex-wrap:wrap;padding-bottom:16px}.hero-foot>span{font-size:.875rem}.about{margin-top:35px}.section{display:block;padding:45px 6%}.section-label{margin-bottom:27px}.section-label h2{font-size:.875rem;margin-top:10px}.section-content h3{font-size:1.45rem}.section-content>p{line-height:2.05}.services{display:block;margin-top:30px}.service{padding:23px 0 28px}.service-number{margin-bottom:15px}.service h4{margin-bottom:10px}.company-table>div{grid-template-columns:1fr;gap:6px;padding:20px 0}.company-table>div:first-child{padding-top:0}.contact{padding:32px 24px;margin:0 6% 20px}.contact h2{font-size:1.4rem;letter-spacing:0}.contact p:not(.eyebrow) br{display:none}.email-link{font-size:1.05rem;width:100%;padding-right:25px}.email-link>span:first-child{font-size:.875rem}footer{padding:20px 6% 30px;flex-wrap:wrap;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
