@charset "UTF-8";
:root{--ink:#202b30;--muted:#647079;--line:#dce2e5;--pale:#f5f7f8;--accent:#857657;--white:#fff;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);letter-spacing:.07em;line-height:1.65}h2{font-size:clamp(1.6rem,2.6vw,2.25rem)}h3{font-size:1.2rem;line-height:1.7}p+p{margin-top:1.25rem}p{overflow-wrap:anywhere}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8c7246;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.pale{background:var(--pale)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:10px;left:12px;transform:translateY(-180%);z-index:1000;padding:12px 20px;background:#fff;border:1px solid var(--ink)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(220,226,229,.7)}.header-inner{min-height:92px;width:calc(100% - 80px);max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:15px;flex-shrink:0}.brand-mark{font-family:Georgia,serif;font-size:2.9rem;line-height:1;font-weight:400;letter-spacing:-.12em;border-right:1px solid #c7cdd0;padding-right:22px}.brand-name{font-size:1.1rem;font-weight:600;letter-spacing:.09em;line-height:1.6}.brand-name small{display:block;font-size:.65rem;letter-spacing:.19em;font-weight:500;margin-top:4px}.primary-nav{display:flex;align-items:center;gap:28px;font-size:.88rem;white-space:nowrap}.primary-nav a{position:relative;padding:32px 0}.primary-nav a[aria-current=page]:after{content:'';position:absolute;bottom:18px;left:0;right:0;height:2px;background:var(--accent)}.primary-nav a:last-child{border:1px solid var(--line);padding:10px 22px}.primary-nav a:last-child[aria-current=page]:after{bottom:5px;left:22px;right:22px}.menu-toggle{display:none}.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.17em;color:var(--accent);line-height:1.7;margin-bottom:18px}.eyebrow>span{margin-right:16px;letter-spacing:.06em}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:61px;position:relative;z-index:1}.hero-top h1{font-size:clamp(2.75rem,4.4vw,4rem);line-height:1.6;letter-spacing:.11em}.hero-motto{font-family:var(--serif);font-size:1.2rem;letter-spacing:.12em;margin-top:17px}.hero-description{width:290px;flex-shrink:0;margin-right:28px;padding-top:28px}.hero-description>p{font-size:1.13rem;line-height:1.9;letter-spacing:.04em}.hero-description>span{display:block;color:var(--muted);font-size:.88rem;line-height:1.9;margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap;border-bottom:1px solid #8f989c;padding:3px 0 5px;font-size:.9rem;font-weight:500;line-height:1.8;transition:color .2s,border-color .2s}.text-link:hover{border-color:var(--accent)}.hero-description .text-link{margin-top:24px}.hero-city{height:310px;margin-top:-10px;position:relative;overflow:hidden}.hero-city img{width:100%;height:100%;object-fit:cover;object-position:center 68%}.hero-city:before{content:'';position:absolute;inset:0 0 auto;height:70px;background:linear-gradient(#fff,transparent);z-index:1}.hero-city figcaption{position:absolute;bottom:16px;left:max(56px,calc((100vw - var(--max))/2));font-size:.68rem;letter-spacing:.15em;background:rgba(255,255,255,.87);padding:6px 12px;color:#34414a}.hero-city figcaption span{font-size:.65rem;letter-spacing:.04em;margin-left:16px}.facts{padding-top:40px;padding-bottom:45px;border-bottom:1px solid var(--line)}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}.facts-grid>div{padding:0 34px;border-right:1px solid var(--line)}.facts-grid>div:first-child{padding-left:0}.facts-grid>div:last-child{border:0}.facts-grid p{font-size:.87rem;letter-spacing:.06em}.fact-number{font-family:Georgia,'Times New Roman',serif;font-size:3.75rem;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin-block:6px}.fact-number span{font-family:var(--sans);font-size:1.1rem;letter-spacing:0;margin-left:9px}.fact-number .approx{font-size:1rem;margin:0 10px 0 0}.facts-grid small{font-size:.75rem;color:var(--muted);line-height:1.7;display:block}.pending{display:inline-block;font-size:.875rem;color:#876631;letter-spacing:0;font-family:var(--sans);font-weight:400}.section-heading{margin-bottom:40px}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin-top:20px;line-height:2;font-size:.94rem}.home-business{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px}.home-business>.section-heading{position:sticky;top:135px;align-self:start}.challenge{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:33px 0 36px;border-top:1px solid var(--line)}.challenge:last-child{border-bottom:1px solid var(--line)}.challenge-number{font-family:Georgia,serif;color:var(--accent);font-size:1rem;line-height:1.9}.overline{font-size:.81rem;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}.challenge h3{font-family:var(--serif);font-size:1.45rem;letter-spacing:.07em;margin-bottom:15px}.challenge h3+p{font-size:.95rem;color:#4f5c63}.service-names{display:flex;flex-wrap:wrap;gap:5px 18px;margin:20px 0 16px;font-size:.84rem}.service-names span+span{position:relative}.service-names span+span:before{content:'';width:1px;height:12px;background:var(--line);position:absolute;left:-10px;top:8px}.quiet-note{font-size:.82rem!important;color:var(--muted)!important;line-height:1.8;margin-top:16px!important}.challenge .quiet-note{margin-top:9px!important}.founder-section{background:#f1f4f5;padding:85px 0}.founder-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:105px;align-items:center}.founder-picture{min-width:0;position:relative;align-self:end;background:linear-gradient(130deg,#e9edef,#f8fafb);padding:30px 30px 0}.founder-picture img{width:100%;max-height:440px;object-fit:contain;object-position:center bottom;filter:grayscale(1)}.portrait-caption{position:absolute;left:27px;bottom:24px;background:rgba(255,255,255,.93);padding:8px 20px}.portrait-caption span{display:block;font-size:.64rem;letter-spacing:.16em}.portrait-caption strong{font-family:var(--serif);font-size:1.4rem;font-weight:500}.founder-copy .section-heading{margin-bottom:26px}.founder-copy>p{font-size:.94rem;line-height:2.1;color:#4f5c63}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:12px 25px;font-size:.88rem;font-weight:500;line-height:1.8;transition:background .2s,color .2s;border-radius:0}.button.outline{border:1px solid #adb6bb;background:transparent}.button.outline:hover{background:#eef1f2;color:var(--ink)}.button.dark{border:1px solid var(--ink);background:var(--ink);color:#fff}.button.dark:hover{background:#415159}.button:disabled{cursor:not-allowed;background:#dce1e4;border-color:#dce1e4;color:#717d84}.founder-copy .button{margin-top:28px}.activity-layout,.history-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px}.timeline{border-top:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.timeline>div>span{font-size:.94rem;color:var(--accent);font-variant-numeric:tabular-nums}.timeline p{font-size:.94rem}.activity-layout .text-link{margin-top:20px}.pending-block{margin-top:36px;padding:20px 24px;background:var(--pale);border-left:2px solid #a99770}.pending-block h3{font-size:.94rem}.pending-block p{font-size:.85rem;color:var(--muted);margin-top:6px}.gateway{background:var(--pale);border-top:1px solid var(--line)}.gateway-grid{display:grid;grid-template-columns:1fr 1fr}.gateway-grid>a{padding:55px 45px 55px 0}.gateway-grid>a+ a{border-left:1px solid var(--line);padding-left:55px}.gateway h2{font-size:1.6rem;margin-bottom:24px}.gateway .eyebrow{display:block}.site-footer{padding:64px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:50px}.footer-motto{font-family:var(--serif);font-size:.88rem;letter-spacing:.08em;margin-top:24px}.footer-main nav{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 50px;font-size:.875rem;align-self:start}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;gap:32px;align-items:center;color:var(--muted);font-size:.75rem}.footer-bottom small{margin-right:auto;font-size:.72rem}.breadcrumb{padding-top:28px;font-size:.75rem;color:var(--muted);display:flex;gap:14px}.page-head{padding:51px 0 54px}.page-head h1{font-size:clamp(2.2rem,3.5vw,3rem);line-height:1.6}.page-head>p:last-child{margin-top:20px;color:var(--muted);font-size:.94rem}.page-head .eyebrow{margin-bottom:14px}.page-tabs{display:flex;flex-wrap:wrap;gap:0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.9rem}.page-tabs a{padding:19px 0}.philosophy-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px}.statement{font-family:var(--serif);font-size:2rem;line-height:1.85;letter-spacing:.09em;margin-bottom:26px}.philosophy-layout>div>p:not(.statement){font-size:.95rem;line-height:2.1;color:#4f5c63}.philosophy-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--line);margin-top:38px;padding-top:28px}.philosophy-pair span{font-size:.7rem;color:var(--accent);letter-spacing:.15em}.philosophy-pair h3{font-family:var(--serif);font-size:1.17rem;margin:9px 0}.philosophy-pair p{font-size:.88rem;color:var(--muted);line-height:2}.message-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px}.portrait-frame{background:#e7ecef;padding:30px 20px 0}.portrait-frame img{width:100%;max-height:430px;object-fit:contain;filter:grayscale(1)}.person-name{font-family:var(--serif);font-size:1.5rem;margin-top:22px;display:flex;align-items:baseline;gap:18px}.person-name span{font-family:var(--sans);font-size:.73rem;letter-spacing:.17em;color:var(--muted)}.message-layout .section-heading{margin-bottom:20px}.message-quote{font-family:var(--serif);font-size:1.3rem;margin-bottom:24px}.message-layout>div>p{font-size:.95rem;line-height:2.15}.profile{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.profile h3{font-size:.94rem;margin-bottom:10px}.profile p{font-size:.875rem;color:var(--muted);line-height:2}.profile .text-link{margin-top:18px}.external-label{font-size:.65rem;letter-spacing:.02em;color:var(--muted);font-weight:400}.info-table{margin:0;border-top:1px solid var(--line)}.info-table>div{display:grid;grid-template-columns:210px 1fr;gap:28px;border-bottom:1px solid var(--line);padding:21px 0;font-size:.94rem;align-items:baseline}.info-table dt{color:var(--muted);font-weight:400}.info-table dd{margin:0;min-width:0;overflow-wrap:anywhere}.inline-note{display:block;font-size:.81rem;color:var(--muted);margin-top:6px}.company-list{margin-top:62px}.company-row{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;margin-top:55px;padding-top:28px}.company-word{font-family:Georgia,serif;font-size:2.2rem;letter-spacing:.03em}.company-row h3{font-size:.9rem;color:var(--muted);margin-top:12px}.company-word.company-cn{font-family:var(--serif);font-size:1.55rem;line-height:1.8;letter-spacing:.04em}.company-row .info-table>div{grid-template-columns:130px 1fr;padding-block:16px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.service-card{border:1px solid var(--line);padding:35px 38px 32px;display:flex;flex-direction:column;align-items:flex-start;background:#fff}.service-card h3{font-family:var(--serif);font-size:1.45rem;letter-spacing:.03em;margin-bottom:18px}.service-card>p:not(.overline):not(.status-tag){font-size:.94rem;color:#4f5c63;line-height:2}.service-card .text-link{margin-top:26px}.service-card .overline{font-size:.73rem;color:var(--accent);margin-bottom:16px}.status-tag{display:inline-block;font-size:.78rem;line-height:1.8;background:#edf0f2;color:#58646a;border:1px solid #e0e5e8;padding:4px 10px;margin-bottom:18px}.service-footnote{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:30px;justify-content:space-between;align-items:center}.service-footnote p{font-size:.85rem;color:var(--muted)}.service-footnote .text-link{flex-shrink:0}.ip-section{margin-top:74px;padding-top:48px;border-top:1px solid #c7d0d4;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.ip-section h3{font-family:var(--serif);font-size:1.8rem;letter-spacing:.06em;margin-bottom:20px}.ip-section>div>p:not(.eyebrow):not(.status-tag){font-size:.95rem;color:#4f5c63}.ip-section .info-table{margin-top:26px}.ip-section .info-table>div{grid-template-columns:170px 1fr}.stones-section{display:flex;align-items:center;justify-content:space-between;gap:40px}.stones-section .section-heading{margin:0}.careers-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding-bottom:60px}.careers-intro p{font-size:.96rem;line-height:2.2;color:#4f5c63}.careers-intro .eyebrow{font-size:.75rem;color:var(--accent)}.team-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-bottom:70px}.team-principles article{border-top:1px solid #bcc8ce;padding-top:25px}.team-principles span{font-size:.72rem;letter-spacing:.13em;color:var(--accent)}.team-principles h3{font-family:var(--serif);font-size:1.3rem;margin:18px 0 12px}.team-principles p{font-size:.9rem;color:var(--muted)}.page-careers #positions{padding-top:35px}.recruitment-status{padding:25px 30px;background:var(--pale);margin-bottom:30px}.recruitment-status h3{font-size:1rem}.recruitment-status p{font-size:.9rem;color:var(--muted);margin-top:8px}.form-wrap{width:min(800px,calc(100% - 112px));margin:auto}.contact-section{border-top:1px solid var(--line);padding-top:52px}.form-notice{background:#f5f4f0;border-left:2px solid #a99770;padding:20px 25px;margin-bottom:40px}.form-notice strong{font-size:.94rem;font-weight:500}.form-notice p{font-size:.875rem;color:#666861;line-height:1.9;margin-top:6px}.form-fields{padding:0;border:0;margin:0;min-width:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 25px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:flex;align-items:center;gap:12px;font-size:.94rem;margin-bottom:10px}.required,.optional{font-size:.68rem;line-height:1.6;font-weight:400}.required{color:#735b35;border:1px solid #d9caae;padding:1px 5px}.optional{color:var(--muted)}input,select,textarea{width:100%;border:1px solid #bac4ca;border-radius:0;background:#fff;color:var(--ink);min-height:52px;padding:10px 13px;font-size:1rem;line-height:1.6}input:disabled{background:#eceff1}input::placeholder,textarea::placeholder{color:#737e83;font-size:.9rem}textarea{resize:vertical;min-height:150px}.conditional-fields{margin-top:38px;padding-top:28px;border-top:1px solid var(--line);margin-bottom:28px}.conditional-fields h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:24px}.privacy-inline{margin-top:35px;padding:24px 25px;background:#eef1f2}.privacy-inline h3{font-size:.95rem}.privacy-inline p{font-size:.86rem;color:var(--muted);margin-top:10px}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:.9rem;color:var(--muted)}.consent input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:5px 0 0}.form-fields>.button{margin-top:30px;min-width:220px}.form-review{padding-top:15px}.form-review h3{font-family:var(--serif);font-size:1.65rem}.review-notice{margin-block:20px;background:#f5f4f0;padding:15px 20px;font-size:.9rem}.review-values{white-space:pre-wrap}.review-values>div{grid-template-columns:200px 1fr}.form-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:32px}
@media(min-width:1600px){.hero-city{height:360px}.hero-city img{object-position:center 69%}}
@media(max-width:1100px){.header-inner{width:calc(100% - 48px);gap:24px}.primary-nav{gap:18px;font-size:.81rem}.brand-name{font-size:1rem}.brand-mark{font-size:2.6rem;padding-right:18px}.wrap{width:calc(100% - 80px)}.hero-description{margin:0}.home-business,.activity-layout,.history-layout,.philosophy-layout{gap:40px}.founder-layout,.message-layout{gap:55px}.service-card{padding:28px}.company-row{gap:40px}.company-row .info-table>div{grid-template-columns:105px 1fr}.info-table>div{grid-template-columns:165px 1fr}.facts-grid>div{padding-inline:24px}.form-wrap{width:min(800px,calc(100% - 80px))}}
@media(max-width:900px){.header-inner{min-height:78px}.brand-name small{font-size:.61rem}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:12px 30px 25px;border-bottom:1px solid var(--line);white-space:normal;max-height:calc(100dvh - 78px);overflow-y:auto}.primary-nav.is-open{display:flex}.primary-nav a,.primary-nav a:last-child{padding:17px 6px;border:0;border-bottom:1px solid var(--line);font-size:1rem}.primary-nav a[aria-current=page]:after{display:none}.primary-nav a[aria-current=page]{color:var(--accent)}.menu-toggle{display:flex;border:0;background:transparent;align-items:center;gap:14px;font-size:.75rem;padding:12px 0 12px 12px;min-height:44px}.menu-lines{width:24px;height:14px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative}.menu-lines:after{content:'';position:absolute;top:5px;left:0;width:24px;border-top:1px solid var(--ink)}.hero-top{gap:30px}.hero-top h1{font-size:2.6rem}.hero-description{width:230px}.hero-motto{font-size:1.02rem}.hero-city{height:270px}.home-business{grid-template-columns:1fr}.home-business>.section-heading{position:static}.challenge-list{display:grid;grid-template-columns:1fr}.challenge{grid-template-columns:60px 1fr}.section{padding-block:75px}.activity-layout,.philosophy-layout,.history-layout{grid-template-columns:1fr;gap:5px}.founder-layout{gap:40px}.founder-picture{padding:20px 10px 0}.facts-grid>div{padding-inline:20px}.fact-number{font-size:3.1rem}.facts-grid small{font-size:.72rem}.message-layout{grid-template-columns:.8fr 1.2fr;gap:35px}.message-layout .message-quote{font-size:1.1rem}.company-row{grid-template-columns:.8fr 1.2fr;gap:30px}.company-word{font-size:1.8rem}.ip-section{gap:30px}.ip-section .info-table>div{grid-template-columns:1fr;gap:8px}.careers-intro{gap:40px}.team-principles{gap:20px}.footer-main nav{gap:14px 28px}}
@media(max-width:650px){html{scroll-padding-top:96px}.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 36px);min-height:76px}.brand{gap:11px}.brand-mark{font-size:2.5rem;padding-right:17px}.brand-name{font-size:.98rem}.brand-name small{font-size:.61rem}.menu-toggle{font-size:.68rem;gap:9px}.menu-lines{width:21px}.menu-lines:after{width:21px}.hero-top{display:block;padding-top:38px}.eyebrow{font-size:.68rem;margin-bottom:15px;letter-spacing:.14em}.hero-top h1{font-size:clamp(2rem,7.7vw,2.75rem);letter-spacing:.075em;line-height:1.65}.hero-motto{font-size:1rem;letter-spacing:.05em;margin-top:16px}.hero-description{width:100%;padding-top:25px;margin:0;display:grid;grid-template-columns:1fr;gap:12px}.hero-description>p{font-size:.94rem;line-height:1.8}.hero-description>p br{display:none}.hero-description>span{font-size:.82rem;margin-top:0;line-height:1.85}.hero-description>span br{display:none}.hero-description .text-link{justify-self:start;margin-top:2px;font-size:.84rem}.hero-city{height:220px;margin-top:4px}.hero-city img{object-position:50% 75%}.hero-city:before{height:40px}.hero-city figcaption{left:20px;bottom:12px;font-size:.6rem;padding:4px 8px}.hero-city figcaption span{font-size:.6rem;margin-left:8px}.facts{padding-top:29px;padding-bottom:28px}.facts-grid{grid-template-columns:1fr 1fr 1fr}.facts-grid>div{padding:0 10px}.facts-grid p{font-size:.74rem;line-height:1.7;min-height:2.6em;display:flex;align-items:flex-start}.fact-number{font-size:2.5rem;margin-top:0}.fact-number span{font-size:.8rem;margin-left:4px}.fact-number .approx{font-size:.72rem;margin-right:3px}.facts-grid small{font-size:.68rem;line-height:1.7}.facts-grid .pending{font-size:.68rem}.section{padding-block:62px}.section-heading{margin-bottom:30px}.section-heading>p:last-child:not(.eyebrow){font-size:.9rem}.home-business{gap:0}.challenge{grid-template-columns:28px 1fr;gap:14px;padding-block:27px}.challenge h3{font-size:1.25rem}.challenge h3+p{font-size:.9rem}.challenge h3+p br{display:none}.service-names{font-size:.79rem;gap:5px 15px}.service-names span+span:before{left:-8px}.quiet-note{font-size:.8rem!important}.founder-section{padding:55px 0}.founder-layout{grid-template-columns:1fr;gap:36px}.founder-picture{max-width:330px;width:100%;margin:auto}.founder-picture img{max-height:340px}.founder-copy>p{font-size:.91rem}.founder-copy>p br{display:none}.activity-layout,.history-layout{gap:0}.timeline>div{grid-template-columns:80px 1fr;gap:14px;padding-block:19px}.timeline p,.timeline>div>span{font-size:.88rem}.pending-block{padding:17px 19px}.gateway-grid{grid-template-columns:1fr}.gateway-grid>a{padding:37px 0}.gateway-grid>a+ a{border-left:0;border-top:1px solid var(--line);padding-left:0}.gateway h2{font-size:1.5rem;margin-bottom:18px}.site-footer{padding:45px 0 25px}.footer-main{display:block;padding-bottom:30px}.footer-main nav{margin-top:32px;gap:15px 25px;font-size:.86rem}.footer-bottom{flex-wrap:wrap;gap:12px 22px;font-size:.72rem;padding-top:20px}.footer-bottom small{width:100%;font-size:.68rem}.breadcrumb{padding-top:22px;font-size:.69rem}.page-head{padding:35px 0 36px}.page-head h1{font-size:2rem}.page-head>p:last-child{font-size:.88rem;margin-top:15px}.page-tabs{gap:0;display:grid;grid-template-columns:1fr 1fr}.page-tabs a{font-size:.82rem;padding:14px 0;border-bottom:1px solid #eef1f3}.philosophy-layout{gap:0}.statement{font-size:1.7rem;margin-bottom:22px}.philosophy-layout>div>p:not(.statement){font-size:.9rem}.philosophy-pair{gap:20px;margin-top:30px;padding-top:24px}.philosophy-pair h3{font-size:1rem}.philosophy-pair p{font-size:.82rem}.philosophy-pair p br{display:none}.message-layout{grid-template-columns:1fr;gap:35px}.message-layout>div:first-child{width:min(320px,100%);margin:auto}.portrait-frame img{max-height:330px}.message-layout>div>p{font-size:.9rem}.person-name{font-size:1.3rem!important}.message-quote{font-size:1.13rem!important}.info-table>div{grid-template-columns:105px 1fr;gap:20px;font-size:.88rem;padding-block:17px}.company-list{margin-top:44px}.company-row{display:block;margin-top:40px;padding-top:0}.company-row>.info-table{margin-top:22px}.company-word{font-size:1.8rem}.company-row h3{margin-top:4px}.company-word.company-cn{font-size:1.4rem}.company-row .info-table>div{grid-template-columns:105px 1fr}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:26px 24px}.service-card h3{font-size:1.3rem;margin-bottom:14px}.service-card>p:not(.overline):not(.status-tag){font-size:.91rem}.service-card .text-link{margin-top:22px}.service-footnote{display:block}.service-footnote p{font-size:.81rem}.service-footnote p br{display:none}.service-footnote .text-link{margin-top:18px}.ip-section{grid-template-columns:1fr;gap:14px;padding-top:35px;margin-top:45px}.ip-section h3{font-size:1.5rem}.ip-section h3 br{display:none}.ip-section>div>p:not(.eyebrow):not(.status-tag){font-size:.9rem}.ip-section .info-table>div{grid-template-columns:150px 1fr}.stones-section{display:block}.stones-section .button{margin-top:28px}.careers-intro{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.careers-intro p{font-size:.92rem}.careers-intro p br{display:none}.team-principles{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.team-principles article{padding-top:20px}.team-principles h3{margin:10px 0}.team-principles p{font-size:.88rem}.page-careers #positions{padding-top:25px}.recruitment-status{padding:20px}.form-wrap{width:calc(100% - 40px)}.contact-section{padding-top:35px}.form-notice{padding:17px 19px;margin-bottom:30px}.form-notice p{font-size:.82rem}.form-notice p br{display:none}.field-grid{grid-template-columns:1fr;gap:24px}.field label{font-size:.92rem}.privacy-inline{padding:20px}.consent{font-size:.85rem}.form-fields>.button{width:100%}.form-actions{gap:12px}.form-actions .button{width:100%}.review-values>div{grid-template-columns:1fr;gap:6px}.review-values dt{font-size:.8rem}.button{min-height:50px}.external-label{font-size:.63rem}.contact-section .section-heading{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Main reading text remains 16px across viewport sizes. */
.hero-description>p,.challenge h3+p,.founder-copy>p,.philosophy-layout>div>p:not(.statement),.philosophy-pair p,.message-layout>div>p:not(.quiet-note):not(.person-name):not(.message-quote),.profile p,.service-card>p:not(.overline):not(.status-tag):not(.quiet-note),.ip-section>div>p:not(.eyebrow):not(.status-tag),.careers-intro>div>p:not(.eyebrow),.team-principles p{font-size:1rem}
.service-names,.overline,.field label,.page-tabs a{font-size:.875rem}
.hero-city img{object-position:center 60%}
@media(max-width:650px){.hero-city{height:auto;aspect-ratio:1916/821}.hero-city img{height:100%;object-fit:cover}.hero-description>span{font-size:.875rem}.philosophy-pair{grid-template-columns:1fr}.philosophy-pair>div+div{padding-top:20px;border-top:1px solid var(--line)}}
/* Content revision: retain the existing palette and page rhythm. */
.eyebrow .eyebrow-jp{display:block;margin:7px 0 0;font-size:.875rem;letter-spacing:.1em;line-height:1.8}
.message-signature{text-align:right;margin-top:30px!important}
.company-row h3.company-word{font-family:Georgia,serif;font-size:2.2rem;letter-spacing:.03em;color:var(--ink);margin-top:0}
.company-row h3.company-cn{font-family:var(--serif);font-size:1.55rem;letter-spacing:.04em}
.history-story{margin-bottom:42px}
.history-story h3{font-family:var(--serif);font-size:1.4rem;line-height:1.85;letter-spacing:.05em;margin-bottom:24px}
.history-story>p:not(.overline){font-size:1rem;line-height:2.1;color:#4f5c63}
.full-history>div{grid-template-columns:110px 1fr}
.stones-section{display:grid;grid-template-columns:.8fr 1.3fr;gap:70px;align-items:start}
.stones-content p{font-size:1rem;line-height:2.1;color:#4f5c63}
.stone-actions{display:flex;gap:16px;margin-top:30px;align-items:stretch}
.stone-actions .button{flex:1;min-width:0;flex-direction:column;gap:4px;padding:15px 12px;text-align:center}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.role-card{border:1px solid var(--line);padding:32px 36px;background:#fff;min-width:0}
.role-card h3{font-family:var(--serif);font-size:1.45rem;letter-spacing:.04em;margin-bottom:24px}
.role-card dl{margin:0}
.role-card dl>div+div{margin-top:24px}
.role-card dt{color:var(--accent);font-size:.875rem;margin-bottom:7px}
.role-card dd{margin:0;font-size:1rem;line-height:2;color:#4f5c63}
.role-card:last-child{grid-column:1/-1}
.role-card:last-child dl{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.role-card:last-child dl>div+div{margin:0}
.recruitment-common{margin-top:44px}
.recruitment-common>h3{font-size:1.15rem;margin-bottom:22px}
.privacy-inline .consent{margin-top:0;color:var(--ink)}
.privacy-inline .consent input{accent-color:var(--ink)}
.form-review .review-values{margin-top:26px}
.button.dark[data-design-submit]:disabled{background:var(--ink);border-color:var(--ink);color:#fff;cursor:default}
@media(max-width:1100px){.stones-section{gap:40px}.role-card{padding:28px}}
@media(max-width:900px){.stones-section{grid-template-columns:1fr;gap:26px}.company-row h3.company-word{font-size:1.8rem}.company-row h3.company-cn{font-size:1.55rem}}
@media(max-width:650px){.history-story h3{font-size:1.2rem}.history-story h3 br{display:none}.full-history>div{grid-template-columns:95px 1fr;gap:14px}.company-row h3.company-cn{font-size:1.4rem}.stone-actions{flex-direction:column;gap:14px}.stones-section .stone-actions .button{margin-top:0;min-height:70px}.role-grid{grid-template-columns:1fr;gap:20px}.role-card{padding:25px 23px}.role-card h3{font-size:1.3rem}.role-card:last-child{grid-column:auto}.role-card:last-child dl{display:block}.role-card:last-child dl>div+div{margin-top:24px}.recruitment-common .info-table>div:last-child{grid-template-columns:1fr;gap:8px}}

/* Official brand artwork, exported from the supplied Illustrator vector. */
.brand-mark{display:flex;align-items:center;justify-content:center;font:inherit;letter-spacing:normal;padding-right:20px}
.brand-mark img{display:block;width:44px;height:auto;max-width:none}
@media(max-width:650px){.brand-mark{padding-right:14px}.brand-mark img{width:34px}}
