:root{--ivory:#f5f1e7;--cream:#ece7d9;--ink:#283128;--sage:#657153;--pale:#dfe4d2;--clay:#b86f55;--white:#fffdf8;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.9;-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 64px));margin:auto}.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;transition:.35s;background:rgba(245,241,231,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(40,49,40,.1)}.site-header.scrolled{height:72px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--sage);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px}.brand-mark i{display:block;width:2px;height:23px;background:var(--sage);border-radius:100%;transform:rotate(18deg)}.brand-mark i:nth-child(2){height:29px}.brand b{display:block;font:600 21px var(--serif);letter-spacing:.12em}.brand small{display:block;font-size:8px;letter-spacing:.28em}.global-nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.08em}.nav-contact{border:1px solid var(--ink);border-radius:40px;padding:10px 22px}.menu-button{display:none;border:0;background:none;width:42px;height:42px}.menu-button span{display:block;width:24px;height:1px;background:var(--ink);margin:7px auto;transition:.3s}.hero{min-height:780px;height:100vh;position:relative;overflow:hidden;padding-top:88px}.hero-photo{position:absolute;inset:88px 0 0 38%;background:linear-gradient(90deg,rgba(245,241,231,.1),transparent 45%),url('../images/hero-gardener.png') center/cover no-repeat;border-radius:0 0 0 44%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(40,49,40,.18))}.hero-copy{position:absolute;z-index:2;left:max(7vw,calc((100% - 1120px)/2));top:50%;transform:translateY(-43%)}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--sage);margin:0 0 24px}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:500}.hero h1{font-size:clamp(48px,6vw,88px);line-height:1.35;letter-spacing:.06em;margin:0}.hero h1 span,.about h2 span,.contact h2 span{display:block}.hero h1 span:last-child{color:var(--sage)}.hero-lead{font-family:var(--serif);font-size:17px;letter-spacing:.1em;margin:35px 0}.round-link{width:120px;height:120px;border:1px solid var(--sage);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:11px;letter-spacing:.08em;transition:.3s}.round-link b{font-size:20px;font-weight:400;margin-top:4px}.round-link:hover{background:var(--sage);color:white}.hero-side{position:absolute;z-index:3;right:24px;bottom:40px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.3em;color:white}.section{padding:140px 0}.section-heading{display:grid;grid-template-columns:70px 1fr 1fr;align-items:end;border-bottom:1px solid rgba(40,49,40,.25);padding-bottom:28px;margin-bottom:64px}.section-number{font:500 13px var(--serif);color:var(--clay)}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{font-size:clamp(34px,4vw,52px);letter-spacing:.08em;margin:0}.section-heading>p:last-child{justify-self:end;font-family:var(--serif);font-size:15px;letter-spacing:.05em}.work{position:relative}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work-card:nth-child(2){margin-top:70px}.work-card figure{margin:0 0 28px;height:390px;overflow:hidden}.work-card:nth-child(1) figure{border-radius:47% 47% 12px 12px}.work-card:nth-child(2) figure{border-radius:12px 12px 46% 46%}.work-card:nth-child(3) figure{border-radius:46% 12px 46% 12px}.work-card img{height:100%;object-fit:cover;transition:.7s}.work-card:hover img{transform:scale(1.04)}.card-no{font-size:10px;color:var(--clay);letter-spacing:.15em;margin:0}.work-card h3{font:500 28px var(--serif);letter-spacing:.15em;margin:4px 0}.work-card .en{font-size:9px;letter-spacing:.25em;color:var(--sage);margin:0}.cases{background:var(--sage);color:var(--white);position:relative;overflow:hidden}.cases:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:48% 52% 65% 35%;right:-100px;top:-100px}.section-heading.light{border-color:rgba(255,255,255,.3)}.section-heading.light .eyebrow,.text-link.light{color:#e4dbc7}.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.instagram-frame{background:white;border-radius:20px;overflow:hidden;min-height:600px}.instagram-frame iframe{display:block;width:100%;height:640px;border:0}.text-link{display:inline-flex;gap:15px;margin-top:45px;padding-bottom:6px;border-bottom:1px solid;font-size:13px;letter-spacing:.12em}.about{position:relative}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-copy .section-number{margin-bottom:80px}.about-copy .eyebrow{margin-bottom:12px}.about-copy h2{font-size:clamp(34px,4vw,54px);line-height:1.55;letter-spacing:.07em;margin:0 0 38px}.about-copy h2 span:last-child{color:var(--sage)}.about-copy>p:not([class]){font-family:var(--serif);font-size:15px;letter-spacing:.04em}.about-photo{margin:0;height:660px;overflow:hidden;border-radius:48% 48% 8px 8px}.about-photo img{height:100%;object-fit:cover}.company-data{margin-top:120px;padding:52px 60px;background:var(--pale);display:grid;grid-template-columns:220px 1fr}.data-title{font-size:10px;letter-spacing:.25em;color:var(--sage)}.company-data dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.company-data dl div{display:grid;grid-template-columns:100px 1fr;padding:18px 0;border-top:1px solid rgba(40,49,40,.18)}.company-data dt{font-size:11px;color:var(--sage)}.company-data dd{font-family:var(--serif);font-size:14px;margin:0}.contact{padding:130px 0;background:var(--clay);color:var(--white);text-align:center}.contact .eyebrow{color:var(--white)}.contact h2{font-size:clamp(38px,5vw,68px);line-height:1.45;letter-spacing:.07em;margin:0 0 25px}.contact-inner>p:not(.eyebrow){font-family:var(--serif);font-size:14px}.contact-links{display:grid;grid-template-columns:1fr 1fr;max-width:820px;margin:55px auto 0;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.5)}.contact-links a{position:relative;padding:28px 35px;text-align:left}.contact-links a+ a{border-left:1px solid rgba(255,255,255,.5)}.contact-links small{display:block;font-size:10px;letter-spacing:.15em}.contact-links b{font:500 24px var(--serif);letter-spacing:.08em}.contact-links span{position:absolute;right:30px;top:38px;font-size:20px}.site-footer{padding:65px 5vw 95px;background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:end;font-size:10px;letter-spacing:.1em}.footer-brand b{display:block;font:500 30px var(--serif);letter-spacing:.16em}.footer-brand span{font-size:8px;letter-spacing:.26em}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.container{width:min(100% - 40px,680px)}.site-header{height:70px}.global-nav{position:fixed;inset:70px 0 auto;background:var(--ivory);padding:45px 30px 60px;display:flex;flex-direction:column;align-items:flex-start;transform:translateY(-130%);transition:.35s;z-index:-1}.global-nav.open{transform:none}.global-nav a{font:500 22px var(--serif)}.menu-button{display:block}.menu-button.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button.active span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:720px;height:100svh;padding-top:70px}.hero-photo{inset:70px 0 0 0;border-radius:0;background-position:60% center}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,241,231,.95) 0,rgba(245,241,231,.75) 43%,rgba(245,241,231,.08) 80%);z-index:1}.hero-copy{left:24px;top:53%;transform:translateY(-50%)}.hero h1{font-size:clamp(42px,10.8vw,62px)}.round-link{width:96px;height:96px}.section{padding:90px 0}.section-heading{grid-template-columns:45px 1fr;margin-bottom:44px}.section-heading>p:last-child{display:none}.work-grid{grid-template-columns:1fr;gap:50px}.work-card:nth-child(2){margin-top:0}.work-card figure{height:420px}.instagram-grid{grid-template-columns:1fr;gap:28px}.instagram-frame{min-height:620px}.instagram-frame iframe{height:650px}.about-grid{grid-template-columns:1fr;gap:50px}.about-copy .section-number{margin-bottom:35px}.about-photo{height:520px}.company-data{margin-top:70px;padding:35px 25px;grid-template-columns:1fr}.company-data dl{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;gap:18px;padding-bottom:90px}.mobile-cta{display:grid;position:fixed;z-index:60;bottom:0;left:0;width:100%;grid-template-columns:1fr 1.5fr;background:white}.mobile-cta a{text-align:center;padding:15px 8px;font-size:12px}.mobile-cta a:last-child{background:var(--sage);color:white}}
@media(max-width:520px){.brand-mark{width:36px;height:36px}.brand b{font-size:18px}.hero-copy{right:18px}.hero .eyebrow{font-size:9px}.hero h1 span{white-space:nowrap}.hero-lead{font-size:14px}.section-heading h2{font-size:34px}.work-card figure{height:340px}.instagram-frame{min-height:580px}.instagram-frame iframe{height:620px}.about-copy h2 span,.contact h2 span{white-space:nowrap}.about-copy h2{font-size:9vw}.about-photo{height:430px}.company-data dl div{grid-template-columns:90px 1fr}.contact{padding:90px 0 115px}.contact h2{font-size:9.1vw}.contact-links{grid-template-columns:1fr}.contact-links a+ a{border-left:0;border-top:1px solid rgba(255,255,255,.5)}.contact-links b{font-size:20px}}

/* Browser comment fixes */
.hero-copy,.hero-copy .eyebrow,.hero-copy h1,.hero-copy .hero-lead{text-align:left}
.hero-copy{max-width:min(620px,calc(100vw - 48px))}
.about-copy h2 span{white-space:nowrap}
@media(max-width:520px){.about-copy h2{font-size:8.6vw;letter-spacing:.04em}.about-copy h2 span{white-space:nowrap}}
@media(max-width:900px){.contact h2{font-size:clamp(34px,8.2vw,46px);letter-spacing:.04em}.contact h2 span{white-space:nowrap}}
@media(max-width:520px){.contact h2{font-size:8vw;letter-spacing:.02em}}
.hero-copy{left:4vw}
.hero h1{font-size:clamp(44px,5vw,72px);letter-spacing:.03em}.hero h1 span{white-space:nowrap}
@media(max-width:900px){.hero-copy{left:24px}.hero h1{font-size:clamp(36px,7.2vw,46px)}.hero h1 span{white-space:nowrap}}
@media(max-width:520px){.hero h1{font-size:clamp(34px,8.6vw,42px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.about-photo{height:620px;border-radius:28px;background:var(--pale)}
.about-photo img{height:100%;object-fit:cover;object-position:center}
@media(max-width:900px){.about-photo{height:460px;border-radius:24px}}
@media(max-width:520px){.about-photo{height:360px;border-radius:20px}}
