:root{--accent:#b89e73;--surface:#f5f1e8;--text:#2d342e;--font-head:'Zen Old Mincho',serif;--font-body:'DM Sans','Noto Sans JP',sans-serif;--hero-img:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fcfbf8;font-family:var(--font-body);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}::selection{background:var(--accent);color:white}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sample-banner{height:35px;background:#202a27;color:#dbe9d7;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(17px,4vw,70px);font-size:10px;letter-spacing:.08em;font-weight:600;position:relative;z-index:20}.sample-banner span{display:flex;align-items:center;gap:8px}.sample-banner i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b9ed78;box-shadow:0 0 0 3px #b9ed7825}.sample-banner b{font-weight:400;color:#9eafa4}.sample-banner a{border-bottom:1px solid #84998a;padding-bottom:2px}.demo-header{height:79px;background:#faf9f4;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(25px,6vw,100px);position:sticky;top:0;z-index:18;border-bottom:1px solid #e4e5dd}.demo-brand{font-family:var(--font-head);font-weight:700;font-size:24px;letter-spacing:.04em}.demo-header nav{display:flex;gap:33px;align-items:center;margin-left:auto;margin-right:32px}.demo-header nav a{font-size:11px;font-weight:600;letter-spacing:.06em;transition:color .2s}.demo-header nav a:hover{color:var(--accent)}.demo-header-cta{border:1px solid var(--text);padding:13px 19px;font-size:11px;background:transparent;color:var(--text);transition:.2s}.demo-header-cta:hover{background:var(--text);color:white}.demo-menu-button{display:none;border:0;background:transparent;font-size:22px;color:var(--text)}.demo-hero{min-height:660px;display:grid;grid-template-columns:1fr 1fr;position:relative;background:var(--surface);overflow:hidden}.hero-copy{align-self:center;position:relative;z-index:3;padding:80px 30px 100px clamp(32px,8vw,130px)}.hero-kicker{font-size:11px;font-weight:700;letter-spacing:.22em;display:block;margin-bottom:22px;color:var(--accent)}.hero-copy h1{font:500 clamp(40px,5.2vw,83px)/1.48 var(--font-head);letter-spacing:-.045em;margin:0}.hero-copy p{font-size:13px;line-height:2.2;letter-spacing:.03em;margin:26px 0 36px;max-width:430px}.demo-primary{border:0;padding:15px 24px;background:var(--accent);color:#182c24;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:25px;transition:transform .25s,filter .25s}.demo-primary:hover{transform:translateY(-3px);filter:brightness(1.09)}.hero-art{position:relative;min-height:570px;background:var(--hero-img) center/cover}.hero-decoration{position:absolute;pointer-events:none}.hero-bottom{position:absolute;bottom:25px;left:clamp(32px,8vw,130px);font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--text);z-index:4}.hero-bottom:before{content:"";display:inline-block;width:31px;height:1px;background:currentColor;margin-right:11px;vertical-align:middle}.demo-section{padding:100px clamp(25px,7vw,125px)}.section-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d6ddd7;padding-bottom:18px;font-size:10px;font-weight:700;letter-spacing:.16em;color:#88938a;margin-bottom:60px}.section-label span:first-child{border:1px solid #d0d6d0;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;color:#576c5b}.tiny-overline{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--accent)}.demo-section h2,.demo-contact h2{font:500 clamp(32px,3.65vw,58px)/1.6 var(--font-head);letter-spacing:-.045em;margin:16px 0 20px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.story-heading p{font-size:13px;line-height:2.35;max-width:470px;color:#607066;margin:0 0 32px}.under-link{font-size:12px;letter-spacing:.06em;font-weight:700;border-bottom:1px solid var(--accent);padding-bottom:9px}.story-image{aspect-ratio:1.12;background:#ddd center/cover;position:relative}.story-image:after{content:"";position:absolute;inset:15px;border:1px solid #fff9}.demo-offer{background:var(--surface)}.offer-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.offer-heading p{max-width:340px;font-size:12px;line-height:2.2;color:#65746b}.offer-tabs{border-bottom:1px solid #cfd7cd;display:flex;gap:30px;margin-bottom:28px}.offer-tabs button{border:0;background:none;padding:14px 4px;color:#8b968e;font-size:13px;font-weight:700;border-bottom:3px solid transparent}.offer-tabs button.selected{color:var(--text);border-color:var(--accent)}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.offer-card{background:#fffdfa;border:1px solid #e5e9e2;padding:32px 26px;min-height:212px;transition:transform .25s,box-shadow .25s}.offer-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #24392815}.offer-card .offer-number{font-size:11px;font-weight:700;color:var(--accent)}.offer-card h3{font:500 24px/1.5 var(--font-head);margin:30px 0 13px}.offer-card p{font-size:12px;color:#728077;line-height:2;margin:0}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.gallery-heading>span{font-size:10px;color:#798b7d;letter-spacing:.15em}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px}.gallery-grid button{border:0;padding:0;display:block;overflow:hidden;background:#e5e5dc;height:320px;cursor:zoom-in;position:relative}.gallery-grid button img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-grid button:hover img{transform:scale(1.06)}.gallery-grid button:after{content:"↗";position:absolute;right:13px;bottom:13px;background:#fff;color:#20362a;width:31px;height:31px;display:grid;place-items:center;font-size:17px}.gallery-note{text-align:right;color:#98a59b;font-size:10px;margin-top:16px}.demo-faq{background:#f1f3ef}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.faq-grid p{max-width:360px;font-size:12px;color:#738378;line-height:2}.faq-list{border-top:1px solid #cfd7ce}.faq-list details{border-bottom:1px solid #cfd7ce}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;font-weight:700;padding:21px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:19px;color:var(--accent);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0 0 24px;font-size:12px;line-height:2;color:#738378}.demo-contact{text-align:center;background:var(--text);color:#fff;padding:110px 20px 105px;position:relative;overflow:hidden}.contact-ornament{position:absolute;right:-5%;top:-30%;font-size:400px;color:#ffffff0b;pointer-events:none}.demo-contact .tiny-overline{position:relative}.demo-contact h2{position:relative;font-size:clamp(39px,5vw,70px)}.demo-contact p{position:relative;font-size:13px;color:#cfdbd2;margin:0 0 30px}.demo-contact .contact-button{position:relative}.demo-contact small{position:relative;display:block;margin-top:17px;color:#adbcb1;font-size:10px}.demo-footer{background:#192922;color:#e5ede5;display:flex;align-items:center;justify-content:space-between;padding:27px clamp(25px,7vw,125px);gap:15px;font-size:9px;letter-spacing:.12em}.demo-footer span:first-child{font-family:var(--font-head);font-size:18px;letter-spacing:.01em}.demo-footer a{border-bottom:1px solid #5f7c66;padding-bottom:4px}.inquiry-modal,.gallery-lightbox{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:22px}.inquiry-backdrop{position:absolute;inset:0;background:#0d1b17d9;backdrop-filter:blur(6px)}.inquiry-form{position:relative;background:#fffefa;color:#25342b;max-width:510px;width:100%;padding:40px;max-height:90vh;overflow:auto;box-shadow:0 30px 80px #1118}.inquiry-close{position:absolute;right:15px;top:15px;border:0;background:#1e3428;color:white;width:36px;height:36px;font-size:24px}.inquiry-form h2{font:500 36px var(--font-head);margin:13px 0 12px}.inquiry-form>p{font-size:12px;line-height:2;color:#6e7b70}.inquiry-form label{font-size:12px;font-weight:700;display:block;margin:19px 0}.inquiry-form input,.inquiry-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #cbd6cb;padding:12px;background:#fafcf9;font-size:13px;outline:none}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:var(--accent)}.form-success{margin-top:16px;padding:13px;background:#e2f5e3;color:#285f31;font-size:12px;line-height:1.8}.gallery-lightbox{background:#0b1b17e8;flex-direction:column;gap:14px}.gallery-lightbox button{position:absolute;top:22px;right:25px;font-size:31px;border:0;background:none;color:white}.gallery-lightbox img{object-fit:contain;max-width:min(90vw,1200px);max-height:79vh}.gallery-lightbox span{color:#e2eae5;font-size:10px;letter-spacing:.16em}
/* The ten art directions deliberately use distinct hierarchy, image treatment and typography. */
body.layout-japan{--font-head:'Zen Old Mincho',serif}.layout-japan .demo-hero{background:#eae5dc}.layout-japan .hero-copy h1{font-size:clamp(42px,5.1vw,81px)}.layout-japan .hero-art{margin:32px 45px 45px 0;box-shadow:24px 25px 0 #cbc3b5}.layout-japan .hero-decoration{right:40%;top:25px;width:1px;height:250px;background:#9b876a50}.layout-japan .story-image{border-radius:0}.layout-japan .demo-header-cta{border-radius:0}
.layout-cafe{--font-head:'Zen Old Mincho',serif}.layout-cafe .demo-hero{background:#f8eee0;grid-template-columns:1fr 1fr}.layout-cafe .hero-copy{padding-left:7vw}.layout-cafe .hero-copy h1{font-size:clamp(44px,5.8vw,90px);color:#5b4033}.layout-cafe .hero-art{margin:60px 65px 62px 0;border-radius:49% 49% 3% 3%;box-shadow:25px 22px 0 #f0d6b6}.layout-cafe .hero-decoration{border-radius:50%;width:200px;height:200px;border:1px solid #c08f6b65;top:-70px;left:40%}.layout-cafe .demo-primary{border-radius:100px}.layout-cafe .offer-card{border-radius:14px}.layout-cafe .story-image{border-radius:180px 180px 0 0}
.layout-salon .demo-hero{display:flex;align-items:end;min-height:720px;background:#3a2c2a;color:#fff}.layout-salon .hero-art{position:absolute;inset:0;background-position:center 35%}.layout-salon .hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1b1717b3,transparent 90%),linear-gradient(0deg,#1d171a65,transparent 70%)}.layout-salon .hero-copy{padding-left:7vw;max-width:790px}.layout-salon .hero-kicker{color:#ffe7db}.layout-salon .hero-copy h1{font-family:'DM Sans',sans-serif;font-weight:500;font-size:clamp(54px,8vw,126px);line-height:1.03;letter-spacing:-.06em}.layout-salon .hero-copy p{color:#f7f0ed}.layout-salon .hero-bottom{color:white}.layout-salon .demo-primary{background:#e7c2b4}.layout-salon .story-image{aspect-ratio:.92}
.layout-wellness .demo-hero{background:#eaf2e9;min-height:630px}.layout-wellness .hero-copy{text-align:center;padding:80px 0 90px 6vw}.layout-wellness .hero-copy h1{font-size:clamp(42px,5.1vw,76px);color:#465b47}.layout-wellness .hero-copy p{margin-inline:auto}.layout-wellness .hero-art{margin:65px 9vw 65px 25px;border-radius:50% 50% 47% 47%;min-height:490px}.layout-wellness .hero-decoration{width:570px;height:570px;border:1px solid #9db99f7a;border-radius:50%;top:27px;right:2%}.layout-wellness .demo-primary{border-radius:50px;color:white}.layout-wellness .story-image{border-radius:49% 49% 0 0}
.layout-industrial .demo-hero{background:#142c35;color:#fff}.layout-industrial .hero-copy{padding-left:6vw}.layout-industrial .hero-copy h1{font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:clamp(55px,6vw,96px);font-weight:800;letter-spacing:-.07em;line-height:1.2}.layout-industrial .hero-copy p{color:#cedbe1}.layout-industrial .hero-art{margin:44px 0 44px 0;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}.layout-industrial .hero-decoration{width:170px;height:12px;background:var(--accent);right:12%;top:54px}.layout-industrial .hero-bottom{color:var(--accent)}.layout-industrial .demo-primary{background:var(--accent)}.layout-industrial .offer-card{border-left:5px solid var(--accent)}
.layout-photo .demo-hero{display:flex;align-items:center;min-height:720px;color:#fff;background:#28272a}.layout-photo .hero-art{position:absolute;inset:0;background-position:center 45%}.layout-photo .hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1c211bcc,#1c211b36)}.layout-photo .hero-copy{padding-left:8vw}.layout-photo .hero-kicker{color:#f1dcbd}.layout-photo .hero-copy h1{font-size:clamp(49px,7.3vw,112px);line-height:1.4}.layout-photo .hero-copy p{color:#efeee8}.layout-photo .hero-bottom{color:#fff}.layout-photo .demo-primary{background:#eee6da;color:#352d28}.layout-photo .gallery-grid{grid-template-columns:repeat(3,1fr)}.layout-photo .gallery-grid button{height:420px}
.layout-office .demo-hero{background:#e6eced}.layout-office .hero-copy{padding-left:7vw;border-left:14px solid var(--accent);margin-left:20px}.layout-office .hero-copy h1{font-size:clamp(44px,5.1vw,83px);color:#28404e}.layout-office .hero-art{margin:60px 58px 65px 5px;box-shadow:-18px -18px 0 #f4f6f0}.layout-office .hero-decoration{height:100%;width:12px;background:#c0c7bf;left:52%;top:0}.layout-office .demo-primary{color:white}.layout-office .offer-card{border-top:3px solid var(--accent)}
.layout-clinic .demo-hero{background:#edf5f8;min-height:625px}.layout-clinic .hero-copy h1{font-size:clamp(42px,5.2vw,77px);color:#31556b}.layout-clinic .hero-art{margin:45px 55px 50px 10px;border-radius:250px 250px 30px 30px;min-height:520px}.layout-clinic .hero-decoration{width:250px;height:250px;border-radius:50%;background:#d5eaf3;left:-80px;bottom:-80px}.layout-clinic .demo-primary{border-radius:9px;color:white}.layout-clinic .offer-card{border-radius:10px}
.layout-creative{--font-head:'DM Sans','Noto Sans JP',sans-serif}.layout-creative .demo-hero{background:#302456;color:white}.layout-creative .hero-copy{padding-left:6vw}.layout-creative .hero-copy h1{font:800 clamp(58px,7vw,120px)/.98 'DM Sans','Noto Sans JP',sans-serif;letter-spacing:-.07em;text-transform:uppercase}.layout-creative .hero-copy p{color:#e2d9f1}.layout-creative .hero-art{margin:52px 30px 52px -8px;border:10px solid #f5a6c3;transform:rotate(4deg);min-height:495px}.layout-creative .hero-decoration{width:190px;height:190px;left:40%;top:0;background:var(--accent);border-radius:50%;mix-blend-mode:screen;opacity:.5}.layout-creative .hero-kicker{color:var(--accent)}.layout-creative .hero-bottom{color:var(--accent)}.layout-creative .demo-primary{border-radius:30px}.layout-creative .offer-card{border-radius:18px;transform:rotate(-1deg)}.layout-creative .offer-card:nth-child(2){transform:rotate(1deg)}
.layout-corporate .demo-hero{background:#142638;color:white}.layout-corporate .hero-copy{padding-left:7vw}.layout-corporate .hero-copy h1{font-size:clamp(49px,5.9vw,94px);line-height:1.3}.layout-corporate .hero-copy p{color:#cad2dd}.layout-corporate .hero-art{margin:70px 70px 70px 0;min-height:520px;box-shadow:25px -25px 0 #223b50}.layout-corporate .hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#152a4270,transparent)}.layout-corporate .hero-kicker{color:#e7cfa3}.layout-corporate .hero-bottom{color:#e7cfa3}.layout-corporate .demo-primary{background:var(--accent)}.layout-corporate .story-image{aspect-ratio:1.6}
@media(max-width:950px){.demo-header{padding:0 24px}.demo-header nav{gap:15px;margin-right:20px}.demo-hero{min-height:570px}.hero-copy{padding-left:5vw}.hero-copy h1{font-size:5.4vw}.hero-art{min-height:480px}.demo-section{padding:75px 6vw}.story-grid{gap:6%}.layout-cafe .hero-art,.layout-wellness .hero-art,.layout-clinic .hero-art,.layout-corporate .hero-art,.layout-office .hero-art{margin-right:25px}}
@media(max-width:680px){.sample-banner{height:31px;font-size:8px;padding:0 12px}.sample-banner b{display:none}.demo-header{height:67px;padding:0 19px}.demo-brand{font-size:20px}.demo-header-cta{padding:10px 11px;font-size:9px;margin-left:auto;margin-right:13px}.demo-menu-button{display:block}.demo-header nav{display:none;position:absolute;top:67px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#faf9f4;box-shadow:0 15px 30px #0002;padding:15px 22px;margin:0}.demo-header nav.open{display:flex}.demo-header nav a{padding:13px;border-bottom:1px solid #e6e5dc}.demo-hero{display:flex!important;flex-direction:column!important;min-height:0!important}.hero-copy{order:2;padding:40px 24px 75px!important;margin:0!important;border:0!important;text-align:left!important}.hero-copy h1,.layout-salon .hero-copy h1,.layout-creative .hero-copy h1{font-size:clamp(37px,9.2vw,64px);line-height:1.35}.hero-copy p{font-size:12px;line-height:2.1;margin:20px 0}.hero-art{order:1;min-height:300px!important;height:48vw;max-height:420px;position:relative!important;inset:auto!important;margin:0!important;border:0!important;border-radius:0!important;clip-path:none!important;transform:none!important;box-shadow:none!important;width:100%}.hero-art:after{display:none}.layout-salon .hero-art:after,.layout-photo .hero-art:after{display:block}.layout-salon .hero-copy,.layout-photo .hero-copy{position:relative;color:var(--text);background:var(--surface)}.layout-salon .hero-copy p,.layout-photo .hero-copy p{color:#667068}.layout-salon .hero-kicker,.layout-photo .hero-kicker{color:var(--accent)}.layout-industrial .hero-copy,.layout-creative .hero-copy,.layout-corporate .hero-copy{background:var(--text);color:white}.layout-industrial .hero-copy p,.layout-creative .hero-copy p,.layout-corporate .hero-copy p{color:#dde6de}.layout-salon .hero-bottom,.layout-photo .hero-bottom{color:var(--text)}.hero-decoration{display:none}.hero-bottom{bottom:20px;left:24px;font-size:8px}.demo-section{padding:58px 22px}.section-label{margin-bottom:38px}.story-grid,.faq-grid{grid-template-columns:1fr;gap:36px}.story-image{aspect-ratio:1.5}.demo-section h2{font-size:clamp(30px,7.3vw,45px)}.offer-heading{display:block}.offer-grid{grid-template-columns:1fr;gap:12px}.offer-card{min-height:0;padding:23px}.offer-card h3{margin:19px 0 8px;font-size:21px}.gallery-grid,.layout-photo .gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.gallery-grid button,.layout-photo .gallery-grid button{height:190px}.gallery-grid button:first-child{grid-column:span 2;height:270px}.gallery-heading>span{display:none}.demo-contact{padding:75px 25px}.demo-footer{flex-direction:column;gap:17px;padding:28px 24px}.inquiry-form{padding:32px 22px}.layout-wellness .hero-copy{text-align:center!important}.layout-wellness .hero-art{border-radius:0}.layout-creative .hero-copy h1{font-size:11vw}.layout-corporate .hero-copy,.layout-industrial .hero-copy{padding-left:24px}.layout-cafe .hero-copy h1{font-size:10vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:400px){.hero-copy h1,.layout-cafe .hero-copy h1,.layout-salon .hero-copy h1,.layout-photo .hero-copy h1,.layout-corporate .hero-copy h1{font-size:31px;line-height:1.48}.layout-industrial .hero-copy h1,.layout-creative .hero-copy h1{font-size:37px;line-height:1.2}.hero-copy{padding:34px 22px 72px!important}.demo-brand{font-size:18px}.demo-header-cta{font-size:8px;padding:9px 10px}.hero-kicker{letter-spacing:.12em;font-size:9px}}
