:root{--ink:#293d39;--muted:#68736c;--accent:#344e46;--paper:#fff;--wash:#f4f4ef;--line:#d9ded7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic',sans-serif;font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a87935;outline-offset:5px}a:hover{opacity:.75}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}p+p{margin-top:24px}h1{font-size:clamp(28px,3vw,48px);line-height:1.65;letter-spacing:.06em}h2{font-size:clamp(26px,2.4vw,36px);line-height:1.75;letter-spacing:.08em}h3{font-size:23px;line-height:1.75;letter-spacing:.04em}header{padding:24px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:23px;font-weight:600;letter-spacing:.12em;line-height:1.5;white-space:nowrap}.brand small{display:block;font-size:12px;font-weight:400;letter-spacing:.12em;margin-top:6px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav .nav-cta{border:1px solid var(--line);padding:12px 21px}nav span{margin-left:14px}.menu{display:none}.skip{position:absolute;left:0;top:-100px;background:white;z-index:5}.skip:focus{top:0}.hero{padding:45px 4.2% 0}.hero-copy{position:relative;z-index:1;grid-column:1;grid-row:1;align-self:center;padding:40px 0 55px}.hero{display:grid;grid-template-columns:1fr 1.08fr;column-gap:24px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:500;line-height:1.8;margin-bottom:22px}.hero h1{white-space:nowrap}.lead{margin:26px 0 32px;line-height:2.2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 27px;background:var(--accent);color:white;font-size:16px;border:0;cursor:pointer;letter-spacing:.04em}.button span{font-size:20px}.small{font-size:14px;color:var(--muted);line-height:1.8}.hero-meta{margin-top:14px}.hero-image{grid-column:2;grid-row:1;position:relative;min-height:480px}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:58% center;display:block}.hero-image figcaption{position:absolute;bottom:10px;right:14px;background:#ffffffd9;font-size:12px;padding:0 6px;color:#505750}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:28px 0;font-size:12px;letter-spacing:.12em}.hero-foot a{font-size:14px;letter-spacing:.05em}.wrap{max-width:1160px;margin:0 auto;padding:100px 35px}.intro-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.intro h2{font-size:38px;line-height:1.9}.intro-grid>div{padding-top:10px}.intro strong{font-weight:500;background:linear-gradient(transparent 60%,#edf0e4 60%)}.ideas{padding-top:15px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px}.idea-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.idea-grid article{border-top:1px solid var(--ink);padding-top:23px}.num{font-size:30px;font-family:Georgia,serif;font-style:italic;color:#75867c}.idea-tag{font-size:13px;letter-spacing:.07em;margin:18px 0 12px}.idea-grid h3{margin-bottom:20px}.idea-grid article>p:last-of-type{font-size:16px;color:#535f58}.example{background:var(--wash);padding:20px;margin-top:25px;font-size:15px;line-height:1.9}.profile-teaser{background:var(--wash)}.profile-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.name-panel{border:1px solid #bdc7be;min-height:360px;padding:55px 35px;text-align:center;display:flex;flex-direction:column;justify-content:center;background:#f8f8f3}.big-name{font-size:34px;letter-spacing:.2em}.name-panel>p:nth-child(3){font-size:12px;letter-spacing:.18em;margin-top:8px}.values{border-top:1px solid var(--line);margin-top:35px;padding-top:28px;letter-spacing:.16em}.profile-inner h2{margin-bottom:24px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:12px 0 8px;margin-top:20px;font-size:15px}.price-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}.price-grid article{padding:42px 30px 42px 0}.price-grid article+article{border-left:1px solid var(--line);padding-left:45px}.price-grid h3{margin-bottom:18px}.price{font-size:36px;letter-spacing:.025em;margin-top:22px}.price span{font-size:16px;margin-right:15px}.price small{font-size:14px}.flow{padding-top:0}.flow ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.flow li{border-top:1px solid var(--line);padding-top:20px}.flow li>span{font-family:Georgia,serif;font-size:24px;color:var(--muted)}.flow h3{font-size:20px;margin:12px 0}.flow p{font-size:15px}.faq{padding-top:0;max-width:900px}.faq h2{margin-bottom:32px}details{border-top:1px solid var(--line);padding:23px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding-right:40px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:3px}details[open] summary:after{content:'−'}details p{padding:18px 20px 0 0;color:var(--muted)}.contact-band{text-align:center;padding:75px 20px;background:#edf1ec}.contact-band h2{margin-bottom:18px}.contact-band .button{margin-top:30px}.contact-band .eyebrow{margin-bottom:15px}footer{padding:55px 4.2% 30px;display:flex;align-items:flex-start;justify-content:space-between;gap:35px;flex-wrap:wrap}footer>div{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}footer>small{flex-basis:100%;font-size:12px;color:var(--muted);margin-top:15px}.page-head{padding-top:75px;padding-bottom:55px;border-bottom:1px solid var(--line)}.page-head p:last-child{margin-top:20px}.page-head h1{font-size:40px}.prose{max-width:850px;padding-top:50px}.prose h2{font-size:25px;margin:45px 0 20px}.prose h2:first-child{margin-top:0}.prose blockquote{font-size:30px;letter-spacing:.08em;border-left:2px solid var(--accent);margin:45px 0;padding:20px 35px;background:var(--wash)}.prose a{text-decoration:underline;overflow-wrap:anywhere}.notice{background:var(--wash);padding:22px;font-size:15px}.legal-list div{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line);padding:22px 0;gap:25px}.legal-list dt{font-weight:500}.legal-list dd{margin:0;overflow-wrap:anywhere}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:75px;padding-top:55px}.contact-layout aside h2{font-size:23px;margin-bottom:22px}.contact-layout aside p{font-size:15px}form>label{display:block;margin-bottom:26px}label>span{font-size:12px;color:var(--muted);margin-left:8px}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #b7c2b8;background:white;padding:13px 15px;border-radius:0;color:var(--ink);margin-top:9px;font-size:16px}textarea{resize:vertical}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.check span{font-size:14px;margin:0}.check a{text-decoration:underline}#form-status{font-size:14px;margin-top:15px}#draft{margin-top:25px}
@media(min-width:1500px){.hero{max-width:1600px;margin:auto}.hero-image{min-height:580px}}@media(max-width:1100px){nav{gap:17px;font-size:12px}.brand{font-size:20px}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:32px}.lead{font-size:15px}.hero-image{min-height:460px}.intro-grid,.profile-inner{gap:50px}.price{font-size:30px}footer>div{max-width:500px}}@media(max-width:800px){header{padding:20px 6%;position:relative}.brand{font-size:19px}.brand small{font-size:11px}.menu{display:block;border:0;background:none;font-size:13px;color:var(--ink);padding:10px}nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:10;background:white;padding:20px 6%;border-bottom:1px solid var(--line);font-size:15px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:12px}nav a{padding:8px 0}.hero{padding:0;display:flex;flex-direction:column;gap:0}.hero-copy{padding:35px 6% 30px;align-self:auto}.hero h1{font-size:clamp(25px,5.5vw,38px);letter-spacing:.035em;white-space:normal}.hero .eyebrow{font-size:11px;margin-bottom:18px}.lead{font-size:14px;margin:20px 0 24px;line-height:2}.hero .button{font-size:14px;padding:14px 21px}.hero-meta{font-size:12px}.hero-image{min-height:0;height:330px;margin:0 6%}.hero-image img{object-position:center center}.hero-foot{margin:0 6%;padding:22px 0}.hero-foot span{font-size:9px;letter-spacing:.07em}.hero-foot a{font-size:12px}.wrap{padding:65px 6%}.intro-grid{grid-template-columns:1fr;gap:25px}.intro h2{font-size:29px;line-height:1.65}.intro h2 br:nth-of-type(2){display:none}.intro-grid p{font-size:15px}.section-top{display:block;margin-bottom:30px}.section-top>p,.section-top>span{display:block;margin-top:18px}.section-top h2{font-size:26px}.ideas{padding-top:10px}.idea-grid{grid-template-columns:1fr;gap:35px}.idea-grid article{position:relative;padding-left:55px}.num{position:absolute;left:0;top:24px}.idea-tag{margin-top:0}.idea-grid h3 br{display:none}.example{margin-top:18px}.profile-inner{grid-template-columns:1fr;gap:35px}.name-panel{min-height:250px;padding:30px}.profile-inner p{font-size:15px}.price-grid{grid-template-columns:1fr}.price-grid article,.price-grid article+article{padding:30px 0;border-left:0}.price-grid article+article{border-top:1px solid var(--line)}.price{font-size:34px}.flow{padding-top:0}.flow ol{grid-template-columns:1fr;gap:20px}.flow h3{display:inline;margin-left:20px}.flow p{margin-top:12px}.faq{padding-top:0}.faq summary{font-size:15px}.contact-band h2{font-size:26px}.contact-band p:not(.eyebrow){font-size:14px}.contact-band .button{font-size:14px}footer{padding:40px 6%;gap:30px}footer>div{gap:15px 22px}footer>small{margin-top:0}.page-head{padding-top:50px;padding-bottom:35px}.page-head h1{font-size:28px;overflow-wrap:anywhere}.contact-layout{grid-template-columns:1fr;gap:35px;padding-top:35px}.legal-list div{grid-template-columns:1fr;gap:6px}.prose{padding-top:35px}.prose h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Visual explanations: consistent ink, open space, and restrained imagery. */
.line-icon{display:block;width:32px;height:32px;flex:none;color:var(--accent)}
.concerns{list-style:none;margin:0 0 28px;padding:0}.concerns li{display:flex;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.concerns .line-icon{width:26px;height:26px}.concerns span{font-size:16px}
.idea-art{margin:14px 0 25px;background:#fff}.idea-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.idea-tag{font-size:14px}.idea-grid h3{font-size:22px}
.icon-tile{display:flex;align-items:center;justify-content:center;width:66px;height:66px;background:var(--wash);margin-bottom:26px}.icon-tile .line-icon{width:34px;height:34px}
.flow li{position:relative;padding-top:25px}.flow-icon{margin:0 0 22px}.flow-icon .line-icon{width:38px;height:38px}.flow p{font-size:16px}.faq-icon{margin-bottom:24px}
.craft-photo{margin:0 0 30px}.craft-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}.craft-photo figcaption{font-size:14px;color:var(--muted);margin-top:9px;line-height:1.6}.profile-craft{margin:34px 0}.profile-craft figcaption{font-size:14px;color:var(--muted)}
@media(max-width:800px){.idea-grid article{padding-left:0}.idea-grid .num{position:static;display:block}.idea-art{margin:10px auto 22px;max-width:450px}.idea-grid h3{font-size:22px}.idea-grid article{padding-top:20px}.flow li{display:grid;grid-template-columns:50px 1fr;gap:8px 15px}.flow-icon{grid-column:1;grid-row:1/3;margin:4px 0 0}.flow li>span{grid-column:2;font-size:17px;line-height:1.4}.flow h3{grid-column:2;margin:0;font-size:20px}.flow p{grid-column:2;margin:0}.intro-grid p,.profile-inner p,.lead,.hero .lead,.contact-band p:not(.eyebrow){font-size:16px}.profile-inner .big-name{font-size:30px}.profile-inner .eyebrow{font-size:12px}.contact-layout aside p{font-size:16px}.concerns li{align-items:flex-start}.concerns .line-icon{margin-top:3px}.faq summary{font-size:16px}}
.portrait-panel{background:white}.portrait-panel>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:26% center}.portrait-panel figcaption{padding:25px 30px;display:flex;flex-direction:column;gap:7px}.portrait-panel .eyebrow{margin:0}.portrait-name{font-size:28px;letter-spacing:.15em}.profile-portrait{padding-top:45px;padding-bottom:0;max-width:1050px}.profile-portrait img{width:100%;height:auto;display:block}.profile-portrait figcaption{font-size:14px;letter-spacing:.09em;margin-top:12px;color:var(--muted)}
@media(max-width:800px){.portrait-panel{max-width:450px;width:100%;margin:auto}.portrait-panel>img{aspect-ratio:1/1;object-position:23% center}.profile-portrait{padding-top:30px}.profile-inner{gap:40px}.portrait-panel figcaption{padding:22px 24px}}
/* Review draft: examples, voices and visit information. */
.sample-note{font-size:14px;line-height:1.85;color:#59665e;border-left:2px solid #98a69a;padding:8px 0 8px 16px;margin:25px 0 38px;max-width:850px}.case-section{background:var(--wash)}.case-list{display:grid;gap:42px}.case-card{display:grid;grid-template-columns:.95fr 1.05fr;background:white;align-items:start}.case-card figure{padding:28px 24px}.case-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.case-card figcaption{font-size:14px;letter-spacing:.04em;margin-top:16px}.case-card figcaption span{display:block;font-size:14px;color:var(--muted);margin-top:4px}.case-copy{padding:38px 35px 32px}.case-person{font-size:14px;color:var(--muted);margin-bottom:12px}.case-copy h3{font-size:24px;line-height:1.8}.case-copy dl{margin:24px 0 0}.case-copy dl>div{padding:16px 0;border-top:1px solid var(--line)}.case-copy dt{font-size:14px;font-weight:600;margin-bottom:5px}.case-copy dd{margin:0;font-size:16px;line-height:1.95}.case-copy dl>.case-result{background:#edf1ec;padding:18px;margin-top:5px;border:0}.voices h2{margin-bottom:20px}.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.voice-card{border-top:1px solid var(--accent);padding-top:22px}.voice-label{font-family:Georgia,serif;font-size:16px;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px}.voice-label span{font-family:'Hiragino Kaku Gothic ProN',sans-serif;font-size:14px;letter-spacing:0;background:var(--wash);padding:3px 9px}.voice-card h3{font-size:21px;line-height:1.85}.voice-card blockquote{margin:22px 0;padding:0;font-size:16px;line-height:2}.voice-person{font-size:14px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.area-section{background:#f4f4ef;margin-bottom:90px}.area-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;padding-top:65px;padding-bottom:65px}.area-inner h2{margin-bottom:22px}.area-inner .sample-note{margin-top:0;margin-bottom:22px}.area-list{margin:0}.area-list>div{border-top:1px solid var(--line);padding:18px 0}.area-list dt{font-size:16px;font-weight:600;margin-bottom:5px}.area-list dd{margin:0;font-size:16px}.faq-group{margin-top:34px}.faq-group h3{font-size:18px;margin-bottom:16px}.faq-group details:last-child{border-bottom:1px solid var(--line)}
@media(max-width:800px){.case-card{grid-template-columns:1fr}.case-card figure{padding:22px 22px 0}.case-copy{padding:24px 22px}.case-copy h3{font-size:22px}.case-list{gap:28px}.voice-grid{grid-template-columns:1fr;gap:34px}.voice-card h3 br{display:none}.voice-card blockquote{margin:18px 0}.voice-label{margin-bottom:16px}.area-inner{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.area-section{margin-bottom:65px}.sample-note{margin:22px 0 28px}.case-card figcaption{margin-top:12px}.voice-person{margin-top:0}}
