@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--paper:#f4f0e8;--ink:#262922;--accent:#a05f38;--line:#c7bdb0;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif;--space:clamp(24px,6vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans);overflow-x:clip}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font:400 clamp(32px,4vw,60px)/1.55 var(--serif);letter-spacing:.02em}h3{font:500 24px/1.6 var(--serif)}p{text-wrap:pretty}.demo-banner{background:#252a25;color:#fff;text-align:center;font-size:10px;padding:6px 10px;letter-spacing:.04em}.skip{position:fixed;left:15px;top:-100px;z-index:999;background:white;padding:10px}.skip:focus{top:8px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:26px var(--space);position:relative;z-index:4;border-bottom:1px solid var(--line);gap:24px}.brand{text-decoration:none;font:500 24px/1.4 var(--serif);letter-spacing:.08em}.brand small{display:block;font:9px/1.8 var(--sans);letter-spacing:.2em;margin-top:7px}.site-header nav{display:flex;gap:32px;font-size:12px;align-items:center}.site-header nav a{text-decoration:none}.nav-contact{border-bottom:1px solid var(--accent);padding-bottom:6px}.hero{min-height:780px;min-height:min(820px,90svh);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:80px var(--space) 110px;gap:6vw;position:relative;isolation:isolate}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:.19em;display:block;color:var(--accent);margin-bottom:28px}.hero h1{font:400 clamp(40px,5vw,78px)/1.55 var(--serif);letter-spacing:.015em}.lead{max-width:31em;margin:28px 0 30px;line-height:2}.text-link{display:inline-flex;gap:40px;text-decoration:none;font-size:13px;padding:15px 0;border-bottom:1px solid var(--accent);align-items:center}.text-link span{font-size:23px}.hero-image{position:relative;z-index:1;margin-right:calc(var(--space)*-1)}.hero-image img{aspect-ratio:4/5;max-height:670px;object-fit:cover}.hero-image figcaption{font-size:9px;letter-spacing:.2em;margin-top:14px}.hero-art{position:absolute;inset:0;border:0;width:100%;height:100%;z-index:-1}.hero:has(.hero-art){color:#fff;background:#111}.hero:has(.hero-art) .eyebrow{color:#d9c7a4}.hero:has(.hero-art) .lead{color:#e1d9cc}.hero:has(.hero-art) .hero-copy{padding:22px;background:linear-gradient(90deg,#0006,transparent)}.hero:has(.hero-art) .hero-image{opacity:.91}.scroll-cue{position:absolute;bottom:30px;left:var(--space);text-decoration:none;font-size:9px;letter-spacing:.18em}.section{padding:110px var(--space);border-top:1px solid var(--line)}.section-heading>p{max-width:35em;margin-top:22px;font-size:14px}.story{display:grid;grid-template-columns:1fr 1fr;gap:5vw 9vw;align-items:start}.story-copy{padding-top:52px}.story-copy p+p{margin-top:26px}.detail-image{grid-column:2;max-width:80%;margin-top:0}.detail-image img{aspect-ratio:5/3}.experience{background:#0a0b0b;color:#f4f1e8;padding-top:65px}.experience .section-heading{padding:0 var(--space) 25px}.experience h2{font-size:clamp(26px,3vw,42px)}.experience p{font-size:12px;color:#aaa}.experience iframe{display:block;width:100%;border:0;height:780px}.experience iframe[data-component=kairo]{height:1750px}.experience iframe[data-component=kasane]{height:960px}.experience iframe[data-component=tsuzuri]{height:1000px}.services>.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 9vw}.services>.section-heading .eyebrow{grid-column:1/-1}.offers{margin-top:65px}.offer{display:grid;grid-template-columns:55px minmax(0,1fr) minmax(220px,.55fr);gap:40px;border-top:1px solid var(--line);padding:38px 0}.ordinal{font:12px/1.5 var(--sans);color:var(--accent);letter-spacing:.15em}.offer .description{max-width:36em;margin:18px 0 15px;font-size:14px}.included{font-size:11px;color:color-mix(in srgb,var(--ink) 65%,transparent);border-left:2px solid var(--accent);padding-left:14px}.offer-price{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.offer-price strong{font:400 30px/1.4 var(--serif)}.offer-price>span{font-size:12px}.offer-price button{border:0;border-bottom:1px solid var(--accent);color:var(--ink);background:none;font-size:12px;display:flex;gap:24px;padding:14px 0;margin-top:10px}.perspective{background:var(--ink);color:var(--paper)}.perspective .eyebrow,.perspective .ordinal{color:color-mix(in srgb,var(--paper) 65%,var(--accent))}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin:55px 0 70px}.details-grid h3{margin:20px 0}.details-grid p{font-size:14px;color:color-mix(in srgb,var(--paper) 80%,transparent)}.wide-image img{height:clamp(280px,43vw,620px)}.wide-image figcaption{font-size:10px;letter-spacing:.1em;margin-top:15px;opacity:.6}.flow,.faq,.consult{display:grid;grid-template-columns:.85fr 1.2fr;gap:9vw}.flow ol{list-style:none;padding:0;margin:10px 0}.flow li{display:grid;grid-template-columns:45px 1fr;gap:25px;padding:25px 0 35px;border-top:1px solid var(--line)}.flow li p{font-size:14px;margin-top:14px}.faq details{border-bottom:1px solid var(--line);padding:24px 0}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:25px;cursor:pointer;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--accent)}.faq details p{font-size:14px;line-height:2;margin-top:20px}.consult{background:color-mix(in srgb,var(--paper) 90%,var(--accent));align-items:start}.small{font-size:11px!important;line-height:1.8;opacity:.7}.consult label{display:block;font-size:12px;margin-bottom:20px}.consult input:not([type=checkbox]),.consult select,.consult textarea{display:block;width:100%;padding:14px;border:1px solid var(--line);color:var(--ink);background:transparent;margin-top:10px;border-radius:0}.checkbox{display:flex!important;align-items:start;gap:12px}.checkbox input{width:18px;height:18px;flex:none;margin-top:3px}.submit{width:100%;text-align:left;display:flex;justify-content:space-between;padding:20px 24px;background:var(--ink);color:var(--paper);border:0}.submit span{font-size:24px}#selection-note:not(:empty){padding:15px;border-left:2px solid var(--accent);font-size:13px;margin:0 0 25px;background:var(--paper)}#form-result:not(:empty){display:block;margin-top:24px;padding:24px;background:var(--paper);white-space:pre-line;line-height:1.9}footer{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:60px var(--space);font-size:11px}footer>a:last-child{text-decoration:none;border-bottom:1px solid var(--accent);padding:12px 0}.copper{--paper:#f1ede7;--ink:#262323;--accent:#ba6845;--line:#c9beb5}.violet{--paper:#f2eef4;--ink:#25212e;--accent:#8063ad;--line:#c9c0d3}.electric{--paper:#eff2e2;--ink:#242b26;--accent:#607141;--line:#b4bda5}.graphite{--paper:#e8e9e5;--ink:#242928;--accent:#566964;--line:#b3bfbb}.forest{--paper:#eeeee4;--ink:#293b32;--accent:#597460;--line:#bcc7b8}.ocean{--paper:#edeef1;--ink:#17283c;--accent:#597493;--line:#bbc4ce}.mint{--paper:#eaf0e9;--ink:#263b32;--accent:#50765c;--line:#b1c4b5}.paper{--paper:#eae9e3;--ink:#34362e;--accent:#757646;--line:#bdbfae}.ink{--paper:#f1ede4;--ink:#232b2b;--accent:#ad6d47;--line:#c7c0b1}.layout-1 .hero{grid-template-columns:1.05fr .85fr}.layout-1 .hero-image{margin:0;transform:translateY(45px)}.layout-1 .hero-image img{aspect-ratio:1}.layout-2 .hero{grid-template-columns:1fr;padding-top:75px}.layout-2 .hero-copy{max-width:70%;padding-bottom:30px}.layout-2 .hero-image{position:absolute;right:0;bottom:0;width:43%;z-index:-1;margin:0}.layout-2 .hero-image img{aspect-ratio:1;opacity:.7}.layout-2 .hero h1{font-size:clamp(48px,7vw,100px)}.layout-3 .hero-image{margin-right:0;transform:rotate(-3deg)}.layout-3 .hero-image img{aspect-ratio:1}.layout-4 .hero{grid-template-columns:1fr 1.1fr;gap:4vw}.layout-4 .hero-image img{aspect-ratio:4/3}.layout-4 .hero{min-height:650px}.layout-4 .hero-image{margin-right:0}.layout-4 h1{font-family:var(--sans);font-weight:500;font-size:clamp(42px,5vw,68px)}.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.3,1)}.is-visible{opacity:1;transform:translateY(0)}.hero-image img{transition:transform 1s cubic-bezier(.2,.65,.3,1)}.hero-image:hover img{transform:scale(1.018)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:760px){.site-header{padding:20px 22px}.brand{font-size:20px}.site-header nav{gap:15px}.site-header nav>a:not(.nav-contact){display:none}.hero,.layout-1 .hero,.layout-4 .hero{display:flex;flex-direction:column;gap:32px;padding:50px 24px 75px;min-height:0;align-items:stretch}.hero h1,.layout-2 .hero h1,.layout-4 h1{font-size:39px;line-height:1.5}.hero .eyebrow{margin-bottom:23px}.lead{font-size:14px;margin:20px 0}.hero-image,.layout-1 .hero-image,.layout-2 .hero-image,.layout-3 .hero-image,.layout-4 .hero-image{position:relative!important;width:100%;transform:none;margin:0!important;z-index:1}.hero-image img,.layout-1 .hero-image img,.layout-2 .hero-image img,.layout-3 .hero-image img,.layout-4 .hero-image img{aspect-ratio:4/3;max-height:380px;opacity:1}.layout-2 .hero-copy{max-width:100%}.hero:has(.hero-art) .hero-copy{padding:0}.hero-art{height:100%}.section{padding:65px 24px}.story,.services>.section-heading,.flow,.faq,.consult{display:block}.story-copy{padding-top:30px}.story-copy p{font-size:14px}.detail-image{max-width:85%;margin:35px 0 0 15%}.services>.section-heading p{margin-top:24px}.offers{margin-top:40px}.offer{grid-template-columns:25px 1fr;gap:15px;padding:28px 0}.offer-price{grid-column:2;margin-top:4px}.offer-price strong{font-size:27px}.details-grid{grid-template-columns:1fr;gap:35px;margin:40px 0}.details-grid h3{margin:10px 0}.details-grid article{border-top:1px solid #ffffff30;padding-top:20px}.flow ol{margin-top:35px}.faq>.section-heading{margin-bottom:20px}.consult form{margin-top:35px}h2{font-size:31px}h3{font-size:22px}.experience .section-heading{padding:0 24px 20px}.experience iframe{height:660px}.experience iframe[data-component=kasane]{height:2150px}.experience iframe[data-component=kairo]{height:2300px}.experience iframe[data-component=tsuzuri]{height:820px}.experience iframe[data-component=suiron]{height:700px}footer{display:block;padding:45px 24px 100px}footer p{margin:28px 0}footer>a:last-child{display:inline-block}.scroll-cue{left:24px;bottom:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none;transition:none}.hero-image img{transition:none;transform:none!important}}

/* Headlines fit the Japanese copy without a one-character last line. */
.hero-copy{min-width:0}.hero h1{font-size:clamp(36px,3.65vw,60px);text-wrap:balance}.layout-2 .hero h1{font-size:clamp(45px,5.7vw,82px)}.layout-4 .hero h1{font-size:clamp(36px,3.8vw,58px)}@media(max-width:760px){.hero h1,.layout-2 .hero h1,.layout-4 .hero h1{font-size:32px;line-height:1.55}.story h2,.section-heading h2{font-size:30px}}

#motion-toggle{border:0;background:transparent;color:inherit;font-size:12px;padding:6px 0;text-decoration:underline;text-underline-offset:5px}.motion-paused *{animation:none!important;transition:none!important}.motion-paused .reveal-ready{opacity:1!important;transform:none!important}@media(max-width:480px){.site-header nav{gap:14px}.brand{font-size:17px}#motion-toggle{font-size:11px}}

body{font-size:16px}.small{font-size:13px!important}.demo-banner{font-size:12px}.consult label{font-size:14px}@media(max-width:760px){.lead,.story-copy p{font-size:16px}.consult input:not([type=checkbox]),.consult select,.consult textarea{font-size:16px}}
