    :root{font-family:"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;color:#202123;background:#fbf9f5;font-synthesis:none;scroll-behavior:smooth}
    *{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid #7b58bb;outline-offset:5px}p,h1,h2,h3{margin-top:0}p{line-height:1.85}h1,h2,h3{letter-spacing:-.045em}section{scroll-margin-top:94px}
    .wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.rule{height:1px;background:#d9d4cf}
    .header{position:sticky;top:0;z-index:20;background:rgba(251,249,245,.90);border-bottom:1px solid #e9e5e0;backdrop-filter:blur(16px)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:1.6rem;font-weight:750;letter-spacing:-.07em}.nav{display:flex;align-items:center;gap:34px;font-size:.82rem;font-weight:650}.nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav .nav-cta{padding:12px 20px;border:1px solid #29252b;border-radius:999px}.mobile-nav{display:none}
    .hero{min-height:695px;position:relative;overflow:hidden;border-bottom:1px solid #ece7e2}.hero::before{content:"";position:absolute;inset:6% -8% 0 34%;background:radial-gradient(ellipse at 40% 38%,rgba(245,121,117,.72),transparent 29%),radial-gradient(ellipse at 65% 49%,rgba(157,158,231,.56),transparent 34%),radial-gradient(ellipse at 47% 67%,rgba(244,195,139,.42),transparent 27%),radial-gradient(ellipse at 72% 23%,rgba(249,158,157,.30),transparent 27%);filter:blur(53px);opacity:.88;pointer-events:none}.hero .wrap{position:relative;z-index:1;min-height:695px;display:flex;flex-direction:column;justify-content:center;padding-block:94px}.hero .eyebrow{margin-bottom:30px;color:#6a5869}.hero h1{font-size:clamp(3.6rem,8vw,7.5rem);font-weight:730;line-height:1.16;margin-bottom:38px;max-width:900px}.hero h1 > span{display:block}.hero-line{height:2px;width:min(740px,100%);background:linear-gradient(90deg,#8b5bbb,#9073be 65%,transparent);margin-bottom:30px}.hero-copy{font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.75;max-width:650px;font-weight:500}.hero-actions{display:flex;gap:16px;align-items:center;margin-top:26px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:12px 25px;border-radius:100px;font-size:.89rem;font-weight:700;transition:transform .2s,background-color .2s}.button:hover{transform:translateY(-2px)}.button.dark{background:#222127;color:#fff}.button.light{border:1px solid #2c2930;background:rgba(255,255,255,.42)}.hero-index{position:absolute;right:0;bottom:50px;font-size:.75rem;letter-spacing:.09em;color:#55515b}
    .section{padding-block:130px}.section-head{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start;margin-bottom:64px}.section-head h2{font-size:clamp(2.5rem,4.6vw,4.9rem);line-height:1.28;font-weight:710;margin:18px 0 0}.section-head .lead{font-size:1.13rem;line-height:1.95;margin:42px 0 0}.section-head .lead strong{font-weight:700}.section-head .lead small{display:block;font-size:.85rem;color:#56535a;margin-top:20px}
    .about{background:#fffdf9}.about .line-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d8d1c9;border-bottom:1px solid #d8d1c9}.line-grid article{padding:34px 31px 42px;border-right:1px solid #d8d1c9}.line-grid article:first-child{padding-left:0}.line-grid article:last-child{border-right:0}.line-grid .number{font-size:2.5rem;font-weight:450;color:#aa8fcf;line-height:1}.line-grid h3{font-size:1.35rem;line-height:1.45;margin:34px 0 12px}.line-grid p{font-size:.94rem;color:#454148;margin-bottom:0}
    .services{background:#f6f1ed}.services-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:49px}.services-intro h2{font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.1;margin:15px 0 0}.services-intro p{max-width:430px;margin:0;font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service{min-height:355px;padding:28px 24px 32px;border-radius:3px;display:flex;flex-direction:column;transition:transform .2s}.service:hover{transform:translateY(-4px)}.service:nth-child(1){background:#f7ddda}.service:nth-child(2){background:#e8def3}.service:nth-child(3){background:#f5e0d5}.service:nth-child(4){background:#e4e0dd}.service .count{font-size:.82rem;font-weight:700;letter-spacing:.1em}.service h3{font-size:1.46rem;line-height:1.42;margin:auto 0 14px}.service p{font-size:.9rem;line-height:1.75;margin:0}
    .method{background:#2b292d;color:#f7f4ee}.method .section-head{margin-bottom:60px}.method .lead{color:#e7e0dd}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.method-steps article{padding:25px 0;border-top:1px solid #777077}.method-steps .num{color:#d5bbec;font-size:.84rem;font-weight:700}.method-steps h3{font-size:1.55rem;margin:32px 0 10px}.method-steps p{font-size:.94rem;color:#e4dfe1}
    .work{background:#fffdf9}.work-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.work-head h2{font-size:clamp(2.6rem,5vw,5.2rem);line-height:1.1;margin:15px 0 0}.work-head p{max-width:390px;margin:0}.work-list{border-top:1px solid #d7d0c9}.work-item{display:grid;grid-template-columns:90px minmax(210px,.8fr) 1.5fr;gap:27px;align-items:center;padding:27px 4px;border-bottom:1px solid #d7d0c9}.work-item .number{color:#8e7e91;font-size:.92rem}.work-item h3{font-size:1.35rem;margin:0}.work-item p{margin:0;color:#4d4850;font-size:.93rem}.work-item small{display:block;color:#887a8a;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}
    .contact{position:relative;overflow:hidden;background:#f5e9e5;padding-block:135px 110px}.contact::before{content:"";position:absolute;width:630px;height:630px;right:-150px;top:-100px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(242,135,138,.48),transparent 42%),radial-gradient(circle at 70% 59%,rgba(170,159,226,.49),transparent 48%);filter:blur(45px)}.contact .wrap{position:relative}.contact h2{font-size:clamp(3.2rem,7vw,7rem);line-height:1.18;margin:20px 0 35px}.contact p{font-size:1.1rem;max-width:620px}.contact .small{font-size:.88rem;color:#5a5258;margin:16px 0 0}.contact .actions{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}.footer{background:#fbf9f5;padding-block:45px}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer small{color:#605b60;font-size:.75rem}.footer a{font-size:.84rem}
    @media(max-width:900px){.wrap{width:min(100% - 48px,680px)}.header-inner{height:66px}.nav{display:none}.mobile-nav{display:block;position:relative;font-size:.86rem;font-weight:700}.mobile-nav summary{list-style:none;cursor:pointer;border:1px solid #55505a;border-radius:100px;padding:8px 17px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:0;top:47px;display:flex;flex-direction:column;background:#fffdf9;box-shadow:0 12px 25px #0002;padding:20px;min-width:190px;gap:18px;border-radius:8px}.hero,.hero .wrap{min-height:660px}.hero::before{inset:5% -40% 20% 14%}.section{padding-block:90px}.section-head{grid-template-columns:1fr;gap:12px}.section-head .lead{margin:0}.service-grid{grid-template-columns:repeat(2,1fr)}.services-intro,.work-head{display:block}.services-intro p,.work-head p{margin-top:18px}.work-item{grid-template-columns:45px 1fr;gap:8px 18px}.work-item p{grid-column:2}.work-item h3{align-self:center}}
    @media(max-width:600px){.wrap{width:calc(100% - 36px)}.logo{font-size:1.4rem}.hero,.hero .wrap{min-height:620px}.hero .wrap{padding-block:72px}.hero::before{inset:14% -50% 4% 3%;opacity:.64}.hero h1{font-size:clamp(2rem,9.5vw,3.7rem)}.hero-copy{font-size:1.02rem}.hero-index{display:none}.section{padding-block:76px}.section-head{margin-bottom:38px}.section-head h2{font-size:2.8rem}.about .line-grid,.method-steps{grid-template-columns:1fr}.line-grid article,.line-grid article:first-child{padding:27px 0;border-right:0;border-bottom:1px solid #d8d1c9}.line-grid article:last-child{border-bottom:0}.line-grid h3{margin:12px 0}.service-grid{grid-template-columns:1fr}.service{min-height:230px}.service h3{margin:30px 0 12px}.method-steps{gap:0}.method-steps article{padding-block:22px}.method-steps h3{margin:17px 0 8px}.work-item{padding-block:25px}.contact{padding-block:85px}.contact h2{font-size:3.5rem}.footer .wrap{align-items:start;flex-direction:column;gap:14px}}
    @media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button,.service{transition:none}}
