:root{--ink:#181816;--paper:#f4f2ed;--line:#cfccc3;--accent:#c95436}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:.02em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.site-header{height:88px;background:var(--ink);color:#fff;display:flex;align-items:center;padding:0 4vw;position:relative;z-index:20}.site-logo img{width:210px}.site-header nav{margin-left:auto}.site-header ul{display:flex;gap:32px;list-style:none;margin:0 42px 0 0;padding:0;font:11px Arial;letter-spacing:.12em}.header-contact{font-size:12px;border-bottom:1px solid #777;padding:10px 0}.menu-toggle{display:none}.hero{min-height:calc(100svh - 88px);display:grid;grid-template-columns:44% 56%;background:#fff}.hero-copy{padding:10vh 4vw 7vh 5.5vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font:10px/1.7 Arial;letter-spacing:.18em;color:#666;margin-bottom:7vh}.hero h1,.page-hero h1,.section h2,.cta h2{font-family:"YuMincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:-.055em}.hero h1{font-size:clamp(44px,4.15vw,72px);line-height:1.42;margin:0}.hero h1 em{font-style:normal;border-bottom:2px solid var(--accent)}.lead{font-size:14px;line-height:2.1;margin-top:7vh}.hero-slider{height:calc(100svh - 88px);position:relative;overflow:hidden}.hero-slider>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity 1.8s ease,transform 7s ease}.hero-slider>img.active{opacity:1;transform:scale(1)}.slide-dots{position:absolute;right:24px;bottom:25px;display:flex;gap:8px;z-index:2}.slide-dots button{width:26px;height:2px;padding:0;border:0;background:#ffffff70}.slide-dots button.active{background:#fff}.stamp{position:absolute;left:24px;bottom:24px;background:#181816dd;color:#fff;padding:12px 16px;font:8px/1.6 Arial;letter-spacing:.15em}.section{padding:130px 5.5vw}.section-label{font:10px Arial;letter-spacing:.18em;border-top:1px solid var(--line);padding-top:15px;color:var(--accent)}.two-col,.journal-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:80px}.intro img{aspect-ratio:4/5;object-fit:cover}.kicker{font:24px/1.75 "YuMincho",serif}.section h2{font-size:clamp(42px,5vw,76px);line-height:1.4}.section p{font-size:14px;line-height:2.2;color:#555}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:8px;font-size:12px}.service-home{background:#fff}.service-home article{display:grid;grid-template-columns:60px 1fr 1fr;border-top:1px solid var(--line);padding:34px 0}.service-home article:last-child{border-bottom:1px solid var(--line)}.service-home h3{font:500 24px "YuMincho",serif;margin:0}.service-home span{font:10px Arial;color:var(--accent)}.service-home p{margin:0}.work-grid,.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 38px;margin-top:65px}.work-grid a:nth-child(even),.archive-grid a:nth-child(even){margin-top:90px}.work-grid img,.archive-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.work-grid h3,.archive-grid h2{font:500 23px "YuMincho",serif}.work-grid small,.archive-grid small{display:block;margin-top:15px;font:9px Arial;color:#888}.center{display:block;width:max-content;margin:80px auto 0}.post-row,.post-list>a{display:grid;grid-template-columns:110px 1fr 20px;gap:20px;border-top:1px solid var(--line);padding:28px 0}.post-row h3{font:500 18px "YuMincho",serif;margin:0}.cta{padding:100px 5.5vw;background:#ddd9d0;display:flex;justify-content:space-between;align-items:end}.cta h2{font-size:clamp(48px,6.5vw,92px);line-height:1.35;margin:30px 0 0}.cta>a{width:150px;height:150px;border:1px solid;border-radius:50%;display:flex;align-items:center;justify-content:center}.site-footer{background:var(--ink);color:#fff;padding:75px 5.5vw 34px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px}.site-footer p{font-size:11px;line-height:2;color:#aaa}.site-footer>small{grid-column:1/-1;border-top:1px solid #444;padding-top:24px;color:#777}.page-hero{min-height:570px;padding:120px 8vw 90px;background:#fff;display:grid;grid-template-columns:1.1fr .9fr;align-content:end;gap:8vw}.page-hero>p{grid-column:1/-1;font:10px Arial;letter-spacing:.18em;color:var(--accent)}.page-hero h1{font-size:clamp(48px,6vw,94px);line-height:1.3;margin:45px 0 0}.page-hero>div{align-self:end;font-size:15px;line-height:2.15;color:#555}.archive-grid,.post-list{padding:100px 5.5vw 140px;margin:0}.archive-grid p{font-size:13px;line-height:1.9;color:#666}.single{padding:110px 5.5vw 0}.single-head{padding:70px 2.5vw 85px}.single-head h1{font:500 clamp(46px,6vw,90px)/1.3 "YuMincho",serif}.single-main-image{width:100%;height:75vh;object-fit:cover}.article-body{max-width:780px;margin:auto;padding:100px 0 150px;font-size:16px;line-height:2.4}.post-list>a h2{font:500 25px/1.5 "YuMincho",serif;margin:8px 0}.post-list>a p{font-size:13px;color:#666}
@media(max-width:800px){.site-header{height:72px;padding:0 22px}.site-logo img{width:180px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--ink);padding:20px}.site-header nav.open{display:block}.site-header ul{display:block}.site-header li a{display:block;padding:14px 0;border-bottom:1px solid #444}.header-contact{display:none}.menu-toggle{display:block;margin-left:auto;width:40px;height:40px;border:1px solid #777;border-radius:50%;background:none}.menu-toggle span{display:block;width:16px;height:1px;background:#fff;margin:5px auto}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 22px 60px}.hero h1{font-size:12.5vw}.hero-slider{height:60vh}.section{padding:85px 22px}.two-col,.journal-layout{grid-template-columns:1fr;gap:50px;margin-top:55px}.service-home article{grid-template-columns:32px 1fr}.service-home article p{grid-column:2}.work-grid,.archive-grid{grid-template-columns:1fr;gap:50px}.work-grid a:nth-child(even),.archive-grid a:nth-child(even){margin-top:0}.cta{display:block;padding:75px 22px}.cta h2{font-size:13vw}.cta>a{width:125px;height:125px;margin:40px 0 0 auto}.site-footer{grid-template-columns:1fr;padding:60px 22px}.site-footer>small{grid-column:1}.page-hero{min-height:500px;padding:80px 22px 65px;grid-template-columns:1fr;gap:30px}.page-hero h1{font-size:12vw}.archive-grid,.post-list{padding:70px 22px 95px}.post-list>a{grid-template-columns:76px 1fr 15px}.post-list>a p{display:none}.single{padding:70px 0 0}.single-head{padding:60px 22px}.single-head h1{font-size:12vw}.single-main-image{height:55vh}.article-body{padding:75px 22px 100px}}

/* 2026 homepage hero */
.home-hero-f{position:relative;height:calc(100svh - 88px);min-height:680px;overflow:hidden;background:#fff;color:#171714}.hhf-word{position:absolute;left:2.6vw;top:2.5vh;width:max-content;max-width:97vw;font:900 clamp(116px,17.2vw,290px)/.78 "Arial Narrow","Helvetica Neue",Arial,sans-serif;letter-spacing:-.095em;color:transparent;background-repeat:no-repeat;background-size:cover;background-position:center 48%;-webkit-background-clip:text;background-clip:text;filter:brightness(.64) saturate(.72) contrast(1.12)}.hhf-copy{position:absolute;z-index:3;left:4vw;top:18vh}.hhf-copy small{display:block;font:600 8px Arial;letter-spacing:.26em;color:#e05835}.hhf-copy h1{margin:1.5vh 0 0;font-family:"Hiragino Sans","Yu Gothic",sans-serif;font-size:clamp(28px,2.8vw,46px);font-weight:500;line-height:1.18;letter-spacing:-.018em}.hhf-track{position:absolute;top:39vh;display:flex;gap:4vw;transition:transform 1.1s cubic-bezier(.72,0,.18,1)}.hhf-track>button{position:relative;width:72vw;flex:none;padding:0;border:0;background:none;opacity:.16;transform:scale(.9);transition:.9s;cursor:pointer}.hhf-track>button.active{opacity:1;transform:scale(1)}.hhf-track img{width:100%;aspect-ratio:16/7;object-fit:cover}.hhf-track>button>span{position:absolute;left:0;right:0;bottom:-30px;display:flex;align-items:center;text-align:left}.hhf-track span b{font:400 18px Arial}.hhf-track span i{margin-left:15px;font:600 7px Arial;letter-spacing:.22em}.hhf-track span strong{margin-left:auto;font:500 9px sans-serif}.hhf-footer{position:absolute;z-index:4;left:4vw;right:4vw;bottom:2.7vh;display:flex;align-items:center;justify-content:space-between}.hhf-footer>p{font:700 7px Arial;letter-spacing:.18em;color:#777}.hhf-pagination{display:flex;align-items:center;gap:16px}.hhf-prev,.hhf-next{width:52px;height:52px;padding:0;border:1px solid #17171445;border-radius:50%;background:transparent;font-size:20px;cursor:pointer}.hhf-dots{display:flex;align-items:flex-end;gap:8px}.hhf-dots>button{width:58px;padding:8px 0 5px;border:0;background:none;color:#aaa;text-align:left;cursor:pointer}.hhf-dots span{font:500 9px Arial}.hhf-dots i{display:block;width:100%;height:2px;margin-top:8px;background:#ddd;position:relative;overflow:hidden}.hhf-dots i:after{content:"";position:absolute;inset:0;background:#e05835;transform:translateX(-101%);transition:.6s}.hhf-dots>button.active{color:#171714}.hhf-dots>button.active i:after{transform:none}
.seo-intro{padding:110px 5.5vw 125px;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;background:#fff;border-top:1px solid var(--line)}.seo-intro small,.answer-block>small{font:600 8px Arial;letter-spacing:.2em;color:var(--accent)}.seo-intro h2,.answer-block>h2{margin:26px 0 0;font:500 clamp(32px,3.6vw,54px)/1.45 "YuMincho",serif;letter-spacing:-.04em}.seo-intro p{margin:0 0 18px;font-size:14px;line-height:2.15;color:#555}.seo-intro nav{grid-column:2;display:flex;flex-wrap:wrap;gap:10px 22px}.seo-intro nav a{padding-bottom:6px;border-bottom:1px solid #aaa;font-size:11px}.answer-block{padding:110px 5.5vw 125px;background:#f4f2ed}.answer-block>div{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin-top:55px}.answer-block article{padding:28px 0;border-top:1px solid var(--line)}.answer-block article h3{font-size:15px}.answer-block article p{font-size:13px;line-height:2;color:#555}
.page-hero h1{font-size:clamp(40px,4.7vw,72px);line-height:1.35}.single-head h1{font-size:clamp(40px,5vw,72px)}
@media(max-width:800px){.home-hero-f{height:calc(100svh - 72px);min-height:650px}.hhf-word{left:16px;top:5vh;font-size:20vw;max-width:calc(100vw - 16px)}.hhf-copy{left:20px;top:14vh}.hhf-copy h1{font-size:7.5vw}.hhf-track{top:32vh}.hhf-track>button{width:84vw}.hhf-track img{aspect-ratio:16/10}.hhf-footer{left:20px;right:20px;bottom:2vh}.hhf-footer>p{display:none}.hhf-pagination{gap:8px;width:100%}.hhf-prev,.hhf-next{width:44px;height:44px;flex:none}.hhf-dots{flex:1}.hhf-dots>button{width:auto;flex:1}.seo-intro{padding:75px 22px 90px;grid-template-columns:1fr;gap:38px}.seo-intro h2,.answer-block>h2{font-size:8.7vw}.seo-intro nav{grid-column:1}.answer-block{padding:75px 22px 90px}.answer-block>div{grid-template-columns:1fr;margin-top:35px}.page-hero h1{font-size:9.4vw}.single-head h1{font-size:10vw}}
.contact-complete{padding:110px 8vw 140px;display:grid;grid-template-columns:.78fr 1.22fr;gap:9vw}.contact-guide small{font:600 8px Arial;letter-spacing:.18em;color:var(--accent)}.contact-guide h2{font:500 clamp(30px,3.2vw,48px)/1.4 "YuMincho",serif}.contact-guide p{font-size:14px;line-height:2;color:#666}.contact-guide dl{margin-top:48px}.contact-guide dt{margin-top:24px;font:9px Arial;letter-spacing:.14em;color:#888}.contact-guide dd{margin:8px 0;font-size:16px}.contact-form{display:grid;gap:25px}.contact-form>label{display:grid;gap:9px;font-size:12px}.contact-form label b{color:var(--accent);font-size:9px}.contact-form input,.contact-form textarea{width:100%;padding:16px;border:1px solid var(--line);border-radius:0;background:#fff;font:16px inherit}.contact-form textarea{resize:vertical}.contact-form .privacy-check{display:flex;grid-template-columns:none;align-items:center;gap:10px}.contact-form .privacy-check input{width:18px;height:18px}.contact-form .privacy-check a{text-decoration:underline}.contact-form button{justify-self:start;padding:18px 28px;border:0;background:var(--ink);color:#fff;cursor:pointer}.hp-field{position:absolute!important;left:-9999px!important}.form-message{padding:28px;border:1px solid var(--line);background:#fff}.form-message.success{border-color:#678b70}.form-message.error{border-color:#b65f50;color:#8b3023}@media(max-width:800px){.contact-complete{padding:75px 22px 100px;grid-template-columns:1fr;gap:55px}}
.site-footer nav ul{margin:0;padding:0;list-style:none;columns:2}.site-footer nav a{display:block;padding:5px 0;font-size:11px;color:#ccc}
