/* Design B: Crafto Business layout foundation with CIC editorial art direction.
   Isolated overrides: never loaded by the production site or design A. */
:root { --base-color:#b99d68; --dark-gray:#073c60; --medium-gray:#526877; --primary-font:'Inter',Arial,sans-serif; --alt-font:'Gelasio',Georgia,serif; --c2-navy:#063c62; --c2-deep:#072f4a; --c2-gold:#deca9f; --c2-paper:#f5f3ed; --c2-line:#d5dddF; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body.c2 { font:16px/1.75 var(--primary-font); color:var(--c2-deep); background:white; }
.c2 *, .c2 *::before, .c2 *::after { box-sizing:border-box; }
.c2 a { color:inherit; text-decoration:none; }
.c2 img { display:block; max-width:100%; }
.c2 h1,.c2 h2,.c2 h3,.c2 p,.c2 figure { margin:0; }
.c2 button { font:inherit; }
.c2 :focus-visible { outline:3px solid #ad813b; outline-offset:5px; }
.c2 .container { max-width:1280px; padding-inline:32px; }
.c2 section { padding:104px 0; }
.c2 h2 { font:400 clamp(34px,3.3vw,50px)/1.15 var(--alt-font); letter-spacing:-1.6px; }
.c2 h2 em { font-weight:400; }
.c2-eyebrow { font:600 12px/1.6 var(--primary-font); letter-spacing:.13em; text-transform:uppercase; margin-bottom:24px !important; }
.c2-skip { position:fixed; left:16px; top:-100px; padding:12px 24px; background:white; z-index:100; }
.c2-skip:focus { top:12px; }
.c2-utility { background:var(--c2-deep); color:#e4eaf0; font-size:12px; }
.c2-utility .container { display:flex; align-items:center; justify-content:space-between; min-height:36px; }
.c2-utility span { letter-spacing:.1em; }
.c2-utility a { display:flex; gap:14px; align-items:center; }
.c2-header { position:sticky; top:0; z-index:20; background:white; box-shadow:0 1px 0 #072f4a15; }
.c2-navigation { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:102px; }
.c2-brand { display:inline-block; flex-shrink:0; }
.c2-brand img { width:156px; height:auto; }
.c2-navigation nav { display:flex; gap:30px; align-items:center; margin-left:auto; margin-right:18px; }
.c2-navigation nav a { display:flex; align-items:center; min-height:44px; font-size:14px; white-space:nowrap; }
.c2-navigation nav a:hover { color:#84652f; }
.c2-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:56px; padding:14px 24px; background:var(--c2-navy); color:white !important; font-size:14px; font-weight:600; line-height:1.5; transition:background .2s; }
.c2-button span { display:grid; place-items:center; width:28px; height:28px; flex-shrink:0; font:22px/1 Arial,sans-serif; }
.c2-button:hover { background:#0c507b; }
.c2-button-gold { background:var(--c2-gold); color:var(--c2-deep) !important; }
.c2-button-gold:hover { background:#eadcbf; }
.c2-header-button { font-size:13px; min-height:48px; padding:10px 18px; }
.c2-menu { display:none; }
.c2-hero { background:var(--c2-deep); color:white; overflow:hidden; }
.c2-hero-photo { position:absolute; right:0; top:0; width:76%; height:100%; }
.c2-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.c2-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#072f4a 0%,#072f4af5 22%,#072f4ac9 35%,#072f4a4d 53%,#072f4a00 72%),linear-gradient(0deg,#072f4a55,transparent 25%); pointer-events:none; }
.c2-hero > .container { z-index:1; }
.c2-hero-row { min-height:680px; }
.c2-hero-copy { padding-block:64px 72px; }
.c2-hero .c2-eyebrow { color:var(--c2-gold); }
.c2 h1 { font:400 clamp(58px,5.4vw,82px)/1.04 var(--alt-font); letter-spacing:-3px; color:white; }
.c2 h1 em { color:var(--c2-gold); }
.c2-hero-description { max-width:440px; font-size:16px; line-height:1.7; color:#f3f5f6; margin:28px 0 30px !important; }
.c2-feature-strip { border-bottom:1px solid var(--c2-line); background:var(--c2-paper); }
.c2-feature-strip .col { display:flex; align-items:center; justify-content:center; gap:22px; min-height:94px; font-size:15px; border-right:1px solid #dcded5; }
.c2-feature-strip .col:last-child { border:0; }
.c2-feature-number { color:#887041; font:italic 26px/1 var(--alt-font); }
.c2-intro { padding-bottom:125px !important; }
.c2-intro-copy > p:not(.c2-eyebrow) { color:var(--medium-gray); margin-top:24px; }
.c2-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; font-size:14px; font-weight:600; }
.c2-text-link span { color:#94723c; font:23px/1 Arial,sans-serif; flex-shrink:0; }
.c2-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.c2-intro-copy > .c2-text-link { margin-top:24px; }
.c2-intro-visual { position:relative; min-height:465px; padding-bottom:80px; }
.c2-campus-photo { display:flex; flex-direction:column; width:90%; margin-left:auto !important; }
.c2-campus-photo img { width:100%; height:auto; }
.c2-campus-photo figcaption { order:-1; font-size:12px; line-height:1.5; padding:0 0 12px; color:var(--medium-gray); }
.c2-students-photo { width:62%; position:absolute; bottom:0; left:12px; border:8px solid white; box-shadow:0 16px 30px #072f4a16; }
.c2-students-photo img { width:100%; height:auto; }
.c2-visual-note { position:absolute; right:12px; bottom:23px; font:400 19px/1.4 var(--alt-font); border-top:2px solid var(--base-color); padding-top:16px; }
.c2-schools { background:var(--c2-paper); }
.c2-section-heading { margin-bottom:48px; }
.c2-section-heading .col-lg-5 { padding-left:56px; }
.c2-section-heading p:not(.c2-eyebrow) { color:var(--medium-gray); margin-bottom:12px; }
.c2-school-card { height:100%; display:flex; flex-direction:column; background:white; }
.c2-school-image { aspect-ratio:1.65; overflow:hidden; }
.c2-school-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.c2-school-card:hover img { transform:scale(1.025); }
.c2-school-body { padding:26px; flex:1; display:flex; flex-direction:column; }
.c2-location { display:block; font:400 12px/1.6 var(--primary-font); color:var(--medium-gray); margin-bottom:10px !important; }
.c2-school-body h3 { font:400 29px/1.2 var(--alt-font); letter-spacing:-.7px; }
.c2-card-link { display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:500; margin-top:auto; padding-top:24px; min-height:44px; }
.c2-card-link > span { font:25px/1 Arial,sans-serif; color:#94723c; }
.c2-more-schools { height:100%; padding:20px 0 0 22px; }
.c2-more-schools > .c2-eyebrow { margin-bottom:8px !important; }
.c2-more-schools > a { position:relative; display:block; border-bottom:1px solid #cfd7d7; padding:18px 35px 18px 0; }
.c2-more-schools h3 { font:400 22px/1.3 var(--alt-font); }
.c2-more-schools .c2-location { margin-bottom:5px !important; }
.c2-small-arrow { position:absolute; right:0; top:50%; font:23px/1 Arial,sans-serif; color:#87682f; }
.c2-more-schools a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.c2-practice { background:var(--c2-navy); color:white; }
.c2-practice-top { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ffffff30; margin-bottom:48px; padding-bottom:22px; }
.c2-practice-top .c2-eyebrow { margin:0 !important; color:var(--c2-gold); }
.c2-practice-top > span { font-size:12px; letter-spacing:.12em; color:#d6e3ec; }
.c2-classroom img { width:100%; height:auto; }
.c2-classroom figcaption { font-size:12px; color:#d8e4ec; line-height:1.6; padding-top:14px; }
.c2-practice h2 { color:white; }
.c2-practice h2 em { color:var(--c2-gold); }
.c2-practice h3 { font:500 18px/1.65 var(--primary-font); color:white; margin-top:28px; }
.c2-practice h3 span { color:var(--c2-gold); }
.c2-practice-copy > p { color:#d8e4ec; margin-top:20px; font-size:16px; }
.c2-practice .c2-text-link { color:white; margin-top:22px; }
.c2-practice .c2-text-link span { color:var(--c2-gold); }
.c2-practice-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:44px; padding-top:24px; border-top:1px solid #ffffff30; gap:24px; font-size:14px; color:#d8e4ec; }
.c2-practice-bottom .c2-text-link { margin:0; }
.c2-services-lead { color:var(--medium-gray); margin:24px 0 !important; }
.c2-details details { border-top:1px solid var(--c2-line); }
.c2-details details:last-child { border-bottom:1px solid var(--c2-line); }
.c2-details summary { display:flex; align-items:center; gap:22px; padding:25px 0; list-style:none; cursor:pointer; font:500 19px/1.4 var(--primary-font); }
.c2-details summary::-webkit-details-marker { display:none; }
.c2-detail-number { font:400 12px/1.4 var(--primary-font); color:#816533; }
.c2-expand { width:28px; height:28px; border:1px solid #c7d3d9; border-radius:50%; margin-left:auto; position:relative; flex-shrink:0; }
.c2-expand::before,.c2-expand::after { content:''; width:10px; height:1px; background:var(--c2-navy); position:absolute; top:12px; left:8px; }
.c2-expand::after { transform:rotate(90deg); }
.c2-details details[open] .c2-expand::after { transform:rotate(0); }
.c2-details details > div { padding:0 30px 26px 39px; }
.c2-details p { color:var(--medium-gray); margin-bottom:12px; }
.c2-contact { background:#e5d6b7; }
.c2-contact > .container { display:flex; align-items:center; justify-content:space-between; gap:56px; }
.c2-contact h2 { font-size:clamp(42px,4.4vw,66px); }
.c2-contact-copy p { margin-bottom:24px; }
.c2-footer { background:white; padding:64px 0 0; }
.c2-footer .c2-brand + p { color:var(--medium-gray); margin-top:20px; font-size:14px; }
.c2-footer h2 { font:600 13px/1.6 var(--primary-font); letter-spacing:.05em; margin:0 0 16px; text-transform:uppercase; }
.c2-footer .col-lg-3 > a,.c2-footer .col-lg-4 > a { display:flex; gap:20px; align-items:center; min-height:44px; font-size:14px; }
.c2-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.c2-comparison { color:#6c654f !important; }
.c2-footer-bottom { border-top:1px solid var(--c2-line); margin-top:42px; padding:22px 0; font-size:12px; color:var(--medium-gray); display:flex; justify-content:space-between; gap:24px; }
@media(min-width:1600px) { .c2-hero-row { min-height:760px; } .c2-hero-photo { width:73%; } }
@media(max-width:1199px) { .c2-navigation nav { gap:20px; margin-right:0; } .c2-navigation { gap:18px; } .c2-brand img { width:135px; } .c2-hero-row { min-height:640px; } .c2-intro-visual { min-height:410px; } .c2-visual-note { font-size:16px; } .c2-more-schools { padding-left:4px; } }
@media(max-width:991px) {
    .c2 section { padding:72px 0; }
    .c2-navigation { min-height:88px; }
    .c2-menu { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px; border:0; background:transparent; color:var(--c2-navy); font-size:14px; margin-left:auto; }
    .c2-navigation nav { display:none; position:absolute; top:100%; left:0; right:0; padding:16px 32px 24px; margin:0; background:white; box-shadow:0 16px 20px #072f4a18; }
    .c2-navigation nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .c2-navigation nav a { border-bottom:1px solid var(--c2-line); padding:10px 0; }
    .c2-hero-photo { width:100%; }
    .c2-hero::after { background:linear-gradient(90deg,#072f4af5,#072f4aca 38%,#072f4a22 80%); }
    .c2 h1 { font-size:66px; }
    .c2-hero-description { max-width:360px; }
    .c2-intro-visual { margin-top:48px; max-width:660px; min-height:460px; }
    .c2-intro-copy { max-width:660px; }
    .c2-intro { padding-bottom:80px !important; }
    .c2-section-heading .col-lg-5 { padding-left:12px; margin-top:24px; }
    .c2-more-schools { padding:20px 0 0; }
    .c2-more-schools > a { padding-block:22px; }
    .c2-practice-copy { margin-top:36px; }
    .c2-details { margin-top:40px; }
    .c2-contact > .container { align-items:start; flex-direction:column; gap:32px; }
}
@media(max-width:575px) {
    .c2 .container { padding-inline:24px; }
    .c2 section { padding:56px 0; }
    .c2-utility .container { min-height:32px; }
    .c2-utility .container > span { font-size:12px; letter-spacing:.045em; }
    .c2-utility a { display:none; }
    .c2-navigation { min-height:82px; gap:10px; }
    .c2-brand img { width:115px; }
    .c2-menu { font-size:12px; gap:6px; padding-inline:3px; }
    .c2-header-button { display:none; }
    .c2 h1 { font-size:clamp(43px,11.4vw,65px); letter-spacing:-1.8px; }
    .c2-hero { display:flex; flex-direction:column; }
    .c2-hero > .container { order:0; }
    .c2-hero-photo { position:relative; height:auto; order:1; }
    .c2-hero-photo img { height:auto; object-fit:contain; }
    .c2-hero::after { display:none; }
    .c2-hero-row { min-height:0; }
    .c2-hero-copy { padding-block:40px; }
    .c2-hero .c2-eyebrow { max-width:290px; margin-bottom:20px !important; }
    .c2-hero-description { max-width:none; margin-block:24px !important; }
    .c2-feature-strip .col { min-height:58px; justify-content:start; border:0; border-bottom:1px solid #dcded5; font-size:14px; }
    .c2-feature-number { font-size:22px; }
    .c2 h2 { font-size:36px; letter-spacing:-1px; }
    .c2-intro-visual { min-height:0; padding-bottom:0; margin-top:32px; }
    .c2-campus-photo { width:100%; }
    .c2-students-photo { width:76%; position:relative; left:0; margin-top:16px !important; border:0; box-shadow:none; }
    .c2-visual-note { position:static; display:block; margin:16px 0 0 24%; font-size:20px; }
    .c2-intro { padding-bottom:56px !important; }
    .c2-section-heading { margin-bottom:30px; }
    .c2-school-image { aspect-ratio:1.8; }
    .c2-school-body { padding:24px; }
    .c2-practice-top { align-items:start; gap:20px; margin-bottom:32px; }
    .c2-practice-top .c2-eyebrow { max-width:195px; }
    .c2-practice-top > span { white-space:nowrap; font-size:12px; }
    .c2-practice-copy { margin-top:28px; }
    .c2-practice-bottom { flex-direction:column; align-items:start; gap:8px; margin-top:32px; }
    .c2-details summary { font-size:17px; gap:16px; padding-block:22px; }
    .c2-details details > div { padding:0 0 24px 31px; }
    .c2-contact h2 { font-size:43px; }
    .c2-contact .c2-button { font-size:13px; padding-inline:18px; gap:14px; }
    .c2-footer { padding-top:44px; }
    .c2-footer .col-lg-5 { margin-bottom:12px; }
    .c2-footer-bottom { flex-direction:column; gap:10px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .c2 * { transition:none !important; } }
