[hidden]{display:none!important}
.appear{opacity:1!important;animation:none!important}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body,.StudioCanvas .sd:not(.icon),.StudioCanvas :where(h1,h2,h3,h4,p,a,button,input,textarea,select,li,time):not(.icon),.tokuiten-news,.news-detail,.news-detail :where(div,span,nav,header,footer),.media-marquee{font-family:var(--font-text)!important}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
button:disabled{opacity:.55;cursor:wait}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.turnstile-container{margin:24px 0;max-width:100%}
#contact-status{line-height:1.8;max-width:100%;margin:16px 0;color:#28512d}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6d943e;outline-offset:4px}
/* Keep the original page backgrounds and give CMS cards the same visual frame. */
.news-list-section{padding:48px 0 88px!important}
.news-list-content,.home-news-content{width:calc(100% - var(--gutter)*2)!important;max-width:var(--width-wide)!important;flex:none!important;margin-inline:auto!important;padding:0!important}
.home-news-content{margin-top:40px!important;margin-bottom:40px!important}
.tokuiten-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;width:100%;box-sizing:border-box}
.tokuiten-news article{min-width:0;box-sizing:border-box;overflow:hidden}
.tokuiten-news a{display:block;height:100%;box-sizing:border-box;padding:12px;color:var(--ink);text-decoration:none;border:1px solid #e9ede344;border-radius:var(--radius-card);transition:background .2s,border-color .2s}
.tokuiten-news a:hover{border-color:#b7cc98;background:#fcfdf9}
.news-thumbnail{aspect-ratio:1200/630;overflow:hidden;border-radius:7px;background:#f4f5f2}
.news-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.news-thumbnail.is-logo img{object-fit:contain;padding:12% 24%;box-sizing:border-box;background:#f5f5f5}
.tokuiten-news a:hover .news-thumbnail:not(.is-logo) img{transform:scale(1.025)}
.news-image-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--brand);font-size:32px;font-weight:var(--weight-heading)}
.news-card-copy{padding:4px 4px 12px}
.news-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 12px;font-size:var(--text-caption);line-height:1.6}
.news-category{display:inline-flex;align-items:center;border-radius:99px;background:#8baa52;color:white;padding:4px 12px;font-size:11px;font-weight:var(--weight-label);letter-spacing:.04em;line-height:1.6}
.news-meta time,.article-meta time{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.05em;white-space:nowrap}
.tokuiten-news h3{margin:0;font-size:var(--text-body);line-height:1.85;letter-spacing:.015em;font-weight:var(--weight-label);text-align:left;word-break:normal;overflow-wrap:anywhere;line-break:strict}
.news-external{display:inline-block;margin-left:6px;color:#718747;font-size:var(--text-body)}
.news-pagination{display:flex;justify-content:center;gap:16px;padding:48px 0 0;width:100%;box-sizing:border-box}


/* Article typography is independent of STUDIO's fixed-width text styles. */
.news-detail{width:calc(100% - var(--gutter)*2);max-width:var(--width-reading);margin:0 auto;padding:40px 0 96px;box-sizing:border-box;text-align:left}
.article-breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:52px;font-size:var(--text-caption);color:#9ba197;line-height:1.6}
.article-breadcrumb a{color:var(--muted);text-decoration:none}
.article-breadcrumb a:hover{color:#527435}
.article-header{display:block;padding:0 0 36px;margin:0;border-bottom:1px solid #e4e9dd}
.article-meta{display:flex;align-items:center;gap:20px;margin-bottom:22px;font-size:var(--text-caption)}
.article-header h1{margin:0;color:var(--color-ink);font-size:clamp(26px,2.5vw,36px);font-weight:var(--weight-heading);line-height:1.65;letter-spacing:.025em;text-align:left;line-break:strict;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
.article-body{max-width:var(--width-prose);margin:44px auto 64px;font-size:var(--text-body);line-height:2.1;letter-spacing:.025em;color:#343d35;overflow-wrap:anywhere;text-align:left}
.article-body>:first-child{margin-top:0}
.article-body p{margin:0 0 1.6em;font-size:inherit;line-height:inherit}
.article-body h2{margin:2.4em 0 1em;padding:0 0 .55em;border-bottom:2px solid #b4cb8c;font-size:25px;line-height:1.7;letter-spacing:.025em;font-weight:var(--weight-heading);color:var(--color-ink)}
.article-body h3{margin:2em 0 .8em;font-size:20px;line-height:1.8;font-weight:var(--weight-heading);color:var(--color-ink)}
.article-body h4{margin:1.8em 0 .75em;font-size:17px;line-height:1.8;font-weight:var(--weight-heading)}
.article-body strong{font-weight:var(--weight-heading)}
.article-body a{color:#50752f;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.article-body a:hover{color:#30491d}
.article-body ul,.article-body ol{padding-left:1.6em;margin:1em 0 1.8em}
.article-body ul{list-style:disc}
.article-body ol{list-style:decimal}
.article-body li{padding-left:.2em;margin:.4em 0;line-height:1.95}
.article-body li p{margin-bottom:.4em}
.article-body img{display:block;max-width:100%;height:auto;border-radius:var(--radius-control);margin:28px auto}
.article-body figure{margin:32px 0}
.article-body figcaption{font-size:var(--text-caption);color:var(--muted);text-align:center;line-height:1.8}
.article-body blockquote{border-left:3px solid #a4be7c;margin:28px 0;padding:16px 24px;background:#f6f8f1}
.article-body blockquote p:last-child{margin:0}
.richText table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;font-size:var(--text-small);line-height:1.9;margin:24px 0}
.richText th,.richText td{border:1px solid #dce3d4;padding:12px 16px;text-align:left;min-width:100px}
.richText th{background:#f4f7ee;font-weight:var(--weight-label)}
.article-body .emdash-table-wrapper{max-width:100%;overflow-x:auto;margin:28px 0;overscroll-behavior-inline:contain}
.article-body .emdash-table{display:table;width:100%;margin:0;overflow:visible;font-size:var(--text-small);line-height:1.85}
.article-body .emdash-table :is(th,td){padding:14px 16px;vertical-align:top;overflow-wrap:anywhere}
.article-body .emdash-table :is(th,td) p{margin:0;font-size:inherit;line-height:1.85}
.article-body .emdash-table:has(tr:first-child>:nth-child(2):last-child){table-layout:fixed}
.article-body .emdash-table:has(tr:first-child>:nth-child(2):last-child) :is(th,td):first-child{width:28%}
.richText pre{overflow:auto;background:#f5f6f3;padding:20px;border-radius:6px}
.richText img{max-width:100%;height:auto}
.article-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #e4e9dd;padding-top:32px}
.back-to-news{display:inline-flex;align-items:center;gap:12px;color:#3d5430;text-decoration:none;font-size:var(--text-small);font-weight:var(--weight-label);line-height:1.8}
.back-to-news:hover{text-decoration:underline;text-underline-offset:5px}
.article-share{display:flex;align-items:center;gap:16px;font-size:var(--text-caption);color:var(--muted)}
.article-share>span{font-size:10px;letter-spacing:.12em}
.article-share a{color:#596652;text-decoration:none;border-bottom:1px solid #d3dcca;padding:6px 0}
/* Two identical groups make a continuous media strip without carousel runtime. */
.home-media{max-width:100%!important;overflow:hidden;padding-bottom:24px!important;margin-bottom:32px!important}
.media-marquee{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:40px}
.media-window{width:100%;max-width:1440px;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.media-track{display:flex;width:max-content;animation:media-scroll 63s linear infinite;will-change:transform}
.media-group{display:flex;flex:none;gap:24px;padding-right:24px}
.media-logo{flex:none;width:280px;height:160px;box-sizing:border-box;overflow:hidden}
.media-logo img{width:100%;height:100%;object-fit:contain;display:block}
@keyframes media-scroll{to{transform:translateX(-50%)}}
/* Mobile navigation slides in from the right edge. */
html:has(#mobile-menu[open]){overflow:hidden}
#mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;border:0;border-radius:0;padding:20px 28px max(28px,env(safe-area-inset-bottom));width:min(380px,calc(100vw - 36px));max-width:none;height:100dvh;max-height:100dvh;box-shadow:-16px 0 48px #2630271a;box-sizing:border-box;background:var(--color-surface);color:var(--ink);font-family:var(--font-text);overflow-y:auto;overscroll-behavior:contain}
#mobile-menu[open]{animation:menu-sheet-in .26s cubic-bezier(.2,.8,.2,1) both}
#mobile-menu[open].is-closing{animation:menu-sheet-out .2s ease-in both;pointer-events:none}
#mobile-menu::backdrop{background:#17201655}
#mobile-menu[open]::backdrop{animation:menu-backdrop-in .26s ease-out both}
#mobile-menu[open].is-closing::backdrop{animation:menu-backdrop-out .2s ease-in both}
#mobile-menu nav{display:flex;flex-direction:column;gap:0;margin-top:20px;clear:both}
#mobile-menu a{display:block;color:var(--ink);padding:14px 0;text-decoration:none;border-bottom:1px solid #e9ede4;font-size:var(--text-body);line-height:1.8}
#mobile-menu a:hover{color:#5a793c}
#mobile-menu button{display:flex;align-items:center;justify-content:center;min-height:44px;margin-left:auto;font:inherit;font-size:var(--text-small);padding:8px;cursor:pointer;background:transparent;color:var(--ink);border:0}
@keyframes menu-sheet-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes menu-sheet-out{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes menu-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes menu-backdrop-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){#mobile-menu[open],#mobile-menu[open]::backdrop{animation:none!important}}
@media(max-width:900px){.tokuiten-news{grid-template-columns:repeat(2,minmax(0,1fr))}.news-detail{max-width:800px}.article-header h1{font-size:30px}.article-breadcrumb{margin-bottom:36px}}
@media(max-width:600px){.news-list-section{padding:28px 0 56px!important}.news-list-content,.home-news-content{width:calc(100% - 40px)!important}.tokuiten-news{grid-template-columns:1fr;gap:20px}.tokuiten-news a{padding:10px}.news-card-copy{padding:2px 5px 10px}.tokuiten-news h3{font-size:var(--text-body);line-height:1.85}.news-meta{margin-top:14px}.news-detail{width:calc(100% - 40px);padding:24px 0 64px}.article-breadcrumb{font-size:11px;gap:10px;margin-bottom:32px}.article-meta{margin-bottom:18px;gap:16px;font-size:var(--text-caption)}.article-header{padding-bottom:28px}.article-header h1{font-size:25px;line-height:1.7;letter-spacing:.015em}.article-body{font-size:var(--text-body);line-height:2.05;margin:32px 0 44px;letter-spacing:.02em}.article-body h2{font-size:21px}.article-body h3{font-size:var(--text-small-title)}.article-footer{align-items:flex-start;flex-direction:column;gap:24px;padding-top:28px}.media-marquee{margin-top:28px}.media-logo{width:220px;height:136px}.media-group{gap:16px;padding-right:16px}.turnstile-container{transform-origin:left center;max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.media-track{animation:none;transform:none;will-change:auto}.media-window{overflow-x:auto;mask-image:none}.media-group:nth-child(2),.media-group .media-logo[aria-hidden=true]{display:none!important}}
@media(max-width:600px){.home-news-content{margin-top:32px!important;margin-bottom:32px!important}.home-media{margin-bottom:24px!important}}
/* Match the form to the site's calmer reading width and shared type scale. */
.page-contact .contact-intro,.page-contact .contact-panel{width:calc(100% - var(--gutter)*2)!important;max-width:var(--width-reading)!important;margin-inline:auto!important;box-sizing:border-box}
.page-contact .contact-intro{padding:0!important;margin-bottom:28px!important;line-height:1.9!important}
.page-contact .contact-intro p{line-height:1.9!important;font-size:var(--text-body)!important}
.page-contact .contact-panel{padding:40px!important;border-radius:var(--radius-card)}
#contact-form{width:100%!important;max-width:100%!important}
#contact-form input:not([type=checkbox]),#contact-form textarea,#contact-form select{border:1px solid var(--color-border)!important;border-radius:6px!important;font-size:var(--text-body)!important;line-height:1.8!important;transition:border-color .2s,box-shadow .2s}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#929a8e!important;opacity:1}
#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus{border-color:#8ea968!important;box-shadow:0 0 0 3px #9bbf6222}
#contact-form .contact-submit{margin:24px auto 0;align-self:center;box-sizing:border-box}
#contact-form .contact-submit p{margin:0}
.article-meta{line-height:1.6}
.article-meta time{line-height:1.6}
@media(max-width:600px){.page-contact .contact-intro,.page-contact .contact-panel{width:calc(100% - 40px)!important}.page-contact .contact-panel{padding:24px 20px!important}.page-contact .contact-intro p{font-size:var(--text-small)!important}}
.page-contact .contact-content{padding-inline:0!important;max-width:100%!important}
@media(max-width:600px){.page-contact .contact-panel{padding-inline:16px!important}}
.paper-entry{display:grid;grid-template-columns:88px minmax(0,1fr);gap:32px;width:calc(100% - var(--gutter)*2);max-width:var(--width-reading);margin:0 auto;padding:36px 0;border-top:1px solid var(--color-border);box-sizing:border-box;text-align:left}
.paper-year{margin:0;color:#547439;font-size:26px;font-weight:var(--weight-label);line-height:1.6;letter-spacing:.04em}
.paper-detail{min-width:0}
.paper-authors{margin:0 0 12px;font-size:var(--text-small);line-height:1.9;color:#6b7466;letter-spacing:.02em}
.paper-title{margin:0 0 12px;font-size:var(--text-small-title);font-weight:var(--weight-label);line-height:1.85;letter-spacing:.02em;color:var(--color-ink);line-break:strict}
.paper-citation{margin:0;font-size:var(--text-caption);line-height:1.9;color:#6b7466;letter-spacing:.02em}
.paper-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.paper-download{gap:16px}
.paper-download:after{content:'↓'}
@media(max-width:600px){.paper-entry{grid-template-columns:1fr;gap:16px;width:calc(100% - 40px);padding:28px 0}.paper-year{font-size:var(--text-subtitle)}.paper-title{font-size:17px;line-height:1.9}.paper-authors,.paper-citation{font-size:var(--text-caption)}.paper-downloads{gap:10px}}
.page-typography [hidden]{display:none!important}
.page-recruit .faq-item{max-width:880px!important;margin-inline:auto!important;border-bottom:1px solid #e1e7d9;padding-block:0!important}
.page-recruit .faq-question{width:100%!important;height:auto!important;min-height:76px!important;padding:20px 0!important}
.page-recruit .faq-answer{height:auto!important;padding:0 0 24px!important}
.page-about .profile-role{font-size:var(--text-caption)!important;font-weight:var(--weight-label)!important;line-height:1.9!important;letter-spacing:.04em!important;color:#6c765f!important}
.page-about .profile-name{display:block!important;height:auto!important;margin-top:8px!important;font-size:var(--text-subtitle)!important;font-weight:var(--weight-label)!important;line-height:1.7!important;letter-spacing:.035em!important}
.page-about .profile-name-latin{display:block;margin-top:4px;font-size:var(--text-caption);font-weight:var(--weight-body);line-height:1.8;letter-spacing:.04em;color:#6c765f}
.page-academic-resources .academic-intro{width:calc(100% - 40px)!important;max-width:var(--width-reading)!important;margin-inline:auto!important;line-height:2!important}
@media(max-width:600px){.page-academic-resources .academic-content{padding-inline:0!important}.page-about .profile-name{font-size:23px!important}}
.page-recruit .faq-list{width:100%!important;max-width:880px!important;margin-inline:auto!important}
.page-recruit .faq-item{width:100%!important;padding-inline:0!important;box-sizing:border-box}
@media(max-width:600px){.page-recruit .faq-content{padding-inline:20px!important}}
/* History rows use one shared style, including long entries. */
.page-about .history-list{display:block!important;width:100%!important}
.page-about .history-row{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;gap:32px!important;align-items:start!important;width:100%!important;padding:20px 0!important;box-sizing:border-box}
.page-about .history-row>div{display:block!important;width:100%!important;max-width:none!important;height:auto!important;padding:0!important;box-sizing:border-box}
.page-about .history-date,.page-about .history-copy{display:block!important;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;text-align:left!important;font-size:var(--text-body)!important;font-weight:var(--weight-label)!important;line-height:1.9!important;letter-spacing:.02em!important;overflow-wrap:anywhere}
.page-about .history-date{font-weight:var(--weight-label)!important}
@media(max-width:600px){.page-about .history-row{grid-template-columns:1fr!important;gap:8px!important;padding:20px 0!important}.page-about .history-date,.page-about .history-copy{font-size:var(--text-body)!important;line-height:1.95!important}}




/* Optical logo sizing accounts for each asset's ink density and empty margins. */
.media-logo{display:flex;align-items:center;justify-content:center;padding:18px;--logo-scale:1}
.media-logo img{width:min(100%,calc(var(--logo-width,200px)*var(--logo-scale)));height:auto;max-height:96px;object-fit:contain;padding:0;box-sizing:content-box}
@media(max-width:600px){.media-logo{--logo-scale:.8}.media-logo img{max-height:80px}}
/* Shared header switches before the navigation can collide with the brand. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;height:80px;min-height:80px;padding:0 var(--gutter);box-sizing:border-box;background:var(--color-surface);position:relative;z-index:30;flex:none}
.site-brand{display:flex;align-items:center;flex:0 0 180px;width:180px;text-decoration:none}
.site-brand img{display:block;width:100%;height:auto;object-fit:contain}
.site-navigation{display:flex;align-items:center;gap:24px;flex:none;white-space:nowrap}
.site-navigation>a,.site-service-nav>button{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin:0;padding:0;border:0;background:none;color:var(--color-ink);font-family:var(--font-text);font-size:var(--text-small);font-weight:var(--weight-label);line-height:1.6;letter-spacing:.02em;text-decoration:none;cursor:pointer}
.site-navigation>a:hover,.site-service-nav>button:hover{color:#6c8c45}
.site-service-nav{position:relative}
.site-services-menu{position:absolute;top:calc(100% + 12px);left:-16px;width:245px;padding:10px;border:1px solid #e1e7d9;border-radius:var(--radius-control);background:var(--color-surface);box-shadow:0 8px 24px #26302712;box-sizing:border-box}
.site-services-menu a{display:block;padding:12px;color:var(--color-ink);font-size:var(--text-small);font-weight:var(--weight-label);line-height:1.8;text-decoration:none;border-radius:4px}
.site-services-menu a:hover{background:#f3f7ec}
.site-menu-toggle{display:none;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:10px;border:0;border-radius:6px;background:transparent;color:var(--color-ink);cursor:pointer}
@media(max-width:1100px){.site-header{height:72px;min-height:72px;padding-inline:var(--gutter);gap:20px}.site-brand{flex-basis:170px;width:170px}.site-navigation{display:none}.site-menu-toggle{display:inline-flex}}
@media(max-width:380px){.site-brand{flex-basis:156px;width:156px}}
/* Recruitment sections use readable text and a clear, restrained link hierarchy. */
.recruit-section{width:100%;padding:80px 0;box-sizing:border-box;flex:none}
.recruit-container{width:calc(100% - var(--gutter)*2);max-width:var(--width-wide);margin:0 auto;box-sizing:border-box}
.recruit-section-heading{text-align:center;margin:0 0 36px}
.recruit-section-heading .type-eyebrow{color:#88a957}
.recruit-section-heading h2{margin:0;color:var(--color-ink)}
.recruit-description{max-width:760px;margin:24px auto 0;font-size:var(--text-body);font-weight:var(--weight-body);line-height:2.05;letter-spacing:.02em;color:#525c4d}
.company-deck-frame{width:100%;aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:#f3f6ee;box-sizing:border-box}
.company-deck-frame iframe{display:block;width:100%;height:100%;border:0}
.company-deck-link{margin:16px 0 0;text-align:right;font-size:var(--text-caption);line-height:1.8}
.company-deck-link a{color:#687c50;text-decoration:none}
.company-deck-link a:hover{text-decoration:underline;text-underline-offset:4px}
.recruit-briefing{padding-top:0}
.briefing-panel{max-width:var(--width-reading);margin:0 auto;padding:48px;background:var(--color-surface-soft);border-radius:16px;box-sizing:border-box}
.briefing-panel .recruit-section-heading{margin-bottom:24px}
.briefing-copy{max-width:720px;margin:auto;text-align:left;font-size:var(--text-body);line-height:2.05;letter-spacing:.02em;color:#46523c}
.briefing-copy p{margin:0 0 1em;font:inherit;letter-spacing:inherit;color:inherit}
.briefing-copy p:last-child{margin-bottom:0}
.briefing-actions{display:flex;justify-content:center;margin-top:32px}
.recruit-cta{gap:32px;box-sizing:border-box}
.recruit-positions{background:var(--color-surface-soft)}
.recruit-positions .recruit-section-heading{margin-bottom:16px}
.positions-note{max-width:760px;margin:0 auto 36px;text-align:center;font-size:var(--text-caption);line-height:1.95;color:#6b7463;letter-spacing:.015em}
.position-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.position-card{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:126px;padding:26px 28px;text-align:left;box-sizing:border-box}
.position-card h3{margin:0;font-size:var(--text-small-title);font-weight:var(--weight-label);line-height:1.8;letter-spacing:.02em;line-break:strict}
.position-tag{display:block;margin-bottom:8px;color:#6f8650;font-size:11px;font-weight:var(--weight-label);line-height:1.7;letter-spacing:.025em}
.recruit-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.recruit-media-link{display:block;padding:28px 0;border-bottom:1px solid #dfe6d6;text-decoration:none;color:var(--color-ink)}
.recruit-media-title{display:flex;align-items:center;justify-content:space-between;gap:20px}
.recruit-media-title h3,.recruit-newsletter h3{margin:0;font-size:var(--text-small-title);line-height:1.8;font-weight:var(--weight-label);letter-spacing:.02em}
.recruit-media-link p,.recruit-newsletter p{margin:12px 0 0;font-size:var(--text-small);line-height:1.95;letter-spacing:.02em;color:#687260}
.recruit-media-link:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a8c286;text-decoration-thickness:1px}
.recruit-newsletter{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:36px;padding:28px 32px;border-radius:var(--radius-card);background:#f3f7ec;color:var(--color-ink);text-decoration:none;box-sizing:border-box}
.newsletter-action{display:inline-flex;align-items:center;gap:18px;flex:none;color:#597635;font-size:var(--text-small);font-weight:var(--weight-label);line-height:1.8;white-space:nowrap}
.recruit-newsletter:hover{background:#edf3e2}
@media(max-width:700px){.recruit-section{padding:56px 0}.recruit-container{width:calc(100% - 40px)}.recruit-section-heading{margin-bottom:28px}.recruit-description{font-size:var(--text-body);line-height:2;margin-top:20px;text-align:left}.recruit-briefing{padding-top:0}.briefing-panel{padding:32px 24px;border-radius:var(--radius-card)}.briefing-copy{font-size:var(--text-body);line-height:2}.briefing-actions{margin-top:26px}.recruit-cta{gap:24px}.position-grid{grid-template-columns:1fr;gap:14px}.position-card{min-height:104px;padding:22px}.position-card h3{font-size:17px}.positions-note{text-align:left;font-size:var(--text-caption);margin-bottom:28px}.recruit-media-grid{grid-template-columns:1fr}.recruit-media-link{padding:24px 0}.recruit-media-title h3,.recruit-newsletter h3{font-size:17px}.recruit-newsletter{align-items:flex-start;flex-direction:column;padding:24px;gap:20px;margin-top:28px}.company-deck-link{font-size:11px}}
/* Group footer links by purpose, with consistent alignment at every width. */
.site-footer{width:100%;flex:none;background:var(--color-surface-soft);color:var(--color-ink);padding:64px 0 28px;box-sizing:border-box;font-family:var(--font-text)}
.site-footer-inner{width:calc(100% - var(--gutter)*2);max-width:var(--width-wide);margin:0 auto}
.site-footer-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:80px}
.site-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.site-footer-brand img{display:block;width:180px;height:auto}
.site-footer a{color:inherit;text-decoration:none;font-size:var(--text-small);font-weight:var(--weight-body);line-height:1.85;letter-spacing:.015em}
.site-footer a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.site-footer a.site-footer-contact{font-size:var(--text-caption);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#c2cdb7}
.site-footer-nav{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:40px}
.site-footer-group h2{margin:0 0 20px;font-size:var(--text-caption);font-weight:var(--weight-label);line-height:1.8;letter-spacing:.04em;color:#7b866e}
.site-footer-group ul{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}
.site-footer-group li{margin:0;padding:0}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:52px;padding-top:24px;border-top:1px solid #dfe5d8}
.site-footer-bottom a,.site-footer-bottom small{font-size:11px;line-height:1.8;font-weight:var(--weight-body);color:#7b846f;letter-spacing:.015em}
@media(max-width:1000px){.site-footer-main{grid-template-columns:1fr;gap:40px}.site-footer-brand{flex-direction:row;align-items:center;justify-content:space-between}.site-footer-nav{gap:32px}}
@media(max-width:700px){.site-footer{padding:40px 0 24px}.site-footer-inner{width:calc(100% - 40px)}.site-footer-brand img{width:150px}.site-footer-main{gap:32px}.site-footer-nav{grid-template-columns:1fr;gap:0}.site-footer-group{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid #dfe5d8}.site-footer-group h2{margin:2px 0 0}.site-footer-group ul{gap:12px}.site-footer a{font-size:var(--text-caption)}.site-footer-bottom{margin-top:8px;align-items:flex-start;flex-direction:column;gap:12px;padding-top:20px}.site-footer-bottom a,.site-footer-bottom small{font-size:11px}}

/* Founder message spacing: align the accent with the inset profile text. */
.page-about .message-section-heading{margin-bottom:36px!important}
.page-about .founder-profile-heading{width:100%!important;align-items:flex-start!important}
.page-about .founder-profile-heading :is(.profile-role,.profile-name){margin-left:0!important;max-width:100%!important}
.page-about .founder-profile-accent{align-self:flex-start!important;margin:16px 0 24px!important}
@media(max-width:600px){
  .page-about .message-section-heading{margin-bottom:28px!important}
  .page-about .message-surface{padding:24px 12px 20px!important;box-sizing:border-box}
  .page-about .founder-profile-card{width:100%!important;max-width:100%!important;padding:24px 20px 20px!important;box-sizing:border-box}
  .page-about .founder-profile-copy{padding:0!important}
}

/* Reduce founder portraits on phones; retain the original desktop dimensions. */
@media(max-width:540px){.page-about .founder-profile-photo{width:50%!important;height:auto!important;aspect-ratio:230/265;flex:none!important;align-self:center!important;margin-inline:auto!important}}

/* Page layout; type roles are defined in design-system.css. */
.page-typography .message-prose{width:100%!important;max-width:var(--width-prose)!important;margin:var(--space-40) auto 0!important;box-sizing:border-box}
.page-privacy .legal-section{width:100%!important;max-width:var(--width-prose)!important;margin-inline:auto!important;align-items:flex-start!important;box-sizing:border-box}
.page-privacy .legal-section .type-body{width:100%!important;max-width:none!important;margin-inline:0!important}
@media(max-width:600px){.page-typography .message-prose{margin-top:var(--space-24)!important}.article-body .emdash-table :is(th,td){padding:12px;font-size:var(--text-small)}}
