@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho:wght@500;600;700&display=swap');
:root{--ink:#102c3a;--navy:#12384b;--navy2:#0b2634;--blue:#8caab7;--gold:#b28a4a;--cream:#f6f2e9;--mist:#edf2f1;--white:#fff;--muted:#5d696e;--line:#dce2e1;--serif:"Shippori Mincho","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.95 var(--sans);overflow-x:hidden}body:before{content:"";position:fixed;left:0;top:0;width:100%;height:3px;background:var(--gold);transform:scaleX(var(--scroll,0));transform-origin:left;z-index:200}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.eyebrow{display:block;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.btn,.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;transition:.35s cubic-bezier(.2,.8,.2,1)}.btn:hover,.nav-cta:hover{background:var(--gold);transform:translateY(-3px)}.btn.light{background:transparent;color:var(--ink);border:1px solid #b9c4c5}.text-link{display:inline-block;margin-top:24px;padding-bottom:4px;border-bottom:1px solid var(--gold);font-weight:600}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(16,44,58,.08)}.header-inner{height:88px;display:flex;align-items:center;gap:30px}.logo{width:160px;height:auto}.nav{display:flex;align-items:center;gap:24px;margin-left:auto}.nav a{font-size:12px;font-weight:600;white-space:nowrap;position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:.35s}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.nav-cta{min-height:44px;padding-inline:20px}.menu{display:none;background:none;border:0;color:var(--ink);font-size:26px}
.hero{min-height:calc(100svh - 88px);display:grid;grid-template-columns:57% 43%;align-items:center;position:relative;padding-block:72px 90px}.hero>div:first-child{position:relative;z-index:3}.hero h1{font:600 clamp(48px,5.55vw,82px)/1.32 var(--serif);letter-spacing:-.045em;margin:22px 0 32px;width:117%}.hero h1 .keyline{font-weight:600;background:linear-gradient(transparent 72%,rgba(178,138,74,.24) 72%)}.hero-copy{font-size:17px;line-height:2.12;max-width:670px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}.art{height:min(72vh,720px);position:relative;margin-left:-7%;z-index:1}.art:before{content:"";position:absolute;inset:-28px -12vw 55% 38%;background:var(--mist);z-index:-1}.art:after{content:"Thoughtful web design / Okayama";position:absolute;right:-12px;bottom:24px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.22em;color:#718087}.art img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:52% 48% 3% 3%/32% 34% 3% 3%}.ticker{overflow:hidden;background:var(--navy2);color:#fff;transform:rotate(-1deg);width:102%;margin-left:-1%;position:relative;z-index:4}.ticker-track{display:inline-block;white-space:nowrap;padding:15px 0;animation:marquee 34s linear infinite;font-size:11px;letter-spacing:.22em}.ticker span{margin-right:78px}
section{padding-block:145px}.section-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12vw;align-items:end;margin-bottom:76px}.section-head h2,.split h2,.narrow h2{font:600 clamp(38px,4.3vw,64px)/1.48 var(--serif);letter-spacing:-.035em;margin:12px 0}.section-head p{font-size:17px;line-height:2.15;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.card{padding:50px 42px 58px;border-right:1px solid var(--line);position:relative;transition:.45s}.card:last-child{border-right:0}.card:before{content:"";position:absolute;inset:0;background:var(--cream);transform:scaleY(0);transform-origin:bottom;transition:.45s;z-index:-1}.card:hover:before{transform:scaleY(1)}.card .num{font:italic 44px Georgia,serif;color:var(--gold)}.card h3{font:600 23px/1.55 var(--serif);margin:13px 0}.card p{color:var(--muted)}
.warm,.soft{background:var(--cream);position:relative}.warm:before{content:"";position:absolute;right:0;top:0;width:22%;height:100%;background:rgba(255,255,255,.5)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;position:relative}.split.reverse .visual{order:2}.visual{position:relative}.visual:before{content:"";position:absolute;inset:26px -26px -26px 26px;border:1px solid var(--gold)}.visual img{position:relative;width:100%;aspect-ratio:4/3;object-fit:cover}.split p{font-size:17px}.check{list-style:none;padding:0;margin:28px 0}.check li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid rgba(16,44,58,.13)}.check li:before{content:"";position:absolute;left:2px;top:24px;width:8px;height:1px;background:var(--gold)}
.portfolio{display:grid;grid-template-columns:repeat(12,1fr);gap:60px 28px}.work{grid-column:span 5}.work:nth-child(2),.work:nth-child(3){grid-column:7/span 6}.work:nth-child(3){grid-column:1/span 6}.work:nth-child(4){grid-column:8/span 5}.work:nth-child(odd){margin-top:70px}.work img{width:100%;aspect-ratio:16/11;object-fit:cover;filter:saturate(.78);transition:.55s}.work:hover img{filter:saturate(1);transform:scale(.985)}.work div{padding:25px 3px}.work small{color:var(--gold);letter-spacing:.15em}.work h3{font:600 28px var(--serif);margin:6px 0}.work p{color:var(--muted)}.case-note{max-width:850px;margin:110px 0 0 auto;padding:52px 58px;border-left:2px solid var(--gold);background:var(--cream)}
.page-hero{padding-block:105px 125px;position:relative}.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line) 15%,var(--line) 85%,transparent)}.page-hero-inner{display:grid;grid-template-columns:56% 44%;align-items:center;gap:7vw}.breadcrumbs{display:flex;gap:10px;color:#839096;font-size:11px;letter-spacing:.12em;margin-bottom:45px}.page-hero h1{font:600 clamp(48px,5vw,75px)/1.4 var(--serif);letter-spacing:-.045em;margin:18px 0 25px}.page-hero p{font-size:17px;line-height:2.15;max-width:650px}.page-art{height:520px;position:relative}.page-art:before{content:"";position:absolute;inset:-22px -8vw 48% 36%;background:var(--mist)}.page-art img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:46% 46% 0 0/30% 30% 0 0}.intro{padding-bottom:85px}.narrow{max-width:910px}.large{font-size:19px;line-height:2.25}
.process{padding-top:20px}.process-list{display:grid;gap:0}.process-step{display:grid;grid-template-columns:42% 1fr;gap:8vw;align-items:center;min-height:390px;padding:65px 0;border-top:1px solid var(--line)}.process-step:nth-child(even){grid-template-columns:1fr 42%}.process-step:nth-child(even) .step-image{order:2}.step-image{height:320px;overflow:hidden;position:relative;background:var(--cream)}.step-image img{position:relative;top:50%;width:700%;max-width:none;height:auto;translate:0 -50%;transform-origin:left center}.step-copy>span{color:var(--gold);font-size:11px;letter-spacing:.2em}.step-copy h2{font:600 36px var(--serif);margin:10px 0 18px}.step-copy p{color:var(--muted)}.reassure,.choice-guide{margin-top:100px;padding:58px 65px;background:var(--navy);color:#fff}.reassure strong{font:600 28px var(--serif)}.reassure p{color:#dbe4e7}
.price-tables{display:grid;grid-template-columns:1fr 1fr;gap:35px}.pricing-panel{padding:60px 55px;border:1px solid var(--line)}.pricing-panel.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.pricing-panel.featured p,.pricing-panel.featured small{color:#dbe4e7}.pricing-panel h2{font:600 38px var(--serif)}.pricing-panel table{width:100%;border-collapse:collapse;margin:35px 0}.pricing-panel th,.pricing-panel td{padding:19px 0;border-bottom:1px solid rgba(120,135,140,.3);text-align:left}.pricing-panel td{text-align:right;font-weight:700}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d5dbd8}.mini-grid>div{padding:38px 28px;border-right:1px solid #d5dbd8}.mini-grid h3{font:600 20px var(--serif)}.note{font-size:13px;margin-top:40px}
.plan-list{display:grid;gap:85px}.plan-detail{display:grid;grid-template-columns:120px 1fr;gap:55px;max-width:930px;padding-top:55px;border-top:1px solid var(--line)}.plan-detail:nth-child(even){margin-left:auto}.plan-no{font:italic 64px Georgia,serif;color:#bda574}.plan-detail h2{font:600 42px/1.5 var(--serif)}.fit{padding:17px 21px;background:var(--cream)}.choice-guide{max-width:850px;margin-left:auto}.choice-guide h2{font:600 36px var(--serif)}
.voice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.voice-card{padding:54px 42px;background:var(--cream);border-top:2px solid var(--gold)}.voice-card:nth-child(2){transform:translateY(55px)}.voice-card blockquote{font:500 25px/1.85 var(--serif);margin:0 0 38px}.voice-card p{color:var(--muted)}
.about-story,.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.promise{padding:55px;background:var(--cream)}.promise h3{font:600 28px var(--serif)}.company{max-width:900px}.company>div{display:grid;grid-template-columns:190px 1fr;padding:22px 0;border-bottom:1px solid #d4d9d6}.company dt{font-weight:700}.company dd{margin:0}.faq{max-width:920px}.faq-intro{margin-bottom:50px}.faq details{padding:29px 0;border-top:1px solid var(--line)}.faq summary{cursor:pointer;font:600 19px var(--serif);list-style:none}.faq summary:before{content:"Q.";color:var(--gold);margin-right:16px}.faq details p{padding:14px 36px 0;color:var(--muted)}.form{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:48px;background:var(--cream)}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;padding:15px;border:1px solid #cbd3d1;background:#fff;border-radius:0;font:inherit}.field textarea{min-height:170px}.phone{font-size:30px;font-weight:700}.phone small{display:block;font-size:12px}.legal{max-width:860px}.legal h3{margin-top:45px}
.closing{padding-block:105px;background:var(--navy2);color:#fff}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.closing h2{font:600 46px/1.5 var(--serif);margin:10px 0}.closing p{color:#d7e0e3}.closing .btn{background:#fff;color:var(--ink)}.footer{padding:80px 0 30px;background:#081e29;color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.footer .logo{filter:brightness(0) invert(1)}.footer p{color:#b8c5ca}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:13px}.footer small{display:block;margin-top:60px;color:#72878f}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.on{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-50%)}}::selection{background:#d8c9aa;color:var(--ink)}
@media(max-width:980px){.wrap{width:min(100% - 44px,800px)}.nav,.nav-cta{display:none}.menu{display:block;margin-left:auto}.nav.open{display:flex;position:absolute;left:0;right:0;top:88px;padding:30px 24px;background:#fff;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.hero,.page-hero-inner{grid-template-columns:1fr;gap:55px}.hero{min-height:auto;padding-block:75px}.hero h1{width:100%}.art{height:590px;margin:0}.page-art{height:520px}.section-head,.split,.about-story,.contact-layout{grid-template-columns:1fr;gap:65px}.split.reverse .visual{order:0}.cards,.voice-list{grid-template-columns:1fr}.card{border-right:0;border-bottom:1px solid var(--line)}.voice-card:nth-child(2){transform:none}.process-step,.process-step:nth-child(even){grid-template-columns:40% 1fr;gap:40px}.process-step:nth-child(even) .step-image{order:0}.price-tables{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.work:nth-child(n){grid-column:span 6;margin-top:0}.closing-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){body{font-size:15px}.wrap{width:calc(100% - 34px)}.header-inner{height:76px}.logo{width:144px}.nav.open{top:76px}.hero{padding-block:55px 75px}.hero h1,.page-hero h1{font-size:38px;line-height:1.42}.hero-copy,.page-hero p{font-size:15px}.art{height:430px}.art img{border-radius:45% 45% 0 0/25% 25% 0 0}section{padding-block:90px}.section-head{gap:25px;margin-bottom:50px}.section-head h2,.split h2,.narrow h2{font-size:34px}.cards{display:block}.card{padding:36px 18px}.warm:before{display:none}.visual:before{inset:15px -8px -15px 15px}.portfolio{gap:45px}.work:nth-child(n){grid-column:1/-1}.page-hero{padding-block:65px 80px}.page-art{height:390px}.breadcrumbs{margin-bottom:28px}.large{font-size:16px}.process-step,.process-step:nth-child(even){grid-template-columns:1fr;gap:25px;padding:45px 0}.step-image{height:250px}.process-step:nth-child(even) .step-image{order:0}.step-copy h2{font-size:29px}.reassure,.choice-guide,.case-note{padding:38px 25px;margin-top:60px}.pricing-panel{padding:37px 24px}.pricing-panel th,.pricing-panel td{display:block;text-align:left;padding:9px 0}.pricing-panel td{padding-top:0}.mini-grid{grid-template-columns:1fr}.mini-grid>div{border-right:0;border-bottom:1px solid #d5dbd8}.plan-detail{grid-template-columns:1fr;gap:6px}.plan-no{font-size:46px}.plan-detail h2{font-size:32px}.company>div{grid-template-columns:1fr}.form{grid-template-columns:1fr;padding:30px 22px}.field.full{grid-column:auto}.closing h2{font-size:32px}.footer-links{grid-template-columns:1fr 1fr}.ticker{transform:none;width:100%;margin:0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Mobile horizontal-stability safeguards */
html,body{max-width:100%;overflow-x:clip}.hero>*,.page-hero-inner>*,.split>*,.process-step>*{min-width:0}
html.menu-is-open,html.menu-is-open body{overflow:hidden}
@media(max-width:620px){
  .site-header,main,section,.footer{max-width:100%;overflow-x:clip}
  .art{max-width:100%;margin-inline:0}
  .art:before,.art:after{display:none}
  .visual,.page-art{max-width:100%}
  .visual:before{inset:15px 0 -15px 15px}
  .page-art:before{inset:-12px 0 52% 28%}
  .ticker{width:100%;margin-inline:0;transform:none}
  .closing-inner,.footer-grid{min-width:0}
}

/* News and editorial journal */
.home-journal{background:#fff}.journal-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:end;margin-bottom:72px}.journal-heading h2{font:600 clamp(40px,4.7vw,66px)/1.45 var(--serif);letter-spacing:-.04em;margin:14px 0 0}.journal-heading>p{font-size:17px;line-height:2.15;margin:0}.notice-strip{display:grid;grid-template-columns:210px 1fr 30px;align-items:center;gap:28px;padding:21px 26px;margin-bottom:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:.35s}.notice-strip:hover{background:var(--cream)}.notice-strip strong{font:600 17px var(--serif)}.notice-strip i{font-style:normal;color:var(--gold)}.journal-feature{display:grid;grid-template-columns:1.35fr .65fr;gap:60px}.journal-main{display:grid;grid-template-columns:48% 1fr;min-height:430px;background:var(--cream);overflow:hidden}.journal-main>img{width:100%;height:100%;object-fit:cover}.journal-main>div{padding:50px 44px;display:flex;flex-direction:column;justify-content:center}.post-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px;letter-spacing:.08em}.post-meta b{color:var(--gold);font-weight:600}.journal-main h3{font:600 30px/1.6 var(--serif);margin:20px 0 14px}.journal-main p{color:var(--muted)}.journal-main i{font-style:normal;margin-top:22px;font-weight:600}.journal-list{border-top:1px solid var(--line)}.journal-list>a{display:block;padding:27px 4px;border-bottom:1px solid var(--line)}.journal-list h3{font:600 19px/1.7 var(--serif);margin:10px 0 0}.journal-list .journal-all{padding-top:32px;border-bottom:0;color:var(--gold);font-weight:600}
.blog-hero{padding:115px 0 90px;background:linear-gradient(135deg,#fff 0%,#fff 66%,var(--mist) 66%)}.blog-hero .wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:10vw;align-items:end}.blog-hero h1{font:600 clamp(52px,6vw,84px)/1.25 var(--serif);letter-spacing:-.05em;margin:14px 0}.blog-hero p{font-size:18px;line-height:2.15;margin:0 0 12px}.news-box{margin-bottom:80px;padding:42px 48px;background:var(--cream);border-left:2px solid var(--gold)}.news-box h2{font:600 28px/1.6 var(--serif);margin:14px 0}.news-box p{max-width:900px;margin:0;color:var(--muted)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 28px}.blog-card{display:flex;flex-direction:column}.blog-card img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.85);transition:.45s}.blog-card:hover img{filter:saturate(1);transform:translateY(-6px)}.blog-card .post-meta{margin-top:25px}.blog-card h2{font:600 25px/1.6 var(--serif);margin:14px 0}.blog-card p{color:var(--muted);margin:0}.blog-card i{font-style:normal;margin-top:auto;padding-top:20px;color:var(--gold);font-weight:600}
.article-hero{padding:95px 0 70px;border-bottom:1px solid var(--line)}.article-hero .wrap{max-width:1030px}.article-hero .breadcrumbs{margin-bottom:36px}.article-hero h1{font:600 clamp(42px,5vw,68px)/1.5 var(--serif);letter-spacing:-.04em;margin:18px 0 30px}.article-lead{max-width:810px;font-size:18px;line-height:2.15;color:var(--muted)}.article-cover{width:min(1120px,calc(100% - 96px));height:min(58vw,650px);margin:0 auto;object-fit:cover}.article-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:80px;justify-content:center}.article-aside{position:sticky;top:130px;align-self:start;padding-top:8px}.article-aside strong{display:block;font:600 18px var(--serif);margin-bottom:14px}.article-aside a{display:block;padding:8px 0;color:var(--muted);font-size:13px}.article-body h2{font:600 34px/1.6 var(--serif);margin:70px 0 22px;padding-top:15px;border-top:1px solid var(--line)}.article-body h2:first-child{margin-top:0}.article-body h3{font:600 23px/1.6 var(--serif);margin:42px 0 14px}.article-body p,.article-body li{font-size:17px;line-height:2.2}.article-body ul,.article-body ol{padding-left:1.5em}.article-note{margin:48px 0;padding:32px 36px;background:var(--cream);border-left:2px solid var(--gold)}.article-note strong{display:block;font:600 21px var(--serif);margin-bottom:8px}.related-posts{background:var(--mist)}.related-posts h2{font:600 38px var(--serif);margin:0 0 45px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.related-grid a{padding:32px;background:#fff}.related-grid small{color:var(--gold)}.related-grid h3{font:600 21px/1.65 var(--serif);margin:10px 0 0}
@media(max-width:980px){.journal-heading,.blog-hero .wrap{grid-template-columns:1fr;gap:30px}.journal-feature{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}.article-layout{grid-template-columns:1fr}.article-aside{position:static;display:none}}
@media(max-width:620px){.journal-heading{margin-bottom:46px}.journal-heading h2{font-size:34px}.notice-strip{grid-template-columns:1fr 22px;gap:10px;padding:20px 6px}.notice-strip .post-meta{grid-column:1/-1}.journal-feature{gap:35px}.journal-main{grid-template-columns:1fr;min-height:0}.journal-main>img{height:280px}.journal-main>div{padding:32px 24px}.journal-main h3{font-size:24px}.blog-hero{padding:70px 0 60px}.blog-hero h1{font-size:42px}.blog-hero p{font-size:16px}.news-box{padding:30px 24px;margin-bottom:55px}.news-box h2{font-size:23px}.blog-grid{grid-template-columns:1fr}.article-hero{padding:62px 0 50px}.article-hero h1{font-size:34px;line-height:1.55}.article-lead{font-size:16px}.article-cover{width:100%;height:340px}.article-body h2{font-size:28px}.article-body h3{font-size:21px}.article-body p,.article-body li{font-size:16px}.article-note{padding:26px 22px}.related-grid{grid-template-columns:1fr}}
@media(min-width:981px){.header-inner{gap:18px}.nav{gap:13px}.nav-cta{padding-inline:16px}}

.mobile-contact{display:none}
.deep-page{padding-top:110px}.deep-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw}.deep-grid aside{position:sticky;top:130px;align-self:start}.deep-grid aside h2{font:600 clamp(34px,3.8vw,54px)/1.55 var(--serif);letter-spacing:-.035em}.deep-grid>div>h3{font:600 30px/1.55 var(--serif);margin:55px 0 15px}.deep-grid>div>p{font-size:17px;line-height:2.15}.deep-grid .btn{margin-top:35px}
@media(max-width:800px){.deep-grid{grid-template-columns:1fr;gap:45px}.deep-grid aside{position:static}.deep-grid>div>h3{font-size:26px}}

/* v9 signature home — dialogue becomes design */
.home-v9 section{padding-block:clamp(100px,12vw,190px)}
.signature-hero{min-height:calc(100svh - 88px);position:relative;padding:0!important;background:#f5f1e8;overflow:hidden}
.signature-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.signature-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,237,.97) 0%,rgba(248,245,237,.86) 31%,rgba(248,245,237,.08) 59%,transparent 100%)}
.signature-copy{position:relative;z-index:2;width:min(1240px,calc(100% - 96px));margin:auto;padding-top:clamp(80px,12vh,130px);padding-right:53%;min-height:calc(100svh - 88px)}
.signature-copy h1{font:600 clamp(50px,5.7vw,88px)/1.34 var(--serif);letter-spacing:-.055em;margin:16px 0 28px;width:124%}.signature-copy h1 em{font-style:normal;position:relative;white-space:nowrap}.signature-copy h1 em:after{content:"";position:absolute;left:-4%;right:-5%;bottom:8%;height:12%;background:rgba(178,138,74,.32);z-index:-1;transform:rotate(-1.5deg)}.hero-kicker{font-size:13px;font-weight:600;letter-spacing:.1em}.signature-copy>p:not(.hero-kicker){max-width:600px;font-size:17px;line-height:2.15}.hero-stamp{position:absolute;z-index:3;right:5%;top:10%;width:240px;height:240px;border:1px solid rgba(16,44,58,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font:600 16px/1.8 var(--serif);transform:rotate(8deg);background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}.scroll-cue{position:absolute;z-index:3;right:25px;bottom:32px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.25em}.scroll-cue:after{content:"";display:block;width:1px;height:75px;background:var(--ink);margin:18px auto 0;animation:scrollLine 2s ease-in-out infinite;transform-origin:top}
.manifesto{background:var(--navy2);color:#fff;padding-block:120px!important}.manifesto p{font:500 clamp(40px,6vw,84px)/1.55 var(--serif);letter-spacing:-.04em;margin:0}.manifesto strong{color:#d7b373;font-weight:500}.manifesto small{display:block;margin-top:50px;color:#7f969f;letter-spacing:.16em}
.question-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:12vw}.question-lead{position:sticky;top:140px;align-self:start}.question-lead h2,.atlas-title h2,.entry-points h2{font:600 clamp(40px,4.6vw,66px)/1.45 var(--serif);letter-spacing:-.04em}.question-list article{min-height:360px;padding:20px 0 70px;border-bottom:1px solid var(--line);display:grid;align-content:center}.question-list b{font:italic 42px Georgia,serif;color:#c2a66f}.question-list h3{font:600 clamp(30px,3.2vw,48px)/1.55 var(--serif);margin:12px 0}.question-list p{max-width:600px;color:var(--muted)}
.service-atlas{background:var(--cream)}.atlas-title{max-width:760px;margin-bottom:90px}.atlas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cfd7d6}.atlas-item{min-height:500px;padding:48px 38px;background:var(--cream);display:flex;flex-direction:column;transition:.5s}.atlas-item:hover{background:var(--navy);color:#fff;transform:translateY(-12px)}.atlas-item span{font-size:10px;letter-spacing:.18em;color:var(--gold)}.atlas-item h3{font:600 clamp(34px,3.5vw,52px) var(--serif);margin:90px 0 20px}.atlas-item p{color:var(--muted)}.atlas-item:hover p{color:#d7e1e4}.atlas-item i{margin-top:auto;font-style:normal;font-size:13px}
.seo-story{padding-top:0!important}.seo-story .wrap{width:100%;max-width:none}.seo-visual{height:min(70vw,780px);overflow:hidden}.seo-visual img{width:100%;height:100%;object-fit:cover}.seo-copy{width:min(720px,calc(100% - 96px));margin:-100px 8% 0 auto;position:relative;background:#fff;padding:70px 75px}.seo-copy h2{font:600 clamp(40px,4.8vw,66px)/1.45 var(--serif);letter-spacing:-.04em}.seo-copy p{font-size:17px}
.owner-led{background:var(--mist)}.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.owner-grid h2{font:600 clamp(44px,5vw,70px)/1.45 var(--serif);letter-spacing:-.04em;margin-top:15px}.owner-grid p{font-size:17px}.owner-grid .large{font:600 26px/1.75 var(--serif)}
.process-line{list-style:none;padding:0;margin:75px 0 55px;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line)}.process-line li{padding:28px 12px;border-right:1px solid var(--line);min-height:145px}.process-line li:last-child{border-right:0}.process-line b{display:block;color:var(--gold);font:italic 25px Georgia,serif;margin-bottom:25px}.process-line span{font:600 14px var(--serif)}
.entry-points{background:var(--navy);color:#fff}.entry-points>div>h2{max-width:720px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:80px;border-top:1px solid rgba(255,255,255,.2)}.entry-grid a{min-height:260px;padding:38px 42px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);transition:.4s}.entry-grid a:nth-child(even){border-right:0}.entry-grid a:hover{background:#fff;color:var(--ink)}.entry-grid small{color:#d7b373}.entry-grid h3{font:600 28px/1.5 var(--serif)}.entry-grid p{color:#aebfc5}.entry-grid a:hover p{color:var(--muted)}
@keyframes scrollLine{50%{transform:scaleY(.35);opacity:.35}}
@media(max-width:980px){.signature-hero{min-height:1050px}.signature-art{height:55%;top:auto;bottom:0;object-position:64% center}.signature-hero:after{background:linear-gradient(180deg,#f5f1e8 0%,#f5f1e8 42%,rgba(245,241,232,.2) 67%,transparent 100%)}.signature-copy{width:min(100% - 44px,800px);padding:70px 0 520px;min-height:auto}.signature-copy h1{width:100%}.signature-copy>p:not(.hero-kicker){max-width:670px}.hero-stamp{width:180px;height:180px;right:5%;top:43%;font-size:13px}.question-layout,.owner-grid{grid-template-columns:1fr;gap:70px}.question-lead{position:static}.atlas{grid-template-columns:1fr}.atlas-item{min-height:330px}.atlas-item h3{margin-top:55px}.seo-copy{width:min(760px,calc(100% - 44px));margin:-60px auto 0}.process-line{grid-template-columns:repeat(4,1fr)}}
@media(max-width:620px){.home-v9 section{padding-block:90px}.signature-hero{min-height:930px}.signature-copy{width:calc(100% - 34px);padding:55px 0 470px}.signature-copy h1{font-size:40px}.signature-copy h1 em{white-space:normal}.signature-copy>p:not(.hero-kicker){font-size:15px}.signature-art{height:48%;object-position:68% center}.hero-stamp{width:142px;height:142px;top:auto;right:14px;bottom:330px;font-size:11px}.scroll-cue{display:none}.manifesto{padding-block:80px!important}.manifesto p{font-size:36px}.question-list article{min-height:300px}.question-list h3{font-size:30px}.atlas-title{margin-bottom:55px}.atlas-item{padding:35px 25px}.seo-visual{height:440px}.seo-copy{width:calc(100% - 34px);margin:-35px auto 0;padding:42px 24px}.seo-copy h2{font-size:34px}.process-line{grid-template-columns:1fr 1fr}.process-line li{min-height:120px}.entry-grid{grid-template-columns:1fr}.entry-grid a{border-right:0;padding:32px 22px;min-height:220px}}

/* Debounced button navigation prevents duplicate tap toggles on iOS. */
.mobile-menu-button{display:none;position:relative;z-index:2;margin-left:auto;width:52px;height:52px;padding:0;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mobile-menu-button span{display:block;width:25px;height:1px;background:var(--ink);transition:transform .28s ease}
.mobile-menu-panel{display:none}
.mobile-menu-top{display:none}
@media(max-width:980px){
  .mobile-menu-button{display:flex}
  .mobile-menu-panel{display:flex;position:fixed;z-index:10000;inset:0;width:100%;height:100svh;min-height:100dvh;padding:110px max(24px,calc((100vw - 800px)/2)) 56px;background:#fff;flex-direction:column;align-items:stretch;overflow-y:auto;overscroll-behavior:contain}
  .mobile-menu-panel[hidden]{display:none}
  .mobile-menu-top{display:grid;position:fixed;z-index:10001;top:0;left:0;right:0;height:88px;padding:0 max(24px,calc((100vw - 800px)/2));grid-template-columns:46px 1fr 46px;align-items:center;background:#fff;border-bottom:1px solid var(--line)}
  .mobile-menu-top a{grid-column:2;width:auto;padding:0;border:0;justify-self:center}
  .mobile-menu-top .logo{width:160px}
  .mobile-menu-close{grid-column:1;grid-row:1;position:relative;width:46px;height:46px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .mobile-menu-close span{position:absolute;left:10px;top:22px;display:block;width:26px;height:1px;background:var(--ink)}
  .mobile-menu-close span:first-child{transform:rotate(45deg)}
  .mobile-menu-close span:last-child{transform:rotate(-45deg)}
  .mobile-menu-panel>a{width:100%;padding:14px 2px;border-bottom:1px solid var(--line);font:600 17px/1.5 var(--serif)}
  .mobile-menu-panel .mobile-contact{display:flex;margin-top:22px;min-height:54px;padding:0 22px;align-items:center;justify-content:center;background:var(--navy);color:#fff;border:0;font:700 14px var(--sans)}
}

/* Let Japanese copy reflow naturally on narrow screens instead of preserving desktop breaks. */
@media(max-width:620px){
  .mobile-menu-panel{inset:0;height:100svh;padding:96px 17px 48px}
  .mobile-menu-top{height:76px;padding-inline:17px}
  .mobile-menu-top .logo{width:144px}
  h1,h2,h3,p{word-break:normal;overflow-wrap:break-word;line-break:strict;text-wrap:pretty}
  main h1 br,main h2 br,main h3 br,.closing h2 br,.manifesto p br{display:none}
  .signature-copy h1{font-size:clamp(34px,9.5vw,40px);line-height:1.48;letter-spacing:-.035em}
  .page-hero h1{font-size:clamp(32px,9vw,38px);line-height:1.5;letter-spacing:-.035em}
}

/* v26 — Japanese headline rhythm and natural line breaking */
.signature-copy h1,.question-lead h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{word-break:auto-phrase;line-break:strict;overflow-wrap:normal;text-wrap:balance}
.signature-copy h1{font-size:clamp(50px,4.25vw,68px);line-height:1.42;width:138%}
.question-lead h2{font-size:clamp(40px,3.35vw,52px);line-height:1.55}
.owner-grid h2{font-size:clamp(42px,3.8vw,58px);line-height:1.55}
.process-preview .section-head h2,.journal-heading h2{font-size:clamp(40px,3.8vw,56px);line-height:1.55}
@media(max-width:1100px){
  .signature-copy h1,.question-lead h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{font-size:clamp(36px,5.4vw,52px);line-height:1.55}
  .signature-copy h1{width:100%;max-width:820px}
  .signature-copy h1 br,.question-lead h2 br,.owner-grid h2 br,.process-preview .section-head h2 br,.journal-heading h2 br{display:none}
}
@media(max-width:620px){
  .signature-copy h1{font-size:clamp(34px,9.2vw,40px);line-height:1.55}
  .question-lead h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{font-size:clamp(31px,8.4vw,36px);line-height:1.6}
}

/* v28 — preserve intentional Japanese phrases on phones */
@media(max-width:620px){
  .home-v9 main h1 br,.home-v9 main h2 br,.home-v9 main h3 br{display:initial}
  .signature-copy h1,.home-v9 h2{word-break:normal;line-break:strict;overflow-wrap:normal;text-wrap:auto}
  .signature-copy h1{font-size:clamp(27px,7.35vw,30px);line-height:1.7;letter-spacing:-.025em}
  .signature-copy h1 em{white-space:nowrap}
  .question-lead h2,.seo-copy h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{font-size:clamp(28px,7.7vw,31px);line-height:1.72;letter-spacing:-.025em}
}

/* v30 — lock editorial headlines to intentional phrase breaks */
.signature-copy h1,.question-lead h2,.seo-copy h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{white-space:nowrap;text-wrap:nowrap;word-break:keep-all;overflow-wrap:normal}
.signature-copy h1 br,.question-lead h2 br,.seo-copy h2 br,.owner-grid h2 br,.process-preview .section-head h2 br,.journal-heading h2 br{display:initial!important}
.question-layout,.owner-grid{grid-template-columns:1fr 1fr;gap:6vw}
.process-preview .section-head{grid-template-columns:1fr 1fr;gap:6vw}
.journal-heading{grid-template-columns:1fr 1fr;gap:6vw}
.signature-copy h1{font-size:clamp(46px,3.8vw,58px);line-height:1.5;width:150%}
.question-lead h2{font-size:clamp(34px,3vw,44px);line-height:1.65}
.seo-copy h2{font-size:clamp(36px,3.2vw,46px);line-height:1.65}
.owner-grid h2{font-size:clamp(38px,3.4vw,50px);line-height:1.65}
.process-preview .section-head h2{font-size:clamp(34px,3.1vw,46px);line-height:1.65}
.journal-heading h2{font-size:clamp(30px,2.8vw,42px);line-height:1.65}
@media(max-width:980px){
  .question-layout,.owner-grid,.process-preview .section-head,.journal-heading{grid-template-columns:1fr}
  .signature-copy h1{font-size:clamp(34px,5.2vw,48px);width:100%}
  .question-lead h2,.seo-copy h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{font-size:clamp(32px,5vw,44px)}
}
@media(max-width:620px){
  .signature-copy h1{font-size:clamp(25px,7vw,28px);line-height:1.75}
  .question-lead h2,.seo-copy h2,.owner-grid h2,.process-preview .section-head h2,.journal-heading h2{font-size:clamp(25px,7vw,28px);line-height:1.75}
}

/* v32 — WordPress integration refinements */
.article-layout.single-content{grid-template-columns:minmax(0,760px);padding-block:90px}
.article-layout.single-content .article-body{width:100%;min-width:0}
.article-feature{width:100%;height:auto;margin:0 0 48px;border-radius:2px}
.contact-page-hero{background:linear-gradient(135deg,#fff 0%,#fff 68%,var(--mist) 68%)}
.contact-page-hero .page-art img{object-fit:cover;object-position:center}
.plan-detail:has(.plan-visual){max-width:1120px;grid-template-columns:90px minmax(240px,320px) minmax(0,1fr);gap:42px;align-items:center}
.plan-visual{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream);filter:saturate(.86);border-radius:2px}
.plan-detail:has(.plan-visual)>div:last-child{min-width:0}
@media(max-width:980px){
  .plan-detail:has(.plan-visual){grid-template-columns:70px minmax(210px,280px) minmax(0,1fr);gap:28px}
  .plan-detail:has(.plan-visual) h2{font-size:32px}
}
@media(max-width:700px){
  .plan-detail:has(.plan-visual){grid-template-columns:1fr;gap:20px}
  .plan-detail:has(.plan-visual) .plan-no{margin-bottom:-8px}
  .plan-visual{aspect-ratio:16/10}
  .contact-page-hero .page-hero-inner{gap:36px}
  .contact-page-hero .page-art{height:320px}
  .article-layout.single-content{padding-block:60px}
}

.voice-clients{background:#fff}
.voice-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;margin-bottom:72px}
.voice-intro h2{font:600 clamp(38px,4vw,58px)/1.5 var(--serif);margin:12px 0 0}
.voice-intro p{margin:0;color:var(--muted);font-size:17px;line-height:2.1}
.client-voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px 34px}
.client-voice-card{min-width:0}
.client-capture{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cream)}
.client-capture img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.82);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s}
.client-capture span{position:absolute;right:0;bottom:0;padding:12px 16px;background:#fff;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.18em}
.client-capture:hover img{transform:scale(1.025);filter:saturate(1)}
.client-voice-card>div{padding:25px 6px 0}
.client-voice-card small{color:var(--gold);font-size:11px;letter-spacing:.12em}
.client-voice-card h3{font:600 27px/1.55 var(--serif);margin:8px 0 10px}
.client-voice-card p{margin:0;color:var(--muted)}
.client-voice-card:nth-child(even){transform:translateY(54px)}
@media(max-width:760px){
  .voice-intro,.client-voice-grid{grid-template-columns:1fr}
  .voice-intro{gap:22px;margin-bottom:48px}
  .client-voice-grid{gap:48px}
  .client-voice-card:nth-child(even){transform:none}
  .client-voice-card h3{font-size:23px}
}
