/* Shared readable type scale for the company site and invitation page. */
:root{--muted:#4f6175;--line:#d8e1eb}
body{font-size:18px;line-height:1.65}
h1,h2,h3{letter-spacing:-.035em;overflow-wrap:break-word}
h2{line-height:1.16}h3{line-height:1.25}
.wrap{width:min(1200px,calc(100% - 80px))}
.preview{font-size:14px;padding:10px 20px;line-height:1.5}
.header{height:auto;min-height:110px;gap:24px;padding-block:24px}
.header nav{gap:22px;font-size:15px;line-height:1.4}
.header nav a{padding-block:12px}
.brand{font-size:17px}.brand small{font-size:12px;letter-spacing:0}
.button,.button.small{font-size:16px;min-height:52px;padding:14px 22px;gap:18px;line-height:1.4}
.text-link{font-size:16px;line-height:1.5;min-height:44px;padding-block:10px;text-underline-offset:5px}
.text-link:hover{text-decoration:underline}
.hero{gap:55px;padding-block:40px 64px}.hero .lead{max-width:510px}
.lead{font-size:19px;line-height:1.65}
.eyebrow{font-size:13px;letter-spacing:.12em;margin-bottom:22px}
.fine,.section-note,.partners .fine,.contact .fine{font-size:14px;line-height:1.6}
.section-note{max-width:900px;margin-top:24px}
.principles{gap:24px;padding-block:24px}.principles div{font-size:15px;gap:14px}.principles span{font-size:13px}
.section{padding-block:80px}
.section-head{display:grid;grid-template-columns:1.4fr 1fr;column-gap:64px;align-items:end}
.section-head>.eyebrow{grid-column:1/-1}.section-head h2{margin-bottom:0}
.section-head>p:last-child{position:static;max-width:440px;font-size:18px;margin:0}
.service-grid{gap:24px;margin-top:36px}.service{padding:30px;min-height:390px}
.service h3{font-size:27px;margin-top:54px;letter-spacing:-.025em}
.service p,.steps p,.direction-list p,.partner-grid p,.portfolio-note p,details p{font-size:18px;line-height:1.65}
.service-number,.steps li>span,.direction-list article>span{font-size:14px}
.service p{margin-bottom:24px}.service-dark p{color:#d8e1eb}
.portfolio{gap:64px;margin-bottom:0}.portfolio h2{font-size:clamp(34px,3.2vw,46px)}
.portfolio-note{padding:26px;margin-top:30px}.portfolio-note h3{font-size:24px}
.portfolio-details>.fine{margin-top:24px}.portfolio .lead{font-size:19px}
.steps h3{font-size:24px;margin-bottom:12px}.steps li{padding-block:26px;gap:22px}
.directions{padding-top:60px}.directions>.muted{max-width:850px;margin-bottom:36px}
.direction-list article{grid-template-columns:30px minmax(0,1fr);gap:8px 24px;padding-block:30px}
.direction-list article>span{padding-top:5px}.direction-list h3{font-size:27px;margin-bottom:12px}
.direction-list p{max-width:790px}.direction-list a{grid-column:2;justify-self:start;padding-top:10px;color:var(--blue)}
.process-layout,.about{gap:64px}.about-copy{font-size:18px;padding-top:28px}
.about-copy .large{font-size:24px}.responsibility{font-size:17px;gap:20px}
.partners{padding-bottom:30px}.partner-grid{gap:48px}.partner-grid h3{font-size:27px;margin-bottom:16px}
.faq{gap:64px}summary{font-size:18px;line-height:1.5;padding:24px 38px 24px 0}summary:after{top:22px}
details p{padding-right:12px;margin-bottom:24px}
.contact{padding:48px;gap:40px;grid-template-columns:1.1fr 1fr}
.contact h2{font-size:40px}.contact p,.contact-panel p{font-size:18px}.contact-panel{padding:28px}
.contact-panel h3{font-size:25px}.contact-panel small{font-size:15px}
.phone{font-size:28px}.email-preview{font-size:18px;text-decoration:underline;text-underline-offset:4px}
.channel-row{flex-wrap:wrap}.contact .channel-row .button{flex:1 1 0;justify-content:center}.contact .fine{color:#c5cfda;margin-top:20px}
.footer{font-size:14px;padding-block:42px;align-items:flex-start;line-height:1.65}
.footer>div{max-width:480px}.footer>.text-link{white-space:nowrap}
.invite-main{max-width:760px;padding:42px;margin-block:28px 64px}
.invite-main h1{font-size:48px}.invite-main .lead{font-size:19px;max-width:none}
.invite-note,.invite-status{font-size:16px;line-height:1.65}.invite-main .channel-row{gap:14px}
dialog{max-width:540px;padding:32px}dialog p{font-size:17px}dialog h2{font-size:30px}
.close{min-width:44px;min-height:44px}
@media(max-width:1120px){
 .header{flex-wrap:wrap}.header nav{order:3;width:100%;justify-content:center;gap:32px;border-top:1px solid var(--line);padding-top:8px}
 .header .button{display:inline-flex}.hero{gap:32px}.hero h1{font-size:60px}
 .service-grid{gap:18px}.service{padding:24px}.service h3{font-size:25px}
 .contact{grid-template-columns:1fr 1fr;padding:34px;gap:24px}.contact-panel{padding:24px}
}
@media(min-width:721px) and (max-width:980px){
 .hero{grid-template-columns:1fr 1fr;gap:24px}.hero h1{font-size:46px}.hero-art{height:500px}
 .hero .lead{font-size:18px}.service-grid{grid-template-columns:1fr 1fr}.service-dark{grid-column:1/-1;min-height:0}.service-dark h3{margin-top:35px}.service-dark p{max-width:700px}
 .portfolio,.process-layout,.about,.faq{gap:32px}.portfolio h2{font-size:34px}.contact{grid-template-columns:1fr}.contact-panel{max-width:600px;width:100%}
 .footer{flex-wrap:wrap}.footer>div{max-width:440px}
}
@media(max-width:720px){
 body{font-size:17px}.wrap{width:calc(100% - 40px)}
 .preview{font-size:13px;padding:10px 16px}.preview a{margin-top:4px}
 .header{min-height:0;padding-block:20px;gap:16px}.brand{font-size:15px;gap:9px}.brand small{font-size:11px}.mark{font-size:38px}
 .header .button{font-size:14px;padding:12px 14px;min-height:46px}.header nav{display:flex;justify-content:flex-start;gap:6px 20px;flex-wrap:wrap;font-size:15px;padding-top:12px}.header nav a{padding-block:6px}
 .hero{padding-block:28px 40px;gap:30px}.hero h1{font-size:clamp(40px,10.8vw,52px);line-height:1.08}
 .lead,.portfolio .lead{font-size:18px}.eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:20px}
 .hero-art{height:380px}.art-caption{font-size:10px}.art-bottom{font-size:9px;letter-spacing:.08em}
 .actions{gap:10px 22px}.button,.button.small{font-size:16px;min-height:50px}.text-link{font-size:16px}
 .fine,.section-note,.partners .fine,.contact .fine{font-size:14px}
 .principles{grid-template-columns:1fr;gap:14px;padding-block:22px}.principles div{font-size:15px}.principles span{font-size:13px}
 .section{padding-block:56px}.section-head{display:block}.section-head h2{margin-bottom:20px}.section-head>p:last-child{font-size:17px}
 h2,.section-head h2,.portfolio h2{font-size:34px;line-height:1.18}
 .service-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.service{min-height:0;padding:28px}.service h3{font-size:26px;margin-top:42px}.service p{font-size:17px}.service a{margin-top:0}
 .portfolio{grid-template-columns:1fr;gap:36px;margin-bottom:0}.portfolio-note{padding:24px}.portfolio-note p{font-size:17px}
 .steps h3{font-size:23px}.steps p{font-size:17px}.steps li{gap:16px;padding-block:24px}
 .directions{padding-top:40px}.directions>.muted{margin-bottom:26px}.direction-list article{grid-template-columns:22px minmax(0,1fr);column-gap:12px;padding-block:26px}.direction-list h3{font-size:24px}.direction-list p{font-size:17px}
 .process-layout,.about,.faq,.contact{grid-template-columns:1fr;gap:30px}.about-copy{padding-top:0;font-size:17px}.about-copy .large{font-size:22px}.responsibility{font-size:16px}
 .partner-grid{grid-template-columns:1fr;gap:8px}.partner-grid h3{font-size:25px}.partner-grid p{font-size:17px}.partners{padding-bottom:8px}
 summary{font-size:18px;padding-block:22px}details p{font-size:17px}.faq h2{margin-bottom:0}
 .contact{padding:32px 22px;width:calc(100% - 24px);gap:24px}.contact h2{font-size:33px}.contact p,.contact-panel p{font-size:17px}.contact-panel{padding:22px 18px}.contact-panel h3{font-size:24px}.contact-panel small{font-size:14px}.phone{font-size:26px}.email-preview{font-size:17px}
 .contact .channel-row .button{flex:1;padding-inline:14px}.footer{gap:24px;font-size:14px;padding-block:32px}.footer>.text-link{font-size:15px}.footer>div{max-width:100%}
 .invite-main{margin:12px 16px 40px;padding:28px 22px}.invite-main h1{font-size:38px}.invite-main .lead{font-size:18px}.invite-main .channel-row{flex-direction:column}.invite-note,.invite-status{font-size:15px}
 dialog{padding:24px}dialog p{font-size:17px}
}
@media(max-width:380px){.header>.button{width:100%}.brand small{font-size:11px}.contact .channel-row{flex-direction:column}.hero h1{font-size:40px}.phone{font-size:24px}}
