/*
Theme Name: GROTM Corporate
Version: 1.0.2
Description: GROTM corporate website, September 2026.
Requires PHP: 7.4
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f5f0;--ink:#1e3029;--green:#183e35;--lime:#d4eaa1;--line:#d7dad0;--muted:#69736a;--font:'Manrope','Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80ad4b;outline-offset:5px}button{border:0}p{line-height:2}h1,h2,h3,h4,p{margin-top:0}h2{font-weight:600;letter-spacing:-.045em}::selection{background:var(--lime);color:var(--green)}.skip{position:fixed;top:-70px;left:20px;background:var(--green);color:white;padding:15px;z-index:99}.skip:focus{top:10px}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.logo{display:flex;align-items:center;font-size:32px;font-weight:800;letter-spacing:-1.5px;gap:10px}.logo svg{width:31px;height:31px;fill:var(--green)}.logo-dot{font-size:11px;align-self:flex-start;margin-top:8px;margin-left:-6px}.header nav{display:flex;gap:36px;align-items:center;font-size:12px;font-weight:600}.header nav a:hover{color:#648348}.nav-count{border:1px solid #b6beb1;border-radius:20px;padding:2px 6px;font-size:10px;margin-left:5px}.nav-contact{background:var(--green);color:white;padding:15px 22px;border-radius:2px}.nav-contact span{margin-left:24px}.menu-toggle{display:none}.hero{padding:0 5%;display:grid;grid-template-columns:1.05fr 1fr}.hero-copy{padding:54px 0 48px}.eyebrow{font-size:10px;letter-spacing:.1em;font-weight:700;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:#83a851;display:inline-block}.hero h1{font-size:clamp(48px,5.6vw,86px);font-weight:700;line-height:1.36;letter-spacing:-.055em;margin:34px 0 24px}.next-word{color:#64844f}.period{color:#64844f}.hero-desc{font-size:13px;color:#667164;line-height:1.95;margin-bottom:26px}.text-link{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600;width:fit-content}.round-arrow{width:38px;height:38px;display:grid;place-items:center;border:1px solid #aeb9a7;border-radius:50%;font-size:20px;transition:background .2s}.text-link:hover .round-arrow{background:var(--lime)}.hero-art{background:#21483c;position:relative;overflow:hidden;margin:28px 0 28px 20px;min-height:590px;display:flex;align-items:center;isolation:isolate;background-image:radial-gradient(ellipse at 85% 15%,#41634d 0,transparent 50%),linear-gradient(135deg,#254c3f,#122f28)}.hero-art:after{content:'';position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.art-meta{position:absolute;top:27px;left:25px;right:25px;display:flex;justify-content:space-between;color:#bbceab;font-size:8px;letter-spacing:.12em}.g-art{width:120%;max-width:none;flex-shrink:0;margin-left:-8%;filter:drop-shadow(18px 30px 15px #0e29175c);transform:rotate(-14deg);z-index:2}.orb{position:absolute;width:95%;aspect-ratio:1;border:1px solid #cce2bb2b;border-radius:50%;left:3%}.orb-two{width:120%;left:-10%}.art-axis{position:absolute;background:#d2eab915;z-index:-1}.axis-x{height:1px;width:100%;top:50%}.axis-y{width:1px;height:100%;left:50%}.art-caption{position:absolute;bottom:27px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:end;font-size:9px;letter-spacing:.13em;color:#c3d7b8;line-height:1.8}.art-plus{font-size:29px;font-weight:300}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;font-size:8px;letter-spacing:.12em;color:var(--muted)}.hero-bottom a{color:var(--ink)}.hero-bottom a span{margin-left:18px}.section-shell{padding:88px 7%}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-bottom:52px;font-size:10px;font-weight:600;letter-spacing:.08em}.intro{padding-top:76px;padding-bottom:96px}.intro-main{display:grid;grid-template-columns:1fr 1fr;gap:60px}.intro h2{font-size:43px;line-height:1.55;margin:0}.intro p{color:#606a60;font-size:13px;margin-bottom:20px}.small-link{display:flex;gap:54px;align-items:center;font-size:12px;margin-top:26px;font-weight:600}.small-link span{font-size:20px}.services{padding-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:30px}.section-heading h2{font-size:48px;line-height:1.2;margin:0}.section-heading h2>span{font-size:20px;letter-spacing:.01em;display:inline-block;margin-top:18px}.section-heading>p{color:var(--muted);font-size:12px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{padding:29px 32px 0;background:#e9ecdf;position:relative}.service-card.ai{background:#e3e9e2}.card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.04em}.card-top>span:first-child{font-size:15px}.service-symbol{height:180px;display:flex;justify-content:center;align-items:center;gap:24px;font-size:84px;font-weight:400;color:#527247}.code-star{font-size:83px;line-height:1}.service-card h3{font-size:23px;letter-spacing:-.03em;margin:10px 0 16px;font-weight:600}.service-card p{font-size:12px;color:#576455;line-height:2.1}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:23px 0 30px}.tags span{font-size:9px;border:1px solid #b8c3b2;border-radius:20px;padding:5px 10px}.card-link{border-top:1px solid #bfc8b9;width:100%;display:flex;justify-content:space-between;background:none;padding:18px 0;font-size:11px;text-align:left;align-items:center}.card-link span{font-size:22px}.card-link:hover span{transform:translate(3px,-3px)}.ai-symbol{position:relative;gap:0;width:150px;margin:0 auto}.ai-symbol i{position:absolute;width:72px;height:72px;border:1px solid #567451;border-radius:50%}.ai-symbol i:nth-child(1){transform:translate(-25px,-25px)}.ai-symbol i:nth-child(2){transform:translate(25px,-25px)}.ai-symbol i:nth-child(3){transform:translate(-25px,25px)}.ai-symbol i:nth-child(4){transform:translate(25px,25px);background:#b3ce9470}.careers{background:var(--green);color:var(--paper)}.careers .section-label{border-color:#537063;color:#c3d4bd}.career-head{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:10px 0 55px}.career-eyebrow{font-size:9px;color:#b3c7a3;letter-spacing:.14em;margin-bottom:25px}.career-head h2{font-size:64px;line-height:1.4;margin:0;font-weight:500}.career-head h2 span{color:var(--lime)}.career-aside{padding-top:18px;max-width:290px;justify-self:end;width:100%}.hiring-badge{display:flex;justify-content:space-between;background:var(--lime);color:var(--green);padding:10px 13px;font-size:10px;font-weight:700;margin-bottom:35px}.career-aside p{font-size:13px;color:#d1ddca;line-height:2.1}.light-link{border-bottom:1px solid #758d7a;padding:13px 0;display:flex;justify-content:space-between;font-size:12px}.career-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #536e5e;border-bottom:1px solid #536e5e;padding:30px 0}.career-facts>div{border-right:1px solid #536e5e;padding-left:30px}.career-facts>div:first-child{padding-left:0}.career-facts>div:last-child{border:0}.fact-label{font-size:8px;color:#bacbb0;letter-spacing:.1em}.career-facts p{font-size:49px;line-height:1.5;margin:7px 0}.career-facts p span{font-size:13px;margin-left:8px}.career-facts small{font-size:9px;color:#b7cbb1}.salary-note{font-size:9px;color:#b7cbb1;margin-top:13px}.positions{padding-top:55px;scroll-margin-top:20px}.positions-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.positions-heading h3{font-size:25px;font-weight:500;margin:0}.positions-heading>span{font-size:10px;color:#c3d4bd}.job-row{border-top:1px solid #536e5e;padding:26px 0;width:100%;display:flex;gap:27px;align-items:center;background:none;text-align:left;color:var(--paper)}.job-row:last-child{border-bottom:1px solid #536e5e}.job-row:hover{background:#294d3f}.job-no{font-size:11px;color:#adbea5}.job-tag{font-size:9px;color:#c4d5b4}.job-row h4{font-size:21px;font-weight:500;margin:7px 0 0}.job-count{font-size:11px;margin-left:auto}.job-arrow{height:38px;width:38px;border:1px solid #688069;border-radius:50%;display:grid;place-items:center;font-size:21px}.support .section-heading h2{font-size:39px;line-height:1.55}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px}.support-grid article{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-direction:column}.support-number{font-size:9px;letter-spacing:.08em;color:#708063}.support-grid h3{font-size:18px;margin:25px 0 18px;font-weight:600}.support-grid p{font-size:12px;color:var(--muted)}.support-foot{font-size:9px;line-height:1.9;border-top:1px solid var(--line);padding-top:15px;margin-top:auto;color:#6f7b67}.conditions{margin-top:58px;border-block:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-weight:600}summary::-webkit-details-marker{display:none}.plus{font-size:25px;font-weight:400}.conditions[open] .plus{transform:rotate(45deg)}.conditions-content{padding-bottom:25px}.data-table{margin:0;font-size:12px}.data-table>div{display:grid;grid-template-columns:140px 1fr;padding:18px 0;border-bottom:1px solid var(--line);gap:20px;line-height:1.9}.data-table dt{font-weight:600}.data-table dd{margin:0;color:#62705f}.process{margin-top:55px}.process-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.process-title h3{font-size:19px;margin:0;font-weight:600}.process-title p{font-size:11px;color:var(--muted);margin:0}.process ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:25px}.process li{border-top:1px solid #aebba0;padding-top:15px}.process li>span{font-size:11px;color:#71895e}.process h4{font-size:15px;font-weight:500;margin:16px 0 10px}.process li p{font-size:11px;color:var(--muted)}.company{padding-top:0}.company-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:65px}.company h2{font-size:35px;line-height:1.6}.company-mark{font-size:170px;color:#d8dfcd;font-weight:800;line-height:1;letter-spacing:-20px;margin-top:40px}.company-mark span{font-size:85px;vertical-align:top;letter-spacing:0}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:115px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;line-height:1.9;font-size:12px}.company dt{color:var(--muted);font-size:11px}.company dd{margin:0}.map-link{display:block;font-size:9px;color:#758866;margin-top:8px;width:fit-content}.contact{background:var(--lime);padding-top:55px;padding-bottom:50px}.contact>.eyebrow{font-size:10px}.contact>div{display:flex;align-items:center;justify-content:space-between;margin:25px 0}.contact h2{font-size:65px;line-height:1.4;margin:0}.contact button{border:1px solid #7b9869;border-radius:50%;width:112px;height:112px;background:transparent;font-size:60px;font-weight:400;transition:background .2s}.contact button:hover{background:var(--green);color:var(--lime)}.contact p{font-size:11px;margin:0}.footer{display:grid;grid-template-columns:1fr 1fr;padding-top:48px;padding-bottom:22px}.footer-logo{font-size:48px;font-weight:800;letter-spacing:-3px}.footer-logo span{font-size:13px;vertical-align:top;letter-spacing:0;margin-left:3px}.footer p{font-size:8px;letter-spacing:.1em;margin-top:8px}.footer-links{display:flex;align-items:start;gap:25px;justify-content:end;font-size:10px;padding-top:12px}.footer-links button{padding:0;background:none;font-size:10px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:35px;margin-top:30px;border-top:1px solid var(--line);font-size:8px;color:var(--muted);letter-spacing:.07em}.footer-bottom .status-dot{margin-left:10px;width:5px;height:5px}dialog{border:0;background:var(--paper);color:var(--ink);padding:45px;width:min(780px,calc(100% - 32px));max-height:88vh;border-radius:5px}dialog::backdrop{background:#10261bcc;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:0;float:right;width:36px;height:36px;background:var(--green);color:white;font-size:23px;z-index:2;border-radius:50%;margin:-24px -24px 0 0}#dialog-content>h2{font-size:30px;line-height:1.5;margin:20px 0}#dialog-content>p{font-size:13px;color:var(--muted)}.dialog-eyebrow{font-size:10px;letter-spacing:.1em;color:#6b8256}.dialog-section{padding:22px 0;border-top:1px solid var(--line)}.dialog-section h3{font-size:17px}.dialog-section p{font-size:13px;color:var(--muted);margin-bottom:0}.solid-button{display:inline-flex;justify-content:center;align-items:center;gap:25px;background:var(--green);color:#fff;padding:16px 24px;font-size:12px;margin-top:25px}.dialog-note{font-size:11px!important;background:#e8eddf;padding:13px 16px;line-height:1.9}.contact-form{display:grid;gap:18px;margin-top:25px}.contact-form label{display:grid;gap:7px;font-size:12px;font-weight:500}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:#fff;border:1px solid #c6cfbc;border-radius:0;padding:12px;color:var(--ink)}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .solid-button{margin-top:0}.form-result{padding:14px;background:#dbe9c9;line-height:1.8;font-size:12px}.form-result[hidden]{display:none}.contact-form small{font-size:10px;font-weight:400;color:var(--muted)}@media(min-width:1500px){.header,.hero{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}.section-shell{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}@media(max-width:1000px){.header{height:85px}.header nav{gap:20px}.hero h1{font-size:59px}.hero-art{min-height:530px}.section-shell{padding-left:5%;padding-right:5%}.hero-bottom{font-size:7px}.career-head h2{font-size:53px}.service-card{padding-inline:25px}.service-card h3{font-size:20px}.footer-links{gap:15px}.intro-main{gap:35px}.intro h2{font-size:37px}.company-grid{gap:35px}.career-facts p{font-size:40px}.career-facts p span{font-size:11px}.support-grid{gap:20px}}@media(max-width:700px){html{scroll-padding-top:80px}.header{height:75px;padding-inline:6%}.logo{font-size:27px}.logo svg{width:26px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;padding:12px 0 12px 12px}.menu-toggle span{width:24px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:28px 6%;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);gap:24px;box-shadow:0 20px 20px #1e302910}.header nav.open{display:flex}.nav-contact{display:flex;justify-content:space-between}.hero{padding:0 6%;grid-template-columns:1fr}.hero-copy{padding:35px 0 30px}.eyebrow{font-size:8px;letter-spacing:.075em}.hero h1{font-size:clamp(48px,11.7vw,77px);line-height:1.4;margin:26px 0 20px}.hero-desc{font-size:12px;margin-bottom:22px}.hero-art{margin:0 0 22px;min-height:0;height:370px}.g-art{height:460px;width:100%;margin-left:0}.art-meta{font-size:7px;top:20px;left:20px;right:20px}.art-caption{left:20px;right:20px;bottom:20px;font-size:7px}.hero-bottom{font-size:7px;padding:16px 0}.hero-bottom>span:last-child{display:none}.section-shell{padding:58px 6%}.section-label{margin-bottom:32px;font-size:8px;padding-top:14px}.intro-main{grid-template-columns:1fr;gap:25px}.intro h2{font-size:32px}.intro p{font-size:12px}.intro p br{display:none}.services{padding-top:0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:36px}.section-heading h2>span{font-size:16px;margin-top:13px}.section-heading>p{font-size:11px;margin-top:21px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:23px 24px 0}.service-symbol{height:145px}.service-card h3{font-size:21px}.service-card p{font-size:12px}.career-head{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.career-head h2{font-size:47px}.career-eyebrow{font-size:8px;margin-bottom:20px}.career-aside{justify-self:start;max-width:none;padding:0}.hiring-badge{max-width:220px;margin-bottom:20px}.career-aside p{font-size:12px}.career-aside p br:nth-child(3){display:none}.light-link{max-width:230px}.career-facts{padding:22px 0;gap:8px}.career-facts>div{padding-left:10px}.fact-label{font-size:6px;letter-spacing:0}.career-facts p{font-size:31px;line-height:1.4}.career-facts p span{display:block;font-size:10px;margin:0}.career-facts small{font-size:8px;display:block;line-height:1.8;padding-right:6px}.salary-note{font-size:8px}.positions{padding-top:30px}.positions-heading{display:block}.positions-heading h3{font-size:23px;margin-bottom:9px}.positions-heading>span{font-size:9px}.job-row{gap:13px;padding:22px 0}.job-no{font-size:9px}.job-row h4{font-size:16px;line-height:1.5;max-width:230px}.job-tag{font-size:8px}.job-count{font-size:8px;white-space:nowrap}.job-arrow{width:28px;height:28px;flex-shrink:0;font-size:16px}.support .section-heading h2{font-size:31px}.support-grid{grid-template-columns:1fr;margin-top:35px;gap:30px}.support-grid h3{margin:16px 0 12px}.support-foot{margin-top:5px}.conditions{margin-top:35px}summary{font-size:13px;padding:20px 0}.data-table>div{grid-template-columns:1fr;gap:5px;font-size:11px;padding:14px 0}.process{margin-top:35px}.process-title{display:block}.process-title p{font-size:10px;margin-top:10px}.process ol{grid-template-columns:1fr 1fr;gap:20px}.company{padding-top:0}.company-grid{grid-template-columns:1fr;gap:20px}.company h2{font-size:31px;margin-bottom:0}.company-mark{display:none}.company dl>div{grid-template-columns:88px 1fr;gap:12px;font-size:11px}.company dt{font-size:10px}.contact{padding-block:40px}.contact h2{font-size:44px}.contact button{width:70px;height:70px;font-size:40px}.contact p{font-size:10px;max-width:280px}.footer{grid-template-columns:1fr;gap:18px;padding-top:34px;padding-bottom:22px}.footer-logo{font-size:42px}.footer-links{justify-content:start;flex-wrap:wrap;gap:22px;font-size:10px}.footer-bottom{padding-top:20px;margin-top:15px;font-size:7px}dialog{padding:30px 23px;max-height:90vh}.dialog-close{margin:-15px -10px 0 0}#dialog-content>h2{font-size:24px}.dialog-eyebrow{font-size:9px}.dialog-section h3{font-size:16px}.dialog-section p{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Revision 02: reference-scale typography and mint/teal identity. */
:root{--paper:#F0FAF9;--ink:#203936;--green:#123f3d;--lime:#bcece7;--line:#cddfdb;--muted:#526c68;--teal:#19BFB7;--teal-readable:#087e78}
body{font-size:16px}p{line-height:1.9}h2{letter-spacing:-.025em}
.header{height:88px}.header nav{font-size:14px;gap:28px}.nav-count{font-size:12px}.nav-contact{font-size:14px}.header nav a:hover{color:var(--teal-readable)}
.hero{grid-template-columns:1.1fr 1fr;align-items:center}.hero-copy{padding:54px 0}.eyebrow{font-size:12px;letter-spacing:.07em}.status-dot{background:var(--teal)}
.hero h1{font-size:48px;line-height:1.5;letter-spacing:-.045em;margin:28px 0 24px}.next-word,.period,.teal-text{color:var(--teal-readable)}
.hero-desc{font-size:17px;line-height:1.9;margin-bottom:26px}.text-link{font-size:14px;gap:24px}.round-arrow{border-color:#9dc8c1;width:42px;height:42px}
.hero-art{min-height:460px;max-height:530px;background-image:radial-gradient(ellipse at 85% 15%,#397b70 0,transparent 55%),linear-gradient(135deg,#1a534d,#0d3432)}
.art-meta,.art-caption{color:#c0eee7;font-size:10px;letter-spacing:.07em}.hero-bottom{font-size:11px;line-height:1.5;width:100%;padding:18px 0;letter-spacing:.05em}
.section-shell{padding-top:76px;padding-bottom:76px}.section-label{font-size:12px;letter-spacing:.06em;margin-bottom:40px}.intro{background:#fff}.intro-main{grid-template-columns:1fr 1.25fr;gap:48px}.intro h2{font-size:36px;line-height:1.55}.intro p{font-size:16px;color:var(--muted)}.small-link{font-size:14px;gap:35px}
.culture-heading{margin-top:48px;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:28px;align-items:center}.culture-heading>span{font-size:12px;letter-spacing:.09em;color:var(--teal-readable);font-weight:700}.culture-heading p{margin:0;color:var(--ink);font-size:17px;font-weight:600}.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:24px}.culture-grid article{background:var(--paper);padding:26px;border-top:2px solid var(--teal)}.culture-index{font-size:11px;letter-spacing:.05em;color:var(--teal-readable)}.culture-grid h3{font-size:19px;line-height:1.6;margin:18px 0 12px;font-weight:600}.culture-grid p{font-size:14px;line-height:1.9;margin:0}.culture-source{display:flex;justify-content:flex-end;align-items:center;gap:18px;font-size:13px;color:var(--teal-readable);margin-top:24px}
.services{padding-top:76px}.section-heading h2,.support .section-heading h2,.company h2{font-size:36px;line-height:1.5}.section-heading h2>span.service-heading-jp{font-size:inherit;line-height:inherit;letter-spacing:inherit;margin:0;color:var(--teal-readable)}.section-heading>p{font-size:15px;line-height:1.9}.service-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px 30px 0}.service-card.ai{background:#fff;border-color:#9bdcd6}.card-top{font-size:11px;letter-spacing:.05em;color:var(--muted)}.service-symbol{height:140px;color:var(--teal);font-size:64px}.code-star{font-size:68px}.ai-symbol i{border-color:var(--teal);width:61px;height:61px}.ai-symbol i:nth-child(4){background:#19bfb726}.service-card h3{font-size:22px;line-height:1.5;margin-top:14px}.service-card p{font-size:15px;line-height:1.9;color:var(--muted)}.tags span{font-size:12px;border-color:#c5dfdb;padding:6px 10px}.card-link{font-size:14px;padding:19px 0;border-color:var(--line)}
.careers{background:var(--green)}.careers .section-label{color:#c8e7e2;border-color:#4a7770}.career-head{grid-template-columns:1.25fr 1fr;gap:40px;padding-bottom:40px}.career-eyebrow{font-size:12px;color:#b6dcd4}.career-head h2{font-size:40px;line-height:1.6}.career-head h2 span{color:var(--teal)}.career-aside{max-width:355px;padding-top:0}.hiring-badge{font-size:12px;background:#bcece7;margin-bottom:24px}.career-aside p{font-size:15px;color:#d4e8e4}.light-link{font-size:14px;border-color:#74968f}.career-facts{border-color:#547c75}.career-facts>div{border-color:#547c75}.fact-label{font-size:11px;color:#c3dfd8}.career-facts p{font-size:40px}.career-facts p span{font-size:15px}.career-facts small{font-size:12px;line-height:1.7;color:#c5e1db;display:block;padding-right:14px}.salary-note{font-size:12px;color:#c5e1db;line-height:1.9}.positions{padding-top:40px}.positions-heading h3{font-size:24px}.positions-heading>span{font-size:13px}.job-row{border-color:#547c75;padding:25px 0}.job-row:last-child{border-color:#547c75}.job-row:hover{background:#1a5049}.job-no{font-size:13px;color:#bfdcd4}.job-tag{font-size:12px;color:#bee3db}.job-row h4{font-size:22px;line-height:1.5}.job-count{font-size:14px}.job-arrow{border-color:#85afa4}
.support{background:#fff}.support-grid{gap:30px;margin-top:40px}.support-number{font-size:12px;color:var(--teal-readable)}.support-grid h3{font-size:20px;line-height:1.5;margin-top:20px}.support-grid p{font-size:15px}.support-foot{font-size:12px;color:var(--muted);line-height:1.9}.conditions{margin-top:44px}.data-table{font-size:14px}.data-table>div{font-size:14px;line-height:1.9}.data-table dd{color:var(--muted)}summary{font-size:17px}.process-title h3{font-size:22px}.process-title p{font-size:14px}.process li>span{font-size:13px;color:var(--teal-readable)}.process h4{font-size:18px}.process li p{font-size:14px}.process li{border-color:#b2d1cb}
.company{padding-top:76px}.company-grid{grid-template-columns:1fr 1.4fr}.company-mark{color:#c5e9e3}.company dl>div{font-size:15px;grid-template-columns:132px 1fr}.company dt{font-size:14px}.map-link{font-size:12px;color:var(--teal-readable)}.contact{background:#dbf3ef}.contact h2{font-size:42px;line-height:1.5}.contact>.eyebrow{font-size:12px;color:var(--teal-readable)}.contact button{width:90px;height:90px;border-color:#80b7ad;color:var(--teal-readable);font-size:48px}.contact p{font-size:15px}.footer{background:#fff;padding-top:44px;padding-bottom:26px}.footer p{font-size:11px}.footer-links,.footer-links button{font-size:13px}.footer-links{gap:24px;line-height:1.6}.footer-bottom{font-size:11px}.footer-bottom small{font-size:inherit}
dialog{background:#fff}.dialog-eyebrow{font-size:12px;color:var(--teal-readable)}#dialog-content>h2{font-size:28px}#dialog-content>p{font-size:15px}.dialog-section h3{font-size:20px;line-height:1.6}.dialog-section p{font-size:15px}.dialog-note{font-size:13px!important;background:var(--paper)}.solid-button{font-size:14px;line-height:1.6}.contact-form label{font-size:14px}.contact-form small{font-size:12px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.form-result{font-size:14px;background:var(--paper)}
@media(min-width:1500px){.hero h1{font-size:52px}}
@media(max-width:1000px) and (min-width:701px){.header nav{gap:18px;font-size:13px}.nav-contact{font-size:13px;padding:14px}.hero h1{font-size:38px}.hero-desc{font-size:16px}.hero-art{min-height:425px}.eyebrow{font-size:10px}.hero-bottom{font-size:9px}.intro h2,.section-heading h2,.support .section-heading h2,.company h2{font-size:32px}.intro-main{gap:30px}.intro p{font-size:15px}.culture-grid{gap:16px}.culture-grid article{padding:20px}.culture-grid h3{font-size:18px}.career-head h2{font-size:34px}.career-facts p span{font-size:12px}.career-facts small,.fact-label{font-size:10px}.job-row h4{font-size:20px}.footer-links{gap:16px;font-size:12px}.footer-links button{font-size:12px}.company dl>div{grid-template-columns:110px 1fr;font-size:14px}.company dt{font-size:12px}}
@media(max-width:700px){.header{height:75px}.header nav{font-size:15px;gap:24px}.nav-contact{font-size:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:34px 0 30px}.eyebrow{font-size:10px}.hero h1{font-size:32px;line-height:1.6;margin:24px 0 20px}.hero-desc{font-size:15px;line-height:1.9}.text-link{font-size:14px}.hero-art{min-height:0;height:310px;max-height:none}.g-art{height:370px}.art-meta,.art-caption{font-size:9px}.hero-bottom{font-size:9px;letter-spacing:0}.section-shell{padding:52px 6%}.section-label{font-size:11px;margin-bottom:30px;letter-spacing:.025em}.intro-main{grid-template-columns:1fr;gap:24px}.intro h2,.section-heading h2,.support .section-heading h2,.company h2{font-size:28px;line-height:1.6}.intro p{font-size:15px}.small-link{font-size:14px}.culture-heading{display:block;margin-top:30px;padding-top:25px}.culture-heading p{font-size:16px;margin-top:10px}.culture-grid{grid-template-columns:1fr;gap:15px;margin-top:20px}.culture-grid article{padding:24px}.culture-grid h3{font-size:19px;margin-top:13px}.culture-grid p{font-size:14px}.culture-source{font-size:12px;justify-content:start;gap:14px}.services{padding-top:52px}.section-heading>p{font-size:14px;margin-top:20px}.service-card{padding:24px 23px 0}.card-top{font-size:10px}.service-card h3{font-size:21px}.service-card p{font-size:14px}.tags span{font-size:11px}.card-link{font-size:14px}.career-head{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.career-head h2{font-size:29px;line-height:1.65}.career-eyebrow{font-size:11px}.career-aside{max-width:none}.career-aside p{font-size:14px}.career-aside p br:nth-child(3){display:initial}.hiring-badge{font-size:12px}.career-facts{gap:6px;padding:24px 0}.fact-label{font-size:9px;line-height:1.6;display:block;min-height:28px;letter-spacing:.01em}.career-facts>div{padding-left:10px;min-width:0}.career-facts p{font-size:30px}.career-facts p span{font-size:12px;margin:0;display:block}.career-facts small{font-size:10px;line-height:1.8;padding-right:6px}.salary-note{font-size:11px}.positions{padding-top:30px}.positions-heading>span{font-size:12px}.job-row{gap:10px;position:relative;flex-wrap:wrap;padding:23px 37px 23px 0}.job-no{font-size:11px;align-self:start;margin-top:3px}.job-row>div{flex:1;min-width:0}.job-tag{font-size:11px}.job-row h4{font-size:18px;line-height:1.6;max-width:none}.job-count{font-size:12px;margin-left:24px;flex-basis:100%}.job-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%);width:30px;height:30px}.support-grid{gap:26px}.support-number{font-size:11px}.support-grid h3{font-size:20px}.support-grid p{font-size:14px}.support-foot{font-size:12px}summary{font-size:15px;gap:12px}.data-table>div{font-size:14px;grid-template-columns:1fr;gap:5px}.process-title h3{font-size:21px}.process-title p{font-size:13px}.process li>span{font-size:12px}.process h4{font-size:17px}.process li p{font-size:13px}.company-grid{grid-template-columns:1fr;gap:20px}.company dl>div{grid-template-columns:90px 1fr;gap:12px;font-size:14px}.company dt{font-size:12px}.map-link{font-size:12px}.contact h2{font-size:32px}.contact button{width:70px;height:70px;font-size:40px}.contact p{font-size:14px;max-width:none}.contact>.eyebrow{font-size:11px}.footer{padding-top:36px;padding-bottom:24px}.footer p{font-size:10px}.footer-links,.footer-links button{font-size:13px}.footer-links{gap:20px}.footer-bottom{font-size:10px}#dialog-content>h2{font-size:24px}.dialog-eyebrow{font-size:11px}.dialog-section h3{font-size:18px}.dialog-section p,#dialog-content>p{font-size:14px}.dialog-note{font-size:12px!important}}

/* Official GROTM logo: original proportions and colors, no image filters. */
.logo img{display:block;width:170px;height:auto}.footer-logo{display:inline-block;line-height:1}.footer-logo img{display:block;width:220px;height:auto}.hero-art{justify-content:center;background:radial-gradient(ellipse at 75% 20%,#fff 0,transparent 65%),linear-gradient(135deg,#e5f5f6,#d6eeed);border:1px solid #c6e1df}.hero-brand{width:84%;height:auto;position:relative;z-index:2}.hero-art .art-meta,.hero-art .art-caption{color:#44736f}.hero-art .orb{border-color:#8cbfbd40}.hero-art .art-axis{background:#7dafac26}.hero-art:after{opacity:.025}.company-mark{font-size:inherit;letter-spacing:normal;line-height:1;margin-top:45px}.company-mark img{display:block;width:260px;max-width:90%;height:auto}
@media(max-width:700px){.logo img{width:145px}.footer-logo img{width:195px}.hero-brand{width:86%}.hero-art{height:300px}.company-mark{display:none}}

/* Restore the original hero artwork; official logos remain in brand placements. */
.hero-art{justify-content:flex-start;border:0;background-image:radial-gradient(ellipse at 85% 15%,#41634d 0,transparent 50%),linear-gradient(135deg,#254c3f,#122f28)}
.hero-art .art-meta{color:#bbceab}.hero-art .art-caption{color:#c3d7b8}.hero-art .orb{border-color:#cce2bb2b}.hero-art .art-axis{background:#d2eab915}.hero-art:after{opacity:.08}

/* People photography: replaceable legacy assets, natural colors. */
.people-gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.people-gallery figure{margin:0;min-width:0}.people-gallery img{display:block;width:100%;height:310px;object-fit:cover;border-radius:4px}.culture-photos{margin-top:42px}.culture-photos figure:first-child img{object-position:50% 48%}.culture-photos figure:last-child img{object-position:35% 44%}.people-gallery figcaption{display:flex;flex-direction:column;gap:7px;margin-top:15px;font-size:14px;line-height:1.7;color:var(--ink)}.people-gallery figcaption>span{font-size:10px;letter-spacing:.09em;color:var(--teal-readable);font-weight:600}.photo-archive-note{font-size:11px!important;color:var(--muted);margin:17px 0 0;line-height:1.7}.intro .culture-heading{margin-top:32px}.career-people{margin:0 0 38px}.career-people-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #547c75;padding-top:24px;margin-bottom:22px;gap:20px}.career-people-heading>span{font-size:11px;letter-spacing:.09em;color:#b6dcd4}.career-people-heading p{margin:0;font-size:17px;line-height:1.6}.recruitment-photos{grid-template-columns:1.35fr 1fr;gap:24px}.recruitment-photos img{height:300px}.recruitment-photos figure:first-child img{object-position:50% 48%}.recruitment-photos figure:last-child img{object-position:50% 42%}.recruitment-photos figcaption{color:#e2efea}.recruitment-photos figcaption>span{color:#9ddcd2}.careers .photo-archive-note{color:#b6cfc7}
@media(max-width:1000px) and (min-width:701px){.people-gallery img{height:250px}.people-gallery{gap:18px}.people-gallery figcaption{font-size:13px}.career-people-heading p{font-size:15px}}
@media(max-width:700px){.people-gallery{grid-template-columns:1fr;gap:26px}.people-gallery img{height:auto;aspect-ratio:3/2;object-fit:cover}.culture-photos{margin-top:30px}.people-gallery figcaption{font-size:14px;margin-top:12px;gap:5px}.photo-archive-note{font-size:11px!important;margin-top:17px}.career-people{margin-bottom:30px}.career-people-heading{display:block;padding-top:23px}.career-people-heading p{font-size:16px;margin-top:12px}.recruitment-photos{gap:25px}.recruitment-photos figure:last-child img{aspect-ratio:4/3}}

/* Contact and recruitment consent */
.contact-form .consent-label{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.9}.contact-form .consent-label input{width:18px;height:18px;margin:4px 0;flex-shrink:0}.form-purpose,.form-recipient{font-size:13px;margin:0}.contact-form .form-recipient{color:var(--muted)}#job-apply{margin-bottom:18px}.privacy-content{max-width:880px;margin:auto}.privacy-content h1{font-size:32px}.privacy-content h2{font-size:22px;margin-top:36px}.privacy-content li{line-height:1.9;margin-bottom:8px}

/* Footer: primary navigation above, policies and copyright below. */
.site-footer{grid-template-columns:minmax(260px,1fr) auto;column-gap:48px;row-gap:0;padding-top:48px;padding-bottom:26px}
.site-footer .footer-brand{min-width:0}
.site-footer .footer-brand p{margin-top:20px;margin-bottom:0;line-height:1.8}
.site-footer .footer-main-links{align-items:center;gap:32px;padding-top:18px;flex-wrap:wrap}
.site-footer .footer-main-links a,.site-footer .footer-main-links button{white-space:nowrap;font-size:14px;line-height:1.8}
.site-footer .footer-main-links button span{margin-left:8px}
.site-footer .footer-bottom{align-items:center;gap:24px;margin-top:36px;padding-top:24px;letter-spacing:.025em;font-size:11px;line-height:1.8}
.site-footer .footer-bottom small{white-space:nowrap}
.footer-policy-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 28px;font-size:12px;letter-spacing:0}
.footer-policy-links a{white-space:nowrap;text-underline-offset:4px}
.site-footer a:hover,.site-footer button:hover{color:#127d78;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.site-footer{grid-template-columns:1fr;row-gap:28px}.site-footer .footer-main-links{justify-content:flex-start;padding-top:0}.site-footer .footer-bottom{margin-top:4px}}
@media(max-width:600px){.site-footer{padding-top:36px;padding-bottom:24px;row-gap:26px}.site-footer .footer-main-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;justify-items:start}.site-footer .footer-main-links a,.site-footer .footer-main-links button{font-size:13px}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:20px;padding-top:22px}.footer-policy-links{order:-1;flex-direction:column;align-items:flex-start;gap:12px;font-size:12px}.site-footer .footer-brand p{font-size:9px;letter-spacing:.06em}}

/* Prominent shared employment conditions disclosure */
.employment-panel{background:#F0FAF9;border:1px solid #a9ded9;border-left:4px solid #19BFB7;border-radius:8px;overflow:hidden}
.employment-panel>summary{padding:26px 30px;gap:24px;transition:background .18s ease}
.employment-panel>summary:hover{background:#e1f5f2}
.employment-panel>summary:focus-visible{outline:3px solid #127d78;outline-offset:-4px}
.employment-label{display:flex;flex-direction:column;gap:7px;min-width:0}
.employment-eyebrow{color:#127d78;font-size:10px;letter-spacing:.12em;line-height:1.5}
.employment-title{font-size:21px;line-height:1.6;color:#183e35}
.employment-description{font-size:13px;line-height:1.8;font-weight:400;color:#516c68}
.employment-action{display:flex;align-items:center;gap:15px;flex-shrink:0;color:#127d78;font-size:13px}
.employment-action .plus{display:flex;justify-content:center;align-items:center;width:42px;height:42px;border-radius:50%;background:#19BFB7;color:#fff;font-size:26px;line-height:1}
.employment-panel .when-open{display:none}
.employment-panel[open] .when-open{display:inline}
.employment-panel[open] .when-closed{display:none}
.employment-panel>.conditions-content{background:#fff;padding:8px 30px 24px;border-top:1px solid #c8e8e4}
@media(max-width:600px){.employment-panel>summary{padding:21px 18px;gap:12px}.employment-title{font-size:18px}.employment-description{font-size:12px}.employment-action>span:not(.plus){display:none}.employment-action .plus{width:34px;height:34px;font-size:23px}.employment-panel>.conditions-content{padding:6px 18px 20px}}

.support-photos{margin:34px 0 42px}.support-photos img{width:100%;height:290px;object-fit:cover;object-position:center 55%}.support-photos figure{min-width:0}@media(max-width:700px){.support-photos{margin:28px 0 34px}.support-photos img{height:auto;aspect-ratio:3/2;object-fit:cover}}

/* Contact invitation with existing meeting-space photography. */
.contact-with-photo{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-block:64px}
.contact-with-photo>.contact-copy{display:block;margin:0}
.contact-copy>.eyebrow{color:#127d78;font-size:11px;letter-spacing:.08em;margin-bottom:26px}
.contact-with-photo h2{margin:0 0 24px}
.contact-with-photo p{max-width:none;line-height:1.9;margin-bottom:26px}
.contact-with-photo .contact-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;width:auto;height:auto;min-width:240px;padding:17px 22px;border:1px solid #183e35;border-radius:3px;background:#183e35;color:white;font-size:15px;font-weight:600;line-height:1.5}
.contact-with-photo .contact-cta span{font-size:23px;line-height:1}
.contact-with-photo .contact-cta:hover{background:#127d78;border-color:#127d78;color:white}
.contact-photo{margin:0;min-width:0;border-radius:6px;overflow:hidden}
.contact-photo img{display:block;width:100%;height:360px;object-fit:cover;object-position:center}
@media(max-width:700px){.contact-with-photo{grid-template-columns:1fr;gap:32px;padding-block:42px}.contact-photo img{height:auto;aspect-ratio:3/2}.contact-copy>.eyebrow{margin-bottom:22px}.contact-with-photo .contact-cta{min-width:0;width:100%;font-size:14px}.contact-with-photo h2{margin-bottom:18px}}

.contact-photo img{height:auto;aspect-ratio:1512/1040;object-fit:cover}

.contact-form .form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}button:disabled{cursor:wait;opacity:.65}
