:root{--ink:#15201d;--green:#243b34;--deep:#13251f;--paper:#f4f2ec;--line:#cdc9bd;--gold:#a78952;--serif:"Noto Serif JP","Yu Mincho",YuMincho,serif;--sans:Jost,"Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.9}.grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E")}.site-header{position:absolute;top:0;left:0;width:100%;height:96px;padding:0 4.5vw;z-index:10;display:flex;align-items:center;color:#fff;border-bottom:1px solid #ffffff55}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid currentColor;border-radius:50%;font-size:22px}.brand b{display:block;font-size:22px;letter-spacing:.18em}.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.35em}.desktop-nav{display:flex;gap:2.3vw;margin-left:auto}.desktop-nav a{color:inherit;text-decoration:none;font-size:13px;letter-spacing:.08em}.header-cta{margin-left:3vw;color:#fff;border:1px solid #ffffffaa;text-decoration:none;padding:11px 20px;font-size:13px}.menu-button{display:none}.hero{height:100svh;min-height:700px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/hero-antique.jpg') center 48%/cover no-repeat;animation:zoom 14s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07150fd9 0%,#12221975 48%,#0000001f 80%),linear-gradient(0deg,#07140dc2 0%,transparent 40%)}@keyframes zoom{from{transform:scale(1.06)}to{transform:scale(1)}}.hero-copy{position:absolute;left:10vw;top:52%;transform:translateY(-42%);max-width:720px}.eyebrow,.section-kicker{font-family:var(--sans);letter-spacing:.28em;font-size:11px}.hero h1{font-weight:400;font-size:clamp(42px,6vw,82px);line-height:1.42;letter-spacing:.07em;margin:20px 0}.hero h1 em{font-style:normal;color:#d4bd88}.hero-lead{font-size:16px;letter-spacing:.08em;line-height:2}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:36px}.button{display:inline-flex;justify-content:space-between;align-items:center;min-width:280px;padding:19px 25px;text-decoration:none;border:0;font-family:var(--serif);font-size:14px;cursor:pointer}.button-light{background:#f3efe4;color:var(--ink)}.button span{font-family:var(--sans);font-size:20px}.text-link{color:white;text-decoration:none;border-bottom:1px solid #ffffff88;padding:10px 0;font-size:13px}.hero-note{position:absolute;right:5vw;bottom:7vh;border:1px solid #ffffff88;border-radius:50%;width:130px;height:130px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;gap:3px;transform:rotate(-7deg)}.hero-note span{font-size:11px}.hero-note strong{font-family:var(--sans);font-size:40px;font-weight:300}.scroll{position:absolute;left:3vw;bottom:4vh;font:10px var(--sans);letter-spacing:.3em;writing-mode:vertical-rl}.scroll i{height:70px;width:1px;background:#fff;display:block;margin:12px auto 0}.section-pad{padding:130px 9vw}.intro{min-height:720px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:8vw;align-items:center}.vertical-title{writing-mode:vertical-rl;font-size:21px;letter-spacing:.22em;height:310px}.intro-body{max-width:650px}.section-kicker{color:var(--gold);margin:0 0 22px}.intro h2,.section-heading h2,.feature-content h2,.message h2,.contact h2{font-weight:400;font-size:clamp(32px,4.2vw,58px);line-height:1.55;letter-spacing:.07em;margin:0 0 30px}.intro-body>p:last-child{color:#4e554f;font-size:15px}.intro-seal{border:1px solid #9d9687;width:110px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:38px;color:#655a47;transform:rotate(3deg)}.intro-seal small{font-size:10px;letter-spacing:.35em}.items{background:#e8e5dc}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:70px}.section-heading .section-kicker{grid-column:1}.section-heading h2{grid-column:1;margin:0}.section-heading>p:last-child{grid-column:2;grid-row:2;margin:0;color:#60665f}.item-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b5b1a6;border-left:1px solid #b5b1a6}.item-card{min-height:360px;padding:25px;border-right:1px solid #b5b1a6;border-bottom:1px solid #b5b1a6;display:flex;flex-direction:column;align-items:center;position:relative}.item-card>span{align-self:flex-start;font:11px var(--sans);color:#777}.item-icon{width:120px;height:120px;border-radius:50%;background:var(--green);color:#d7ccae;display:grid;place-items:center;font-size:36px;margin:24px 0 20px;box-shadow:inset 0 0 0 8px #ffffff10}.item-card h3{font-weight:500;letter-spacing:.1em;margin:0 0 8px}.item-card p{font-size:12px;color:#6d706a;margin:0}.items-note{text-align:center;font-size:12px;color:#777;margin:40px 0 0}.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:white}.feature-photo{position:relative;min-height:900px;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover;position:absolute;filter:saturate(.75) brightness(.75)}.feature-photo p{position:absolute;left:10%;bottom:10%;font-size:clamp(30px,4vw,55px);line-height:1.65;letter-spacing:.12em}.feature-content{display:flex;flex-direction:column;justify-content:center}.reason-list{list-style:none;margin:25px 0 0;padding:0}.reason-list li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:27px 0;border-top:1px solid #ffffff35}.reason-list li>b{font:12px var(--sans);color:#b5a67a}.reason-list h3{margin:0 0 8px;font-size:18px;font-weight:500}.reason-list p{margin:0;color:#c4c9c4;font-size:13px;line-height:1.85}.flow{background:#f6f4ef}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px}.flow-step{padding:50px 5vw;border-left:1px solid var(--line);position:relative}.flow-step:last-child{border-right:1px solid var(--line)}.flow-step>b{font-size:70px;font-weight:400;color:#dfd9cb;position:absolute;right:20px;top:5px}.flow-step>span{font:11px var(--sans);color:var(--gold)}.flow-step h3{font-weight:500;margin:40px 0 18px}.flow-step p{font-size:13px;color:#626761}.message{background:linear-gradient(#14271fe8,#14271fe8),url('assets/hero-antique.jpg') center/cover fixed;color:#fff;padding:150px 9vw}.message-inner{max-width:760px;margin:0 auto;text-align:center}.message-inner>p:nth-of-type(2){font-size:14px;color:#d6d8d5;line-height:2.2}.signature{margin-top:50px}.signature span{display:block;font-size:25px;letter-spacing:.3em}.signature small{font-size:10px;color:#9fa9a3}.faq{max-width:1150px;margin:auto}.faq .section-heading{display:block}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:28px 55px 28px 5px;position:relative;font-size:15px}summary::-webkit-details-marker{display:none}summary i:before,summary i:after{content:"";position:absolute;right:15px;top:50%;width:16px;height:1px;background:var(--ink)}summary i:after{transform:rotate(90deg);transition:.2s}details[open] summary i:after{transform:rotate(0)}details p{margin:0;padding:0 5px 28px;color:#646961;font-size:13px}.contact{background:#b7a881;display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:120px 9vw}.contact .section-kicker{color:#fff}.contact-form{background:#f5f1e7;padding:50px}.contact-form label{display:block;font-size:12px;margin-bottom:22px}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa494;background:transparent;padding:12px 0;font:14px var(--serif);border-radius:0;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green)}.button-dark{width:100%;background:var(--green);color:white;margin-top:10px}.form-note{font-size:10px;color:#777;text-align:center}.form-success{padding:35px;text-align:center;border:1px solid #98917e}footer{background:#102019;color:#d7ddd8;padding:80px 7vw 30px}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand b{display:block;font-size:24px;letter-spacing:.2em}.footer-brand small{font-size:10px;letter-spacing:.12em}.footer-info{margin:35px 0 70px;font-size:12px;color:#aeb9b2}.footer-info p{margin:2px}.footer-bottom{border-top:1px solid #ffffff25;padding-top:25px;display:flex;justify-content:space-between;font:10px var(--sans);letter-spacing:.15em}.footer-bottom a{color:inherit;text-decoration:none}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:78px;padding:0 5vw}.desktop-nav,.header-cta{display:none}.brand b{font-size:18px}.brand-mark{width:38px;height:38px}.menu-button{margin-left:auto;display:flex;flex-direction:column;gap:7px;background:none;border:0;padding:15px}.menu-button span{display:block;background:#fff;width:25px;height:1px}.site-header.nav-open{position:fixed;background:var(--deep);height:auto;min-height:100svh;align-items:flex-start;padding-top:20px;flex-wrap:wrap}.site-header.nav-open .desktop-nav{display:flex;order:3;width:100%;flex-direction:column;margin:60px 0 0;gap:0}.site-header.nav-open .desktop-nav a{font-size:20px;padding:17px 0;border-bottom:1px solid #ffffff30}.hero{min-height:660px}.hero-copy{left:8vw;right:7vw;top:47%}.hero h1{font-size:clamp(38px,11vw,58px)}.hero-lead{font-size:13px}.hero-note{width:95px;height:95px;bottom:8vh;right:6vw}.hero-note strong{font-size:30px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.button{min-width:265px}.scroll{display:none}.section-pad{padding:90px 7vw}.intro{display:block;min-height:0}.vertical-title{writing-mode:horizontal-tb;height:auto;margin-bottom:55px;font-size:14px}.intro-seal{display:none}.intro h2,.section-heading h2,.feature-content h2,.message h2,.contact h2{font-size:34px}.section-heading{display:block;margin-bottom:45px}.section-heading>p:last-child{margin-top:15px}.item-grid{grid-template-columns:1fr 1fr}.item-card{min-height:300px}.feature{grid-template-columns:1fr}.feature-photo{min-height:620px}.flow-grid{grid-template-columns:1fr}.flow-step{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.message{background-attachment:scroll;padding:100px 8vw}.contact{grid-template-columns:1fr;padding:90px 7vw}.contact-form{padding:30px 22px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:15;background:#f3efe4;padding:10px}.mobile-cta a{display:block;text-align:center;padding:13px;background:var(--green);color:#fff;text-decoration:none;font-size:13px}footer{padding-bottom:95px}}
@media(max-width:520px){.item-grid{grid-template-columns:1fr}.item-card{min-height:280px}.hero-note{display:none}.feature-photo{min-height:530px}.feature-photo p{font-size:31px}.contact{gap:35px}.footer-bottom{gap:20px}.footer-bottom small{max-width:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none}.reveal{opacity:1;transform:none;transition:none}}
.items .section-heading h2{white-space:nowrap}
.site-header .brand{align-self:stretch;background:#fff;padding:7px 15px;box-shadow:0 6px 24px #00000020}
.site-header .brand img{display:block;width:104px;height:100%;object-fit:contain}
.footer-brand{align-items:center}
.footer-brand img{display:block;width:150px;height:150px;object-fit:contain;background:#fff}
.footer-brand small{margin-left:8px}
@media(max-width:900px){.site-header .brand{padding:2px 7px}.site-header .brand img{width:78px}.site-header.nav-open .brand{align-self:flex-start;height:68px}.footer-brand img{width:130px;height:130px}}
.site-header .brand{background:transparent;padding:4px 10px;box-shadow:none}
.footer-brand img{background:transparent}
.hero-note{width:348px;height:348px;right:3vw;bottom:3vh}
.hero-note span{font-size:26px}
.hero-note strong{font-size:108px}
.roots-teaser{min-height:680px;display:grid;grid-template-columns:1fr 1.4fr;background:#d6cfbd;overflow:hidden}.roots-teaser-mark{display:grid;place-items:center;position:relative;background:var(--green)}.roots-teaser-mark:before,.roots-teaser-mark:after{content:"";position:absolute;border:1px solid #bfa66d55;border-radius:50%}.roots-teaser-mark:before{width:330px;height:330px}.roots-teaser-mark:after{width:430px;height:430px}.roots-teaser-mark span{color:#c5ae78;font-size:140px;font-weight:400;z-index:1}.roots-teaser-copy{padding:110px 9vw;align-self:center}.roots-teaser-copy h2{font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.55;letter-spacing:.08em;margin:0 0 28px}.roots-teaser-copy>p:nth-of-type(2){font-size:14px;color:#4e554f;max-width:590px}.roots-link{display:inline-flex;align-items:center;gap:55px;color:var(--ink);text-decoration:none;border-bottom:1px solid #777366;padding:13px 0;margin-top:25px;font-size:13px}.roots-link span{font:20px var(--sans)}
.story-hero{height:88svh;min-height:680px;position:relative;overflow:hidden;color:#fff}.story-hero-image{position:absolute;inset:0;background:url('assets/hero-antique.jpg') center/cover}.story-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a1d16ed 0%,#13271fa3 55%,#13271f35)}.story-hero-copy{position:absolute;left:10vw;top:54%;transform:translateY(-45%);z-index:1}.story-hero h1{font-size:clamp(44px,6vw,82px);line-height:1.45;font-weight:400;letter-spacing:.08em;margin:20px 0}.story-hero h1 em{font-style:normal;color:#ceb77d}.story-hero-copy>p:last-child{font-size:15px;line-height:2.1}.story-hero-kanji{position:absolute;right:7vw;bottom:-14vw;color:#ffffff12;font-size:36vw;line-height:1}.story-lead{display:grid;grid-template-columns:1fr 3fr;gap:7vw;min-height:720px;align-items:center}.story-side{writing-mode:vertical-rl;font:11px var(--sans);letter-spacing:.5em;color:#888}.story-lead-copy{max-width:700px}.story-lead h2,.story-beliefs h2,.story-message h2,.story-cta h2{font-size:clamp(34px,4.5vw,62px);font-weight:400;line-height:1.55;letter-spacing:.07em;margin:0 0 30px}.story-lead-copy>p:last-child,.story-beliefs-copy>p{font-size:14px;color:#596059;line-height:2.2}.story-beliefs{display:grid;grid-template-columns:1fr 1fr;background:#e7e2d7}.story-beliefs-photo{min-height:820px;overflow:hidden}.story-beliefs-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.story-beliefs-copy{padding:110px 8vw;align-self:center}.story-beliefs blockquote{font-size:20px;line-height:2;border-left:1px solid var(--gold);margin:50px 0 0;padding-left:28px}.story-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.story-value-grid article{padding:55px 4vw;min-height:330px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.story-value-grid span{display:block;color:var(--gold);font-size:46px}.story-value-grid h3{font-size:19px;font-weight:500;margin:22px 0 13px}.story-value-grid p{font-size:13px;color:#666d66}.story-message{padding:150px 9vw;background:var(--deep);color:#fff;text-align:center}.story-message-inner{max-width:730px;margin:auto}.story-message-inner>p:nth-of-type(2){color:#c6ccc8;font-size:14px;line-height:2.2}.story-sign{margin-top:45px!important;color:#d1bb80!important;letter-spacing:.18em}.story-cta{background:#b6a67f;text-align:center;padding:120px 8vw}.story-cta .section-kicker{color:#fff}.story-cta .button{margin-top:20px}.story-page footer{margin-top:0}
@media(max-width:900px){.roots-teaser{grid-template-columns:1fr}.roots-teaser-mark{min-height:380px}.roots-teaser-mark:before{width:220px;height:220px}.roots-teaser-mark:after{width:290px;height:290px}.roots-teaser-mark span{font-size:95px}.roots-teaser-copy{padding:80px 8vw}.story-hero{height:80svh}.story-hero-copy{left:8vw;right:7vw}.story-hero h1{font-size:40px}.story-hero-copy>p:last-child{font-size:12px}.story-lead{display:block;min-height:0}.story-side{writing-mode:horizontal-tb;margin-bottom:45px}.story-beliefs{grid-template-columns:1fr}.story-beliefs-photo{min-height:520px}.story-beliefs-copy{padding:80px 8vw}.story-value-grid{grid-template-columns:1fr}.story-value-grid article{min-height:0}.story-message{padding:100px 8vw}.story-cta{padding:90px 7vw}}
.mvv{background:#f0ede5}.mvv-intro{display:grid;grid-template-columns:1fr 1.9fr;column-gap:7vw;align-items:end}.mvv-intro .section-kicker,.mvv-company{grid-column:1}.mvv-company{font-size:13px;letter-spacing:.16em;margin:0}.mvv-intro h2{grid-column:2;grid-row:1 / span 2;font-size:clamp(40px,5.2vw,72px);font-weight:400;line-height:1.5;letter-spacing:.08em;margin:0}.mvv-intro>p:last-child{grid-column:2;margin:35px 0 0;max-width:650px;color:#626861;font-size:14px}.mvv-statements{background:var(--deep);color:#fff;padding:0 9vw}.mvv-statement{display:grid;grid-template-columns:130px 1fr;gap:4vw;padding:90px 0;border-bottom:1px solid #ffffff2e}.mvv-statement:last-child{border-bottom:0}.mvv-number{font:300 42px var(--sans);color:#ac9561}.mvv-label{font:500 12px var(--sans);letter-spacing:.25em;color:#c3aa70;margin:0 0 24px}.mvv-label span{font-family:var(--serif);font-weight:400;letter-spacing:.08em;color:#9da8a2;margin-left:20px}.mvv-statement h3{font-size:clamp(28px,3.5vw,50px);line-height:1.7;letter-spacing:.08em;font-weight:400;margin:0}.mvv-values{background:#d8d0bd}.mvv-values-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:70px}.mvv-values-heading h3{font-size:clamp(30px,4vw,54px);font-weight:400;line-height:1.55;letter-spacing:.07em;margin:0}.mvv-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aca391;border-left:1px solid #aca391}.mvv-value{padding:45px 3.5vw 55px;border-right:1px solid #aca391;border-bottom:1px solid #aca391;min-height:520px}.mvv-kanji{font-size:100px;line-height:1;color:#203a31}.mvv-en{font:11px var(--sans);letter-spacing:.3em;color:#8a713c;margin:15px 0 28px}.mvv-value h4{font-size:20px;font-weight:500;letter-spacing:.07em;margin:0 0 24px}.mvv-value>p:last-child{font-size:13px;color:#5e635d;line-height:2}
@media(max-width:900px){.mvv-intro{display:block}.mvv-company{margin-bottom:30px}.mvv-intro h2{font-size:38px}.mvv-statement{grid-template-columns:60px 1fr;padding:60px 0}.mvv-number{font-size:25px}.mvv-label span{display:block;margin:8px 0 0}.mvv-statement h3{font-size:25px}.mvv-values-heading{display:block}.mvv-values-heading h3{font-size:34px;margin-top:30px}.mvv-value-grid{grid-template-columns:1fr}.mvv-value{min-height:0}.mvv-kanji{font-size:78px}}
.work-gallery{background:#e7e2d6}.work-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:230px;gap:18px}.work-photo{grid-column:span 5;grid-row:span 2;margin:0;position:relative;overflow:hidden;background:#bbb4a4}.work-photo-wide{grid-column:span 7}.work-photo-tall{grid-column:span 5;grid-row:span 3}.work-photo:nth-child(3){grid-column:span 4}.work-photo:nth-child(4){grid-column:span 3}.work-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.work-photo:hover img{transform:scale(1.025)}.work-photo:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,#0c1914b8)}.work-photo figcaption{position:absolute;left:24px;right:24px;bottom:18px;z-index:1;color:#fff;font-size:13px;letter-spacing:.06em}.work-photo figcaption span{font:10px var(--sans);color:#d3b979;margin-right:14px}.message{background:var(--deep);display:grid;grid-template-columns:1fr 1fr;padding:0;text-align:left}.message-photo{min-height:760px;overflow:hidden}.message-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.message-inner{padding:110px 8vw;align-self:center;text-align:left}.story-hero-image{background-image:url('assets/photos/representative.jpg');background-position:center 38%}.story-hero-shade{background:linear-gradient(90deg,#091b15f2 0%,#10241cbd 48%,#10241c30)}
@media(max-width:900px){.work-gallery-grid{display:block}.work-photo,.work-photo-wide,.work-photo-tall,.work-photo:nth-child(3),.work-photo:nth-child(4){height:360px;margin-bottom:14px}.message{grid-template-columns:1fr}.message-photo{min-height:560px}.message-inner{padding:80px 8vw}.story-hero-image{background-position:58% center}}
