:root{--r90-paper:#f5f1e9;--r90-navy:#071827;--r90-navy-hi:#102a3e;--r90-gold:#87662f;--r90-pale:#d8c49a;--r90-gray:#e5dfd5;--r90-line:#cdc4b5;--r90-gutter:clamp(22px,4.15vw,64px);--r90-radius:12px}
html,body{width:100%;max-width:100%;overflow-x:clip;background:#fffdf9}body{background-image:none}h1,h2,h3,h4{word-break:keep-all;overflow-wrap:normal}figure{margin:0}

/* Header: close to Delight Ventures' sparse fixed navigation */
.site-header,.site-header.is-scrolled,body:not([data-page=home]) .site-header{height:104px;color:var(--r90-navy);background:rgba(245,241,233,.96);border:0;box-shadow:none;backdrop-filter:blur(10px)}
.site-header__inner{padding:0 var(--r90-gutter)}.brand{font-size:24px}.brand__mark{width:36px;border:1px solid var(--r90-gold);border-radius:0;color:var(--r90-gold)}.brand small{font-size:7px}.global-nav{gap:clamp(18px,2.35vw,42px)}.global-nav a:not(.header-entry){font:600 10px/1 var(--font-en);color:var(--r90-navy)}.header-entry{min-width:142px;height:42px;border:1px solid var(--r90-navy);border-radius:999px;color:var(--r90-navy);background:transparent;font-size:10px}.header-entry:hover,.site-header.is-scrolled .header-entry:hover,body:not([data-page=home]) .header-entry:hover{color:#fff;background:var(--r90-navy)}

/* Delight-like quiet hero */
.r90-hero{position:relative;min-height:540px;padding:252px var(--r90-gutter) 70px;background:var(--r90-paper)}.r90-hero__label{margin:0 0 34px;color:var(--r90-gold);font:500 9px var(--font-en);letter-spacing:.18em}.r90-hero h1{margin:0;color:var(--r90-navy);font-family:var(--font-display);font-size:clamp(54px,5.2vw,78px);font-weight:500;line-height:1.5;letter-spacing:.04em}.r90-hero__contact{display:none}.r90-scroll{position:absolute;right:var(--r90-gutter);bottom:42px;font:500 9px var(--font-en);letter-spacing:.16em}.r90-scroll:before{display:inline-block;width:50px;height:1px;margin-right:12px;background:var(--r90-gold);vertical-align:middle;content:""}

/* Delight's first grid: tall story + two horizontal service cards */
.r90-stories{padding:0 var(--r90-gutter) 76px;background:var(--r90-paper)}.r90-story-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,min(22.4vw,335px));gap:22px}.r90-story{position:relative;overflow:hidden;border-radius:var(--r90-radius);color:#fff;background:var(--r90-navy);isolation:isolate}.r90-story--vision{grid-row:1/3}.r90-story>a{position:absolute;inset:0;display:block}.r90-story img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.r90-story:hover img{transform:scale(1.06)}.r90-story__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,30,52,.05),rgba(7,30,52,.78))}.r90-story__eyebrow{position:absolute;top:24px;left:26px;font:500 10px var(--font-en);letter-spacing:.1em}.r90-story>a>i{position:absolute;top:20px;right:20px;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;font-style:normal;opacity:0;transition:opacity .3s}.r90-story:hover>a>i{opacity:1}.r90-story>a>div{position:absolute;right:28px;bottom:28px;left:28px}.r90-story h2{margin:7px 0 8px;font-family:var(--font-display);font-size:clamp(26px,3vw,44px);font-weight:500;line-height:1.45}.r90-story small{font-size:11px}.r90-story p{margin:0;font-size:11px}.r90-story:not(.r90-story--vision)>a>div{left:48%;}.r90-story:not(.r90-story--vision) h2{font-size:clamp(24px,2.2vw,34px)}.r90-story--equipment .r90-story__shade{background:linear-gradient(90deg,rgba(7,30,52,.92) 0 42%,rgba(7,30,52,.18) 72%)}.r90-story--management .r90-story__shade{background:linear-gradient(90deg,rgba(138,103,38,.92) 0 42%,rgba(7,30,52,.25) 72%)}

/* Career-like titles and vision field */
.r90-title{display:flex;align-items:flex-end;justify-content:space-between;min-height:130px;padding:0 0 28px;border-bottom:1px solid var(--r90-navy)}.r90-title h2{margin:0;color:var(--r90-navy);font:400 clamp(68px,7vw,104px)/.82 var(--font-en);letter-spacing:-.055em}.r90-title p{margin:0 0 4px;font-size:12px;font-weight:600}.r90-title p:before{display:inline-block;width:20px;height:2px;margin-right:12px;background:var(--r90-gold);vertical-align:middle;content:""}.r90-title--white{border-color:rgba(255,255,255,.55)}.r90-title--white h2,.r90-title--white p{color:#fff}.r90-title--white p:before{background:#fff}
.r90-vision{position:relative;padding:112px var(--r90-gutter) 0;color:#fff;background:var(--r90-navy);overflow:hidden}.r90-vision__columns{display:grid;grid-template-columns:500px minmax(0,580px);justify-content:space-between;gap:70px;padding:76px 5vw 110px}.r90-vision__lead>p{margin:0 0 64px;font-family:var(--font-display);font-size:clamp(28px,2.7vw,40px);line-height:1.8}.r90-vision__body{font-size:14px;line-height:2.3}.r90-vision__body p{margin:0 0 32px}.r90-pill{position:relative;display:flex;align-items:center;justify-content:center;width:min(320px,100%);min-height:64px;border-radius:999px;color:var(--r90-navy);background:#fff;font:500 13px var(--font-en);letter-spacing:.04em}.r90-pill span,.r90-pill b{position:absolute;right:24px;font:400 20px/1 sans-serif}.r90-pill:hover{color:#fff;background:var(--r90-gold)}.r90-photo-ribbon{display:grid;grid-template-columns:1.1fr .8fr 1fr .9fr;gap:16px;width:calc(100% + 16vw);height:300px;margin-left:-8vw;transform:rotate(-4deg) translateY(36px)}.r90-photo-ribbon figure{overflow:hidden}.r90-photo-ribbon img{height:100%;object-fit:cover}

/* Career Support white proof field */
.r90-support{padding:150px var(--r90-gutter);background:#fff}.r90-support__intro{margin:38px 0 54px;font-size:14px}.r90-support__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--r90-line);border-left:1px solid var(--r90-line)}.r90-support__grid article{min-height:270px;padding:30px;border-right:1px solid var(--r90-line);border-bottom:1px solid var(--r90-line)}.r90-support__grid span{color:var(--r90-gold);font:500 10px var(--font-en)}.r90-support__grid strong{display:block;margin-top:28px;font:500 13px var(--font-en);letter-spacing:.08em}.r90-support__grid h3{margin:12px 0;font-family:var(--font-display);font-size:21px;font-weight:500}.r90-support__grid p{margin:0;color:#59656e;font-size:12px}

/* Career Our Jobs large split */
.r90-feature{padding:110px var(--r90-gutter) 150px;color:#fff;background:var(--r90-navy)}.r90-feature__body{display:grid;grid-template-columns:7fr 5fr;align-items:center;margin-top:62px}.r90-feature__body figure{height:570px;margin-left:calc(var(--r90-gutter)*-1);overflow:hidden}.r90-feature__body img{height:100%;object-fit:cover}.r90-feature__body>div{padding:60px 5vw}.r90-feature__body>div>span,.r90-area>div>span,.r90-process header>span{color:var(--r90-pale);font:500 9px var(--font-en);letter-spacing:.16em}.r90-feature h3{margin:24px 0;font-family:var(--font-display);font-size:clamp(30px,3.1vw,46px);font-weight:500;line-height:1.7}.r90-feature__body p{margin:0 0 36px;color:#dbe2e6;font-size:13px}

/* Career People: diagonal transition + giant editorial titles */
.r90-field{position:relative;min-height:1850px;padding:105px var(--r90-gutter) 110px;background:var(--r90-gray);overflow:hidden}.r90-field:before{position:absolute;inset:0 0 auto;height:820px;background:var(--r90-navy);clip-path:polygon(0 0,100% 0,100% 20%,0 92%);content:""}.r90-field>.r90-title{position:relative;z-index:1}.r90-cross,.r90-projects{position:relative;z-index:1}.r90-cross{margin-top:90px}.r90-cross>h3,.r90-projects>h3{margin:0 0 -26px -2vw;color:var(--r90-navy);font:400 clamp(90px,12vw,180px)/.9 var(--font-en);letter-spacing:-.055em;white-space:nowrap}.r90-cross>h3{color:#fff}.r90-cross h3 small,.r90-projects h3 small{display:block;margin:0 0 16px 2vw;font-size:16px;letter-spacing:.04em}.r90-cross__body{display:grid;grid-template-columns:7fr 5fr;align-items:center}.r90-cross__body figure{height:570px;margin-left:calc(var(--r90-gutter)*-1);overflow:hidden}.r90-cross__body img{height:100%;object-fit:cover}.r90-cross__body>div{padding:50px 5vw;color:var(--r90-navy)}.r90-cross__body h4{margin:0 0 26px;font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1.7}.r90-cross__body p{font-size:13px}.r90-cross__body .r90-pill{margin-top:36px}.r90-projects{margin-top:120px}.r90-projects__intro{width:650px;margin:55px 0 50px 14vw}.r90-project-track{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.r90-project-track article{min-width:0}.r90-project-track img{height:420px;object-fit:cover;transition:transform .45s}.r90-project-track article:hover img{transform:scale(1.025)}.r90-project-track span{display:block;margin-top:14px;color:var(--r90-gold);font:500 10px var(--font-en)}.r90-project-track h4{margin:7px 0 4px;font-family:var(--font-display);font-size:19px;font-weight:500}.r90-project-track p{margin:0;font-size:11px}

/* Process */
.r90-process{display:grid;grid-template-columns:4fr 8fr;gap:7vw;padding:145px var(--r90-gutter);background:#fff}.r90-process header{align-self:start;position:sticky;top:120px}.r90-process h2{margin:18px 0;color:var(--r90-navy);font-family:var(--font-display);font-size:clamp(36px,3.8vw,56px);font-weight:500;line-height:1.65}.r90-process ol{margin:0;padding:0;border-top:1px solid var(--r90-navy);counter-reset:r90flow}.r90-process .process__item{display:grid;grid-template-columns:60px 64px 1fr;grid-template-rows:auto auto;gap:4px 20px;align-items:center;min-height:135px;padding:24px 0;border:0;border-bottom:1px solid var(--r90-line);counter-increment:r90flow}.r90-process .process__item:before{grid-row:1/3;margin:0;color:var(--r90-gold);content:"0" counter(r90flow);font:500 10px var(--font-en)}.r90-process .process-icon{grid-column:2;grid-row:1/3;width:50px;height:50px;margin:0}.r90-process h3{grid-column:3;margin:0;font-family:var(--font-display);font-size:18px}.r90-process li p{grid-column:3;margin:0;color:#5c6871;font-size:11px}

.r90-area{display:grid;grid-template-columns:7fr 5fr;min-height:650px;color:#fff;background:var(--r90-navy)}.r90-area figure{min-height:650px;overflow:hidden}.r90-area figure img{height:100%;object-fit:cover}.r90-area>div{display:flex;flex-direction:column;justify-content:center;padding:70px 6vw}.r90-area h2{margin:20px 0 28px;font-family:var(--font-display);font-size:clamp(34px,3.6vw,52px);font-weight:500;line-height:1.7}.r90-area p{margin:0 0 34px;color:#dce3e8;font-size:13px}

/* Delight news and visual navigation */
.r90-news{padding:125px var(--r90-gutter);background:#fff}.r90-news>header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px}.r90-news h2{margin:0;color:var(--r90-navy);font:400 50px/1 var(--font-en)}.r90-news header a{border-bottom:1px solid;font-size:11px}.r90-news .news-row{grid-template-columns:140px 100px 1fr 44px;min-height:86px}.r90-news .news-row i{display:grid;width:30px;height:30px;place-items:center;border:1px solid;border-radius:50%;font-style:normal}.r90-visual-nav{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,min(23vw,340px));gap:1px;background:var(--r90-navy)}.r90-visual-nav a{position:relative;overflow:hidden;color:#fff}.r90-visual-nav a:first-child{grid-column:1/3;grid-row:1/3}.r90-visual-nav a:nth-child(2){grid-column:3}.r90-visual-nav a:nth-child(3){grid-column:4}.r90-visual-nav a:nth-child(4){grid-column:3/5}.r90-visual-nav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.r90-visual-nav a:after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,30,52,.02),rgba(7,30,52,.58));content:""}.r90-visual-nav a:hover img{transform:scale(1.05)}.r90-visual-nav span{position:absolute;right:28px;bottom:26px;left:28px;z-index:1;font:400 clamp(25px,2.4vw,38px) var(--font-en)}.r90-visual-nav i{position:absolute;top:24px;right:24px;z-index:1;display:grid;width:36px;height:36px;place-items:center;border:1px solid;border-radius:50%;font-style:normal}
.r90-faq{display:grid;grid-template-columns:4fr 8fr;gap:7vw;padding:125px var(--r90-gutter);background:var(--r90-paper)}.r90-faq header{align-self:start}.r90-faq header>span{color:var(--r90-gold);font:500 9px var(--font-en);letter-spacing:.16em}.r90-faq h2{margin:18px 0 24px;color:var(--r90-navy);font-family:var(--font-display);font-size:clamp(36px,3.8vw,54px);font-weight:500}.r90-faq header p{max-width:300px;color:#5e6971;font-size:12px}.r90-faq .faq-list{border-top-color:var(--r90-navy)}

/* CTA: Career Join Us proportions */
.site-cta{position:relative;min-height:610px;background-color:var(--r90-navy);background-image:linear-gradient(rgba(7,30,52,.8),rgba(7,30,52,.88)),url("assets/images/generated/japanese-renovation-meeting.jpg");background-size:cover;background-position:center}.site-cta h2{font:400 clamp(74px,9vw,132px)/1 var(--font-en);letter-spacing:-.06em}.site-cta__grid{grid-template-columns:5fr 7fr}.site-cta__action{color:var(--r90-navy);background:var(--r90-pale)}.site-footer{background:var(--r90-paper)}

/* Subpages inherit the 90%-reference language */
body:not([data-page=home]) .subhero{min-height:730px;padding-top:104px}body:not([data-page=home]) .subhero__content{padding-top:180px}body:not([data-page=home]) .subhero h1{font-size:clamp(48px,5.5vw,82px)}body:not([data-page=home]) .section{padding-block:145px}body:not([data-page=home]) .section-title h2,body:not([data-page=home]) .section-title>div h2{font-family:var(--font-en);font-size:clamp(52px,5.5vw,82px);letter-spacing:-.045em}body:not([data-page=home]) .feature-card--visual .feature-card__photo,body:not([data-page=home]) .image-card{border-radius:var(--r90-radius)}

@media(max-width:1120px){.global-nav{display:none}.menu-toggle{display:grid;margin-left:auto;color:#fff;background:var(--r90-navy)}.global-nav.is-open{position:fixed;inset:0;z-index:-1;display:flex;flex-direction:column;justify-content:center;gap:0;padding:90px 24px 36px;background:var(--r90-navy)}.global-nav.is-open a:not(.header-entry){width:100%;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;font-size:14px}.global-nav.is-open .header-entry{width:100%;margin-top:22px;color:var(--r90-navy);background:var(--r90-pale)}.r90-story-grid{grid-template-rows:repeat(2,300px)}.r90-project-track img{height:330px}}

@media(max-width:767px){:root{--r90-gutter:20px;--r90-radius:8px}.site-header,.site-header.is-scrolled,body:not([data-page=home]) .site-header{height:68px}.site-header__inner{padding-inline:20px}.brand{font-size:21px}.brand__mark{width:34px}
.r90-hero{min-height:465px;padding:134px var(--r90-gutter) 42px}.r90-hero__label{margin-bottom:22px;font-size:9px}.r90-hero h1{font-size:clamp(30px,8.2vw,32px);line-height:1.7;letter-spacing:0;white-space:nowrap}.r90-hero__contact{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;margin-top:30px;border:1px solid var(--r90-gold);border-radius:999px;color:var(--r90-navy);background:var(--r90-pale);font-size:12px;font-weight:600}.r90-hero__contact span{position:absolute;right:22px}.r90-scroll{display:none}
.r90-stories{padding-bottom:24px}.r90-story-grid{grid-template-columns:1fr;grid-template-rows:none;gap:15px}.r90-story,.r90-story--vision{grid-row:auto;height:335px}.r90-story:not(.r90-story--vision){height:170px}.r90-story__eyebrow{top:14px;left:14px;font-size:7px}.r90-story>a>i{top:12px;right:12px;width:28px;height:28px;opacity:1}.r90-story>a>div{right:14px;bottom:14px;left:14px}.r90-story:not(.r90-story--vision)>a>div{left:48%}.r90-story h2,.r90-story:not(.r90-story--vision) h2{font-size:21px}.r90-story p,.r90-story small{font-size:8px}
.r90-title{min-height:82px;padding-bottom:14px}.r90-title h2{font-size:50px}.r90-title p{font-size:9px;white-space:nowrap}
.r90-vision{padding:72px var(--r90-gutter) 0}.r90-vision__columns{grid-template-columns:1fr;gap:35px;padding:46px 4px 65px}.r90-vision__lead>p{margin-bottom:34px;font-size:27px}.r90-vision__body{font-size:12px}.r90-photo-ribbon{grid-template-columns:repeat(4,180px);width:780px;height:180px;margin-left:-180px;transform:rotate(-4deg) translateY(22px)}
.r90-pill{min-height:56px;font-size:11px}.r90-support{padding:78px var(--r90-gutter)}.r90-support__intro{margin:30px 0 34px;font-size:12px}.r90-support__grid{grid-template-columns:1fr 1fr}.r90-support__grid article{min-height:215px;padding:20px}.r90-support__grid strong{margin-top:18px;font-size:9px}.r90-support__grid h3{font-size:16px}.r90-support__grid p{font-size:10px}
.r90-feature{padding:72px var(--r90-gutter) 85px}.r90-feature__body{grid-template-columns:1fr;margin-top:35px}.r90-feature__body figure{height:72vw;margin:0}.r90-feature__body>div{padding:34px 0 0}.r90-feature h3{font-size:27px}.r90-feature__body p{font-size:11px}
.r90-field{min-height:0;padding:72px var(--r90-gutter) 82px}.r90-field:before{height:460px;clip-path:polygon(0 0,100% 0,100% 15%,0 72%)}.r90-cross{margin-top:62px}.r90-cross>h3,.r90-projects>h3{margin:0 0 -10px -6px;font-size:14.6vw}.r90-cross h3 small,.r90-projects h3 small{margin-left:6px;font-size:10px}.r90-cross__body{grid-template-columns:1fr}.r90-cross__body figure{height:70vw;margin:0}.r90-cross__body>div{padding:32px 0}.r90-cross__body h4{font-size:24px}.r90-cross__body p{font-size:11px}.r90-projects{margin-top:70px}.r90-projects__intro{width:auto;margin:30px 0;font-size:12px}.r90-project-track{display:flex;width:max-content;gap:14px}.r90-project-track article{width:68vw}.r90-project-track img{height:88vw}.r90-project-track h4{font-size:17px}
.r90-process{grid-template-columns:1fr;gap:34px;padding:78px var(--r90-gutter)}.r90-process header{position:static}.r90-process h2{font-size:32px}.r90-process .process__item{grid-template-columns:30px 48px 1fr;gap:3px 10px;min-height:120px}.r90-process .process-icon{width:42px;height:42px}.r90-process h3{font-size:15px}.r90-process li p{font-size:9px}
.r90-area{grid-template-columns:1fr;min-height:0}.r90-area figure{min-height:0;height:72vw}.r90-area>div{padding:60px var(--r90-gutter)}.r90-area h2{font-size:29px}.r90-news{padding:72px var(--r90-gutter)}.r90-news h2{font-size:38px}.r90-news .news-row{grid-template-columns:88px 1fr 30px;grid-template-rows:auto auto;gap:4px 8px;padding:17px 0}.r90-news .news-row span{grid-column:2;font-size:9px}.r90-news .news-row strong{grid-column:2;font-size:10px}.r90-news .news-row i{grid-column:3;grid-row:1/3;width:28px;height:28px}.r90-faq{grid-template-columns:1fr;gap:30px;padding:72px var(--r90-gutter)}.r90-faq h2{font-size:32px}.r90-faq .faq-question{font-size:12px}.r90-visual-nav{grid-template-columns:1fr 1fr;grid-template-rows:300px repeat(2,160px)}.r90-visual-nav a:first-child{grid-column:1/3;grid-row:1}.r90-visual-nav a:nth-child(2){grid-column:1;grid-row:2}.r90-visual-nav a:nth-child(3){grid-column:2;grid-row:2}.r90-visual-nav a:nth-child(4){grid-column:1/3;grid-row:3}.r90-visual-nav span{font-size:23px}
.site-cta{min-height:540px}.site-cta__grid{grid-template-columns:1fr}.site-cta__action{min-height:110px;border-left:0}.site-cta h2{font-size:58px}
.r90-projects{margin-right:calc(var(--r90-gutter)*-1);margin-left:calc(var(--r90-gutter)*-1)}.r90-projects>h3,.r90-projects__intro{margin-right:var(--r90-gutter);margin-left:var(--r90-gutter)}.r90-project-track{width:auto;overflow-x:auto;padding:0 var(--r90-gutter) 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.r90-project-track::-webkit-scrollbar{display:none}.r90-project-track article{flex:0 0 68vw;scroll-snap-align:start}
.r90-story__eyebrow{font-size:10px}.r90-story p,.r90-story small{font-size:11px}.r90-support__grid strong{font-size:11px}.r90-support__grid p{font-size:11px}.r90-process li p{font-size:11px}.r90-news .news-row span{font-size:11px}.r90-news .news-row strong{font-size:11px}
body:not([data-page=home]) .subhero{min-height:650px;padding-top:68px}body:not([data-page=home]) .subhero__content{padding-top:115px}body:not([data-page=home]) .subhero h1{color:#fff;font-size:40px;text-shadow:0 2px 18px rgba(7,30,52,.3)}body:not([data-page=home]) .section{padding-block:80px}body:not([data-page=home]) .section-title h2,body:not([data-page=home]) .section-title>div h2{font-size:38px}.business-hours h3{font-size:18px}}

@media(prefers-reduced-motion:reduce){.r90-story img,.r90-project-track img,.r90-visual-nav img{transition:none}}

/* 768–1120px tablet tier: prevent desktop grids from being clipped. */
@media(min-width:768px) and (max-width:1120px){
h1,h2{white-space:normal}.r90-vision__columns{grid-template-columns:1fr;gap:38px;padding-inline:2vw}.r90-support__grid{grid-template-columns:repeat(2,1fr)}.r90-feature__body,.r90-cross__body,.r90-area{grid-template-columns:1fr}.r90-feature__body figure,.r90-cross__body figure{height:62vw;margin:0}.r90-field{min-height:0}.r90-process{grid-template-columns:1fr;gap:42px}.r90-process header{position:static}.r90-area figure{min-height:0;height:62vw}.r90-visual-nav{grid-template-columns:1fr 1fr;grid-template-rows:360px repeat(2,210px)}.r90-visual-nav a:first-child{grid-column:1/3;grid-row:1}.r90-visual-nav a:nth-child(2){grid-column:1;grid-row:2}.r90-visual-nav a:nth-child(3){grid-column:2;grid-row:2}.r90-visual-nav a:nth-child(4){grid-column:1/3;grid-row:3}
}

/* Field spacing: headings and copy stay on a clear reading axis. */
.r90-cross>h3{margin-bottom:clamp(32px,4vw,58px)}
.r90-projects__intro{margin-left:0;text-align:left}

@media(max-width:767px){
.r90-cross>h3{margin-bottom:28px}
.r90-projects__intro{margin-left:var(--r90-gutter)}
}

/* Motion system: hero ink, editorial masks, and bounded list rhythm. */
@media(prefers-reduced-motion:no-preference){
body[data-page=home] .r90-hero__label{animation:r90HeroLabel .55s .08s both cubic-bezier(.16,1,.3,1)}
body[data-page=home] .r90-hero h1{animation:r90HeroInk .82s .16s both cubic-bezier(.16,1,.3,1)}
body[data-page=home] .r90-hero__contact{animation:r90HeroLabel .55s .42s both cubic-bezier(.16,1,.3,1)}
body:not([data-page=home]) .r90-page-hero__copy>span{animation:r90HeroLabel .5s .12s both cubic-bezier(.16,1,.3,1)}
body:not([data-page=home]) .r90-page-hero__copy h1{animation:r90HeroInk .82s .2s both cubic-bezier(.16,1,.3,1)}
body:not([data-page=home]) .r90-page-hero__copy>p,body:not([data-page=home]) .r90-page-hero__copy>a{animation:r90HeroLabel .58s .46s both cubic-bezier(.16,1,.3,1)}
@keyframes r90HeroInk{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(22px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes r90HeroLabel{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.motion-reveal.motion-entering,.motion-card.motion-entering,.motion-copy.motion-entering{opacity:0;transform:translateY(26px)}
.motion-heading.motion-entering{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px)}
.motion-media.motion-entering{clip-path:inset(0 100% 0 0)}
.motion-media.motion-entering img{transform:scale(1.045)}
.motion-reveal.motion-entering,.motion-copy.motion-entering{transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1)}
.motion-heading.motion-entering{transition:opacity .5s cubic-bezier(.16,1,.3,1),clip-path .8s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.motion-media.motion-entering{overflow:hidden;transition:clip-path .86s cubic-bezier(.16,1,.3,1)}
.motion-media.motion-entering img{transition:transform 1.05s cubic-bezier(.16,1,.3,1)}
.motion-card.motion-entering{transition:opacity .54s cubic-bezier(.16,1,.3,1),transform .68s cubic-bezier(.16,1,.3,1);transition-delay:var(--motion-delay,0ms)}
.motion-entering.is-motion-visible{opacity:1;clip-path:inset(0);transform:none}
.motion-media.motion-entering.is-motion-visible img{transform:none}
}

.r90-service-card__arrow{transform:rotate(-14deg) scale(.82);transition:opacity .3s,transform .35s cubic-bezier(.16,1,.3,1)}
.r90-service-card:hover .r90-service-card__arrow,.r90-service-card:focus-within .r90-service-card__arrow{opacity:1;transform:none}
.r90-service-card:focus-within>a>img{transform:scale(1.055)}
.r90-pill span,.r90-pill b{transition:transform .3s cubic-bezier(.16,1,.3,1)}
.r90-pill:hover span,.r90-pill:hover b,.r90-pill:focus-visible span,.r90-pill:focus-visible b{transform:translateX(6px)}
.r90-editorial-row i,.r90-news .news-row i{transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s,color .3s}
.r90-editorial-row:hover i,.r90-editorial-row:focus-visible i,.r90-news .news-row:hover i,.r90-news .news-row:focus-visible i{transform:rotate(45deg);color:#fff;background:var(--r90-navy)}

@media(prefers-reduced-motion:reduce){
.motion-entering{opacity:1!important;clip-path:none!important;transform:none!important}
.motion-media.motion-entering img{transform:none!important}
}

/* Luxury palette: warm paper, antique gold, and tonal blue-black surfaces. */
::selection{color:var(--r90-navy);background:var(--r90-pale)}
.r90-news{background:#fffdf9}
.r90-vision,.r90-feature,.r90-area{background:linear-gradient(135deg,var(--r90-navy) 0%,var(--r90-navy-hi) 100%)}
.r90-story__shade{background:linear-gradient(180deg,rgba(7,24,39,.05),rgba(7,24,39,.78))}
.r90-story--equipment .r90-story__shade{background:linear-gradient(90deg,rgba(7,24,39,.92) 0 42%,rgba(7,24,39,.18) 72%)}
.r90-story--management .r90-story__shade{background:linear-gradient(90deg,rgba(7,24,39,.9) 0 42%,rgba(16,42,62,.24) 72%)}
.r90-story--management .r90-story__eyebrow{color:var(--r90-pale)}
.r90-feature__body p,.r90-area p{color:#e1ddd4}
.r90-visual-nav a:after{background:linear-gradient(180deg,rgba(7,24,39,.02),rgba(7,24,39,.58))}
.site-cta{background-image:linear-gradient(rgba(7,24,39,.8),rgba(7,24,39,.9)),url("assets/images/generated/japanese-renovation-meeting.jpg")}
body:not([data-page=home]) .subhero h1{text-shadow:0 2px 18px rgba(7,24,39,.3)}

/* Responsive navigation: one predictable drawer for phone and tablet. */
@media(max-width:1120px){
  .site-header,.site-header.is-scrolled,body:not([data-page=home]) .site-header{
    --menu-header-height:72px;
    height:var(--menu-header-height);
    color:var(--r90-navy);
    background:rgba(255,253,249,.98);
    border-bottom:1px solid rgba(7,24,39,.14);
    box-shadow:none;
  }
  .site-header__inner{position:relative;padding-right:calc(72px + var(--r90-gutter))}
  .site-header .brand{position:relative;z-index:3;color:var(--r90-navy)}
  .menu-toggle{
    position:absolute;
    inset:0 0 auto auto;
    z-index:4;
    display:grid;
    width:72px;
    height:100%;
    margin:0;
    padding:0;
    place-content:center;
    gap:6px;
    border:0;
    border-left:1px solid rgba(255,255,255,.16);
    border-radius:0;
    color:#fff;
    background:var(--r90-navy);
    cursor:pointer;
    appearance:none;
  }
  .menu-toggle span{display:block;width:24px;height:1px;background:currentColor;transition:opacity .25s,transform .32s cubic-bezier(.16,1,.3,1)}
  .menu-toggle.is-open{color:var(--r90-navy);background:var(--r90-pale);border-left-color:var(--r90-line)}
  .menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .global-nav{
    position:fixed;
    inset:var(--menu-header-height) 0 0;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    height:calc(100dvh - var(--menu-header-height));
    padding:clamp(30px,7vh,68px) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
    color:#fff;
    background:linear-gradient(145deg,var(--r90-navy),var(--r90-navy-hi));
    overflow-y:auto;
    overscroll-behavior:contain;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .25s ease,transform .36s cubic-bezier(.16,1,.3,1),visibility 0s .36s;
  }
  .global-nav.is-open{
    position:fixed;
    inset:var(--menu-header-height) 0 0;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    height:calc(100dvh - var(--menu-header-height));
    padding:clamp(30px,7vh,68px) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
    color:#fff;
    background:linear-gradient(145deg,var(--r90-navy),var(--r90-navy-hi));
    overflow-y:auto;
    overscroll-behavior:contain;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition-delay:0s;
  }
  .global-nav a:not(.header-entry),.global-nav.is-open a:not(.header-entry){
    display:flex;
    align-items:center;
    width:min(640px,100%);
    min-height:58px;
    padding:14px 4px;
    border-bottom:1px solid rgba(255,255,255,.2);
    color:#fff;
    font-family:var(--font-display);
    font-size:clamp(14px,2vw,17px);
    font-weight:500;
    letter-spacing:.06em;
  }
  .global-nav a:not(.header-entry)::after{right:auto;bottom:0;width:46px;background:var(--r90-pale)}
  .global-nav a[aria-current=page]:not(.header-entry){color:var(--r90-pale)}
  .global-nav .header-entry,.global-nav.is-open .header-entry{
    display:flex;
    width:min(640px,100%);
    min-width:0;
    min-height:62px;
    margin-top:24px;
    border:1px solid var(--r90-pale);
    color:var(--r90-navy);
    background:var(--r90-pale);
  }
  body.menu-open{overflow:hidden;overscroll-behavior:none}
}

@media(max-width:767px){
  .site-header,.site-header.is-scrolled,body:not([data-page=home]) .site-header{--menu-header-height:68px}
  .site-header__inner{padding-right:82px}
  .menu-toggle{width:68px}
  .global-nav,.global-nav.is-open{padding-top:clamp(24px,5vh,44px)}
  .global-nav a:not(.header-entry),.global-nav.is-open a:not(.header-entry){min-height:56px;font-size:14px}
}

@media(max-width:1120px) and (max-height:560px){
  .global-nav,.global-nav.is-open{padding-top:18px;padding-bottom:18px}
  .global-nav a:not(.header-entry),.global-nav.is-open a:not(.header-entry){min-height:50px;padding-block:10px}
  .global-nav .header-entry,.global-nav.is-open .header-entry{min-height:54px;margin-top:16px}
}

/* Home service cards: bright photography with one left-aligned reading axis. */
.r90-story{color:var(--r90-navy);background:var(--r90-paper);border:1px solid rgba(7,24,39,.12)}
.r90-story img{filter:brightness(1.07) saturate(.94)}
.r90-story__shade,.r90-story--equipment .r90-story__shade,.r90-story--management .r90-story__shade{
  background:linear-gradient(180deg,rgba(255,253,249,0) 22%,rgba(255,253,249,.16) 50%,rgba(255,253,249,.96) 100%);
}
.r90-story__eyebrow,.r90-story--management .r90-story__eyebrow{
  padding:7px 10px;
  color:var(--r90-navy);
  background:rgba(255,253,249,.9);
  backdrop-filter:blur(5px);
}
.r90-story>a>i{color:var(--r90-navy);border-color:var(--r90-gold);background:rgba(255,253,249,.9)}
.r90-story>a>div,.r90-story:not(.r90-story--vision)>a>div{right:28px;left:28px;text-align:left}
.r90-story h2,.r90-story small,.r90-story p{color:var(--r90-navy);text-align:left}

@media(max-width:767px){
  .r90-story__eyebrow,.r90-story--management .r90-story__eyebrow{top:14px;left:14px;padding:5px 8px}
  .r90-story>a>div,.r90-story:not(.r90-story--vision)>a>div{right:14px;left:14px}
  .r90-story:not(.r90-story--vision) h2{margin-bottom:4px}
}

/* Supplied corporate identity assets. */
.brand.brand--image{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:calc(100% - 8px);max-height:96px;margin:0;overflow:hidden}
.brand__logo{display:block;width:auto;height:100%;max-width:none;object-fit:contain;transform:scale(1.16);transform-origin:center}
.site-footer .brand.brand--image{width:170px;height:170px;max-height:none;margin:0 0 22px}
.r90-line-stage__copy .line-qr{display:block;width:min(244px,100%);height:auto;margin:28px 0 16px;padding:8px;border:1px solid rgba(216,196,154,.58);background:#fff}
.line-qr__guide{max-width:420px;color:#e1ddd4}

@media(max-width:767px){
  .site-header .brand.brand--image{height:64px}
  .site-footer .brand.brand--image{width:148px;height:148px}
  .r90-line-stage__copy .line-qr{width:min(220px,76vw);margin-top:24px}
}

/* Official LINE actions: reserve LINE green for direct messaging links. */
:root{--line-green:#06c755;--line-green-dark:#047d35}
.r90-pill.r90-pill--line,
.r90-hero__contact.line-action-link{
  color:var(--r90-navy);
  border-color:var(--line-green);
  background:var(--line-green);
}
.r90-pill.r90-pill--line:hover,
.r90-pill.r90-pill--line:focus-visible,
.r90-hero__contact.line-action-link:hover,
.r90-hero__contact.line-action-link:focus-visible{
  color:#fff;
  border-color:var(--line-green-dark);
  background:var(--line-green-dark);
}
.text-link.text-link--line{
  color:var(--line-green-dark);
  border-bottom-color:var(--line-green);
  font-weight:700;
}
.site-footer .footer-line-link{
  color:var(--line-green);
  border-bottom-color:var(--line-green);
  font-weight:700;
}
.text-link.text-link--line:hover,
.text-link.text-link--line:focus-visible,
.site-footer .footer-line-link:hover,
.site-footer .footer-line-link:focus-visible{color:#fff}

/* LINE enquiry flow: high-contrast symbols and step markers. */
.r90-line-flow .process-icon{
  color:var(--r90-navy);
  border:2px solid var(--line-green-dark);
  background:var(--line-green);
  box-shadow:0 8px 20px rgba(7,24,39,.12);
  font-family:var(--font-en);
  font-size:20px;
  font-weight:700;
}
.r90-line-flow li::before{color:var(--line-green-dark);font-weight:700}
.r90-line-flow li{border-bottom-color:rgba(4,125,53,.28)}

/* Responsive type safety: preserve authored breaks, but never clip real copy. */
@media(min-width:768px) and (max-width:1120px){
  h1,h2,h3,h4{
    max-width:100%;
    white-space:normal;
    word-break:normal;
    overflow-wrap:anywhere;
    line-break:strict;
  }
}

@media(max-width:767px){
  :where(main,section,header,article,div,li){min-width:0}
  h2,h3,h4{
    max-width:100%;
    white-space:normal;
    word-break:normal;
    overflow-wrap:anywhere;
    line-break:strict;
  }
  :where(p,a,button,strong,small,th,td,label,address){
    max-width:100%;
    word-break:normal;
    overflow-wrap:anywhere;
  }
  .r90-hero h1{
    max-width:100%;
    font-size:clamp(28px,8.2vw,32px);
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .r90-title{gap:12px}
  .r90-title h2{min-width:0;font-size:clamp(40px,13.5vw,50px)}
  .r90-title p{flex:0 1 44%;white-space:normal;text-align:right}
  .r90-cross>h3,.r90-projects>h3{
    max-width:100%;
    font-size:clamp(32px,11vw,46px);
    white-space:nowrap;
    overflow-wrap:normal;
  }
  .r90-support__grid article,.r90-project-track article,.r90-news .news-row>*{min-width:0}
  .r90-news .news-row{grid-template-columns:minmax(72px,88px) minmax(0,1fr) 30px}
  .r90-process .process__item{grid-template-columns:24px 42px minmax(0,1fr)}
  .site-cta h2{font-size:clamp(44px,17vw,58px);white-space:normal}
  .site-cta__action{padding-inline:18px;text-align:center}
  .faq-question{text-align:left;overflow-wrap:anywhere}
}

@media(max-width:359px){
  .r90-support__grid{grid-template-columns:1fr}
}

/* Header identity: supplied symbol with a concise Japanese wordmark. */
.site-header .brand--header{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:12px;
  height:100%;
  color:var(--r90-navy);
}
.brand__symbol{
  display:block;
  width:auto;
  height:72px;
  object-fit:contain;
}
.brand__company-name{
  color:var(--r90-navy);
  font-family:var(--font-display);
  font-size:18px;
  font-weight:600;
  line-height:1;
  letter-spacing:.1em;
  white-space:nowrap;
}

@media(max-width:1120px){
  .brand__symbol{height:56px}
  .brand__company-name{font-size:16px}
}

@media(min-width:1121px) and (max-width:1280px){
  .brand__symbol{height:56px}
  .brand__company-name{font-size:16px}
  .global-nav{gap:16px}
  .header-entry{min-width:128px}
}

@media(max-width:767px){
  .site-header .brand--header{gap:8px}
  .brand__symbol{height:50px}
  .brand__company-name{font-size:14px;letter-spacing:.06em}
}

@media(max-width:359px){
  .brand__symbol{height:44px}
  .brand__company-name{font-size:13px;letter-spacing:.04em}
}
