:root{--ink:#20201e;--paper:#f4f3ed;--red:#cb4a32;--line:#d4d3cb;--muted:#78786f;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.9 var(--sans)}h1,h2,h3,p{margin:0}button{font:inherit;cursor:pointer}a{text-decoration:none;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.demo-strip{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#77776e;padding:7px 4%;background:#eae9e2}.demo-strip a{white-space:nowrap}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 4%;background:#f4f3edfa;position:sticky;top:0;z-index:20;border-bottom:1px solid #20201e15}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:20px;letter-spacing:.03em}.brand-symbol{background:var(--red);color:var(--paper);font:600 27px/1 "Yu Mincho",serif;width:42px;height:42px;display:grid;place-items:center}.brand small{display:block;font-size:7px;letter-spacing:.16em;font-weight:400;line-height:1.4;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:11px}.nav-button{border:1px solid #a8a79d;padding:11px 18px}.menu-toggle{display:none}.hero{height:690px;position:relative;overflow:hidden;background:var(--ink);color:white}.hero-photo{position:absolute;inset:0}.hero-photo img{object-position:55% 50%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#141410a6,transparent 75%),linear-gradient(0deg,#14141088,transparent 55%);pointer-events:none}.hero-title{position:absolute;left:7%;top:75px;z-index:1}.hero-title>p{font-size:10px;letter-spacing:.15em;margin-bottom:30px}.hero h1{font-size:clamp(46px,5.5vw,76px);font-weight:700;line-height:1.5;letter-spacing:.04em}.hero h1>span{display:block;white-space:nowrap}.hero-sub{display:block;margin-top:25px;font-size:12px;letter-spacing:.07em}.hero-vertical{writing-mode:vertical-rl;position:absolute;right:27px;top:60px;z-index:1;font-size:9px;letter-spacing:.14em}.hero-caption{position:absolute;left:7%;right:5%;bottom:35px;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.hero-caption>span{font:700 22px/1.15 Arial,sans-serif;letter-spacing:-.02em}.hero-caption small{font-size:8px}.wrap{max-width:1200px;margin:auto;padding:90px 40px}.eyebrow{font-size:10px;letter-spacing:.12em;display:block;color:var(--red);font-weight:600}.philosophy{background:var(--ink);color:var(--paper)}.philosophy-layout{display:grid;grid-template-columns:1fr 2fr;gap:60px}.philosophy .eyebrow{color:#e9967f;margin-top:10px}h2{font-size:clamp(27px,3.3vw,42px);font-weight:600;line-height:1.65;letter-spacing:.02em}.philosophy h2{font-size:36px}.philosophy-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.philosophy-copy p{color:#c4c3b9;font-size:12px;line-height:2.2}.section-head{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:45px}.section-head h2{margin-top:22px}.section-head>p{font-size:12px;color:var(--muted)}.service-rows{border-top:2px solid var(--ink)}.service-rows details{border-bottom:1px solid var(--line)}.service-rows summary{list-style:none;display:flex;align-items:center;gap:35px;padding:30px 0;cursor:pointer}.service-rows summary::-webkit-details-marker{display:none}.row-no{font:400 64px/1 Arial,sans-serif;letter-spacing:-.06em;color:#afafa4;width:125px;flex-shrink:0}.service-rows details[open] .row-no{color:var(--red)}.service-rows small{font-size:9px;letter-spacing:.11em;color:var(--muted)}.service-rows h3{font-size:25px;font-weight:500;margin-top:7px}.row-plus{margin-left:auto;border:1px solid #b8b7ac;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:22px;line-height:1}.service-rows details[open] .row-plus{transform:rotate(45deg)}.row-body{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:0 0 35px 160px;color:var(--muted);font-size:12px}.row-body ul{list-style:none;margin:0;padding:0;font-size:11px}.row-body li{padding:5px 0;border-bottom:1px solid var(--line)}.cost{display:grid;grid-template-columns:150px 1fr;gap:10px 30px;padding:30px;background:#e9e8e0;margin-top:40px}.cost>span{font-size:9px;letter-spacing:.12em;color:var(--red);grid-row:1/3}.cost h3{font-size:18px;font-weight:600}.cost p{font-size:11px;color:var(--muted)}.image-break{height:450px;position:relative;overflow:hidden}.image-break img{object-position:50% 53%}.image-break:after{content:"";position:absolute;inset:0;background:#14141030}.image-break>span{position:absolute;bottom:40px;left:7%;font:700 45px/1 Arial,sans-serif;color:white;letter-spacing:-.03em;z-index:1}.image-break small{position:absolute;right:25px;bottom:15px;color:white;font-size:8px;z-index:1}.color-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px}.color-choices{display:grid;grid-template-columns:1fr 1fr;gap:20px}.color-choices button{background:none;border:0;padding:0;text-align:left;color:var(--muted)}.color-choices i{display:block;background:var(--swatch);height:115px;border:1px solid #20201e0d;position:relative}.color-choices button[aria-pressed=true] i:after{content:"✓";position:absolute;top:8px;right:8px;background:var(--ink);color:white;width:23px;height:23px;text-align:center;line-height:23px;font-style:normal;font-size:12px}.color-choices button>span{font-size:8px;letter-spacing:.07em;margin-top:8px;display:block}.color-preview{padding:30px;display:flex;flex-direction:column;justify-content:flex-end;min-height:305px;transition:background .35s;color:#252522}.color-preview.dark{color:white}.color-preview>span{font-size:9px;letter-spacing:.15em}.color-preview strong{font:500 35px/1.2 Arial,sans-serif;letter-spacing:-.03em;margin-top:15px}.color-preview p{font-size:11px;margin-top:18px}.note{font-size:10px;color:var(--muted);margin-top:22px}.process{background:#e9e8e0}.process-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.process h2{margin-top:28px;font-size:44px}.process-layout>div>p{font-size:12px;color:var(--muted);margin-top:25px}.process ol{list-style:none;padding:0;margin:0;border-top:1px solid #bcbcb0}.process li{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #bcbcb0}.process li>span{font:500 32px/1.3 Arial,sans-serif;color:var(--red);letter-spacing:-.04em}.process li h3{font-size:16px;font-weight:600}.process li p{font-size:11px;color:var(--muted);margin-top:10px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq h2{font-size:31px;margin-top:22px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:20px;justify-content:space-between;font-size:12px;padding:23px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:18px;line-height:1.4}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list p{font-size:11px;color:var(--muted);padding:0 20px 22px 0}.closing{background:var(--red);color:var(--paper);padding:65px 7%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.closing>span{font-size:10px;letter-spacing:.12em;align-self:start;margin-top:15px}.closing p{font-size:46px;line-height:1.6;font-weight:500;grid-row:1/3;grid-column:2}.closing a{font-size:12px;width:max-content;border-bottom:1px solid #ffffff88;padding:10px 0}footer{padding:40px 5%;display:grid;grid-template-columns:1fr auto;gap:20px}footer>strong{font-size:19px;font-weight:600}footer>div{display:flex;gap:25px;font-size:10px}footer p{font-size:9px;color:var(--muted);max-width:800px}footer small{font-size:8px;letter-spacing:.07em;text-align:right;color:var(--muted);align-self:end}.mobile-only{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){.site-header nav{gap:20px}.brand{font-size:18px}.hero{height:650px}.hero h1{font-size:63px}.wrap{padding:75px 30px}.philosophy-layout{grid-template-columns:.6fr 2fr;gap:35px}.philosophy h2{font-size:32px}.row-no{width:90px}.row-body{padding-left:125px;gap:35px}.process-layout{gap:55px}.process h2{font-size:39px}.faq{gap:35px}.image-break{height:380px}}
@media(max-width:760px){html{scroll-padding-top:85px}.demo-strip{font-size:8px;align-items:center;padding:7px 18px}.demo-strip>span{max-width:220px;text-align:right;line-height:1.6}.site-header{padding:15px 20px}.brand{font-size:16px;gap:9px}.brand-symbol{width:34px;height:34px;font-size:22px}.brand small{font-size:6px;margin-top:5px}.menu-toggle{width:44px;height:44px;background:none;border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle i{height:1px;width:24px;background:var(--ink)}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:10px 23px 25px;flex-direction:column;gap:0;align-items:stretch;box-shadow:0 15px 25px #20201e14}.site-header nav.open{display:flex}.site-header nav>a{font-size:12px;padding:15px 0;border-bottom:1px solid var(--line)}.site-header nav .nav-button{border:1px solid #a8a79d;margin-top:15px;padding:13px 18px}.hero{height:610px}.hero-photo img{object-position:58% 50%}.hero:after{background:linear-gradient(90deg,#15151088,transparent 95%),linear-gradient(0deg,#151510aa,transparent 65%)}.hero-title{left:24px;top:46px}.hero-title>p{font-size:8px;margin-bottom:22px;letter-spacing:.1em}.hero h1{font-size:43px;line-height:1.6;letter-spacing:.015em}.hero-sub{font-size:9px;margin-top:20px;max-width:255px;line-height:2}.hero-vertical{right:13px;top:45px;font-size:7px}.hero-caption{left:24px;right:22px;bottom:22px;display:block}.hero-caption>span{font-size:26px}.hero-caption small{display:block;margin-top:22px;font-size:7px;line-height:1.8}.wrap{padding:57px 23px}.eyebrow{font-size:8px;letter-spacing:.1em}.philosophy-layout{grid-template-columns:1fr;gap:20px}.philosophy .eyebrow{margin-top:0}.philosophy h2{font-size:25px;line-height:1.8}.philosophy-copy{grid-template-columns:1fr;gap:20px;margin-top:25px}.philosophy-copy p{font-size:11px}.section-head{display:block;margin-bottom:27px}.section-head h2{font-size:30px;margin-top:18px}.section-head>p{font-size:11px;margin-top:20px}.mobile-only{display:block}.service-rows summary{padding:23px 0;gap:18px}.row-no{font-size:43px;width:55px}.service-rows small{font-size:7px;letter-spacing:.08em}.service-rows h3{font-size:18px;margin-top:7px}.row-plus{width:31px;height:31px;font-size:18px;flex-shrink:0}.row-body{padding:0 0 25px 0;grid-template-columns:1fr;gap:20px;font-size:11px}.row-body ul{font-size:10px}.cost{padding:24px;display:block;margin-top:30px}.cost>span{font-size:8px}.cost h3{font-size:18px;margin:15px 0}.cost p{font-size:10px}.image-break{height:285px}.image-break>span{font-size:28px;left:23px;bottom:37px;max-width:300px}.image-break small{font-size:7px;right:16px;bottom:12px}.image-break img{object-position:57% 50%}.color-layout{grid-template-columns:1fr;gap:25px}.color-choices{gap:18px}.color-choices i{height:100px}.color-choices button>span{font-size:8px}.color-preview{min-height:230px;padding:25px}.color-preview strong{font-size:34px}.note{font-size:9px}.process-layout{grid-template-columns:1fr;gap:30px}.process h2{font-size:35px;line-height:1.65;margin-top:20px}.process h2 br:nth-of-type(2){display:none}.process-layout>div>p{font-size:11px;margin-top:20px}.process li{gap:20px;padding:22px 0}.process li>span{font-size:28px}.process li h3{font-size:14px}.process li p{font-size:10px}.faq{grid-template-columns:1fr;gap:25px}.faq h2{font-size:27px;margin-top:17px}.faq-list summary{font-size:11px}.faq-list p{font-size:10px;padding-right:0}.closing{padding:45px 23px;display:block}.closing>span{font-size:8px}.closing p{font-size:35px;margin:23px 0}.closing a{font-size:11px}footer{display:block;padding:35px 23px}footer>strong{font-size:18px}footer>div{margin:22px 0;font-size:9px;gap:22px}footer p{font-size:8px}footer small{display:block;text-align:left;margin-top:18px;font-size:7px}}
@media(max-width:360px){.hero h1{font-size:37px}.service-rows h3{font-size:16px}.row-no{width:46px;font-size:37px}.row-plus{width:27px;height:27px}.philosophy h2{font-size:23px}.hero{height:570px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
