/* Main visual: navy cover, edge-to-edge photography, clear editorial hierarchy. */
.cinematic-hero{background:var(--navy);color:#fff}
.cinematic-stage{position:relative;isolation:isolate;min-height:690px;display:flex;align-items:center;overflow:hidden}
.cinematic-stage::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 24%,rgba(var(--brand-rgb),.96) 38%,rgba(var(--brand-rgb),.82) 49%,rgba(var(--brand-rgb),.22) 69%,rgba(var(--brand-rgb),.08) 100%);pointer-events:none}
.cinematic-image{position:absolute;inset:0 0 0 27%;margin:0;z-index:-2}
.cinematic-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 46%}

.cinematic-content.container{max-width:1440px;width:calc(100% - 96px);padding-block:68px 56px}
.cinematic-eyebrow{font-size:14px;letter-spacing:.08em;color:#d6e1e8;display:flex;align-items:center;gap:16px;margin-bottom:28px}
.cinematic-eyebrow::before{content:"";height:1px;width:36px;background:#b0c4d1;flex:none}
.cinematic-content h1{font-size:clamp(44px,3.65vw,64px);font-weight:600;letter-spacing:.015em;line-height:1.45;max-width:760px}
.cinematic-content h1 span{display:block}
.cinematic-description{font-size:16px;line-height:2;letter-spacing:.025em;color:#e2e9ed;margin-top:30px;max-width:620px}
.cinematic-content .actions{margin-top:32px;gap:16px;max-width:620px}
.cinematic-content .button{min-height:58px;padding:15px 24px;font-size:14px;border-radius:2px}
.cinematic-content .button.light{background:#fff;color:var(--navy);border-color:#fff}
.cinematic-content .button.light:hover{background:#dfe8ee;border-color:#dfe8ee}
.cinematic-content .button.outline{background:rgba(var(--brand-rgb),.5);border-color:#acbec9;color:#fff}
.cinematic-content .button.outline:hover{background:#3b5362;border-color:#fff}
.cinematic-plan-link{display:inline-flex;align-items:center;gap:28px;min-height:44px;margin-top:14px;font-size:13px;color:#d6e1e8}
.cinematic-sub-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:8px}.cinematic-sub-links .cinematic-plan-link{margin-top:0}
.cinematic-plan-link:hover{text-decoration:underline;text-underline-offset:5px;color:#fff}
.cinematic-content a:focus-visible{outline:3px solid #fff;outline-offset:5px}
.cinematic-facts{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.cinematic-facts .service-facts{grid-template-columns:1.25fr 1.15fr 1.2fr 1fr;margin:0 auto;border:0;padding-block:28px;max-width:1440px;width:calc(100% - 96px)}
.cinematic-facts .service-facts span{font-size:13px}
@media(min-width:1800px){.cinematic-stage{min-height:740px}}
@media(max-width:1120px){.cinematic-content.container,.cinematic-facts .service-facts{width:calc(100% - 64px)}.cinematic-content h1{font-size:48px}.cinematic-stage::after{background:linear-gradient(90deg,var(--navy) 0%,rgba(var(--brand-rgb),.96) 35%,rgba(var(--brand-rgb),.8) 58%,rgba(var(--brand-rgb),.2) 100%)}.cinematic-image{left:18%}.cinematic-eyebrow{font-size:13px;letter-spacing:.02em}}
@media(max-width:760px){
 .cinematic-stage{min-height:0;display:block}
 .cinematic-image{inset:0 0 auto;height:330px}
 .cinematic-image img{object-position:58% 40%}
 
 .cinematic-stage::after{background:linear-gradient(180deg,rgba(var(--brand-rgb),.05) 0px,rgba(var(--brand-rgb),.2) 140px,rgba(var(--brand-rgb),.92) 280px,var(--navy) 330px)}
 .cinematic-content.container{width:calc(100% - 40px);padding:250px 0 30px}
 .cinematic-eyebrow{font-size:12px;line-height:1.8;letter-spacing:0;gap:10px;margin-bottom:20px;max-width:360px}
 .cinematic-eyebrow::before{width:20px}
 .cinematic-content h1{font-size:clamp(27px,7.3vw,46px);line-height:1.5;letter-spacing:0}
 .cinematic-description{font-size:15px;line-height:1.95;margin-top:24px;max-width:440px}
 .cinematic-description br{display:none}
 .cinematic-content .actions{margin-top:26px;gap:12px;display:flex;flex-wrap:wrap}
 .cinematic-content .button{width:auto;flex:1 1 160px;font-size:13px;padding:14px 16px;gap:12px}
 .cinematic-facts .service-facts{width:calc(100% - 40px);gap:20px 0;padding-block:24px;grid-template-columns:1fr 1fr}
 .cinematic-facts .service-facts span{font-size:12px}
 .cinematic-facts .service-facts strong{font-size:14px}
 .cinematic-facts .service-facts small{font-size:11px}
}
.cinematic-image picture{display:block;width:100%;height:100%}

.app-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.app-example-card{background:var(--paper);padding:38px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.app-example-card h2{font-size:1.55rem;line-height:1.6;letter-spacing:.045em;margin-bottom:16px}.app-example-card>p{color:var(--muted);font-size:.94rem;line-height:1.9}.app-example-card .text-link{margin-top:28px}
.app-example-flow{width:100%;display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr;align-items:center;gap:8px;margin-top:28px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.75rem;line-height:1.65;color:var(--muted)}.app-example-flow b{color:var(--blue);font-weight:400;text-align:center}
.app-example-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.app-example-intro .section-title{margin-bottom:28px}.app-example-visual{padding:34px;background:var(--navy);color:#fff;min-width:0}.app-example-visual .kicker{color:#bdd1de;margin-bottom:26px}.concept-step{border-top:1px solid #697f8d;padding:16px 0}.concept-step small{display:block;color:#bdd1de;letter-spacing:.14em;font-size:.64rem;margin-bottom:8px}.concept-step strong{font-size:.95rem;line-height:1.75;font-weight:500}.concept-arrow{height:20px;color:#bdd1de;font-size:1.2rem;line-height:1;text-align:center}
.app-example-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.app-example-steps li{padding:25px 25px 25px 0;display:grid;grid-template-columns:46px 1fr;gap:12px;min-width:0}.app-example-steps li+li{padding-left:25px;border-left:1px solid var(--line)}.app-example-steps span{color:var(--blue);font:1rem var(--mono)}.app-example-steps p{font-size:.92rem;line-height:1.8}
@media(max-width:760px){.app-example-grid,.app-example-intro{grid-template-columns:1fr}.app-example-card{padding:30px 24px}.app-example-flow{font-size:.7rem;gap:4px}.app-example-steps{grid-template-columns:1fr}.app-example-steps li,.app-example-steps li+li{padding:22px 0;border-left:0}.app-example-steps li+li{border-top:1px solid var(--line)}.app-example-visual{padding:28px 24px}}

.seminar-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.seminar-history-card{border:1px solid var(--line);background:var(--paper);min-width:0;display:flex;flex-direction:column}.seminar-history-image{display:block;overflow:hidden;aspect-ratio:16/9;background:var(--pale)}.seminar-history-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.seminar-history-card:hover .seminar-history-image img{transform:scale(1.025)}.seminar-history-content{padding:24px 28px 28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.seminar-history-content time{color:var(--blue);font:12px var(--mono);letter-spacing:.12em}.seminar-history-content h3{font-family:var(--serif);font-size:1.35rem;line-height:1.6;margin-top:12px}.seminar-history-content p{font-size:.88rem;color:var(--muted);line-height:1.8;margin-top:11px}.seminar-history-content .text-link{margin-top:auto;padding-top:22px}
@media(max-width:760px){.seminar-history-grid{grid-template-columns:1fr;gap:24px}.seminar-history-content{padding:21px 22px 24px}.seminar-history-content h3{font-size:1.22rem}}
