:root{--ink:#193c32;--text:#283b34;--muted:#657369;--gold:#a78752;--paper:#f7f6f1;--line:#d9dfd8;--white:#fff;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:white;padding:10px}.skip-link:focus{top:12px}
.site-header{height:84px;position:sticky;top:0;z-index:50;background:#fbfaf6;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand img{width:48px;height:40px;object-fit:contain}.brand span{font-size:20px;letter-spacing:.22em;font-weight:600;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:.22em;margin-top:8px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:32px;font-size:12px}.main-nav>a:not(.btn){padding:9px 0;border-bottom:1px solid transparent}.main-nav>a:hover{border-color:var(--gold)}.menu-toggle{display:none}.btn,.line-contact-btn,.linebtn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:12px 26px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-size:13px;font-weight:600;letter-spacing:.02em;border-radius:2px;transition:background .2s,color .2s}.btn:hover,.line-contact-btn:hover,.linebtn:hover{background:#2d5446}.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.outline{background:transparent;color:var(--ink);border-color:#a3b1a4}.header-contact{min-height:40px;padding:8px 19px;font-size:11px}.arrow-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;padding-bottom:7px;border-bottom:1px solid #b4bbaa}.arrow-link:after{content:'↗';font-size:21px}.kicker,.section-no,.eyebrow,.no{font-size:10px;letter-spacing:.17em;font-weight:600;color:var(--gold);text-transform:uppercase}
.hero-carousel{position:relative;height:min(800px,calc(100svh - 84px));min-height:560px;overflow:hidden;background:#527064;color:white;touch-action:pan-y}.hero-track{height:100%;display:flex;transition:transform .8s cubic-bezier(.22,.61,.36,1);will-change:transform}.hero-slide{flex:0 0 100%;height:100%;position:relative;overflow:hidden;display:flex;align-items:center}.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,35,27,.64),rgba(13,35,27,.28) 45%,transparent 76%)}.hero-content{position:relative;z-index:2;padding-bottom:55px}.hero-content .kicker{color:#f3e4cb;margin:0 0 28px;font-size:11px}.hero-content h1,.hero-content h2{font-family:var(--serif);font-size:clamp(40px,5.3vw,76px);font-weight:500;line-height:1.55;letter-spacing:.025em;margin:0 0 22px;color:#fff}.hero-content p{max-width:520px;font-size:15px;line-height:2;margin:0 0 30px;text-shadow:0 1px 9px #18382c88}.hero-content .btn{min-width:232px}.hero-bottom{position:absolute;bottom:32px;left:0;right:0;z-index:4;display:flex;justify-content:space-between;align-items:center}.hero-note{font-size:10px;letter-spacing:.14em}.hero-controls{display:flex;gap:8px;align-items:center}.hero-controls button{border:0;background:none;color:#fff;min-width:42px;min-height:44px;cursor:pointer;padding:8px;font-size:12px}.hero-controls .slide-dot{border-bottom:2px solid #ffffff55}.hero-controls .slide-dot[aria-current=true]{border-color:#fff}.hero-controls .pause{font-size:10px;min-width:70px;margin-left:12px;border:1px solid #ffffff70}.hero-controls .prev,.hero-controls .next{font-size:23px}.hero-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pathways{background:#fff;border-bottom:1px solid var(--line)}.pathway-inner{display:grid;grid-template-columns:repeat(5,1fr)}.pathway-inner a{padding:25px 22px;border-right:1px solid var(--line);font-size:12px}.pathway-inner a:last-child{border:0}.pathway-inner span{color:var(--gold);font-size:9px;display:block;letter-spacing:.1em;margin-bottom:5px}.pathway-inner a:hover{background:#f0f4ed}
.section{padding:110px 0}.section-top{display:grid;grid-template-columns:260px 1fr;gap:40px;margin-bottom:50px}.section-no{padding-top:10px}.section-title{font-family:var(--serif);font-size:clamp(30px,3.3vw,46px);line-height:1.6;letter-spacing:.025em;font-weight:500;margin:0 0 18px;color:var(--ink)}.section-copy{margin:0;max-width:700px;color:var(--muted);font-size:14px;line-height:2.1}.intro{padding:96px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro h2{font-family:var(--serif);font-size:38px;line-height:1.8;font-weight:500;margin:18px 0 0}.intro p{font-size:15px;margin:0;color:var(--muted)}.intro strong{color:var(--ink);font-weight:500}.business{background:#fff}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.business-card{border:1px solid var(--line);background:var(--paper);overflow:hidden}.business-card>img{width:100%;height:280px;object-fit:cover}.business-card .card-body{padding:32px}.business-card h3{font-family:var(--serif);font-size:26px;line-height:1.6;font-weight:500;margin:9px 0 12px}.business-card p{font-size:14px;color:var(--muted);margin:0 0 24px}.business-mini{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:20px}.business-mini article{padding:24px 0;border-top:1px solid var(--line)}.business-mini h3{font-size:18px;font-weight:500;margin:12px 0}.business-mini p{font-size:13px;color:var(--muted);margin:0 0 20px}.thankyou-preview{position:relative;height:280px;overflow:hidden;background:var(--ink)}.thankyou-preview img{width:100%;height:100%;object-fit:cover}.thankyou-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#193747a6,transparent)}.thankyou-preview span{position:absolute;z-index:2;top:28px;left:30px;color:white;font-family:var(--serif);font-size:25px;line-height:1.7}.thankyou-preview small{font-family:inherit;display:block;font-size:12px}.price-inline{font-size:24px!important;color:var(--ink)!important;letter-spacing:.02em}.price-inline small{font-size:12px;letter-spacing:0}.price-inline b{font-size:33px;font-family:Georgia,serif;font-weight:500}
.ventures{background:#efeee7}.venture-list{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.venture-link{background:#fff;display:block;border:1px solid #e0e1d8;transition:box-shadow .25s}.venture-link:hover{box-shadow:0 12px 36px #26423713}.venture-media{height:330px;background:#e6ebe4;padding:30px;overflow:hidden;display:flex;justify-content:center;align-items:flex-start}.venture-media img{height:100%;width:100%;object-fit:contain;object-position:top}.venture-body{padding:34px}.venture-body small{font-size:9px;letter-spacing:.16em;color:var(--gold)}.venture-body h3{font-size:25px;font-weight:500;margin:13px 0}.venture-body p{color:var(--muted);font-size:14px;margin:0 0 22px}.project-link{font-size:11px;font-weight:600;letter-spacing:.08em}.venture-link.featured{grid-column:1/-1}.featured .venture{display:grid;grid-template-columns:1fr 1fr;align-items:center}.featured .venture-media{height:440px;padding:36px;background:#e3e9df}.featured .venture-body{padding:48px}.featured h3{font-size:38px}.lunch-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.lunch-gallery img{height:130px;width:100%;object-fit:cover;object-position:top;border:1px solid #d9ded7}.extra-works{margin-top:72px}.extra-works-head{display:flex;justify-content:space-between;gap:50px;margin-bottom:30px;align-items:center}.extra-works-head span,.development-head span{color:var(--gold);font-size:10px;letter-spacing:.14em}.extra-works-head h3,.development-head h3{font-size:23px;font-weight:500;margin:9px 0}.extra-works-head p{font-size:13px;color:var(--muted);max-width:400px}.extra-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.extra-work{background:white}.extra-work>img{height:245px;width:100%;object-fit:cover;object-position:top}.extra-work-copy{padding:23px}.extra-work h4{font-size:17px;font-weight:500;margin:8px 0}.extra-work small{font-size:9px;letter-spacing:.1em;color:var(--gold)}.extra-work p{font-size:12px;color:var(--muted);margin:0}.development{margin-top:60px}.development-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:25px}.development-card{padding:23px 0;border-top:1px solid #c9cec3}.development-card small{font-size:9px;color:var(--muted);letter-spacing:.09em}.development-card h4{font-size:17px;font-weight:500;margin:10px 0}.development-card p{font-size:12px;color:var(--muted)}
.darksec{background:var(--ink);color:white}.darksec .section-title{color:white}.darksec .section-copy{color:#d1ded2}.systems-image{width:100%;height:350px;object-fit:cover;margin:0 0 44px}.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.system{padding:26px 0;border-top:1px solid #ffffff33}.system small{font-size:11px;color:#deccab;letter-spacing:.1em}.system h3{font-size:17px;font-weight:500;margin:13px 0 9px}.system p{font-size:13px;color:#d1ded2;margin:0}.history{background:#fff}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.history-item{border-top:1px solid var(--line);padding-top:24px}.year{font-family:Georgia,serif;color:var(--gold);font-size:37px;font-weight:400}.history-item h3{font-size:11px;letter-spacing:.1em;margin:15px 0}.history-item p{font-size:13px;color:var(--muted)}.amami-photo{position:relative;margin-bottom:36px}.amami-photo>img{width:100%;height:470px;object-fit:cover}.amami-photo-caption{position:absolute;bottom:20px;left:25px;color:#fff;font-size:10px;letter-spacing:.12em;text-shadow:0 1px 5px black}.amami-box{display:grid;grid-template-columns:1fr 1fr;gap:60px}.amami-main small{color:var(--gold);font-size:10px;letter-spacing:.13em}.amami-main h3{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.8;margin:12px 0}.amami-main p{font-size:14px;color:var(--muted)}.amami-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.amami-chip{border-top:1px solid var(--line);padding-top:18px}.amami-chip b{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.amami-chip span{font-size:12px;color:var(--muted)}.statement{padding:100px 0;text-align:center;background:#e6ece4}.statement blockquote{font-family:Georgia,serif;font-size:clamp(30px,4.3vw,58px);letter-spacing:.015em;font-weight:400;line-height:1.4;margin:0 0 25px}.statement p{font-size:14px;color:var(--muted)}.profile{padding:50px 0;background:#fff}.profile details{border-bottom:1px solid var(--line)}.profile summary{padding:15px 0 26px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:21px}.profile summary::-webkit-details-marker{display:none}.profile summary:after{content:'＋';font-size:22px;color:var(--gold)}.profile details[open] summary:after{content:'−'}.profile-list{margin:0 0 30px}.profile-row{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:15px 0;border-top:1px solid var(--line);font-size:13px}.profile-row dt{color:var(--muted)}.profile-row dd{margin:0}.contact{padding:90px 0;background:#eeeae0}.contact-box{display:grid;grid-template-columns:1fr 1fr;background:#fff}.contact-photo{width:100%;height:100%;min-height:430px;object-fit:cover}.line-contact-copy{padding:50px}.contact h2{font-family:var(--serif);font-size:35px;line-height:1.7;font-weight:500;margin:14px 0}.contact p{font-size:14px;color:var(--muted);margin:0 0 24px}.line-contact-qr{display:flex;gap:18px;align-items:center;margin-top:25px}.line-contact-qr img{width:88px;height:88px}.line-contact-qr span{font-size:11px;color:var(--muted);max-width:170px}.site-footer{background:#fbfaf6;padding:38px 0;color:var(--muted)}.foot{display:flex;justify-content:space-between;align-items:center;gap:35px;font-size:10px}.footer-links{display:flex;flex-wrap:wrap;gap:22px}.site-footer .brand{color:var(--ink)}.site-footer .brand small{display:none}
@media(min-width:1550px){.hero-content{padding-bottom:90px}.hero-slide>img{object-position:center}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.main-nav{gap:20px}.section-top{grid-template-columns:180px 1fr;gap:25px}.intro-grid{gap:50px}.business-card .card-body{padding:26px}.featured .venture-body{padding:32px}.system-grid{gap:0 23px}.line-contact-copy{padding:32px}.contact h2{font-size:28px}.pathway-inner a{padding:20px 12px;font-size:11px}.extra-work-copy{padding:20px}.amami-box{gap:35px}}
@media(max-width:650px){html{scroll-padding-top:84px}.wrap{width:calc(100% - 40px)}.site-header{height:70px}.brand{gap:10px}.brand img{width:38px;height:33px}.brand span{font-size:16px}.brand small{font-size:6.5px;margin-top:6px}.menu-toggle{display:block;border:1px solid #cad2c8;background:transparent;color:var(--ink);height:38px;width:44px;font-size:20px}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fbfaf6;padding:24px;box-shadow:0 16px 24px #193c3214;flex-direction:column;align-items:stretch;gap:10px}.main-nav.is-open{display:flex}.main-nav .btn{margin-top:9px}.hero-carousel{height:calc(100svh - 70px);min-height:490px;max-height:820px}.hero-slide>img{object-position:58% center}.hero-slide:after{background:linear-gradient(90deg,#122e2599,#122e2530 80%,transparent)}.hero-content{padding-bottom:64px}.hero-content .kicker{font-size:9px;margin-bottom:22px}.hero-content h1,.hero-content h2{font-size:clamp(32px,8.6vw,44px);line-height:1.65;margin-bottom:20px}.hero-content p{font-size:13px;line-height:1.95;max-width:330px;margin-bottom:26px}.hero-content .btn{font-size:12px;min-width:214px;min-height:48px}.hero-bottom{bottom:22px}.hero-note{display:none}.hero-controls{width:100%;justify-content:center;gap:6px}.hero-controls button{min-width:37px}.hero-controls .pause{margin-left:8px}.pathway-inner{grid-template-columns:repeat(2,1fr)}.pathway-inner a{padding:15px 15px;border-bottom:1px solid var(--line)}.pathway-inner a:nth-child(2n){border-right:0}.pathway-inner a:last-child{grid-column:1/-1}.section{padding:72px 0}.intro{padding:64px 0}.intro-grid{grid-template-columns:1fr;gap:26px}.intro h2{font-size:29px;margin:12px 0 0}.intro p{font-size:14px}.section-top{grid-template-columns:1fr;gap:16px;margin-bottom:32px}.section-no{padding:0}.section-title{font-size:29px;margin-bottom:14px}.section-copy{font-size:13px}.business-grid{grid-template-columns:1fr;gap:24px}.business-card>img,.thankyou-preview{height:240px}.business-card h3{font-size:23px}.business-card .card-body{padding:25px}.business-card p{font-size:13px}.business-mini{grid-template-columns:1fr;gap:0;margin-top:0}.business-mini article{padding:25px 0}.venture-list{grid-template-columns:1fr;gap:24px}.featured .venture{display:block}.venture-media,.featured .venture-media{height:330px;padding:22px}.venture-body,.featured .venture-body{padding:27px}.featured h3{font-size:30px}.venture-body p{font-size:13px}.extra-works{margin-top:48px}.extra-works-head{display:block}.extra-works-head h3{font-size:21px}.extra-works-grid{grid-template-columns:1fr}.extra-work{display:grid;grid-template-columns:120px 1fr;align-items:center}.extra-work>img{height:180px}.extra-work-copy{padding:18px}.extra-work h4{font-size:16px}.development-grid{grid-template-columns:1fr;gap:0}.development{margin-top:45px}.systems-image{height:240px;margin-bottom:30px}.system-grid{grid-template-columns:1fr 1fr;gap:0 23px}.system{padding:22px 0}.system h3{font-size:15px;line-height:1.7}.system p{font-size:12px}.history-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.year{font-size:31px}.history-item p{font-size:12px}.amami-photo>img{height:280px}.amami-photo-caption{left:16px;font-size:8px}.amami-box{grid-template-columns:1fr;gap:25px}.amami-main h3{font-size:23px}.amami-list{gap:22px}.statement{padding:68px 0}.statement p{font-size:12px}.profile{padding:32px 0}.profile summary{font-size:18px}.profile-row{grid-template-columns:90px 1fr;gap:18px;font-size:12px}.contact{padding:55px 0}.contact-box{grid-template-columns:1fr}.contact-photo{min-height:0;height:260px}.line-contact-copy{padding:28px}.contact h2{font-size:29px}.contact p{font-size:13px}.foot{flex-direction:column;align-items:flex-start;gap:23px}.footer-links{gap:16px}.site-footer{padding:32px 0}.lunch-gallery img{height:110px}}
@media(max-height:680px) and (max-width:650px){.hero-carousel{min-height:410px}.hero-content .kicker{margin-bottom:15px}.hero-content h1,.hero-content h2{font-size:31px;line-height:1.55;margin-bottom:13px}.hero-content p{font-size:12px;margin-bottom:18px}.hero-content{padding-bottom:46px}.hero-bottom{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.live-preview{width:100%;min-width:0;background:#fff;box-shadow:0 12px 30px #17352914;border:1px solid #d0d8ce;overflow:hidden}
.preview-bar{height:27px;background:#f6f7f3;border-bottom:1px solid #e1e5de;display:flex;align-items:center;justify-content:space-between;padding:0 11px;font:9px/1.2 sans-serif;color:#68756b;letter-spacing:.1em}
.preview-dots{color:#b6bdb1;font-size:7px;letter-spacing:3px}.preview-state{font-size:8px;color:#40634b}
.preview-screen{position:relative;aspect-ratio:3/2;overflow:hidden;background:#eef2eb}
.preview-screen .preview-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:.65}
.preview-wait{position:absolute;inset:auto 0 0;padding:8px;text-align:center;background:#f7f8f1e6;color:#5e6a60;font-size:10px;z-index:1}
.desktop-preview-frame{position:absolute;top:0;left:0;width:1440px!important;height:960px!important;border:0;transform-origin:top left;pointer-events:none;background:white;z-index:2}
.preview-ready .preview-fallback,.preview-ready .preview-wait{visibility:hidden}
.extra-work>.live-preview{border-width:0 0 1px;box-shadow:none;align-self:start}
.extra-work:hover .extra-work-copy h4{text-decoration:underline;text-underline-offset:4px}
.venture-media:has(.live-preview){height:auto;min-height:300px;align-items:center;padding:22px}
.featured .venture-media:has(.live-preview){height:auto;min-height:380px;padding:26px}
@media(max-width:650px){.extra-works-grid .extra-work{display:block}.extra-work>.live-preview{width:100%}.venture-media:has(.live-preview),.featured .venture-media:has(.live-preview){height:auto;min-height:0;padding:15px}.preview-bar{height:25px}}
