:root{--ink:#1a1a1a;--navy:#1e293b;--rose:#d4b2a7;--rose-deep:#b98287;--gold:#c5a880;--ecru:#f9f8f6;--line:#e8e1dc;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,'Noto Sans JP',sans-serif;line-height:1.8;letter-spacing:.02em}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 64px));margin:0 auto}.section-pad{padding:136px 0}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;background:transparent}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px}.brand-logo{display:block;width:52px;height:52px;object-fit:contain}.brand-mark{position:relative;width:36px;height:36px;display:inline-block}.brand-mark:before,.brand-mark:after{content:'';position:absolute;bottom:3px;width:8px;height:31px;border-radius:8px;background:var(--rose-deep);transform:skew(-21deg) rotate(18deg)}.brand-mark:before{left:7px}.brand-mark:after{right:6px;transform:skew(21deg) rotate(-18deg)}.brand-mark i{position:absolute;top:1px;left:8px;width:26px;height:9px;border-radius:100% 10% 100% 10%;background:var(--rose);transform:rotate(-23deg);z-index:2}.brand-mark b{position:absolute;z-index:3;right:-2px;bottom:2px;color:var(--gold);font-size:23px;line-height:1;font-weight:500}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:17px;letter-spacing:.09em}.brand-copy strong span{color:var(--rose-deep)}.brand-copy small{margin-top:5px;color:#777;font-size:8px;letter-spacing:.1em}.global-nav{display:flex;align-items:center;gap:36px;font-size:11px;letter-spacing:.16em;font-weight:600}.global-nav a{transition:color .25s}.global-nav a:hover{color:var(--rose-deep)}.nav-contact{padding:12px 17px;border:1px solid var(--ink);border-radius:100px}.nav-contact span{margin-left:10px;font-size:15px}.nav-toggle{display:none;background:none;border:0}.hero{position:relative;overflow:hidden;min-height:770px;padding-top:205px;background:linear-gradient(120deg,#fff 0%,#fff 56%,#f9f4f1 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.eyebrow{margin:0 0 22px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.23em}.eyebrow em{color:var(--rose-deep);font-style:normal;font-size:16px}.hero-content{min-width:0}.hero h1{max-width:100%;margin:0;font-size:clamp(40px,5vw,68px);line-height:1.26;font-weight:700;letter-spacing:.03em;text-wrap:balance}.hero-title-line{display:inline-block;white-space:nowrap}.hero h1 span{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--rose-deep)}.hero-lead{margin:30px 0 37px;color:#535353;font-size:16px;line-height:2.1}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:53px;padding:14px 22px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.12em;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0002}.button span{font-size:17px;font-weight:400}.button-dark{color:#fff;background:var(--ink)}.button-light{color:var(--ink);background:var(--rose)}.text-link{font-size:11px;font-weight:700;letter-spacing:.1em}.text-link span{margin-left:12px;color:var(--rose-deep);font-size:16px}.hero-art{height:440px;position:relative;display:grid;place-items:center}.art-ring{position:absolute;border:1px solid #c5a88066;border-radius:50%;transform:rotate(-26deg)}.ring-a{width:330px;height:390px;border-left-color:transparent;border-bottom-color:var(--rose-deep);}.ring-b{width:250px;height:335px;border-right-color:transparent;border-top-color:var(--rose)}.art-core{position:relative;width:245px;height:265px;display:grid;place-items:center;border-radius:48% 48% 42% 42%;background:linear-gradient(140deg,#d4b2a7,#b98287);color:#fff;box-shadow:30px 36px 0 #c5a88033}.art-core:before{content:'';position:absolute;inset:22px;border:1px solid #ffffff77;border-radius:50%}.art-core span{font-family:var(--serif);font-size:155px;line-height:1;font-style:italic;font-weight:400}.art-core b{position:absolute;right:35px;bottom:38px;color:#f9e8c5;font-size:46px;font-weight:400}.art-caption{position:absolute;right:17px;bottom:24px;font-family:var(--serif);color:var(--gold);font-size:16px;line-height:1.2;font-style:italic}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.42}.orb-one{width:260px;height:260px;right:-120px;top:180px;background:#d4b2a733}.orb-two{width:95px;height:95px;left:43%;bottom:-40px;background:#c5a88055}.scroll-note{position:absolute;bottom:30px;left:calc(50% - 580px);display:flex;align-items:center;gap:13px;color:#999;font-size:9px;letter-spacing:.2em}.scroll-note span{width:35px;height:1px;background:var(--gold)}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro{background:var(--ecru)}.section-heading h2,.section-top h2,.company h2,.contact h2{margin:0;font-size:clamp(32px,4vw,54px);line-height:1.35;letter-spacing:.02em}.section-heading h2 em{font-family:var(--serif);font-weight:400;color:var(--rose-deep)}.intro-copy{max-width:520px;padding-top:46px}.lead-copy{margin:0 0 24px;font-size:20px;line-height:1.95;font-weight:500}.intro-copy p:not(.lead-copy){margin:0;color:#666;font-size:14px}.signature{margin-top:45px;color:var(--rose-deep);font-family:var(--serif);font-size:23px;font-style:italic}.signature span{margin-left:12px;color:#999;font-family:Inter,sans-serif;font-size:9px;letter-spacing:.14em}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:60px}.section-intro{margin:0;color:#777;font-size:13px;text-align:right}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{min-height:405px;display:flex;flex-direction:column;padding:28px 27px;border-radius:2px;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 17px 35px #1a1a1a1c}.service-rose{background:#f1e2de}.service-gold{background:#eee4d3}.service-ink{color:#fff;background:#24313d}.service-sand{background:#f3eee9}.card-number{font-size:11px;letter-spacing:.16em;opacity:.65}.card-icon{margin-top:28px;color:var(--gold);font-size:28px;line-height:1}.service-ink .card-icon{color:var(--rose)}.service-card h3{margin:22px 0 17px;font-size:21px;line-height:1.45}.service-card p{margin:0;color:#666;font-size:12px;line-height:1.9}.service-ink p{color:#d7dce0}.service-card a{margin-top:auto;padding-top:25px;border-top:1px solid #1a1a1a22;font-size:10px;font-weight:700;letter-spacing:.1em}.service-ink a{border-color:#ffffff33}.service-card a span{float:right;font-size:16px}.vision{position:relative;overflow:hidden;color:#fff;background:var(--navy)}.vision:after{content:'＋';position:absolute;right:8%;top:50%;color:#ffffff0d;font-size:330px;line-height:0;transform:translateY(-30%)}.vision-inner{position:relative;z-index:1}.vision .eyebrow{color:var(--rose)}blockquote{margin:0;font-size:clamp(45px,7vw,92px);line-height:1.18;letter-spacing:.01em}blockquote span{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--rose)}.vision-copy{margin:42px 0 0;margin-left:50%;color:#d4dce3;font-size:14px;line-height:2.1}.company{background:#fff}.company-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.company-message{margin-top:40px;color:var(--rose-deep);font-family:var(--serif);font-size:20px;font-style:italic;line-height:1.8}.company-table{margin:0;border-top:1px solid var(--ink)}.company-table div{display:grid;grid-template-columns:130px 1fr;padding:23px 0;border-bottom:1px solid var(--line);font-size:13px}.company-table dt{color:#999;font-size:11px;letter-spacing:.1em}.company-table dd{margin:0;line-height:1.9}.contact{color:#fff;background:var(--ink)}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.contact .eyebrow{color:var(--gold)}.contact h2{font-size:clamp(37px,5vw,64px)}.contact p:not(.eyebrow){margin:25px 0 0;color:#c6c9ca;font-size:14px}.contact .button{flex:none}.site-footer{padding:48px 0;background:var(--ecru)}.footer-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:24px;font-size:10px;letter-spacing:.12em}.copyright{margin:0;color:#999;font-size:9px;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){.container{width:min(100% - 40px,680px)}.section-pad{padding:92px 0}.hero{min-height:auto;padding:150px 0 110px}.hero-grid,.split-grid,.company-grid{grid-template-columns:1fr;gap:48px}.hero-art{height:330px;order:-1}.hero-content{text-align:center}.hero-actions{justify-content:center}.scroll-note{left:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.section-top{align-items:start;flex-direction:column;gap:20px}.section-intro{text-align:left}.vision-copy{margin-left:0}.contact-inner{align-items:start;flex-direction:column}.footer-inner{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap}}@media(max-width:600px){.header-inner{height:72px}.brand-logo{width:44px;height:44px}.brand-copy small{display:none}.nav-toggle{display:flex;flex-direction:column;gap:6px;padding:10px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:1px;background:var(--ink);transition:.25s}.global-nav{position:absolute;top:72px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:#fff;box-shadow:0 16px 35px #0001}.global-nav.is-open{display:flex}.global-nav a{padding:16px;border-bottom:1px solid var(--line)}.global-nav .nav-contact{border:0;border-radius:0}.hero{padding-top:125px}.hero h1{font-size:clamp(31px,9vw,39px);letter-spacing:0}.hero-title-line{white-space:nowrap}.hero-lead{font-size:13px}.hero-art{height:285px}.art-core{width:180px;height:200px}.art-core span{font-size:110px}.art-core b{right:20px;bottom:27px;font-size:35px}.ring-a{width:250px;height:290px}.ring-b{width:185px;height:245px}.art-caption{right:0;bottom:8px;font-size:12px}.hero-actions{flex-direction:column;gap:19px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.company-table div{grid-template-columns:95px 1fr;font-size:12px}.contact .button{width:100%}.footer-links{gap:16px}.footer-brand{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.service-card{transition:none}}
