:root{--paper:#fbfaf6;--ink:#201d19;--muted:#5e574e;--red:#b32822;--line:#dcded5;--gold:#8c692e;--wash:#f0eee6;--serif:'Shippori Mincho B1','Yu Mincho',serif;--sans:'Noto Sans JP','Yu Gothic',sans-serif;--latin:'Manrope',sans-serif;--gutter:clamp(24px,6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(29px,3.4vw,46px);line-height:1.65;letter-spacing:.035em}h3{line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;vertical-align:middle}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b99844;outline-offset:5px}.icon{width:20px;height:20px;flex-shrink:0}.wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1700px;margin-left:auto;margin-right:auto}.section{padding-top:100px;padding-bottom:100px}.eyebrow{font:500 12px/1.8 var(--latin);letter-spacing:.13em;color:var(--gold);margin-bottom:22px}.number{font-family:var(--latin);font-weight:400;letter-spacing:-.05em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 25px;min-height:59px;font-size:16px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.red{background:var(--red);color:#fff}.red:hover{background:#862a24}.red .icon,.dark .icon{filter:invert(1)}.cream{background:var(--paper);color:var(--ink)}.cream:hover{background:#e8e3d7}.dark{background:var(--ink);color:#fff}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:16px;padding-bottom:7px;border-bottom:1px solid var(--line)}.text-link:hover{color:var(--red)}.text-link .icon{width:18px;height:18px}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}
.header{height:96px;padding:18px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--paper);position:relative;z-index:30}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand>img{width:42px;height:auto}.brand>span{font:500 21px/1.5 var(--serif);white-space:nowrap}.brand small{display:block;font:500 9px/1.8 var(--latin);letter-spacing:.16em;margin-top:2px}.nav{display:flex;align-items:center;gap:27px;font-size:14px}.nav .button{font-size:14px;padding:14px 19px;min-height:48px;gap:20px}.nav>a:not(.button):hover{color:var(--red)}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}
.hero{position:relative;height:660px;max-height:850px;background:#29352e;color:white;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,24,19,.74),rgba(10,24,19,.25) 60%,rgba(10,24,19,.14))}.hero-content{position:relative;padding-top:80px;padding-bottom:80px;z-index:1}.hero .eyebrow{color:#eee9d9;font-family:var(--sans);font-size:14px;letter-spacing:.16em;margin-bottom:20px}.hero h1{font-size:clamp(48px,5.6vw,82px);line-height:1.5;letter-spacing:.055em}.hero-service{font-size:16px;letter-spacing:.11em;margin-top:20px}.hero-desc{font-size:16px;line-height:2;margin-top:12px;color:#f5f3e9}.hero .button{margin-top:28px;min-width:275px}.hero-bottom{position:absolute;bottom:21px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px}.hero-bottom>span{font:500 10px/1.6 var(--latin);letter-spacing:.18em;color:#ececdd}.video-control{font-size:14px;color:#fff;border:1px solid #ffffff80;background:#15211bcc;padding:9px 16px;min-height:40px}.hero-side{writing-mode:vertical-rl;position:absolute;right:var(--gutter);top:55px;font:400 20px/1.9 var(--serif);letter-spacing:.2em;text-shadow:0 1px 7px #000}
.quick-facts{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:center;gap:40px;border-bottom:1px solid var(--line);padding-top:27px;padding-bottom:27px}.founding{display:flex;align-items:center;gap:17px}.founding>.number{font-size:45px;line-height:1.2}.founding>span:last-child{font-size:14px;line-height:1.7}.founding small{font-size:14px;color:var(--muted)}.quick-facts>a{border-left:1px solid var(--line);padding-left:36px;font-size:14px}.quick-facts>a>b{display:block;font-size:16px;font-weight:400}.quick-facts>a>b>.number{font-size:31px}.quick-facts small{font-size:14px}.quick-facts strong{font-size:16px;font-weight:500;line-height:2.3}.quick-facts strong .icon{margin-left:15px;width:16px}.clients{display:flex;align-items:center;gap:45px;padding-top:39px;padding-bottom:39px;border-bottom:1px solid var(--line)}.clients-title{flex-shrink:0}.clients-title p{font-family:var(--serif);font-size:17px;line-height:1.8}.clients-title small{font-size:14px;color:var(--muted)}.logo-row{display:flex;justify-content:space-between;align-items:center;flex:1;gap:30px;min-width:0}.logo-row img{width:12%;height:38px;object-fit:contain;filter:grayscale(1);opacity:.8}.clients>.text-link{font-size:14px;gap:12px;white-space:nowrap}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}.section-head>p{font-size:16px;line-height:2;color:var(--muted);padding-bottom:8px}.section-head>.text-link{margin-bottom:10px}
.featured-case{display:grid;grid-template-columns:1.15fr 1fr;background:var(--wash)}.case-photo{position:relative;overflow:hidden;min-height:450px}.case-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}.featured-case:hover .case-photo>img{transform:scale(1.025)}.case-photo>span{position:absolute;bottom:20px;left:25px;background:var(--paper);padding:6px 13px;font-size:14px}.feature-copy{padding:46px clamp(25px,4vw,62px)}.issue-label{font-size:14px;letter-spacing:.06em;color:var(--red);border-left:2px solid var(--red);padding-left:10px;margin-bottom:20px}.feature-copy h3{font-size:clamp(26px,2.8vw,39px);line-height:1.65}.feature-copy>p:not(.issue-label){font-size:16px;color:var(--muted);margin-top:23px;line-height:2}.mini-facts{display:flex;gap:45px;border-top:1px solid #d6d7ce;margin-top:25px;padding-top:17px;margin-bottom:25px}.mini-facts dt{font-size:14px;color:var(--muted);margin-bottom:5px}.mini-facts dd{font-size:16px}.mini-facts dd b{font:400 27px/1.3 var(--latin);margin-right:3px}.feature-copy .text-link{font-size:14px;border-color:#c0c4b7}.case-more{display:flex;justify-content:space-between;gap:25px;margin-top:25px;align-items:center;font-size:14px;color:var(--muted)}.case-more .text-link{color:var(--ink);font-size:14px;flex-shrink:0}
.services{background:var(--wash)}.service-grid{display:grid;grid-template-columns:2.4fr 1fr;gap:40px}.service-main{display:grid;grid-template-columns:1fr 1fr;background:var(--paper)}.service-picture{position:relative;min-height:480px;overflow:hidden}.service-picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% center}.service-picture small{position:absolute;bottom:15px;left:15px;right:15px;color:#fff;background:#28342ccc;font-size:14px;padding:6px 10px;width:max-content;max-width:calc(100% - 30px)}.service-copy{padding:36px 30px}.service-copy h3{font-size:29px}.service-copy>p:not(.eyebrow):not(.price){font-size:14px;color:var(--muted);margin-top:20px}.price{margin-top:17px;line-height:1.4;font-size:16px;white-space:nowrap}.price .number{font-size:39px}.price small{font-size:14px;display:block;margin-top:3px}.included{display:flex;gap:7px 13px;list-style:none;padding:19px 0 24px;margin:0;flex-wrap:wrap;font-size:14px}.included li::before{content:'✓';margin-right:5px;color:var(--gold)}.service-copy .button{width:100%;padding:16px 18px;font-size:14px;gap:15px;min-height:54px}.secondary-services{display:flex;flex-direction:column}.secondary-services>a{border-top:1px solid #bfc3b5;padding:22px 0;display:block;flex:1}.secondary-services .eyebrow{font-size:14px;margin-bottom:12px}.secondary-services h3{font-size:27px}.secondary-services p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:13px}.secondary-services .text-link{display:flex;font-size:14px;margin-top:20px;border:0;padding:0}.small.price{display:block;margin-top:15px;font-size:14px}.small.price .number{font-size:27px}.small.price small{display:inline;margin-left:7px}.rental-link{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #c7c9be;padding-top:22px;margin-top:30px;font-size:14px}.rental-link .text-link{font-size:14px}
.care{display:grid;grid-template-columns:1fr 1fr;background:#253a32;color:#f8f6ee}.care-photo{position:relative;min-height:540px}.care-photo>img{position:absolute;width:100%;height:100%;object-fit:cover}.care-copy{padding:65px clamp(30px,5.5vw,90px)}.care .eyebrow{color:#c6cbb2;font-size:14px}.care h2{font-size:clamp(28px,2.8vw,40px)}.care-details{margin-top:35px}.care details{border-top:1px solid #6a7a68}.care details:last-child{border-bottom:1px solid #6a7a68}.care summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:16px}.care summary::-webkit-details-marker{display:none}.care summary .icon{filter:invert(1);width:17px;height:17px}.care details[open] summary .icon{transform:rotate(90deg)}.care details>p{font-size:16px;line-height:2;color:#e0e4d5;margin-bottom:17px}.care details .text-link{color:#fff;margin-bottom:23px;font-size:14px;border-color:#718069}.care details .text-link .icon{filter:invert(1)}.care-note{font-size:14px;margin-top:24px;color:#d0d6c7}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;list-style:none;margin:0;padding:0}.steps>li{border-top:1px solid var(--line);padding-top:19px}.steps>li>span{font:400 28px/1.5 var(--latin);color:var(--gold)}.steps h3{font-size:22px;margin:14px 0}.steps p{font-size:14px;color:var(--muted);line-height:2}
.contact{background:var(--red);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:15%;padding-top:75px;padding-bottom:75px}.contact .eyebrow{color:#eed0bc;font-size:14px}.contact h2{font-size:clamp(36px,4vw,56px)}.contact>div>p:not(.eyebrow){font-size:16px;line-height:2;margin-top:20px;color:#f5e0d6}.contact-actions{align-self:center}.contact-actions>.button{width:100%;font-family:var(--serif);font-size:23px;min-height:93px;padding:22px 27px}.phone{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px 0}.phone small{display:block;font-size:14px}.phone strong{font:400 32px/1.9 var(--latin);letter-spacing:.02em;white-space:nowrap}.phone>.icon{filter:invert(1)}.footer{padding-top:42px;padding-bottom:20px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer nav{display:flex;gap:20px 30px;flex-wrap:wrap;font-size:14px}.to-top{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0}.copyright{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:400 10px/1.7 var(--latin);letter-spacing:.1em}.mobile-cta{display:none}
.breadcrumbs{display:flex;gap:13px;flex-wrap:wrap;font-size:14px;color:var(--muted);padding-top:30px}.case-heading{padding-top:48px;padding-bottom:36px}.case-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}.case-title-row h1{font-size:clamp(34px,3.8vw,55px);line-height:1.65}.case-title-row>p{font-size:16px;color:var(--muted);line-height:2.1;padding-bottom:7px}.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.tags span{font-size:14px;padding:4px 12px;border:1px solid var(--line)}.tags span:first-child{border-color:#c8a99d;color:var(--red)}.case-wide img{width:100%;aspect-ratio:2.05;object-fit:cover;object-position:center 56%}.case-wide figcaption{font-size:14px;color:var(--muted);margin-top:10px}.case-summary{margin-top:30px}.case-summary dl{padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.case-summary dl>div+div{border-left:1px solid var(--line);padding-left:30px}.case-summary dt{font-size:14px;color:var(--muted);margin-bottom:7px}.case-summary dd{font-size:17px;line-height:1.7}.case-summary b.number{font-size:28px;line-height:1}.case-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10%;padding-top:65px;padding-bottom:80px}.case-story{min-width:0}.story-section{margin-bottom:48px}.story-section h2{font-size:32px;line-height:1.75}.story-section>p:not(.eyebrow){font-size:16px;line-height:2.1;margin-top:22px;max-width:42em}.story-section .eyebrow{font-size:14px;margin-bottom:18px}.approach{list-style:none;margin:25px 0 0;padding:0}.approach li{display:flex;gap:23px;padding:22px 0;border-top:1px solid var(--line)}.approach li>span{font:400 22px/1.7 var(--latin);color:var(--gold)}.approach h3{font-size:20px}.approach p{font-size:16px;line-height:2;margin-top:10px;color:var(--muted)}.detail-photo img{width:100%;aspect-ratio:1.55;object-fit:cover}.detail-photo figcaption{font-size:14px;color:var(--muted);margin-top:12px}.result{padding-top:50px;margin-bottom:0}.result .source-note{font-size:14px!important;color:var(--muted);line-height:1.9}.result .text-link{font-size:14px;margin-top:22px}.case-aside{position:sticky;top:30px;align-self:start;border-top:2px solid var(--red);background:var(--wash);padding:29px 25px}.case-aside .eyebrow{font-size:14px}.case-aside h3{font-size:27px}.case-aside>p:not(.eyebrow):not(.aside-price){font-size:14px;color:var(--muted);line-height:2;margin-top:17px}.case-aside .button{width:100%;font-size:14px;gap:10px;padding:15px;margin-top:23px}.case-aside hr{border:0;border-top:1px solid #d3d6ca;margin:25px 0}.case-aside .text-link{font-size:14px;gap:10px;border:0;margin-top:10px}.case-aside .aside-label{font-size:14px!important}.aside-price{font-size:14px;margin-top:13px}.aside-price .number{font-size:26px}.case-bottom{background:var(--wash);text-align:center;padding-top:45px;padding-bottom:48px}.case-bottom>p{font-size:14px;color:var(--muted);margin-bottom:13px}.case-bottom h2{font-size:30px}.case-bottom .text-link{margin-top:25px;font-size:14px}
@media(min-width:1700px){.header{padding-left:max(var(--gutter),calc((100vw - 1500px)/2));padding-right:max(var(--gutter),calc((100vw - 1500px)/2))}.hero{height:740px}.hero-content{padding-top:100px}.hero-bottom{left:max(var(--gutter),calc((100vw - 1500px)/2));right:max(var(--gutter),calc((100vw - 1500px)/2))}}
@media(max-width:1150px){.nav{gap:16px;font-size:14px}.nav .button{font-size:14px;padding:14px}.brand>span{font-size:18px}.brand>img{width:37px}.brand{gap:10px}.header{gap:20px}.quick-facts{gap:20px}.quick-facts>a{padding-left:25px}.clients{gap:30px}.clients>.text-link{display:none}.feature-copy{padding:34px 30px}.feature-copy h3{font-size:30px}.feature-copy>p:not(.issue-label){font-size:14px}.case-photo{min-height:410px}.service-grid{gap:26px;grid-template-columns:2.7fr 1fr}.service-copy{padding:29px 23px}.service-copy h3{font-size:25px}.price .number{font-size:33px}.secondary-services h3{font-size:23px}.service-picture{min-height:470px}.care-copy{padding:50px 38px}.care summary{font-size:16px}.contact{gap:10%}.contact-actions>.button{font-size:20px}.phone strong{font-size:27px}.case-title-row h1{font-size:43px}.case-title-row>p{font-size:14px}.case-content{gap:6%;grid-template-columns:minmax(0,1fr) 270px}.case-aside{padding:25px 21px}}
@media(max-width:900px){.nav{display:none}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid var(--line)}.mobile-menu{position:absolute;left:0;right:0;z-index:25;background:var(--paper);padding:20px var(--gutter) 30px;box-shadow:0 15px 22px #1c302c12}.mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}.header{height:83px}.hero{height:620px}.hero-content{padding-top:65px}.hero h1{font-size:62px}.hero-side{font-size:16px;right:30px}.quick-facts{grid-template-columns:1fr 1.15fr}.quick-facts>a:last-child{display:none}.clients-title p{font-size:16px}.logo-row{gap:20px}.logo-row img{height:31px}.section{padding-top:75px;padding-bottom:75px}.section-head>p{font-size:14px}.featured-case{grid-template-columns:1fr 1fr}.feature-copy{padding:28px 25px}.feature-copy h3{font-size:26px}.feature-copy>p:not(.issue-label) br{display:none}.case-photo{min-height:420px}.mini-facts{gap:24px}.feature-copy .text-link{font-size:14px;gap:15px}.case-more{align-items:flex-start;flex-direction:column;gap:12px}.service-grid{grid-template-columns:1fr}.secondary-services{display:grid;grid-template-columns:1fr 1fr;gap:35px}.service-main{grid-template-columns:1fr 1fr}.service-picture{min-height:420px}.service-copy{padding:35px}.service-copy h3{font-size:30px}.price .number{font-size:44px}.secondary-services h3 br{display:none}.care{grid-template-columns:.9fr 1.1fr}.care-copy{padding:45px 30px}.care h2{font-size:28px}.care summary{font-size:14px}.care-photo{min-height:515px}.steps{gap:22px}.steps h3{font-size:19px}.steps p{font-size:14px}.contact{gap:7%}.contact h2{font-size:38px}.contact-actions>.button{font-size:18px;padding:20px}.phone{padding-left:10px;padding-right:10px}.phone strong{font-size:25px}.footer nav{font-size:14px;gap:14px 20px}.footer-row{gap:25px}.case-title-row{display:block}.case-title-row h1{font-size:44px}.case-title-row>p{margin-top:20px;font-size:16px}.case-title-row>p br{display:none}.case-wide img{aspect-ratio:1.7}.case-summary dl>div+div{padding-left:20px}.case-summary dd{font-size:16px}.case-content{grid-template-columns:1fr;gap:45px}.case-aside{position:static;max-width:none;padding:30px}.case-aside .button{max-width:320px}.case-aside h3 br{display:none}.case-aside .text-link{margin-right:25px}.case-aside .aside-price{display:inline-block}.story-section>p:not(.eyebrow){max-width:none}}
@media(max-width:600px){:root{--gutter:23px}.header{height:80px}.brand>img{width:34px}.brand>span{font-size:17px}.brand small{font-size:14px}.hero{height:650px}.hero-media video{object-position:57% center}.hero-media::after{background:linear-gradient(90deg,#0c2319bb,#13241b45),linear-gradient(0deg,#0c231940,transparent 70%)}.hero-content{padding-top:105px;padding-bottom:65px}.hero .eyebrow{font-size:14px;letter-spacing:.07em}.hero h1{font-size:clamp(41px,10.4vw,61px);letter-spacing:.04em;line-height:1.55}.hero-service{font-size:14px;margin-top:25px}.hero-desc{font-size:14px;line-height:2.1;margin-top:14px}.hero .button{font-size:14px;min-width:250px;min-height:56px;margin-top:27px}.hero-side{display:none}.hero-bottom{bottom:19px}.hero-bottom>span{font-size:14px;letter-spacing:.07em;max-width:145px;line-height:1.8}.video-control{font-size:14px;min-height:40px;padding:8px 12px}.quick-facts{gap:17px;grid-template-columns:1fr 1.05fr;padding-top:22px;padding-bottom:22px}.founding{gap:9px;align-items:flex-start}.founding>.number{font-size:33px}.founding>span:last-child{font-size:14px}.founding small{display:none}.quick-facts>a{padding-left:17px;font-size:14px;line-height:1.7}.quick-facts>a>b>.number{font-size:24px}.quick-facts>a>b{font-size:14px;white-space:nowrap}.quick-facts small{font-size:14px}.clients{display:block;text-align:center;padding-top:28px;padding-bottom:29px}.clients-title p{font-size:16px}.clients-title p br{display:none}.clients-title small{font-size:14px}.logo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 35px;justify-items:center;margin-top:25px}.logo-row img{width:80px;max-width:100%;height:30px}.clients>.text-link{display:inline-flex;font-size:14px;margin-top:23px}.section{padding-top:58px;padding-bottom:58px}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:32px}.section-head .eyebrow{font-size:14px;margin-bottom:17px}.section-head>p{margin-top:20px;font-size:14px}.section-head>p br{display:none}.section-head>.text-link{margin-top:23px;font-size:14px}.featured-case{display:block}.case-photo{min-height:0;aspect-ratio:1.26}.case-photo>span{font-size:14px;left:15px;bottom:15px;padding:5px 10px}.feature-copy{padding:27px 23px}.issue-label{font-size:14px;margin-bottom:17px}.feature-copy h3{font-size:28px}.feature-copy>p:not(.issue-label){font-size:14px;margin-top:17px}.mini-facts{gap:42px;margin-top:22px;margin-bottom:23px}.mini-facts dt{font-size:14px}.mini-facts dd{font-size:14px}.feature-copy .text-link{font-size:14px;width:100%;gap:10px}.case-more{font-size:14px;gap:15px;margin-top:20px;line-height:2}.service-main{grid-template-columns:1fr}.service-picture{min-height:0;aspect-ratio:1.5}.service-picture img{object-position:center 30%}.service-copy{padding:28px 24px}.service-copy .eyebrow{font-size:14px;margin-bottom:15px}.service-copy h3{font-size:31px}.price .number{font-size:43px}.service-copy .button{font-size:14px}.included{font-size:14px}.secondary-services{grid-template-columns:1fr;gap:0;margin-top:7px}.secondary-services>a{padding:23px 0}.secondary-services h3{font-size:26px}.secondary-services .eyebrow{font-size:14px}.secondary-services p:not(.eyebrow){font-size:14px}.secondary-services .text-link{font-size:14px}.small.price .number{font-size:29px}.rental-link{align-items:flex-start;flex-direction:column;gap:12px;font-size:14px;margin-top:8px}.care{grid-template-columns:1fr}.care-photo{min-height:0;aspect-ratio:1.35}.care-copy{padding:43px 23px}.care .eyebrow{font-size:14px}.care h2{font-size:32px}.care-details{margin-top:27px}.care summary{font-size:16px;padding:20px 0}.care details>p{font-size:14px}.care-note{font-size:14px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px}.steps h3{font-size:19px;margin:12px 0}.steps p{font-size:14px}.steps>li>span{font-size:25px}.contact{grid-template-columns:1fr;gap:30px;padding-top:53px;padding-bottom:50px}.contact h2{font-size:43px}.contact .eyebrow{font-size:14px}.contact>div>p:not(.eyebrow){font-size:14px}.contact-actions>.button{font-size:23px;padding:22px;min-height:82px}.phone{padding:21px 20px 0}.phone strong{font-size:29px}.phone small{font-size:14px}.footer{padding-top:30px;padding-bottom:85px}.footer-row{display:grid;grid-template-columns:1fr auto;gap:28px}.footer nav{grid-row:2;grid-column:1 / 3;display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:14px}.to-top{grid-column:2;grid-row:1}.copyright{font-size:14px;letter-spacing:.04em;gap:15px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:.8fr 1.2fr;z-index:20;box-shadow:0 -3px 10px #142b1810;padding-bottom:env(safe-area-inset-bottom);background:var(--red)}.mobile-cta>a{display:flex;align-items:center;justify-content:center;gap:15px;min-height:55px;font-size:14px;background:var(--paper);border-top:1px solid var(--line)}.mobile-cta>a:last-child{background:var(--red);color:#fff;border:0}.mobile-cta .icon{filter:invert(1);width:17px;height:17px}.breadcrumbs{font-size:14px;gap:8px;padding-top:22px}.case-heading{padding-top:32px;padding-bottom:27px}.case-heading .eyebrow{font-size:14px;margin-bottom:18px}.case-title-row h1{font-size:31px;line-height:1.75;letter-spacing:0}.case-title-row>p{font-size:14px;line-height:2;margin-top:19px}.tags{gap:8px;margin-top:22px}.tags span{font-size:14px;padding:4px 9px}.case-wide{padding:0}.case-wide img{aspect-ratio:1.25;object-position:center 60%}.case-wide figcaption{font-size:14px;padding:0 23px}.case-summary{margin-top:25px}.case-summary dl{grid-template-columns:1fr 1fr;gap:22px;padding:23px 0}.case-summary dl>div+div{padding:0;border:0}.case-summary dl>div:nth-child(even){border-left:1px solid var(--line);padding-left:22px}.case-summary dt{font-size:14px}.case-summary dd{font-size:16px}.case-content{padding-top:42px;padding-bottom:50px;gap:35px}.story-section{margin-bottom:35px}.story-section h2{font-size:26px;line-height:1.8}.story-section .eyebrow{font-size:14px;margin-bottom:15px}.story-section>p:not(.eyebrow){font-size:16px;margin-top:19px}.approach li{gap:16px;padding:20px 0}.approach h3{font-size:18px}.approach p{font-size:14px}.approach li>span{font-size:19px}.detail-photo img{aspect-ratio:1.2}.detail-photo figcaption{font-size:14px}.result{padding-top:35px;margin-bottom:0}.case-aside{padding:25px}.case-aside h3{font-size:26px}.case-aside .button{max-width:none;font-size:14px}.case-bottom{padding-top:35px;padding-bottom:38px}.case-bottom h2{font-size:26px}.case-bottom>p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.logo-row img{filter:brightness(0);opacity:.72}
.case-wide img,.detail-photo img{height:auto}
@media(max-width:600px){.care h2{font-size:clamp(22px,6.9vw,30px)}.case-aside h3 br{display:initial}}
@media print{.mobile-cta,.nav,.menu-toggle,.hero-bottom,.mobile-menu{display:none}.hero{height:500px}.hero-content{padding-top:35px}.hero-media video{opacity:.7}.case-aside{position:static}.section{padding-top:35px;padding-bottom:35px}.footer{padding-bottom:25px}a{color:inherit}.contact{break-inside:avoid}}

/* Readable navigation and festive brand accents. */
.header{height:108px;border-top:4px solid var(--red);border-bottom:1px solid var(--line);gap:24px}
.brand>img{width:48px}.brand>span{font-size:24px}.brand small{font-size:12px;letter-spacing:.08em}
.nav{font-size:17px;font-weight:500;gap:25px}.nav .button{font-size:16px;padding:17px 22px;min-height:58px}
.button{font-size:16px}.eyebrow{font-size:14px}.footer nav{font-size:14px}.copyright{font-size:12px}
.contact{background:linear-gradient(115deg,#851a18,#b32822 65%,#9d221b);border-top:5px solid #bb984e}.contact .eyebrow{color:#f4d99a}
@media(max-width:1200px){.nav{display:none}.menu-toggle{display:grid;place-items:center;width:48px;height:48px;background:transparent;border:1px solid var(--line)}.mobile-menu{position:absolute;left:0;right:0;z-index:25;background:var(--paper);padding:20px var(--gutter) 30px;box-shadow:0 15px 22px #1c302c12}.mobile-menu a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:17px}}
@media(max-width:600px){.header{height:88px;gap:12px}.brand{gap:9px}.brand>img{width:37px}.brand>span{font-size:20px}.brand small{font-size:12px;letter-spacing:0}.menu-toggle{width:44px;height:44px;flex-shrink:0}.mobile-cta>a{font-size:15px;min-height:60px}.contact-actions>.button{font-size:20px}.quick-facts{grid-template-columns:1fr;gap:15px}.quick-facts>a{border-left:0;border-top:1px solid var(--line);padding:13px 0 0}.quick-facts>a>b>.number{font-size:32px}.founding>span:last-child{font-size:16px}.hero{height:720px}.hero-content{padding-top:80px}.hero-desc{font-size:16px}.hero-service{font-size:16px}.steps{grid-template-columns:1fr}.copyright{flex-wrap:wrap}}

/* Full-bleed surfaces; paragraph measure stays comfortable. */
.wrap{max-width:none}
.section-head>p,.story-section>p:not(.eyebrow){max-width:44em}

.footer nav .line-link{color:#076637;border:1px solid #0b7544;padding:10px 16px;font-weight:600;display:inline-flex;align-items:center;min-height:44px}.footer nav{align-items:center;flex-wrap:wrap}.line-link:hover{background:#e2f5e8}

/* Telephone and LINE are equal contact choices. */
.contact-methods{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.contact-methods .phone{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 0;margin:0;border-top:1px solid #ffffff70;min-width:0}
.contact-methods .phone>span{min-width:0}.contact-methods .phone small{display:block;font-size:14px;line-height:1.8}
.contact-methods .phone strong{display:block;font-size:clamp(22px,1.7vw,30px);line-height:1.6;white-space:nowrap}
.contact-methods .phone .contact-arrow{font-size:24px;flex-shrink:0}.contact-methods .phone:hover{color:#ffe2a0}
@media(max-width:1200px){.contact-methods{grid-template-columns:1fr;gap:22px}.contact-methods .phone strong{font-size:29px}}
@media(max-width:600px){.contact-methods{gap:23px;margin-top:24px}.contact-methods .phone{padding:21px 0 0}.contact-methods .phone strong{font-size:28px}}
.case-hero{padding-block:60px 40px}.case-hero h1{font-size:clamp(32px,3.8vw,55px);line-height:1.65;max-width:22em}.case-hero>p:not(.eyebrow){font-size:18px;line-height:2;max-width:48em;margin-top:25px}.case-story>.source-note{font-size:15px;line-height:1.9;margin:24px 0}.case-aside{top:140px}
