@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.hidden{display:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#18231a;--forest:#223126;--moss:#66795b;--sage:#a8b29e;--ivory:#f5f1e8;--paper:#fbf9f4;--line:#18231a29;--display:"Arial Narrow", "Helvetica Neue", Arial, sans-serif;--body:"Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);text-rendering:optimizelegibility;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.site-header{z-index:20;color:#fff;border-bottom:1px solid #ffffff38;justify-content:space-between;align-items:center;width:100%;height:94px;padding:0 clamp(24px,4vw,72px);display:flex;position:absolute;top:0;left:0}.brand{min-width:238px;color:var(--ivory);align-items:center;display:inline-flex}.brand-logo{object-fit:contain;object-position:left center;width:238px;height:auto;max-height:58px;display:block;overflow:visible}.site-header .brand{--logo-cutout:#173020;color:#fff}.early-footer .brand{--logo-cutout:#131c15}.desktop-nav{letter-spacing:.08em;align-items:center;gap:clamp(22px,2.6vw,46px);font-size:12px;font-weight:650;display:flex}.desktop-nav a,.language-link{opacity:.88;transition:opacity .18s;position:relative}.desktop-nav a:hover,.language-link:hover{opacity:1}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;width:100%;height:1px;transition:transform .22s;position:absolute;bottom:-7px;left:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-actions{justify-content:flex-end;align-items:center;gap:22px;min-width:224px;display:flex}.language-link{font-size:12px}.button{border:1px solid var(--forest);background:var(--forest);color:#fff;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;justify-content:center;align-items:center;gap:22px;min-height:54px;padding:0 26px;font-size:11px;font-weight:750;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:18px}.button-small{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f1e81f;border-color:#ffffff80;min-height:40px;padding:0 20px}.mobile-menu{display:none}.hero{background:var(--ink);color:#fff;height:100svh;min-height:840px;max-height:1020px;position:relative;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{background:url(/images/ai-spa-bathroom.webp) 50%/cover no-repeat;animation:1.6s cubic-bezier(.2,.7,.2,1) forwards hero-settle;transform:scale(1.035)}.hero-content{z-index:2;flex-direction:column;justify-content:center;width:min(1280px,100% - 48px);height:100%;margin:0 auto;padding:182px 0 88px;display:flex;position:relative}.eyebrow{color:var(--moss);letter-spacing:.24em;text-transform:uppercase;margin:0 0 24px;font-size:10px;font-weight:800}.eyebrow.light{color:#d8dfd2}.hero h1{letter-spacing:-.055em;max-width:900px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,6.3vw,98px);font-weight:400;line-height:.98}.hero-copy{color:#ffffffc2;max-width:570px;margin:32px 0 0;font-size:clamp(16px,1.45vw,19px);line-height:1.7}.hero-actions{align-items:center;gap:34px;margin-top:40px;display:flex}.button-ivory{border-color:var(--ivory);background:var(--ivory);color:var(--forest)}.text-link{letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid;padding:8px 0;font-size:11px;font-weight:700}.text-link.light{color:#ffffffd1}.hero-note{align-items:center;gap:14px;display:flex;position:absolute;bottom:48px;left:0}.hero-note>span{border:1px solid #fff6;border-radius:50%;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:15px;display:grid}.hero-note p{color:#ffffff94;letter-spacing:.06em;flex-direction:column;gap:3px;margin:0;font-size:9px;display:flex}.hero-note strong{color:#ffffffe6;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.scroll-cue{z-index:3;color:#ffffffa3;letter-spacing:.2em;text-transform:uppercase;transform-origin:100%;align-items:center;gap:14px;font-size:9px;display:flex;position:absolute;bottom:38px;right:clamp(24px,4vw,72px);transform:rotate(90deg)translate(-100%)}.scroll-cue i{background:#ffffff47;width:50px;height:1px;display:block;overflow:hidden}.trust-strip{border-bottom:1px solid var(--line);background:var(--ivory);grid-template-columns:repeat(3,1fr);min-height:132px;display:grid}.trust-strip>div{border-right:1px solid var(--line);align-items:center;gap:22px;padding:30px clamp(24px,4vw,64px);display:flex}.trust-strip>div:last-child{border-right:0}.trust-strip span{color:var(--moss);font-family:Georgia,serif;font-size:12px}.trust-strip p{color:#778077;flex-direction:column;gap:8px;margin:0;font-size:11px;line-height:1.4;display:flex}.trust-strip strong{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.section{width:min(1280px,100% - 48px);margin:0 auto}.welcome{grid-template-columns:minmax(180px,.28fr) 1fr;gap:clamp(50px,8vw,130px);padding-top:140px;padding-bottom:150px;display:grid}.welcome-aside{min-width:0}.welcome-sketch{margin:70px 0 0}.welcome-sketch>div{border:1px solid var(--line);background:#eee9dc;height:238px;position:relative;overflow:hidden}.welcome-sketch img{object-fit:cover;object-position:25% 48%;filter:saturate(.72)contrast(.94);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform:scale(1.02)}.welcome-sketch:hover img{transform:scale(1.07)}.welcome-sketch>div>span{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;background:#f5f1e8e6;padding:7px 8px;font-size:7px;font-weight:800;position:absolute;bottom:10px;right:10px}.welcome-sketch figcaption{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;display:flex}.welcome-sketch small{color:var(--moss);letter-spacing:.17em;text-transform:uppercase;font-size:7px;font-weight:800}.welcome-sketch strong{font-family:Georgia,serif;font-size:15px;font-weight:400;line-height:1.42}.section-label{align-items:flex-start;gap:13px;padding-top:8px;display:flex}.section-label span{color:var(--moss);letter-spacing:.08em;writing-mode:vertical-rl;font-family:serif;font-size:11px}.section-label p{letter-spacing:.17em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.welcome h2,.bathroom-copy h2{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5.5vw,82px);font-weight:400;line-height:1.02}.prose-columns{color:#6d756d;grid-template-columns:repeat(2,1fr);gap:clamp(30px,5vw,80px);max-width:900px;margin-top:54px;font-size:15px;line-height:1.9;display:grid}.prose-columns p{margin:0}.bathroom-feature{background:var(--forest);color:#fff;grid-template-columns:minmax(0,1.12fr) minmax(440px,.88fr);min-height:750px;display:grid}.bathroom-image{background:url(/images/ohtani-hero.webp) 69%/cover no-repeat;min-height:700px;position:relative}.bathroom-image:after{content:"";background:linear-gradient(90deg,#0000 70%,#22312647);position:absolute;inset:0}.image-index{z-index:1;letter-spacing:.2em;background:#141d16cc;padding:8px 11px;font-size:8px;position:absolute;bottom:28px;left:30px}.bathroom-copy{flex-direction:column;justify-content:center;padding:clamp(70px,8vw,130px) clamp(32px,7vw,110px);display:flex}.bathroom-copy>p:not(.eyebrow){color:#ffffffad;max-width:560px;margin:34px 0 0;font-size:15px;line-height:1.85}.bathroom-copy ul{border-top:1px solid #ffffff2e;grid-template-columns:repeat(2,1fr);gap:0 28px;margin:38px 0 40px;padding:0;list-style:none;display:grid}.bathroom-copy li{color:#ffffffdb;letter-spacing:.04em;border-bottom:1px solid #ffffff2e;align-items:center;gap:12px;min-height:58px;font-size:11px;display:flex}.bathroom-copy li span{color:var(--sage);font-family:Georgia,serif;font-size:9px}.button-outline-light{background:0 0;border-color:#ffffff85;align-self:flex-start}.special-offers{padding-top:150px;padding-bottom:150px}.offers-heading{grid-template-columns:minmax(160px,.22fr) minmax(440px,.9fr) minmax(250px,.46fr);align-items:end;gap:clamp(32px,6vw,90px);margin-bottom:72px;display:grid}.offers-heading h2{letter-spacing:-.052em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5.2vw,78px);font-weight:400;line-height:1.03}.offers-heading>p{color:#737b73;margin:0 0 8px;font-size:14px;line-height:1.8}.offer-kicker{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;width:100%;padding-bottom:20px;display:flex}.offer-kicker strong,.offer-kicker small{letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:800}.offer-kicker small{color:var(--moss)}.onsen-offer{border:1px solid var(--line);background:#eef0e8;overflow:hidden}.onsen-hero{grid-template-columns:minmax(420px,.88fr) minmax(0,1.12fr);min-height:570px;display:grid}.onsen-copy{padding:clamp(42px,5vw,72px)}.onsen-copy .eyebrow,.kitchen-offer-copy .eyebrow{margin-top:48px}.onsen-copy h3,.kitchen-offer-copy h3{letter-spacing:-.052em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,4.8vw,70px);font-weight:400;line-height:1.02}.onsen-copy>p:not(.eyebrow),.kitchen-offer-copy>p:not(.eyebrow){color:#6f776f;max-width:520px;margin:24px 0 0;font-size:14px;line-height:1.8}.onsen-details{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0 22px;margin-top:38px;display:grid}.onsen-details span{border-bottom:1px solid var(--line);color:#485348;letter-spacing:.09em;text-transform:uppercase;padding:16px 0;font-size:9px;font-weight:750}.onsen-details span:before{content:"○";color:var(--moss);margin-right:9px}.onsen-media,.kitchen-offer-media{background:#d7d8d2;min-height:500px;position:relative;overflow:hidden}.onsen-media:after,.kitchen-offer-media:after{content:"";pointer-events:none;background:linear-gradient(#0d160f38,#0000 34%);position:absolute;inset:0}.onsen-media img,.kitchen-offer-media img{object-fit:cover;filter:saturate(.88)contrast(1.02);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s}.onsen-offer:hover .onsen-media img,.kitchen-offer:hover .kitchen-offer-media img{filter:saturate()contrast(1.02);transform:scale(1.035)}.onsen-media>span,.kitchen-offer-media>span{z-index:2;color:#fff;letter-spacing:.18em;text-transform:uppercase;background:#141d16c2;padding:8px 10px;font-size:8px;font-weight:750;position:absolute;top:24px;left:24px}.onsen-levels{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(3,1fr);display:grid}.onsen-level{border-right:1px solid var(--line);min-height:280px;padding:38px;position:relative}.onsen-level:last-child{border-right:0}.onsen-level-head{grid-template-columns:auto 1fr;align-items:center;gap:3px 14px;display:grid}.onsen-level-head>span{border:1px solid var(--line);border-radius:50%;grid-row:1/3;place-items:center;width:52px;height:52px;font-family:Georgia,serif;font-size:17px;display:grid}.onsen-level-head small{color:var(--moss);letter-spacing:.17em;text-transform:uppercase;font-size:8px;font-weight:800}.onsen-level-head b{font-family:Georgia,serif;font-size:28px;font-weight:400}.onsen-level>p{color:#6f776f;max-width:270px;margin:44px 0 0;font-size:13px;line-height:1.7}.level-index{color:#22312638;font-family:Georgia,serif;font-size:44px;position:absolute;bottom:24px;right:28px}.onsen-level-featured{background:var(--ivory)}.onsen-level-luxury{background:var(--forest);color:#fff}.onsen-level-luxury .onsen-level-head>span{border-color:#ffffff3d}.onsen-level-luxury .onsen-level-head small,.onsen-level-luxury>p{color:#ffffffad}.onsen-level-luxury .level-index{color:#ffffff1f}.onsen-cta{justify-content:space-between;align-items:center;gap:30px;padding:32px 38px;display:flex}.onsen-cta p{color:#687168;margin:0;font-size:11px;line-height:1.6}.onsen-cta p strong{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;font-size:9px;display:block}.kitchen-offer{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:620px;margin-top:24px;display:grid;overflow:hidden}.kitchen-offer-media img{object-position:center 54%}.kitchen-offer-copy{padding:clamp(42px,5vw,72px)}.kitchen-offer-copy ul{border-top:1px solid var(--line);margin:32px 0 38px;padding:0;list-style:none}.kitchen-offer-copy li{border-bottom:1px solid var(--line);color:#555f56;letter-spacing:.03em;padding:14px 0;font-size:11px}.kitchen-offer-copy li:before{content:"✓";color:var(--moss);margin-right:11px}.offers-note{color:#7b827a;letter-spacing:.06em;text-align:right;margin:24px 0 0;font-size:9px}.portfolio{padding-top:150px;padding-bottom:150px}.portfolio-heading{grid-template-columns:minmax(160px,.22fr) minmax(440px,.9fr) minmax(250px,.46fr);align-items:end;gap:clamp(32px,6vw,90px);margin-bottom:72px;display:grid}.portfolio-heading h2,.services-intro h2,.commercial-copy h2,.process-heading h2,.reviews-head h2,.motto h2,.contact h2{letter-spacing:-.052em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5.2vw,78px);font-weight:400;line-height:1.03}.portfolio-heading>p{color:#737b73;margin:0 0 8px;font-size:14px;line-height:1.8}.portfolio-grid{grid-template-columns:repeat(12,1fr);gap:76px 18px;display:grid}.portfolio-card{min-width:0}.portfolio-card-large{grid-column:span 7}.portfolio-card-tall{grid-column:span 5}.portfolio-image{cursor:pointer;background:#d7d8d2;height:600px;display:block;position:relative;overflow:hidden}.portfolio-card-tall .portfolio-image{height:720px}.portfolio-image img{object-fit:cover;filter:saturate(.88)contrast(1.02);width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s}.portfolio-card-large .portfolio-image img{object-position:center 54%}.portfolio-card:hover .portfolio-image img{filter:saturate()contrast(1.02);transform:scale(1.04)}.portfolio-image:after{content:"";pointer-events:none;background:linear-gradient(#0d160f47,#0000 26%),linear-gradient(#0000 72%,#0d160fb8);position:absolute;inset:0}.portfolio-index,.portfolio-view{z-index:2;color:#fff;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:750;position:absolute}.portfolio-index{top:24px;left:24px}.portfolio-view{opacity:0;align-items:center;gap:14px;transition:opacity .22s,transform .22s;display:flex;bottom:24px;right:24px;transform:translateY(8px)}.portfolio-view svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:18px}.portfolio-card:hover .portfolio-view,.portfolio-image:focus-visible .portfolio-view{opacity:1;transform:translateY(0)}.portfolio-meta{border-top:1px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:30px;margin-top:12px;padding:24px 0 0;display:flex}.portfolio-meta span{color:var(--moss);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.portfolio-meta h3{letter-spacing:-.035em;margin:0;font-family:Georgia,serif;font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.08}.portfolio-meta p{color:#788078;text-align:right;max-width:220px;margin:0;font-size:10px;line-height:1.7}.portfolio-cta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:76px;padding-top:30px;display:flex}.portfolio-cta p{color:#707970;margin:0;font-family:Georgia,serif;font-size:18px}.services{background:var(--ivory);padding:140px 0}.services-intro{grid-template-columns:minmax(180px,.28fr) 1fr;gap:clamp(50px,8vw,130px);margin-bottom:70px;display:grid}.service-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.service-card{color:#fff;min-height:680px;position:relative;overflow:hidden}.service-card>img,.service-overlay{width:100%;height:100%;position:absolute;inset:0}.service-card>img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-card:hover>img{transform:scale(1.045)}.service-overlay{background:linear-gradient(#0c140e1a 0%,#0c140e61 45%,#0c140eeb 100%)}.service-content{z-index:2;flex-direction:column;justify-content:flex-end;min-height:680px;padding:36px;display:flex;position:relative}.service-content>span{color:#ffffffb3;letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:700;position:absolute;top:30px;left:32px}.service-content h3{letter-spacing:-.04em;margin:0 0 28px;font-family:Georgia,serif;font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.1}.service-content ul{border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff38;margin:0 0 34px;padding:20px 0;list-style:none}.service-content li{color:#ffffffb8;padding:4px 0 4px 13px;font-size:11px;line-height:1.45;position:relative}.service-content li:before{content:"";background:var(--sage);width:4px;height:1px;position:absolute;top:11px;left:0}.service-content>a{letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:750;display:flex}.service-content>a svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:21px}.commercial-story{color:#fff;background:#172219;grid-template-columns:minmax(440px,.86fr) minmax(0,1.14fr);min-height:790px;display:grid}.commercial-copy{flex-direction:column;justify-content:center;padding:clamp(80px,9vw,145px);display:flex}.commercial-copy>p:not(.eyebrow){color:#ffffffa8;max-width:620px;margin:28px 0 0;font-size:14px;line-height:1.85}.commercial-copy .button{margin-top:42px}.commercial-image{background:linear-gradient(90deg,#1722194d,#0000 35%),url(/images/ai-japanese-restaurant.webp) 50%/cover no-repeat;min-height:660px}.process{padding-top:145px;padding-bottom:150px}.process-heading{grid-template-columns:minmax(160px,.22fr) minmax(400px,.88fr) minmax(250px,.48fr);align-items:end;gap:clamp(32px,6vw,90px);display:grid}.process-heading>p{color:#707970;margin:0 0 8px;font-size:14px;line-height:1.8}.process-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);margin:90px 0 0;padding:0;list-style:none;display:grid}.process-grid li{border-right:1px solid var(--line);min-height:270px;padding:26px 30px 30px 0}.process-grid li:not(:first-child){padding-left:30px}.process-grid li:last-child{border-right:0}.process-grid span{color:var(--moss);font-family:Georgia,serif;font-size:11px}.process-grid h3{margin:78px 0 14px;font-family:Georgia,serif;font-size:30px;font-weight:400}.process-grid p{color:#717971;margin:0;font-size:12px;line-height:1.75}.process-note{color:#8b928b;letter-spacing:.08em;text-align:right;text-transform:uppercase;margin:30px 0 0;font-size:10px}.reviews{background:var(--forest);color:#fff;padding:140px 0 130px}.reviews-head{justify-content:space-between;align-items:flex-end;gap:70px;display:flex}.reviews-head>p{color:#ffffff94;max-width:300px;margin:0 0 8px;font-family:Georgia,serif;font-size:16px;line-height:1.6}.review-list{border-top:1px solid #ffffff40;margin-top:80px}.review-list details{border-bottom:1px solid #ffffff40}.review-list summary{cursor:pointer;grid-template-columns:1fr 240px 30px;align-items:center;gap:30px;min-height:120px;list-style:none;display:grid}.review-list summary::-webkit-details-marker{display:none}.review-list summary>span{letter-spacing:-.02em;font-family:Georgia,serif;font-size:clamp(21px,2.3vw,32px)}.review-list summary small{color:#ffffff8c;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.review-list summary i{text-align:right;font-family:Arial,sans-serif;font-size:25px;font-style:normal;font-weight:200;transition:transform .18s}.review-list details[open] summary i{transform:rotate(45deg)}.review-body{grid-template-columns:repeat(2,1fr);gap:40px 70px;padding:0 300px 54px 0;display:grid}.review-body p{color:#ffffffa3;margin:0;font-size:13px;line-height:1.85}.review-body strong{color:var(--sage);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;font-size:9px}.motto{grid-template-columns:1fr .92fr;gap:clamp(70px,10vw,160px);padding-top:145px;padding-bottom:150px;display:grid}.motto-copy>p:not(.eyebrow){color:#707970;max-width:590px;margin:30px 0 0;font-size:14px;line-height:1.85}.promises{padding-top:12px}.promises ol{border-top:1px solid var(--line);margin:42px 0 0;padding:0;list-style:none}.promises li{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr;align-items:center;gap:24px;min-height:126px;display:grid}.promises li span{border:1px solid var(--sage);width:42px;height:42px;color:var(--moss);border-radius:50%;place-items:center;font-family:Georgia,serif;display:grid}.promises li p{margin:0;font-family:Georgia,serif;font-size:17px;line-height:1.5}.contact{color:#fff;background:linear-gradient(90deg,#121d14f0,#121d14b8),url(/images/ohtani-hero.webp) 50%/cover no-repeat;place-items:center;min-height:720px;display:grid;position:relative;overflow:hidden}.contact:before{content:"大";color:#ffffff0b;font-family:Georgia,serif;font-size:min(43vw,620px);line-height:1;position:absolute;bottom:-.26em;right:4vw}.contact-inner{z-index:1;text-align:center;width:min(900px,100% - 48px);padding:110px 0;position:relative}.contact-inner>p:not(.eyebrow){color:#ffffffad;max-width:570px;margin:32px auto 0;font-size:15px;line-height:1.8}.contact-actions{justify-content:center;align-items:center;gap:46px;margin-top:44px;display:flex}.contact-phone{flex-direction:column;align-items:flex-start;gap:6px;font-family:Georgia,serif;font-size:26px;display:flex}.contact-phone small{font-family:var(--body);letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:750}.early-footer{color:var(--ivory);background:#131c15;grid-template-columns:1fr 1fr;justify-content:space-between;align-items:center;gap:70px;padding:80px clamp(24px,4vw,72px) 26px;display:grid}.early-footer>div:first-child>p{color:#ffffff80;letter-spacing:.12em;text-transform:uppercase;margin:16px 0 0;font-size:10px}.footer-details{grid-template-columns:1.5fr .5fr;gap:60px;display:grid}.footer-details>div{flex-direction:column;align-items:flex-start;gap:8px;font-family:Georgia,serif;font-size:15px;line-height:1.6;display:flex}.footer-details small{color:#ffffff73;font-family:var(--body);letter-spacing:.15em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:750}.footer-bottom{color:#ffffff6b;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #ffffff24;grid-column:1/-1;justify-content:space-between;align-items:center;gap:24px;padding-top:25px;font-size:8px;display:flex}.footer-bottom p{margin:0}@keyframes hero-settle{0%{opacity:0;transform:scale(1.09)}to{opacity:1;transform:scale(1.035)}}@media (max-width:1060px){.desktop-nav{display:none}.header-actions{min-width:0;margin-left:auto;margin-right:22px}.mobile-menu{display:block}.mobile-menu summary{cursor:pointer;flex-direction:column;justify-content:center;gap:7px;width:36px;height:36px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:#fff;width:25px;height:1px;display:block}.mobile-menu nav{background:var(--ivory);width:min(320px,100vw - 44px);color:var(--ink);letter-spacing:.08em;flex-direction:column;gap:18px;padding:24px;font-size:12px;font-weight:700;display:flex;position:absolute;top:74px;right:22px;box-shadow:0 20px 60px #0000003d}.bathroom-feature{grid-template-columns:1fr}.bathroom-image{min-height:620px}.portfolio-grid{gap:64px 16px}.onsen-hero,.kitchen-offer{grid-template-columns:1fr}.onsen-media,.kitchen-offer-media{min-height:520px}.kitchen-offer-media{order:-1}.portfolio-card-large,.portfolio-card-tall{grid-column:span 6}.portfolio-image,.portfolio-card-tall .portfolio-image{height:600px}.service-grid{grid-template-columns:1fr}.service-card,.service-content{min-height:640px}.service-card>img{object-position:center 38%}.commercial-story{grid-template-columns:1fr}.commercial-image{order:-1;min-height:650px}.process-heading{grid-template-columns:.32fr 1fr}.process-heading>p{grid-column:2}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid li{border-bottom:1px solid var(--line)}.process-grid li:nth-child(2){border-right:0}.review-body{padding-right:120px}}@media (max-width:760px){.site-header{height:78px;padding:0 20px}.brand{min-width:0}.brand-logo{width:164px}.header-actions{display:none}.hero{min-height:760px}.hero-media{background-position:57%,50%}.hero-shade{background:linear-gradient(90deg,#0d160fe6 0%,#0d160f9e 70%,#0d160f38 100%)}.hero-content{justify-content:center;width:calc(100% - 40px);padding:130px 0 116px}.hero h1{font-size:clamp(43px,13vw,64px);line-height:1}.hero-copy{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-note{bottom:30px}.scroll-cue{display:none}.trust-strip{grid-template-columns:1fr}.trust-strip>div{border-right:0;border-bottom:1px solid var(--line);min-height:112px}.welcome{grid-template-columns:1fr;gap:50px;padding-top:90px;padding-bottom:90px}.welcome-aside{grid-template-columns:minmax(120px,.36fr) 1fr;align-items:start;gap:28px;display:grid}.welcome-sketch{margin:0}.welcome-sketch>div{height:190px}.welcome-sketch figcaption{display:none}.prose-columns{grid-template-columns:1fr;margin-top:36px}.bathroom-image{min-height:440px}.bathroom-copy{padding:80px 24px}.bathroom-copy ul{grid-template-columns:1fr}.portfolio,.special-offers,.process{padding-top:90px;padding-bottom:95px}.offers-heading{flex-direction:column;align-items:flex-start;gap:46px;margin-bottom:52px;display:flex}.offers-heading>p{max-width:520px}.onsen-copy,.kitchen-offer-copy{padding:40px 24px}.onsen-copy .eyebrow,.kitchen-offer-copy .eyebrow{margin-top:36px}.onsen-media,.kitchen-offer-media{min-height:360px}.onsen-details,.onsen-levels{grid-template-columns:1fr}.onsen-level{border-right:0;border-bottom:1px solid var(--line);min-height:230px;padding:30px 24px}.onsen-level:last-child{border-bottom:0}.onsen-level>p{margin-top:34px}.onsen-cta{flex-direction:column;align-items:flex-start;padding:30px 24px}.onsen-cta .button,.kitchen-offer-copy .button{width:100%}.offers-note{text-align:left;line-height:1.6}.portfolio-heading,.portfolio-cta,.reviews-head,.contact-actions{flex-direction:column;align-items:flex-start}.portfolio-heading{gap:46px;margin-bottom:52px;display:flex}.portfolio-heading>p{max-width:520px}.portfolio-grid{grid-template-columns:1fr;gap:58px}.portfolio-card-large,.portfolio-card-tall{grid-column:auto}.portfolio-image,.portfolio-card-tall .portfolio-image{height:min(128vw,560px)}.portfolio-view{opacity:1;transform:none}.portfolio-meta{flex-direction:column;gap:14px}.portfolio-meta p{text-align:left;max-width:none}.services{padding:90px 0}.services-intro{grid-template-columns:1fr;gap:48px}.service-card,.service-content{min-height:620px}.service-content{padding:28px}.commercial-copy{padding:82px 24px}.commercial-image{min-height:480px}.process-heading{grid-template-columns:1fr;gap:46px}.process-heading>p{grid-column:auto}.process-grid{grid-template-columns:1fr;margin-top:60px}.process-grid li,.process-grid li:not(:first-child){border-right:0;min-height:220px;padding:25px 10px 30px 0}.process-grid h3{margin-top:50px}.reviews{padding:90px 0}.review-list{margin-top:55px}.review-list summary{grid-template-columns:1fr 30px;gap:15px;padding:28px 0}.review-list summary small{grid-area:2/1}.review-list summary i{grid-area:1/2/span 2}.review-body{grid-template-columns:1fr;gap:22px;padding:0 0 40px}.motto{grid-template-columns:1fr;gap:80px;padding-top:90px;padding-bottom:95px}.contact{min-height:680px}.contact-actions{gap:28px}.contact-phone{align-items:center}.early-footer{grid-template-columns:1fr;align-items:flex-start;gap:42px}.footer-details{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button{font:inherit}.interior-feature .bathroom-image{background-image:linear-gradient(90deg,#0000 70%,#22312647),url(/images/ai-kitchen-living.webp);background-position:50%}.reveal-ready{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(32px)}.reveal-ready.reveal-in{opacity:1;transform:none}.project-launcher{z-index:40;color:#fff;filter:drop-shadow(0 16px 34px #0a140c47);align-items:stretch;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.form-launcher{letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#18231af5;border:1px solid #ffffff47;border-radius:4px;justify-content:center;align-items:center;min-height:58px;padding:0 22px;font-size:10px;font-weight:800;transition:transform .2s,background .2s;display:flex}.call-launcher{background:#486343;border:1px solid #ffffff59;border-radius:50%;flex:0 0 58px;place-items:center;width:58px;height:58px;transition:transform .2s,background .2s;display:grid}.call-launcher svg{fill:#fff;width:25px;height:25px}.form-launcher:hover,.call-launcher:hover{transform:translateY(-3px)}.call-launcher:hover{background:#5b7854}.portal{z-index:100;background:var(--paper);color:var(--ink);grid-template-columns:minmax(290px,31vw) 1fr;display:grid;position:fixed;inset:0}.portal-aside{color:#fff;background:linear-gradient(#0f1b129e,#0f1b12db),url(/images/ai-japanese-room.webp) 50%/cover;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,76px);display:flex;position:relative;overflow:hidden}.portal-aside>b{border:1px solid #ffffff80;border-radius:50%;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-weight:400;display:grid}.portal-aside p,.portal-aside a{letter-spacing:.16em;text-transform:uppercase;font-size:9px}.portal-aside h2{letter-spacing:-.05em;margin:16px 0 24px;font:400 clamp(38px,4vw,68px)/1.02 Georgia,serif}.portal-aside span{color:#ffffffb8;max-width:390px;font-size:14px;line-height:1.75;display:block}.portal-aside a{border-bottom:1px solid #ffffff80;width:fit-content;padding-bottom:7px}.portal-main{grid-template-rows:78px 1fr 86px;min-width:0;height:100svh;display:grid}.portal-header{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr 40px;align-items:center;gap:30px;padding:0 clamp(24px,4vw,64px);display:grid}.portal-header div{letter-spacing:.12em;flex-direction:column;gap:3px;font-size:8px;display:flex}.portal-header div strong{color:var(--moss);font-size:9px}.portal-header>i{background:#e1e3dc;height:2px}.portal-header>i span{background:var(--moss);height:100%;transition:width .4s;display:block}.portal-header>button{color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:30px;font-weight:200}.portal-content{padding:clamp(36px,5vw,72px) clamp(24px,7vw,110px);animation:.35s portal-enter;overflow-y:auto}@keyframes portal-enter{0%{opacity:0;transform:translateY(10px)}}.portal-intro,.portal-step,.portal-success{width:min(760px,100%);margin:auto}.portal-intro small,.portal-step>small,.portal-success small{color:var(--moss);letter-spacing:.2em;font-size:9px;font-weight:800}.portal-intro h1,.portal-step h1,.portal-success h1{letter-spacing:-.05em;margin:16px 0 20px;font:400 clamp(40px,5vw,72px)/1.02 Georgia,serif}.portal-intro>p,.portal-step>p,.portal-success p{color:#737b73;max-width:610px;font-size:14px;line-height:1.7}.portal-intro ul{border-top:1px solid var(--line);margin-top:36px;padding:0;list-style:none}.portal-intro li{border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.visual-options,.style-options{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:38px;display:grid}.visual-options button,.style-options button{cursor:pointer;text-align:left;background:#eeeae1;border:1px solid #0000;padding:0;overflow:hidden}.visual-options img,.style-options img{object-fit:cover;filter:saturate(.72);width:100%;height:120px;transition:transform .35s;display:block}.visual-options button:hover img,.style-options button:hover img{transform:scale(1.04)}.visual-options span,.style-options span{background:#fff;min-height:50px;padding:12px;font-size:10px;font-weight:700;display:block}.visual-options button.selected,.style-options button.selected{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.check-options{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:38px;display:grid}.check-options button,.pill-options button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;padding:16px}.check-options button i{border:1px solid var(--line);border-radius:50%;place-items:center;width:22px;height:22px;margin-right:12px;font-style:normal;display:inline-grid}.check-options button.selected,.pill-options button.selected{border-color:var(--forest);background:var(--forest);color:#fff}.portal-field{margin-top:28px;display:block}.portal-field>span{letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;font-size:9px;font-weight:800;display:block}.portal-field input,.portal-field select,.portal-field textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #aeb5ab;border-radius:0;outline:none;padding:14px 2px;font-size:15px}.portal-field textarea{resize:vertical;min-height:120px}.field-row{grid-template-columns:1fr 1fr;gap:28px;display:grid}.pill-options{flex-wrap:wrap;gap:8px;display:flex}.pill-options button{border-radius:30px;padding:13px 18px;font-size:11px}.upload-zone{border:1px dashed var(--sage);cursor:pointer;background:#f1f1ea;flex-direction:column;justify-content:center;align-items:center;min-height:130px;margin-top:30px;display:flex}.upload-zone input{display:none}.upload-zone b{font-size:24px;font-weight:300}.upload-zone strong{margin:6px;font-size:12px}.upload-zone small{color:#7c847b}.photo-previews{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px;display:grid}.photo-previews div{height:80px;position:relative}.photo-previews img{object-fit:cover;width:100%;height:100%}.photo-previews button{color:#fff;background:#141e16cc;border:0;border-radius:50%;width:20px;height:20px;position:absolute;top:4px;right:4px}.consent{color:#687068;gap:12px;margin-top:28px;font-size:10px;line-height:1.5;display:flex}.consent input{margin-top:2px}.portal-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:0 clamp(24px,4vw,64px);display:flex}.portal-footer>button{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;font-size:10px;font-weight:750}.portal-footer p{color:#9c5549;margin-left:auto;font-size:10px}.portal-footer .portal-primary,.portal-primary{background:var(--forest);color:#fff;min-height:48px;padding:0 24px}@media (max-width:900px){.portal{grid-template-columns:1fr}.portal-aside{display:none}.portal-main{height:100svh}.visual-options,.style-options{grid-template-columns:repeat(2,1fr)}.project-launcher{bottom:14px;right:14px}}@media (max-width:560px){.portal-main{grid-template-rows:66px 1fr 76px}.portal-header{grid-template-columns:100px 1fr 28px;gap:12px;padding:0 18px}.portal-content{padding:30px 18px}.visual-options img,.style-options img{height:100px}.check-options,.field-row{grid-template-columns:1fr}.photo-previews{grid-template-columns:repeat(4,1fr)}.portal-footer{padding:0 18px}.portal-footer p{display:none}.portal-intro h1,.portal-step h1{font-size:39px}.project-launcher{left:14px;right:14px}.form-launcher{flex:1;padding:0 14px}.call-launcher{width:58px}}.hero-media{background-image:url(/images/ai-spa-bathroom.webp);background-position:50%;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,#0a140df0 0%,#0a140dc2 35%,#0a140d2e 66%,#0a140d0f),linear-gradient(#0000 55%,#0a140d73)}.hero-content{width:min(1380px,100% - 80px);padding-top:150px}.hero h1{max-width:790px;font-size:clamp(58px,6.2vw,94px);line-height:.94}.hero-copy{max-width:515px}.hero-sketch-card{z-index:3;width:clamp(240px,24vw,385px);color:var(--ink);background:#f7f3eaf5;padding:9px;position:absolute;bottom:66px;right:clamp(32px,6vw,96px);transform:rotate(-1.5deg);box-shadow:0 24px 70px #00000040}.hero-sketch-card img{object-fit:cover;width:100%;height:170px;display:block}.hero-sketch-card span{letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;padding:10px 4px 3px;font-size:9px;font-weight:750;display:flex}.hero-sketch-card b{color:var(--moss)}.project-page{color:#172219;background:#f4f1e9;min-height:100svh}.project-topbar{background:#f8f5ee;border-bottom:1px solid #17221926;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 34px;display:grid}.project-wordmark{grid-template-rows:1fr 1fr;grid-template-columns:38px auto;align-items:center;column-gap:10px;width:max-content;display:grid}.project-wordmark>span{background:var(--forest);color:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:34px;height:34px;font-family:Georgia,serif;display:grid}.project-wordmark b{font-family:var(--display);letter-spacing:.02em;align-self:end;font-size:17px;line-height:1}.project-wordmark small{letter-spacing:.24em;align-self:start;font-size:6px;font-weight:800}.project-topbar>div{letter-spacing:.16em;align-items:center;gap:14px;font-size:8px;font-weight:800;display:flex}.project-topbar>div i{background:var(--sage);width:34px;height:1px}.project-exit{letter-spacing:.1em;text-transform:uppercase;justify-self:end;align-items:center;gap:16px;font-size:9px;font-weight:750;display:flex}.project-exit b{border:1px solid var(--line);border-radius:50%;place-items:center;width:30px;height:30px;font-size:16px;font-weight:300;display:grid}.project-workspace{grid-template-columns:270px 1fr;min-height:calc(100svh - 78px);display:grid}.project-rail{border-right:1px solid var(--line);background:#eeeae0;flex-direction:column;padding:48px 34px 30px;display:flex}.project-rail>p{letter-spacing:.18em;margin:0 0 42px;font-size:8px;font-weight:800}.project-rail ol{margin:0;padding:0;list-style:none}.project-rail li{color:#969b94;align-items:center;gap:15px;min-height:58px;font-size:11px;display:flex;position:relative}.project-rail li:not(:last-child):after{content:"";background:#caccc5;width:1px;height:28px;position:absolute;top:44px;left:14px}.project-rail li i{border:1px solid #c4c7c0;border-radius:50%;place-items:center;width:29px;height:29px;font-size:8px;font-style:normal;display:grid}.project-rail li.active{color:var(--ink);font-weight:700}.project-rail li.active i{background:var(--forest);border-color:var(--forest);color:#fff;box-shadow:0 0 0 5px #22312614}.project-rail li.done i{background:var(--sage);border-color:var(--sage);color:#fff}.project-rail>div{border-top:1px solid var(--line);flex-direction:column;gap:7px;margin-top:auto;padding-top:24px;font-size:9px;display:flex}.project-rail>div span{color:#838a82}.project-rail>div a{font-family:Georgia,serif;font-size:15px}.project-stage{background:#fbf9f4;grid-template-rows:56px 1fr 80px;min-width:0;height:calc(100svh - 78px);display:grid}.project-stage-head{border-bottom:1px solid var(--line);letter-spacing:.12em;color:#727a72;grid-template-columns:80px 1fr 120px;align-items:center;gap:24px;padding:0 clamp(26px,4vw,64px);font-size:8px;font-weight:750;display:grid}.project-stage-head>i{background:#e3e2dc;height:2px}.project-stage-head>i b{background:var(--moss);height:100%;transition:width .45s;display:block}.project-stage-head small{text-align:right}.project-stage-scroll{padding:44px clamp(30px,6vw,92px) 60px;overflow-y:auto}.project-step{width:min(1040px,100%);margin:0 auto;animation:.4s portal-enter}.project-step>small{color:var(--moss);letter-spacing:.2em;font-size:8px;font-weight:850}.project-step>h1{letter-spacing:-.05em;margin:13px 0 10px;font:400 clamp(40px,4.2vw,66px)/1 Georgia,serif}.project-step>p{color:#747d74;margin:0;font-size:13px;line-height:1.7}.project-visual-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:34px;display:grid}.project-visual-grid button{cursor:pointer;color:#fff;text-align:left;background:#ddd;border:1px solid #0000;height:210px;padding:0;position:relative;overflow:hidden}.project-visual-grid img{object-fit:cover;width:100%;height:100%;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.project-visual-grid button:hover img{transform:scale(1.035)}.project-visual-grid button:after{content:"";background:linear-gradient(#0000,#09120be0);position:absolute;inset:40% 0 0}.project-visual-grid button>span{z-index:2;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:18px;left:20px}.project-visual-grid button>span b{font:400 20px Georgia,serif}.project-visual-grid button>span small{color:#ffffffab;font-size:9px}.project-visual-grid button>i{z-index:2;font-style:normal;position:absolute;bottom:18px;right:18px}.project-visual-grid button.selected{border-color:var(--moss);box-shadow:0 0 0 3px #66795b2e}.project-other{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.project-other>span{letter-spacing:.12em;text-transform:uppercase;margin-right:8px;font-size:8px;font-weight:800}.project-other button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:30px;padding:10px 14px;font-size:9px}.project-other button.selected{background:var(--forest);color:#fff}.project-fields{margin-top:38px}.project-fields.two{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.project-field{margin-top:28px;display:block}.project-fields .project-field{margin-top:0}.project-field>span{letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:8px;font-weight:800;display:block}.project-field input,.project-field select,.project-field textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #afb4ac;border-radius:0;outline:none;padding:15px 2px;font-size:14px}.project-field textarea{resize:vertical;min-height:105px}.property-art{background:#e8e3d8;height:300px;margin-top:42px;position:relative;overflow:hidden}.property-art img{object-fit:cover;width:100%;height:100%}.property-art span{background:#f8f5edf0;max-width:270px;padding:12px 15px;font:italic 13px/1.45 Georgia,serif;position:absolute;bottom:18px;right:20px}.scope-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:34px;display:grid}.scope-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;min-height:72px;padding:12px;font-size:9px}.scope-grid button i{color:var(--moss);margin-bottom:10px;font-style:normal;display:block}.scope-grid button.selected{background:var(--forest);color:#fff}.scope-grid button.selected i{color:#fff}.project-upload{cursor:pointer;background:#f1efe8;border:1px dashed #9fa99a;flex-direction:column;justify-content:center;min-height:82px;margin-top:22px;padding:20px 70px 20px 22px;display:flex;position:relative}.project-upload input{display:none}.project-upload b{font:400 16px Georgia,serif}.project-upload span{color:#7e857d;margin-top:4px;font-size:9px}.project-upload i{font-size:26px;font-style:normal;font-weight:200;position:absolute;right:24px}.project-previews{grid-template-columns:repeat(8,1fr);gap:6px;margin-top:8px;display:grid}.project-previews div{height:64px;position:relative}.project-previews img{object-fit:cover;width:100%;height:100%}.project-previews button{color:#fff;background:#1d2b20;border:0;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;right:3px}.choice-group{margin-top:38px}.choice-group>span{letter-spacing:.14em;text-transform:uppercase;font-size:8px;font-weight:800}.choice-group>div{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.choice-group button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;justify-content:space-between;padding:18px;font-size:10px;display:flex}.choice-group button i{color:var(--moss);font-style:normal}.choice-group button.selected{border-color:var(--forest);background:var(--forest);color:#fff}.project-consent{color:#737b73;gap:12px;max-width:700px;margin-top:30px;font-size:10px;line-height:1.5;display:flex}.project-review{border-left:3px solid var(--moss);background:#f0eee7;gap:5px;margin-top:30px;padding:20px;display:grid}.project-review span{letter-spacing:.16em;font-size:7px;font-weight:800}.project-review b{font:400 20px Georgia,serif}.project-review small{color:#7b837a}.project-controls{border-top:1px solid var(--line);background:#fbf9f4;align-items:center;gap:24px;padding:0 clamp(26px,4vw,64px);display:flex}.project-controls>button{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800}.project-controls>button:disabled{opacity:.25}.project-controls p{color:#a35d51;margin-left:auto;font-size:9px}.project-controls .project-next{background:var(--forest);color:#fff;justify-content:space-between;align-items:center;min-width:175px;min-height:48px;margin-left:auto;padding:0 20px;display:flex}.project-controls p+.project-next{margin-left:0}.project-complete{color:#fff;background:linear-gradient(90deg,#121f15e8,#121f158c),url(/images/hero-interior-v2.webp) 50%/cover;place-items:center;height:calc(100svh - 78px);padding:30px;display:grid}.project-complete>div{max-width:700px}.project-complete small{letter-spacing:.2em}.project-complete h1{letter-spacing:-.06em;margin:18px 0;font:400 clamp(52px,7vw,96px)/.95 Georgia,serif}.project-complete p{color:#ffffffb8;max-width:570px;line-height:1.8}.project-complete a{background:var(--ivory);color:var(--forest);text-transform:uppercase;letter-spacing:.1em;margin-top:22px;padding:16px 22px;font-size:9px;font-weight:800;display:inline-block}@media (max-width:1000px){.hero-sketch-card{display:none}.project-workspace{grid-template-columns:210px 1fr}.project-rail{padding-left:24px;padding-right:20px}.scope-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.hero-content{width:calc(100% - 40px)}.hero h1{font-size:clamp(45px,12vw,64px)}.project-topbar{grid-template-columns:1fr auto;height:66px;padding:0 16px}.project-topbar>div{display:none}.project-exit{font-size:0}.project-workspace{min-height:calc(100svh - 66px);display:block}.project-rail{display:none}.project-stage{grid-template-rows:48px 1fr 70px;height:calc(100svh - 66px)}.project-stage-head{grid-template-columns:58px 1fr 90px;gap:10px;padding:0 18px}.project-stage-scroll{padding:30px 18px 45px}.project-step>h1{font-size:39px}.project-visual-grid{grid-template-columns:1fr}.project-visual-grid button{height:180px}.project-fields.two,.choice-group>div{grid-template-columns:1fr}.property-art{height:230px}.scope-grid{grid-template-columns:repeat(2,1fr)}.project-controls{padding:0 18px}.project-controls p{display:none}.project-controls .project-next{min-width:150px}.project-previews{grid-template-columns:repeat(4,1fr)}}.tf-demo{background:radial-gradient(circle at 85% 15%,#a7b29e47,#0000 28%),#f5f1e8;place-items:center;min-height:calc(100svh - 78px);padding:64px 24px 80px;display:grid;position:relative;overflow:hidden}.tf-progress{background:#2231261f;height:4px;position:absolute;inset:0 0 auto}.tf-progress span{background:#486343;height:100%;transition:width .35s;display:block}.tf-card{width:min(760px,100%);animation:.35s tf-enter}@keyframes tf-enter{0%{opacity:0;transform:translateY(10px)}}.tf-question-index{color:#62705f;align-items:center;gap:9px;margin-bottom:16px;font-size:12px;font-weight:800;display:flex}.tf-question-index i{font-style:normal}.tf-question-index small{color:#8b9389;letter-spacing:.12em;text-transform:uppercase;margin-left:6px;font-size:9px}.tf-question h1,.tf-complete h1{color:#172219;letter-spacing:-.045em;margin:0;font:400 clamp(38px,5vw,64px)/1.05 Georgia,serif}.tf-question>p,.tf-complete p{color:#697268;margin:14px 0 30px;font-size:15px;line-height:1.65}.tf-options{gap:8px;width:min(620px,100%);display:grid}.tf-options button{color:#263226;text-align:left;cursor:pointer;background:#ffffffad;border:1px solid #48634352;border-radius:4px;grid-template-columns:30px 1fr 22px;align-items:center;gap:10px;min-height:48px;padding:7px 12px;transition:all .18s;display:grid}.tf-options button:hover,.tf-options button.selected{background:#eef2e9;border-color:#486343;box-shadow:inset 0 0 0 1px #486343}.tf-options kbd{background:#fff;border:1px solid #48634361;border-radius:3px;place-items:center;width:26px;height:26px;font:700 11px Arial;display:grid}.tf-options span{font-size:13px;font-weight:650}.tf-options b{color:#486343;font-size:16px}.tf-options-compact{width:min(540px,100%)}.tf-line-input{color:#263226;background:0 0;border:0;border-bottom:2px solid #7f9179;border-radius:0;outline:0;width:100%;padding:12px 0;font:400 clamp(24px,3vw,34px)/1.3 Georgia,serif}.tf-line-input::placeholder{color:#a8aea5}.tf-textarea{resize:vertical;min-height:130px}.tf-contact-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tf-contact-fields label:last-child{grid-column:1/-1}.tf-contact-fields label span{color:#657163;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.tf-contact-fields input{color:#172219;background:#ffffffb8;border:1px solid #48634347;border-radius:4px;outline:0;width:100%;padding:14px;font-size:16px}.tf-contact-fields input:focus{border-color:#486343;box-shadow:0 0 0 1px #486343}.tf-landline-note{color:#727b70;margin-top:18px;font-size:10px;display:block}.tf-controls{align-items:center;gap:12px;min-height:58px;margin-top:30px;display:flex}.tf-controls>div{align-items:center;gap:12px;display:flex}.tf-back{color:#687267;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:10px;font-weight:800}.tf-error{color:#a35447;font-size:10px}.tf-ok{color:#fff;cursor:pointer;background:#486343;border:0;border-radius:4px;min-height:44px;padding:0 20px;font-size:12px;font-weight:800;box-shadow:0 8px 24px #233a202e}.tf-ok span{margin-left:8px}.tf-controls>small{color:#7f887d;font-size:9px}.tf-demo-label{color:#8c948a;letter-spacing:.16em;font-size:8px;font-weight:800;position:absolute;bottom:20px;left:22px}.tf-call{background:#486343;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;bottom:18px;right:22px;box-shadow:0 12px 30px #1f321d3d}.tf-call svg{fill:#fff;width:23px;height:23px}.tf-complete .tf-card{max-width:700px}.tf-japanese{color:#66795b;letter-spacing:.18em;margin-bottom:16px;font-size:11px;display:block}.tf-complete-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.tf-complete-actions a{color:#30422d;letter-spacing:.09em;text-transform:uppercase;border:1px solid #486343;border-radius:3px;padding:14px 18px;font-size:9px;font-weight:800}@media (max-width:760px){.tf-demo{place-items:start center;min-height:calc(100svh - 66px);padding:46px 20px 82px}.tf-question h1,.tf-complete h1{font-size:38px}.tf-question>p{margin-bottom:22px}.tf-options button{min-height:45px}.tf-contact-fields{grid-template-columns:1fr;gap:12px}.tf-contact-fields label:last-child{grid-column:auto}.tf-controls{flex-wrap:wrap}.tf-controls>div{width:100%;min-height:18px}.tf-demo-label{display:none}.tf-call{bottom:14px;right:16px}}.tf-demo{overflow:auto}.tf-textarea-short{min-height:82px}.tf-project-meta{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}.tf-project-meta label>span{color:#657163;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.tf-project-meta select{color:#263226;background:#ffffffb8;border:1px solid #48634347;border-radius:4px;outline:0;width:100%;min-height:48px;padding:0 13px;font-size:13px}.tf-project-meta select:focus{border-color:#486343;box-shadow:0 0 0 1px #486343}.tf-upload{cursor:pointer;text-align:center;background:#ffffff80;border:1px dashed #7d9277;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;padding:28px;transition:all .2s;display:flex}.tf-upload:hover{background:#eef2e9;border-color:#486343}.tf-upload input{display:none}.tf-upload-icon{color:#fff;background:#486343;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:12px;font-size:25px;font-weight:300;display:grid}.tf-upload strong{color:#263226;font-size:13px}.tf-upload small{color:#7b8478;margin-top:7px;font-size:9px}.tf-photo-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px;display:grid}.tf-photo-grid figure{min-width:0;margin:0;position:relative}.tf-photo-grid img{object-fit:cover;border-radius:4px;width:100%;height:88px;display:block}.tf-photo-grid button{color:#fff;cursor:pointer;background:#152118d1;border:0;border-radius:50%;width:23px;height:23px;font-size:16px;line-height:1;position:absolute;top:5px;right:5px}.tf-photo-grid figcaption{color:#747d72;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:8px;overflow:hidden}@media (max-width:760px){.tf-project-meta{grid-template-columns:1fr;gap:12px}.tf-upload{min-height:150px;padding:20px}.tf-photo-grid{grid-template-columns:repeat(3,1fr)}.tf-photo-grid img{height:78px}}
