/* Identity page only: preserve shared heroes and the Home's type system. */
.complutum-main--complutum-template {
 --complutum-compl-ink:#696077;
 --complutum-compl-heading:#5d536d;
 --complutum-compl-accent:#819843;
 overflow:clip;
}
.complutum-main--complutum-template .complutum-compl-intro__stage {
 display:flex; flex-direction:column; gap:44px; padding:0; min-height:0;
}
.complutum-main--complutum-template .complutum-compl-intro__copy { max-width:880px; }
.complutum-main--complutum-template .complutum-compl-intro__aside {
 position:relative; isolation:isolate; inset:auto; width:100vw; margin-left:calc((100% - 100vw)/2);
 padding:240px 24px 32px; border:0; box-sizing:border-box; gap:0;
}
.complutum-main--complutum-template .complutum-identity-photo {
 position:absolute; inset:0 0 auto; height:340px; z-index:-2;
 mask-image:linear-gradient(transparent,#000 8%,#000 45%,transparent 74%);
}
.complutum-main--complutum-template .complutum-identity-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.complutum-main--complutum-template .complutum-identity-veil { display:none; }
.complutum-main--complutum-template .complutum-compl-intro { padding-bottom:24px; }
.complutum-main--complutum-template .complutum-compl-intro .complutum-home-section__title { max-width:28ch; }
.complutum-main--complutum-template .complutum-compl-essence .complutum-home-section__title { max-width:25ch; }
.complutum-main--complutum-template .complutum-compl-routes > .complutum-shell > .complutum-home-section-head {
 max-width:780px; margin-inline:auto; text-align:center; align-items:center; justify-items:center;
}
.complutum-main--complutum-template .complutum-compl-quote {
 position:relative; margin:0; padding:0; border:0; max-width:650px;
}
.complutum-main--complutum-template .complutum-compl-quote p {
 font-size:25px; line-height:1.45; font-weight:400; color:#738840; margin:0;
}
.complutum-main--complutum-template .complutum-compl-intro__details { gap:12px; padding-top:24px; max-width:650px; }
.complutum-main--complutum-template .complutum-compl-intro__details span {
 border:0; padding:0; font-size:12px; line-height:1.6; font-weight:500;
 color:var(--complutum-compl-ink); text-transform:none;
}
.complutum-main--complutum-template .complutum-compl-essence {
 background-image:linear-gradient(#fff,#f2f5ed 22%,#f2f5ed 76%,#fff)!important;
}
.complutum-main--complutum-template .complutum-compl-essence__card {
 grid-template-columns:40px minmax(0,1fr); gap:0 18px; padding:28px 0;
}
.complutum-main--complutum-template .complutum-compl-essence__index {
 display:flex; align-items:center; justify-content:center; width:40px; height:40px;
 color:#819843; background:#e6eddc; border-radius:50%;
}
.complutum-main--complutum-template .complutum-compl-essence__index svg { width:22px; height:22px; }
.complutum-main--complutum-template .complutum-compl-essence__card h3 { font-size:22px; line-height:1.35; }
.complutum-main--complutum-template .complutum-compl-essence__card p { font-size:16px; line-height:1.7; }
.complutum-main--complutum-template .complutum-compl-essence__card:last-child { border-bottom:0; }
.complutum-main--complutum-template .complutum-compl-essence__card:hover {
 background:none; box-shadow:none; transform:none;
}
.complutum-main--complutum-template .complutum-compl-routes__list { gap:36px; margin-top:36px; }
.complutum-main--complutum-template .complutum-compl-route {
 position:relative; display:flex; flex-direction:column; padding:0; min-height:0; gap:20px;
}
.complutum-main--complutum-template .complutum-compl-route__visual,
.complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__visual {
 position:relative; inset:auto; width:100%; height:auto; aspect-ratio:1.25; z-index:0;
}
.complutum-main--complutum-template .complutum-compl-route .complutum-compl-route__figure.cms-mask {
 mask-image:var(--cms-mask-url); -webkit-mask-image:var(--cms-mask-url);
 mask-size:100% 100%; mask-repeat:no-repeat; mask-position:center; mask-composite:add;
}
.complutum-main--complutum-template .complutum-compl-route__figure--1 { --cms-mask-url:url('../svg/masks/blob-soft-01.svg'); }
.complutum-main--complutum-template .complutum-compl-route__figure--2 { --cms-mask-url:url('../svg/masks/blob-soft-02.svg'); }
.complutum-main--complutum-template .complutum-compl-route__figure--3 { --cms-mask-url:url('../svg/masks/blob-soft-03.svg'); }
.complutum-main--complutum-template .complutum-compl-route__figure--4 { --cms-mask-url:url('../svg/masks/blob-soft-04.svg'); }
.complutum-main--complutum-template .complutum-compl-route__copy,
.complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__copy {
 width:100%; margin:0; max-width:none; padding:4px 0 24px; gap:18px;
}
.complutum-main--complutum-template .complutum-compl-route:hover .complutum-compl-route__copy {
 background:none; box-shadow:none; border:0; transform:none;
}
.complutum-main--complutum-template .complutum-compl-route__copy h3 { font-size:30px; line-height:1.2; font-weight:400; }
.complutum-main--complutum-template .complutum-compl-route__copy > p:not(.complutum-home-section__eyebrow) { font-size:16px; line-height:1.7; color:var(--complutum-compl-ink); }
.complutum-main--complutum-template .complutum-identity-link,
.complutum-main--complutum-template .complutum-compl-route__link,
.complutum-main--complutum-template .complutum-compl-closing .complutum-button {
 display:inline-flex; justify-content:center; justify-self:start; width:fit-content; max-width:100%;
 font-size:14px; line-height:1.5; font-weight:500; text-transform:none; text-decoration:none; text-align:center;
 border-radius:16px; padding:16px 24px; border:1px solid #c8d3b7;
 background:linear-gradient(135deg,#fff,rgba(231,238,218,.65)); color:#536937;
 box-shadow:0 8px 24px #4e623012,inset 0 1px 0 #fff; backdrop-filter:blur(12px);
}
.complutum-main--complutum-template .complutum-identity-link:hover,
.complutum-main--complutum-template .complutum-compl-route__link:hover,
.complutum-main--complutum-template .complutum-compl-closing .complutum-button:hover { background:#edf2e6; box-shadow:0 10px 28px #4e623020; }
@media(min-width:768px) {
 .complutum-main--complutum-template .complutum-compl-intro__details { display:flex; flex-wrap:wrap; gap:16px 30px; }
 .complutum-main--complutum-template .complutum-compl-route { flex-direction:row; align-items:center; gap:5%; }
 .complutum-main--complutum-template .complutum-compl-route.is-reverse { flex-direction:row-reverse; }
 .complutum-main--complutum-template .complutum-compl-route__visual,
 .complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__visual { width:49%; flex-shrink:0; aspect-ratio:1; }
 .complutum-main--complutum-template .complutum-compl-route__copy,
 .complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__copy { width:46%; padding:24px 0; }
}
@media(min-width:1100px) {
 .complutum-main--complutum-template .complutum-compl-intro__stage { display:flex; min-height:0; padding:0; gap:64px; }
 .complutum-main--complutum-template .complutum-compl-intro__aside { position:relative; width:100vw; inset:auto; min-height:550px; padding:90px max(40px,calc((100vw - 1180px)/2)) 90px 58vw; }
 .complutum-main--complutum-template .complutum-identity-photo { inset:0; height:100%; mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent); }
 .complutum-main--complutum-template .complutum-identity-photo img { object-position:center 55%; }
 .complutum-main--complutum-template .complutum-identity-veil { display:block; position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
 .complutum-main--complutum-template .complutum-compl-quote p { font-size:32px; line-height:1.45; }
 .complutum-main--complutum-template .complutum-compl-intro__details { display:grid; gap:15px; }
 .complutum-main--complutum-template .complutum-compl-essence > .complutum-shell { grid-template-columns:40% 52%; gap:8%; }
 .complutum-main--complutum-template .complutum-compl-essence__card { padding:32px 0; }
 .complutum-main--complutum-template .complutum-compl-routes__list { margin-top:40px; gap:0; }
 /* Independent desktop composition keeps each photograph close to its story. */
 .complutum-main--complutum-template .complutum-compl-route { box-sizing:border-box; display:block; min-height:540px; padding:100px 0 90px; }
 .complutum-main--complutum-template .complutum-compl-route__visual,
 .complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__visual { position:absolute; width:53%; height:100%; left:-3%; top:0; aspect-ratio:auto; }
 .complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__visual { left:auto; right:-3%; }
 .complutum-main--complutum-template .complutum-compl-route__copy { width:42%; margin-left:57%; padding:0; }
 .complutum-main--complutum-template .complutum-compl-route.is-reverse .complutum-compl-route__copy { width:42%; margin-left:0; padding:0; }
 .complutum-main--complutum-template .complutum-compl-route__copy h3 { font-size:38px; }
 .complutum-main--complutum-template .complutum-compl-route__copy > p:not(.complutum-home-section__eyebrow) { font-size:18px; }
}
@media(prefers-reduced-motion:no-preference) {
 .has-complutum-motion .complutum-main--complutum-template .complutum-compl-route .complutum-compl-route__visual,
 .has-complutum-motion .complutum-main--complutum-template .complutum-compl-route .complutum-compl-route__copy { transition:transform 1.1s cubic-bezier(.22,1,.36,1); }
 .has-complutum-motion .complutum-main--complutum-template .complutum-compl-route:not(.is-visible) .complutum-compl-route__visual { transform:translateX(-48px); }
 .has-complutum-motion .complutum-main--complutum-template .complutum-compl-route:not(.is-visible) .complutum-compl-route__copy { transform:translateX(36px); }
 .has-complutum-motion .complutum-main--complutum-template .complutum-compl-route.is-reverse:not(.is-visible) .complutum-compl-route__visual { transform:translateX(48px); }
 .has-complutum-motion .complutum-main--complutum-template .complutum-compl-route.is-reverse:not(.is-visible) .complutum-compl-route__copy { transform:translateX(-36px); }
}
