/* Multi-page layouts using the existing Celaeno brand system. */
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:-100px;z-index:80;background:var(--midnight);color:white;padding:10px 20px}.skip-link:focus{top:12px}
.nav a[aria-current=page]:not(.nav__cta)::after{transform:scaleX(1)}.nav .nav__cta[aria-current=page]{background:var(--midnight);color:var(--paper)}
.header__in{gap:28px}.nav{gap:28px}.header__tel{font-size:12px}
.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:400;color:var(--muted);margin-bottom:22px;line-height:1.7}.section--compact{padding:72px 0 104px}
.page-intro{background:var(--paper);padding:32px 0 80px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted);margin-bottom:64px}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover,.breadcrumbs span[aria-current]{color:var(--midnight)}
.page-intro__grid{display:grid;grid-template-columns:3fr 2fr;gap:80px;align-items:end;animation:fadeUp .85s var(--ease) both}.page-intro h1{font-size:clamp(40px,4.8vw,68px);line-height:1.25;letter-spacing:-.02em;font-weight:300}.page-intro__description{max-width:31em;color:#555e6c;font-size:16px;line-height:2;padding-bottom:5px}
.page-tabs{display:flex;gap:32px;flex-wrap:wrap;margin-top:48px;padding-top:26px;border-top:1px solid #d7d4ce}.page-tabs a{text-decoration:none;font-size:13px}.page-tabs a:hover{color:var(--blue)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px}.section-heading .link{flex-shrink:0;margin-bottom:6px}
.home-product{display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:center}.home-product figure,.application-feature figure{margin:0}figure figcaption{margin-top:12px;font-size:12px;color:var(--muted)}.home-product>div>p{max-width:26em;color:#555e6c;line-height:2}
.home-facts{display:flex;gap:30px;padding:30px 0;margin:28px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap}.home-facts dt{font-size:12px;color:var(--muted);margin-bottom:8px}.home-facts dd{margin:0;font-size:24px;letter-spacing:-.04em;color:var(--midnight)}.home-facts small{font-size:13px;letter-spacing:0}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 32px}.project-grid--home{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-card{min-width:0}
.project-card__image{display:block;position:relative;background:#e4e0da}.project-card__image::after{content:'↗';position:absolute;right:16px;bottom:16px;width:36px;height:36px;display:grid;place-items:center;background:var(--paper);color:var(--midnight);opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}.project-card__image:hover::after{opacity:1;transform:none}
.project-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.project-card__meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.12em;margin:18px 0 8px}.project-card h3{font-size:22px;font-weight:400;line-height:1.4}.project-card h3 a{display:flex;align-items:baseline;gap:12px;justify-content:space-between;text-decoration:none}.project-card h3 a span{font-size:18px;color:var(--muted);transition:transform .3s}.project-card h3 a:hover span{transform:translate(3px,-3px);color:var(--blue)}.project-card>p{font-size:13px;color:var(--muted);margin-top:8px}.project-grid--home h3{font-size:18px}
.brand-teaser{background:var(--midnight);color:var(--paper);overflow:hidden}.brand-teaser__in{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:100px 0;align-items:center}.brand-teaser h2{font-size:clamp(36px,4.3vw,60px);color:var(--paper);line-height:1.3}.brand-teaser .eyebrow{color:#aeb6c5}.brand-teaser p:not(.eyebrow){margin:28px 0 36px;color:#bdc2ce;line-height:2}.brand-teaser img{width:220px;height:250px;object-fit:contain;justify-self:center}
.callout{background:var(--paper);padding:88px 0}.callout__in{display:flex;align-items:center;justify-content:space-between;gap:40px}.callout h2{font-size:clamp(27px,3vw,40px)}.callout p:not(.eyebrow){margin-top:18px;color:var(--muted);font-size:14px}.callout .btn{flex-shrink:0}
.footer__links{display:flex;flex-wrap:wrap;gap:22px;margin-top:46px}.footer__links a{text-decoration:none;color:var(--ink)}.footer__links a:hover{color:var(--blue)}.footer__base{margin-top:28px}.footer__company a{text-decoration:none}
.product-showcase{display:grid;grid-template-columns:2fr 1fr;gap:64px;align-items:center}.product-showcase__aside h2{font-size:34px}.product-showcase__aside>p:not(.eyebrow){margin:18px 0;color:var(--muted);font-size:15px}.product-tag{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em;margin:24px 0 32px}.product-showcase__aside .btn{display:table;margin-bottom:22px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;border-top:1px solid var(--midnight);padding-top:28px;margin-top:40px}.process-grid article>span{display:block;color:var(--muted);font-size:12px;margin-bottom:28px}.process-grid h3{font-size:19px;font-weight:400;margin-bottom:14px}.process-grid p{font-size:14px;color:var(--muted);line-height:2;max-width:25em}
.application-feature__grid{display:grid;grid-template-columns:2fr 3fr;gap:88px;align-items:center}.application-feature__grid>div>p:not(.eyebrow){margin:24px 0 32px;color:#555e6c;line-height:2;max-width:27em}.application-feature:nth-of-type(3){border-top:1px solid var(--line)}.application-feature:nth-of-type(3) .application-feature__grid{grid-template-columns:3fr 2fr}.application-feature:nth-of-type(3) .application-feature__grid>div{order:2}
.secondary-apps{display:grid;grid-template-columns:1fr 1fr;gap:96px}.secondary-apps article+article{border-left:1px solid #d7d4ce;padding-left:64px}.secondary-apps p:not(.eyebrow){margin:24px 0 30px;color:var(--muted);line-height:2;max-width:30em}
.filter-bar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:32px;margin-bottom:36px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.filters button{font:inherit;font-size:14px;border:0;background:none;padding:6px 0;color:var(--muted);cursor:pointer}.filters button span{font-size:10px;vertical-align:top;margin-left:5px}.filters button[aria-pressed=true]{color:var(--midnight);box-shadow:0 1px var(--midnight)}.result-count{font-size:12px;color:var(--muted);white-space:nowrap}
.case-photo{padding:0;border:0;background:none;position:relative;display:block;width:100%;cursor:zoom-in}.case-photo img{width:100%;height:auto}.case-photo>span{position:absolute;right:18px;bottom:18px;background:var(--paper);color:var(--midnight);padding:8px 14px;font:12px var(--font)}
.case-story{display:grid;grid-template-columns:3fr 2fr;gap:96px;margin-top:68px}.case-story p:not(.eyebrow){margin-top:24px;line-height:2;color:var(--muted)}.case-facts{margin:0;border-top:1px solid var(--midnight)}.case-facts>div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:65px 1fr;gap:16px;font-size:14px}.case-facts dt{color:var(--muted)}.case-facts dd{margin:0}.case-facts a{text-decoration:none}.page-projects .page-intro h1{overflow-wrap:anywhere}
.brand-lockup{background:var(--paper);text-align:center;padding:16px 32px 88px}.brand-lockup img{width:300px;height:260px;object-fit:contain;margin:auto;mix-blend-mode:multiply}.brand-lockup p{font-size:13px;color:var(--muted);margin-top:16px;letter-spacing:.12em}.brand-statement{text-align:center}.brand-statement h2{font-size:clamp(36px,4vw,56px);line-height:1.4;margin-bottom:36px}
.resource-layout,.faq-layout{display:grid;grid-template-columns:2fr 3fr;gap:100px}.resource-layout aside p:not(.eyebrow){margin:24px 0 32px;color:var(--muted);max-width:22em}.document-list{border-top:1px solid var(--midnight)}.document-row{display:grid;grid-template-columns:28px 1fr auto;gap:20px;align-items:baseline;padding:32px 0;border-bottom:1px solid var(--line)}.document-row__number{font-size:11px;color:var(--muted)}.document-row h3{font-size:19px;font-weight:400;line-height:1.5}.document-row p{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.8}.document-row .link{font-size:12px;white-space:nowrap}
.faq{border-top:1px solid var(--midnight)}.faq details{border-bottom:1px solid #d7d4ce;padding:22px 0}.faq summary{cursor:pointer;list-style:none;padding-right:30px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';position:absolute;right:0;font-size:20px;font-weight:300}.faq details[open] summary::after{content:'−'}.faq details>p{font-size:14px;color:var(--muted);line-height:2;padding:20px 28px 6px 0}
.company-grid,.company-brand{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:120px}.company-sign{padding:90px 36px;background:var(--paper)}.company-sign img{width:100%;max-width:350px;margin:auto}.company-sign p{text-align:center;font-size:10px;letter-spacing:.08em;color:var(--muted);margin-top:36px}.company-grid>div>p:not(.eyebrow){margin:28px 0 36px;color:var(--muted)}.company-brand>img{width:280px;height:260px;object-fit:contain;justify-self:center;mix-blend-mode:multiply}.company-brand p:not(.eyebrow){margin:24px 0 32px;max-width:28em;color:var(--muted)}
.company-info__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;border-top:1px solid var(--line);padding-top:30px;margin-top:48px}.company-info__grid span{display:block;font-size:12px;color:var(--muted);margin-bottom:14px}.company-info__grid a{text-decoration:none}.company-info__grid p{font-size:14px}
.form-intro{font-size:13px;color:var(--muted);line-height:1.9}.page-contact #inquiry{background:white}.contact-help{padding-top:16px}.form__msg a{display:inline-block;margin-top:12px;font-weight:500}.form input[aria-invalid=true],.form textarea[aria-invalid=true]{border-color:#ac3f30}
.case:hover img{transform:none}.lightbox{padding:40px 24px}.lightbox img{height:auto}
@media(min-width:1600px){.wrap{width:min(1320px,100% - 120px)}}
@media(max-width:1100px){
 .header__in{gap:20px}.nav{gap:0;max-height:calc(100dvh - 80px);overflow-y:auto}
 .page-intro__grid{gap:48px}.home-product,.product-showcase{gap:36px}.application-feature__grid,.application-feature:nth-of-type(3) .application-feature__grid{gap:40px}
 .resource-layout,.faq-layout{gap:48px;grid-template-columns:1fr 1.5fr}.company-grid,.company-brand{gap:56px}.secondary-apps{gap:48px}.secondary-apps article+article{padding-left:36px}.case-story{gap:48px}
 .project-grid--home{grid-template-columns:1fr 1fr}.project-grid--home .project-card:last-child{grid-column:1/-1;max-width:calc(50% - 14px)}
}
@media(max-width:740px){
 .section{padding:76px 0}.section--compact{padding:44px 0 68px}.page-intro{padding:22px 0 52px}.breadcrumbs{margin-bottom:42px;gap:10px;font-size:11px}
 .page-intro__grid{grid-template-columns:1fr;gap:26px}.page-intro h1{font-size:42px;line-height:1.3}.eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:18px}.page-intro__description{font-size:14px;max-width:31em}
 .section-heading{align-items:start;flex-direction:column;gap:24px;margin-bottom:32px}.section-heading h2{font-size:31px}.section-heading .link{font-size:13px}
 .home-product,.product-showcase,.application-feature__grid,.application-feature:nth-of-type(3) .application-feature__grid,.case-story,.resource-layout,.faq-layout,.company-grid,.company-brand{grid-template-columns:1fr;gap:36px}
 .home-facts{gap:28px}.home-product>div>p{font-size:14px}.project-grid,.project-grid--home{grid-template-columns:1fr;gap:36px}.project-grid--home .project-card:last-child{grid-column:auto;max-width:none}.project-card h3,.project-grid--home h3{font-size:20px}
 .brand-teaser__in{grid-template-columns:1.3fr 1fr;gap:20px;padding:68px 0}.brand-teaser h2{font-size:32px}.brand-teaser img{width:100%;height:150px}.brand-teaser p:not(.eyebrow){font-size:13px}.brand-teaser .link{font-size:13px}
 .callout{padding:64px 0}.callout__in{align-items:start;flex-direction:column;gap:30px}.callout h2{font-size:29px}.callout p:not(.eyebrow){font-size:13px}.page-tabs{gap:24px;margin-top:30px;padding-top:20px}.page-tabs a{font-size:12px}
 .product-showcase__aside{padding-top:12px}.product-showcase__aside h2{font-size:30px}.process-grid{grid-template-columns:1fr;gap:30px;padding-top:22px}.process-grid article{border-bottom:1px solid var(--line);padding-bottom:24px}.process-grid article:last-child{border:0;padding:0}.process-grid article>span{margin-bottom:12px}.process-grid p{max-width:none}
 .application-feature:nth-of-type(3) .application-feature__grid>div{order:0}.application-feature__grid>div>p:not(.eyebrow){font-size:14px}.secondary-apps{grid-template-columns:1fr;gap:44px}.secondary-apps article+article{border-left:0;border-top:1px solid #d7d4ce;padding:36px 0 0}.secondary-apps p:not(.eyebrow){font-size:14px}
 .filter-bar{gap:16px;align-items:start;flex-direction:column;padding-bottom:24px;margin-bottom:28px}.filters{gap:28px}.filters button{font-size:13px}.result-count{font-size:11px}.case-story{margin-top:38px}.case-photo>span{right:10px;bottom:10px;padding:7px 10px;font-size:10px}.case-story h2{font-size:30px}.case-story p:not(.eyebrow){font-size:14px}.case-facts>div{font-size:13px}
 .brand-lockup{padding-bottom:54px}.brand-lockup img{width:220px;height:210px}.document-row{grid-template-columns:20px 1fr;gap:16px;padding:26px 0}.document-row .link{grid-column:2;justify-self:start;margin-top:4px}.document-row h3{font-size:18px}.resource-layout aside p:not(.eyebrow){max-width:none;font-size:14px}
 .faq summary{font-size:15px}.company-sign{padding:64px 28px}.company-grid>div>p:not(.eyebrow){font-size:14px}.company-brand>img{width:220px;height:220px}.company-info__grid{grid-template-columns:1fr;gap:26px;margin-top:32px}.company-info h2{font-size:28px}
 .form__row{grid-template-columns:1fr}.form input,.form select,.form textarea{font-size:16px}.contact__list div{grid-template-columns:52px 1fr;font-size:14px}.contact__info>p{font-size:14px}.footer{padding-top:44px}.footer__links{gap:18px;font-size:12px}.footer__company p{font-size:12px}.lightbox{padding:64px 16px}.lightbox img{max-height:75dvh}.lightbox figcaption{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__title .ch{transform:none}.reveal{opacity:1!important;transform:none!important}}
