@charset "UTF-8";
/* Shared, accessible foundation. The thirty compositions follow in inner-sectors.css. */
.inner-page { --inner-line:color-mix(in srgb,var(--primary),transparent 80%); --inner-paper:color-mix(in srgb,var(--paper),white 44%); overflow-wrap:anywhere; }
.inner-page *, .inner-page *::before, .inner-page *::after { box-sizing:border-box; }
.inner-page :where(h1,h2,h3,p,figure) { margin:0; }
.inner-page :where(header,section,article,aside,div,figure,form,nav) { min-width:0; }
.inner-page :where(a,button,input,textarea):focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.inner-page :where([id]) { scroll-margin-top:110px; }
.inner-page .inner-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px; padding-block:60px 72px; position:relative; isolation:isolate; }
.inner-page .inner-heading { align-self:center; position:relative; z-index:2; }
.inner-page .breadcrumb { margin:0 0 26px; }
.inner-page .inner-kicker { display:block; font-size:11px; line-height:1.7; letter-spacing:.17em; text-transform:uppercase; margin-bottom:23px; }
.inner-page .inner-hero h1 { font-size:clamp(38px,4.7vw,70px); font-weight:500; line-height:1.07; letter-spacing:-.045em; text-wrap:balance; }
.inner-page .inner-intro { max-width:590px; margin-top:26px; font-size:16px; line-height:1.85; }
.inner-page .inner-links { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:30px; }
.inner-page .inner-links a { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:44px; padding-block:9px; font-size:12px; line-height:1.6; border-bottom:1px solid currentColor; }
.inner-page .inner-links a:hover, .inner-page .inner-service-link:hover { text-decoration:underline; text-underline-offset:5px; }
.inner-page .inner-cover { min-height:390px; position:relative; margin:0; isolation:isolate; background:var(--primary); overflow:hidden; }
.inner-page .inner-cover > img ,
.inner-page .inner-cover > picture.responsive-picture > img { width:100%; height:100%; min-height:inherit; object-fit:cover; position:absolute; inset:0; }
.inner-page .inner-cover figcaption { position:absolute; inset:auto 0 0; padding:50px 24px 22px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; background:linear-gradient(transparent,rgba(0,0,0,.76)); color:#fff; font-size:10px; line-height:1.6; }
.inner-page .inner-stamp { position:relative; grid-column:1/-1; font-size:clamp(35px,7vw,95px); font-weight:500; letter-spacing:-.06em; line-height:1; border-top:1px solid var(--inner-line); padding-top:22px; opacity:.75; }
.inner-page .inner-catalog, .inner-page .inner-process, .inner-page .inner-values { padding-block:44px 76px; }
.inner-page .inner-section-heading { display:grid; grid-template-columns:minmax(120px,.42fr) minmax(0,1fr); align-items:start; gap:24px; margin-bottom:34px; }
.inner-page .inner-section-heading .eyebrow { line-height:1.6; padding-top:6px; }
.inner-page .inner-section-heading h2 { font-size:clamp(28px,3.4vw,46px); font-weight:500; letter-spacing:-.04em; line-height:1.15; }
.inner-page .inner-service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.inner-page .inner-service-card { border:1px solid var(--inner-line); background:var(--inner-paper); display:flex; flex-direction:column; min-width:0; }
.inner-page .inner-service-image { display:block; overflow:hidden; aspect-ratio:8/5; }
.inner-page .inner-service-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.inner-page .inner-service-image:hover img { transform:scale(1.035); }
.inner-page .inner-service-copy { display:flex; flex-direction:column; flex:1; padding:30px; }
.inner-page .inner-number { display:block; font-size:12px; letter-spacing:.08em; font-variant-numeric:tabular-nums; line-height:1.4; margin-bottom:28px; }
.inner-page .inner-service-copy h3 { font-size:25px; font-weight:500; letter-spacing:-.03em; line-height:1.24; }
.inner-page .inner-service-copy p { font-size:14px; line-height:1.85; margin-top:20px; margin-bottom:25px; }
.inner-page .inner-service-link { display:flex; justify-content:space-between; align-items:center; gap:18px; font-size:12px; line-height:1.6; border-top:1px solid var(--inner-line); padding-top:20px; margin-top:auto; min-height:44px; }
.inner-page .inner-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:0; border-top:1px solid var(--inner-line); }
.inner-page .inner-steps li { padding:28px 26px 28px 0; }
.inner-page .inner-steps li + li { padding-left:26px; border-left:1px solid var(--inner-line); }
.inner-page .inner-steps h3, .inner-page .inner-value h3 { font-size:21px; font-weight:500; line-height:1.3; letter-spacing:-.025em; }
.inner-page .inner-steps p, .inner-page .inner-value p { font-size:14px; line-height:1.85; margin-top:15px; }
.inner-page .inner-about-story, .inner-page .inner-detail-body { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:9%; padding-block:34px 76px; }
.inner-page .prose { max-width:none; margin:0; font-size:17px; line-height:1.95; }
.inner-page .prose p { margin-bottom:1.5em; }
.inner-page .prose h2 { font-size:30px; margin:1.3em 0 .6em; }
.inner-page .prose h3 { font-size:23px; margin:1.3em 0 .6em; }
.inner-page .prose :where(img,iframe,video) { max-width:100%; }
.inner-page .prose pre { overflow-x:auto; max-width:100%; }
.inner-page .prose table { display:block; overflow-x:auto; max-width:100%; }
.inner-page .inner-story-image { margin-bottom:24px; }
.inner-page .inner-story-image img { display:block; width:100%; height:auto; max-height:420px; object-fit:cover; }
.inner-page .inner-side-note { padding:32px; background:var(--primary); color:var(--on-primary,#fff); }
.inner-page .inner-side-note .eyebrow { color:inherit; }
.inner-page .inner-side-note h2 { font-size:28px; font-weight:500; letter-spacing:-.035em; line-height:1.2; margin:22px 0; color:inherit; }
.inner-page .inner-side-note a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:15px 0; border-top:1px solid currentColor; font-size:12px; line-height:1.6; color:inherit; }
.inner-page .inner-value-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.inner-page .inner-value { border-top:1px solid var(--inner-line); padding-block:27px; }
.inner-page .inner-value .inner-number { margin-bottom:25px; }
.inner-page .inner-related { display:grid; margin-top:24px; padding:26px; border:1px solid var(--inner-line); }
.inner-page .inner-related h2 { font-size:16px; margin-bottom:15px; font-weight:600; }
.inner-page .inner-related a { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--inner-line); padding:17px 0; font-size:13px; line-height:1.65; }
.inner-page .inner-contact-layout { padding-block:10px 90px; gap:8%; }
.inner-page .contact-form { min-width:0; background:var(--inner-paper); border:1px solid var(--inner-line); box-shadow:none; }
.inner-page .contact-details h2 { font-size:clamp(28px,3vw,40px); font-weight:500; line-height:1.2; margin:0 0 30px; letter-spacing:-.04em; }
.inner-page .contact-item { min-width:0; }
.inner-page .contact-item :where(a,p) { overflow-wrap:anywhere; }
.inner-page .contact-art { border:1px solid var(--inner-line); }
.inner-page .contact-form .form-heading h2 { line-height:1.2; }
.inner-page .contact-form input, .inner-page .contact-form textarea { max-width:100%; background:transparent; color:inherit; }
.inner-page .contact-form input::placeholder, .inner-page .contact-form textarea::placeholder { color:inherit; opacity:.65; }
.inner-page .contact-form .button { white-space:normal; }
@media(min-width:1400px) { .inner-page .inner-cover { min-height:460px; } }
@media(max-width:1000px) { .inner-page .inner-hero { gap:30px; } .inner-page .inner-service-copy { padding:24px; } .inner-page .inner-about-story,.inner-page .inner-detail-body { gap:35px; } .inner-page .inner-service-copy h3 { font-size:22px; } }
@media(max-width:760px) {
 .inner-page .inner-hero { grid-template-columns:minmax(0,1fr); padding-block:32px 42px; gap:28px; }
 .inner-page .inner-hero h1 { font-size:clamp(36px,9vw,55px); }
 .inner-page .inner-kicker { margin-bottom:16px; font-size:10px; }
 .inner-page .inner-intro { font-size:15px; line-height:1.8; margin-top:22px; }
 .inner-page .inner-cover { min-height:300px; }
 .inner-page .inner-cover figcaption { padding:40px 18px 18px; }
 .inner-page .inner-stamp { font-size:clamp(38px,13vw,72px); }
 .inner-page .inner-section-heading { grid-template-columns:1fr; gap:12px; margin-bottom:27px; }
 .inner-page .inner-section-heading h2 { font-size:32px; }
 .inner-page .inner-catalog,.inner-page .inner-process,.inner-page .inner-values { padding-block:30px 50px; }
 .inner-page .inner-service-list,.inner-page .inner-value-list { grid-template-columns:minmax(0,1fr); gap:18px; }
 .inner-page .inner-service-copy { padding:27px; }
 .inner-page .inner-service-copy h3 { font-size:26px; }
 .inner-page .inner-service-copy p { font-size:14px; }
 .inner-page .inner-steps { grid-template-columns:1fr; }
 .inner-page .inner-steps li,.inner-page .inner-steps li+li { padding:25px 0; border-left:0; display:grid; grid-template-columns:35px minmax(0,1fr); gap:22px; border-bottom:1px solid var(--inner-line); }
 .inner-page .inner-steps .inner-number { margin:0; padding-top:5px; }
 .inner-page .inner-about-story,.inner-page .inner-detail-body { grid-template-columns:minmax(0,1fr); gap:30px; padding-block:18px 45px; }
 .inner-page .prose { font-size:16px; }
 .inner-page .inner-value { padding:24px 0; }
 .inner-page .inner-contact-layout { grid-template-columns:minmax(0,1fr); padding-block:10px 55px; gap:35px; }
 .inner-page .contact-form { padding:25px; }
 .inner-page .contact-form .form-row { grid-template-columns:minmax(0,1fr); }
 .inner-page .inner-links { gap:10px 22px; }
}
@media(max-width:360px) { .inner-page .inner-cover { min-height:260px; } .inner-page .inner-service-copy,.inner-page .inner-side-note { padding:22px; } .inner-page .contact-form { padding:20px; } .inner-page .inner-links a { gap:15px; } }
@media(prefers-reduced-motion:reduce) { .inner-page *, .inner-page *::before, .inner-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
