@font-face { font-family:Avenir; src:url('../fonts/Avenir-Book.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Avenir; src:url('../fonts/Avenir-Light.ttf') format('truetype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:Avenir; src:url('../fonts/Avenir-Medium.ttf') format('truetype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Avenir; src:url('../fonts/Avenir-Heavy.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:Avenir; src:url('../fonts/Avenir-BookOblique.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
/* ARA International — shared brand styles. Bootstrap supplies grids and collapse. */
@font-face { font-family: Alata; src: url('../fonts/Alata-Regular.ttf') format('truetype'); font-display: swap; }
:root { --ink:#14232c; --night:#101c24; --gold:#ceb382; --paper:#faf9f6; --muted:#647078; --line:#deded7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:35px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.8 Avenir,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
a:hover { color:inherit; }
img { display:block; width:100%; object-fit:cover; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:Alata,Avenir,sans-serif; font-weight:400; }
h1,h2 { letter-spacing:-.045em; line-height:1.04; }
h1 { font-size:clamp(3.8rem,7.6vw,8rem); }
h2 { font-size:clamp(2.6rem,4.2vw,4.6rem); }
h3 { font-size:1.85rem; line-height:1.25; letter-spacing:-.025em; }
em { color:#a78249; font-weight:400; }
p { color:var(--muted); }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
.site-container { width:88%; max-width:1400px; margin-right:auto; margin-left:auto; }
.site-container.row { width:88%; }
.section { padding:110px 0; }
.eyebrow { font-size:12px; font-weight:600; letter-spacing:.18em; line-height:1.6; color:#96753f; margin-bottom:26px; }
.light-eyebrow { color:#e5cfa6; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:60px; }
.section-heading>p { max-width:340px; }
.content-note { font-size:12px; line-height:1.7; color:#727b81; margin-top:26px; }
.lead-copy { font-size:23px; color:var(--ink); line-height:1.6; margin-bottom:24px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-height:55px; padding:15px 25px; font-size:14px; font-weight:500; border:1px solid transparent; transition:background .2s,color .2s; }
.button span { font-size:22px; line-height:1; }
.button-gold { background:var(--gold); color:var(--night); }
.button-gold:hover { background:#e2c99f; }
.button-dark { background:var(--night); color:white; }
.button-dark:hover { background:#2a414d; color:white; }
.button-outline { color:white; border-color:#ffffff70; }
.button-outline:hover { background:white; color:var(--night); }
.text-link { display:inline-flex; align-items:center; gap:35px; padding:8px 0; border-bottom:1px solid #b89966; font-size:14px; }
.text-link span { font-size:21px; }
.skip-link { position:absolute; top:-100px; left:20px; background:white; padding:12px; z-index:20; }
.skip-link:focus { top:10px; }
/* Header and mobile Bootstrap menu */
.topline { padding:10px 6%; background:var(--night); color:#c0c9ce; display:flex; justify-content:space-between; font-size:10px; letter-spacing:.15em; }
.topline a { color:#d9c39f; letter-spacing:.07em; }
.topline a span { margin-left:16px; }
.site-header { padding:0; background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; min-height:104px; }
.wordmark { display:inline-flex; flex-direction:column; line-height:1; width:max-content; }
.wordmark>span { font-family:Alata,Arial,sans-serif; font-size:43px; letter-spacing:.16em; position:relative; }
.wordmark i { position:absolute; font-style:normal; font-size:20px; color:#b89760; right:-12px; top:-7px; letter-spacing:0; }
.wordmark small { font-size:9px; letter-spacing:.27em; margin-top:9px; }
.brand-logo { display:inline-flex; align-items:center; flex:0 0 auto; }
.brand-logo img { width:auto; height:auto; max-width:220px; max-height:68px; object-fit:contain; }
.brand-logo-main img { width:220px; }
.brand-logo-academy img { width:195px; }
.brand-logo-development img { width:220px; }
.brand-logo-prestige img { width:215px; }
.brand-logo-footer { width:250px; min-height:86px; padding:15px; background:#fff; }
.brand-logo-footer img { width:220px; max-width:100%; max-height:58px; }
.site-header .navbar-collapse { flex-grow:0; gap:40px; }
.site-header .navbar-nav { gap:20px; }
.site-header .nav-link { color:var(--ink); font-size:13px; position:relative; padding:12px 4px; }
.site-header .nav-link[aria-current=page]::after { content:''; position:absolute; bottom:3px; left:4px; width:22px; height:2px; background:#b69459; }
.page-academy .site-header,.page-register .site-header { background:#f3f4fa; border-bottom-color:#d9dbea; }
.page-academy .site-header .nav-link[aria-current=page]::after,
.page-register .site-header .nav-link[aria-current=page]::after { background:#171e54; }
.page-prestige .site-header { background:#f1f8fa; border-bottom-color:#cfe3e9; }
.page-prestige .site-header .nav-link[aria-current=page]::after { background:#007ead; }
.page-development .site-header { background:#101c24; border-bottom-color:#ffffff20; }
.page-development .site-header .nav-link { color:#eef2f3; }
.page-development .site-header .nav-link[aria-current=page]::after { background:#d0a05b; }
.page-development .navbar-toggler { border-color:#ffffff55; filter:invert(1); }
.nav-register { min-height:46px; padding:10px 18px; font-size:12px; gap:25px; }
/* Cinematic home */
.photo-hero { position:relative; overflow:hidden; background:var(--night); color:white; }
.hero-background { position:absolute; inset:0; height:100%; }
.photo-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,23,30,.88),rgba(5,23,30,.23)),linear-gradient(0deg,rgba(5,23,30,.75),transparent 45%); pointer-events:none; }
.home-hero { min-height:790px; display:flex; flex-direction:column; justify-content:space-between; }
.home-hero .hero-background { object-position:center 58%; }
.hero-content { position:relative; z-index:1; padding-top:88px; padding-bottom:75px; }
.photo-hero h1 em { color:#e1c89f; }
.short-line { width:32px; height:1px; display:inline-block; background:var(--gold); vertical-align:middle; margin-right:15px; }
.hero-introduction { display:flex; gap:60px; align-items:center; margin-top:40px; }
.hero-introduction p { color:#d6dfe0; font-size:16px; line-height:1.8; }
.hero-side-note { position:absolute; right:0; top:180px; writing-mode:vertical-rl; letter-spacing:.3em; font-size:10px; color:#d2d9da; }
.hero-ledger { display:grid; grid-template-columns:repeat(3,1fr); position:relative; z-index:1; border-top:1px solid #ffffff45; }
.hero-ledger a { padding:27px 32px 31px 0; position:relative; }
.hero-ledger a+a { border-left:1px solid #ffffff30; padding-left:32px; }
.hero-ledger a>span { font-size:10px; letter-spacing:.16em; color:#d7bf9a; display:block; margin-bottom:9px; }
.hero-ledger strong { font-family:Avenir,Arial,sans-serif; font-size:25px; font-weight:400; }
.hero-ledger small { font-family:Avenir,Arial,sans-serif; font-size:10px; color:#d2d9da; margin-left:10px; }
.hero-ledger b { position:absolute; right:30px; top:42px; font-size:23px; font-weight:400; }
.large-index { font-family:Avenir,Arial,sans-serif; font-size:100px; line-height:1; color:#b59a6d; display:flex; align-items:center; gap:20px; }
.large-index span { font-family:Avenir,Arial,sans-serif; font-size:9px; letter-spacing:.15em; line-height:1.9; color:var(--muted); }
.intro-copy { margin-top:25px; max-width:600px; }
.intro-aside { border-left:1px solid var(--line); padding-left:35px; }
.intro-aside p { font-size:14px; margin-bottom:25px; }
.business-section { background:#efefeb; }
.business-grid { padding-bottom:30px; }
.business-card { display:block; }
.offset-card { margin-top:60px; }
.business-image { height:420px; position:relative; overflow:hidden; background:var(--night); }
.business-image::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 40%,#091921b0); }
.business-image img { height:100%; transition:transform .6s; }
.business-card:hover img { transform:scale(1.04); }
.image-number { position:absolute; left:25px; top:20px; z-index:1; font-family:Avenir,Arial,sans-serif; font-size:35px; color:white; }
.image-arrow { position:absolute; right:24px; bottom:25px; color:white; z-index:1; font-size:30px; }
.image-label { position:absolute; bottom:32px; left:25px; z-index:1; color:white; font-size:9px; letter-spacing:.14em; }
.status-tag { position:absolute; right:18px; top:28px; background:#14232ccc; padding:6px 10px; z-index:1; color:#e8d1ab; font-size:9px; letter-spacing:.1em; }
.card-caption { padding:27px 0 0; }
.business-card-logo { width:auto; height:auto; max-width:225px; max-height:76px; object-fit:contain; object-position:left center; margin-bottom:20px; }
.academy-card-logo { width:220px; }
.development-card-logo { width:220px; }
.prestige-card-logo { width:215px; }
.academy-card .card-caption { border-top:3px solid #171e54; }
.development-card .card-caption { border-top:3px solid #c79445; }
.prestige-card .card-caption { border-top:3px solid #007ead; }
.business-card .card-caption { padding-top:23px; }
.card-caption .eyebrow { margin-bottom:12px; font-size:10px; }
.card-caption h3 { margin-bottom:16px; }
.card-caption>p:last-child { font-size:15px; }
/* Founder and values */
.founder-section { background:var(--night); color:#f7f3ea; }
.founder-frame { min-height:565px; background:#172a34; border:1px solid #b79d663b; outline:1px solid #b79d663b; outline-offset:-18px; display:flex; flex-direction:column; justify-content:space-between; align-items:center; text-align:center; padding:45px 30px; }
.founder-frame .eyebrow { color:#cdb78e; font-size:10px; }
.founder-letter { font-family:Avenir,Arial,sans-serif; color:#bba272; font-size:210px; line-height:.9; position:relative; }
.founder-letter>span { position:absolute; font-size:45px; top:-10px; right:-25px; }
.founder-frame p { font-family:Avenir,Arial,sans-serif; font-size:23px; color:#e4d9c7; }
.founder-frame small { font-size:12px; color:#9dabb2; }
.founder-copy { padding-left:7%; }
.founder-copy .eyebrow { color:var(--gold); }
.founder-copy h2 em,.footer-invitation em { color:#cfb58b; }
.founder-copy blockquote { margin:30px 0 22px; font:italic 26px/1.5 Avenir,Arial,sans-serif; color:#e1d8c8; }
.founder-copy>p:not(.eyebrow):not(.content-note) { color:#b4c0c6; margin-bottom:18px; }
.founder-signoff { margin:24px 0; }
.founder-signoff>span { display:block; font:italic 25px Avenir,Arial,sans-serif; }
.founder-signoff small { display:block; font-size:9px; letter-spacing:.2em; margin-top:10px; color:#a8b5bd; }
.founder-copy .content-note { color:#9babb4; }
.purpose-grid { border-top:1px solid var(--line); }
.purpose-grid article { padding:40px 7% 25px 0; }
.purpose-grid article+article { border-left:1px solid var(--line); padding-left:7%; padding-right:0; }
.purpose-grid h3,.purpose-grid h2 { margin:25px 0; }
.purpose-grid h3 { font-size:35px; }
.purpose-grid h2 { font-size:48px; }
.values-section,.learning-section { background:#eeefea; }
.value-card { padding-right:30px; }
.value-card>span { display:block; border-top:1px solid #bba77f; padding-top:25px; font:18px Avenir,Arial,sans-serif; color:#a38756; margin-bottom:35px; }
.value-card h3 { margin-bottom:20px; }
.value-card p { font-size:15px; }
/* About */
.editorial-hero { padding:90px 0 0; background:#e9ebe6; }
.editorial-hero h1 { font-size:clamp(3.8rem,7vw,7rem); }
.editorial-hero .text-link { margin-top:22px; }
.editorial-bottom { border-top:1px solid #ccd1c8; display:flex; justify-content:space-between; align-items:center; margin-top:75px; padding:22px 0; font-size:10px; letter-spacing:.19em; }
.editorial-bottom>span:nth-child(2) { color:#a58c5c; font-size:24px; }
.story-prose p { margin-bottom:22px; }
.about-image { position:relative; min-height:480px; display:flex; align-items:flex-end; padding:70px 0; background:var(--night); color:white; }
.about-image img { position:absolute; inset:0; height:100%; opacity:.45; }
.about-image .site-container { position:relative; }
.about-image em { color:#ddc59b; }
.about-image .eyebrow { color:#e0c89e; }
/* Academy */
.academy-hero { display:grid; grid-template-columns:1fr 1fr; background:#e9ebe6; }
.academy-hero-copy { padding:75px 12%; }
.page-brand-logo { object-fit:contain; object-position:left center; }
.academy-page-logo { width:min(330px,80%); height:auto; max-height:125px; margin-bottom:32px; }
.page-academy .eyebrow,.page-academy .value-card>span { color:#171e54; }
.page-academy .text-link { border-color:#171e54; }
.academy-button { background:#171e54; color:white; }
.academy-button:hover { background:#293373; color:white; }
.academy-hero h1 { font-size:clamp(3.5rem,6vw,6.5rem); }
.academy-hero-copy>p:not(.eyebrow) { margin:30px 0; }
.academy-hero-copy>.text-link { display:flex; width:max-content; margin-top:20px; }
.academy-hero-image { position:relative; min-height:640px; }
.academy-hero-image>img { position:absolute; height:100%; inset:0; }
.academy-hero-image::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 60%,#061620aa); }
.academy-seal { display:flex; align-items:center; gap:20px; margin-top:45px; }
.academy-seal img { width:57px; height:76px; object-fit:contain; }
.academy-seal span { font-size:9px; letter-spacing:.12em; line-height:1.9; }
.photo-caption { position:absolute; bottom:25px; left:0; right:0; z-index:1; display:flex; justify-content:space-between; color:#e0e7e9; font-size:10px; letter-spacing:.14em; }
.academy-hero-image .photo-caption { padding:0 30px; gap:20px; }
.learning-section h2 { margin-bottom:25px; }
.learning-section .button { margin-top:30px; }
.process-item { display:flex; gap:25px; padding:27px 0; border-top:1px solid #cdd1c9; }
.process-item>span { color:#a58a58; font-size:13px; padding-top:8px; }
.process-item h3 { font-size:26px; margin-bottom:10px; }
.process-item p { font-size:15px; }
.ara-accordion { --bs-accordion-bg:transparent; --bs-accordion-border-color:var(--line); --bs-accordion-border-radius:0; --bs-accordion-btn-focus-box-shadow:0 0 0 3px #ceb38260; --bs-accordion-active-bg:transparent; --bs-accordion-active-color:var(--ink); }
.ara-accordion .accordion-item { border-left:0; border-right:0; }
.ara-accordion .accordion-button { padding:25px 10px; font:21px/1.4 Avenir,Arial,sans-serif; color:var(--ink); }
.ara-accordion .accordion-body { padding:0 10px 28px; color:var(--muted); font-size:15px; }
/* Prestige and development */
.prestige-hero { min-height:750px; }
.prestige-hero .hero-content { padding-top:70px; padding-bottom:95px; }
.prestige-wordmark { display:flex; gap:16px; align-items:center; margin-bottom:55px; }
.prestige-logo-panel { display:inline-flex; align-items:center; width:min(380px,80vw); min-height:115px; padding:18px 24px; margin-bottom:38px; background:rgba(255,255,255,.94); }
.prestige-page-logo { width:100%; height:75px; }
.prestige-button { color:white; border:1px solid #55b4d1; }
.prestige-button:hover { color:#062633; background:#55b4d1; }
.page-prestige .value-card>span,.page-prestige .availability-note .eyebrow { color:#007ead; }
.page-prestige .availability-note { border-top:3px solid #007ead; }
.prestige-wordmark img { width:53px; height:53px; object-fit:contain; }
.prestige-wordmark>span { font:24px Avenir,Arial,sans-serif; letter-spacing:.05em; }
.prestige-wordmark small { display:block; font:9px Avenir,Arial,sans-serif; letter-spacing:.4em; margin-top:9px; }
.prestige-hero .hero-content>p:not(.eyebrow) { color:#dce5e6; margin:30px 0; }
.travel-editorial { display:grid; grid-template-columns:55% 45%; background:#dfE7e1; }
.travel-image { height:620px; }
.travel-image img { height:100%; object-position:75% center; }
.travel-copy { padding:90px 15%; align-self:center; }
.travel-copy h2 { margin-bottom:30px; }
.editorial-rule { display:block; width:45px; height:1px; background:#a78d5e; margin:35px 0; }
.small-caps { font-size:10px; letter-spacing:.12em; }
.availability-note { border:1px solid var(--line); padding:32px; margin-top:65px; max-width:850px; }
.availability-note .eyebrow { display:block; margin-bottom:12px; }
.availability-note .content-note { display:block; margin-top:15px; }
.development-hero { min-height:900px; text-align:center; display:flex; align-items:center; justify-content:center; padding:65px 25px 100px; }
.development-hero::after { background:linear-gradient(#07172570,#071725e8); }
.development-hero .hero-background { opacity:.65; }
.development-content { position:relative; z-index:1; max-width:900px; }
.development-logo { width:280px; max-width:80%; margin:0 auto 45px; }
.development-logo { width:min(560px,85vw); height:auto; }
.development-button { color:#f1d39e; border:1px solid #d0a05b; }
.development-button:hover { color:#121c24; background:#d0a05b; }
.development-content h1 { font-size:clamp(4rem,7vw,7rem); }
.coming-soon { display:flex; align-items:center; justify-content:center; gap:20px; font-size:12px; letter-spacing:.25em; color:#e1c69a; margin:35px 0 25px; }
.coming-soon span { width:45px; height:1px; background:#bca274; }
.development-content>p:not(.eyebrow) { color:#c2cdd4; margin-bottom:25px; }
.development-content .launch-note { font-size:12px; margin-top:25px; }
/* Student registration */
.registration-page { background:#eceee9; padding:70px 0 100px; }
.registration-heading { max-width:850px; margin-bottom:45px; }
.registration-heading h1 { font-size:clamp(3.3rem,5.7vw,5.7rem); }
.registration-heading>p:last-child { margin-top:25px; max-width:620px; }
.registration-layout { display:grid; grid-template-columns:1fr 350px; gap:35px; align-items:start; }
.registration-form { background:var(--paper); border:1px solid #d9dcd4; padding:45px; }
.form-step { display:flex; gap:15px; align-items:baseline; padding-bottom:22px; border-bottom:1px solid var(--line); margin-bottom:28px; }
.form-step span { color:#a58a58; font-size:12px; }
.form-step h2 { font-size:30px; letter-spacing:-.025em; }
.form-step.second { margin-top:35px; }
.form-label { color:#34434b; font-size:14px; font-weight:500; }
.form-label .optional { font-size:12px; color:var(--muted); font-weight:400; }
.form-control,.form-select { border-radius:0; border:1px solid #d3d8d2; background:white; padding:13px 15px; min-height:50px; font-size:16px; color:var(--ink); }
.form-control:focus,.form-select:focus { border-color:#ab8e59; box-shadow:0 0 0 3px #ceb38240; }
textarea.form-control { min-height:135px; }
.form-text { font-size:12px; color:#6c767c; }
.form-check { padding-left:28px; }
.form-check-input { border-radius:0!important; margin-left:-28px!important; }
.form-check-input:checked { background-color:var(--ink); border-color:var(--ink); }
.form-check-label { font-size:13px; color:#5a6770; }
.form-check-label a { text-decoration:underline; }
.form-submit { display:flex; gap:25px; align-items:center; border-top:1px solid var(--line); margin-top:30px; padding-top:28px; }
.form-submit p { font-size:12px; line-height:1.6; max-width:210px; }
.registration-aside { background:var(--night); color:#f0e9dc; padding:35px; }
.registration-aside .eyebrow { color:var(--gold); }
.registration-aside h2 { font-size:36px; margin-bottom:25px; }
.registration-aside img { width:min(260px,100%); height:auto; max-height:105px; object-fit:contain; object-position:left center; background:#f4f3ed; padding:12px; margin-bottom:30px; }
.registration-aside p { font-size:14px; color:#b2bec5; }
.aside-row { border-top:1px solid #ffffff25; padding-top:20px; margin-top:25px; }
.aside-row>span { font-size:10px; letter-spacing:.12em; color:#d4bd94; }
.aside-row p { margin-top:8px; }
.privacy-note { margin-top:25px; font-size:12px; }
.privacy-note h3 { font-family:Avenir,Arial,sans-serif; font-size:14px; margin-bottom:10px; }
.alert { border-radius:0; font-size:15px; }
.alert a { text-decoration:underline; }
.error-summary ul { margin:10px 0 0; }
.field-error { color:#a42727; font-size:13px; margin-top:6px; }
.success-panel { background:var(--paper); padding:55px; border:1px solid #d9dcd4; max-width:850px; }
.success-icon { display:grid; place-items:center; width:60px; height:60px; border:1px solid #9aa891; color:#436349; font-size:27px; margin-bottom:25px; }
.success-panel h2 { font-size:45px; margin-bottom:25px; }
.reference { background:#eceee9; padding:20px; margin:25px 0; }
.reference small { display:block; font-size:10px; letter-spacing:.12em; }
.reference strong { font-size:20px; letter-spacing:.05em; font-weight:500; overflow-wrap:anywhere; }
/* Footer */
.site-footer { background:#101c24; color:#e7e7dd; padding:80px 0 25px; }
.footer-invitation { border-bottom:1px solid #ffffff20; padding-bottom:65px; margin-bottom:60px; }
.footer-invitation>.eyebrow { color:#d5bf97; }
.footer-invitation>div { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.footer-invitation h2 { font-size:clamp(2.7rem,4.6vw,5rem); }
.circle-link { display:grid; place-items:center; width:95px; height:95px; border:1px solid #cbb58c; border-radius:50%; color:#d7c097; font-size:45px; flex-shrink:0; transition:background .2s; }
.circle-link:hover { color:var(--night); background:var(--gold); }
.footer-description { color:#a8b5bd; margin-top:27px; font-size:14px; }
.footer-label { font-size:10px; color:#d1bc96; letter-spacing:.15em; margin-bottom:23px; }
.footer-grid nav { display:flex; flex-direction:column; gap:10px; font-size:14px; color:#c2ccd1; }
.footer-grid nav a:hover { color:#e1cba4; }
.footer-bottom { border-top:1px solid #ffffff20; margin-top:60px; padding-top:22px; display:flex; justify-content:space-between; gap:25px; font-size:10px; color:#a1b0ba; }
.footer-bottom i { color:#d2b47e; margin:0 9px; }
/* Smaller screens */
@media (max-width:1199px) {
    .site-header .navbar-collapse { gap:22px; }
    .site-header .navbar-nav { gap:10px; }
    .site-header .nav-link { font-size:12px; }
    .nav-register { font-size:11px; padding:10px 14px; gap:18px; }
    .business-image { height:340px; }
    .image-label { font-size:8px; left:18px; }
    .intro-aside { padding-left:22px; }
    .registration-layout { grid-template-columns:1fr 300px; gap:25px; }
    .registration-form { padding:30px; }
    .travel-copy { padding:60px 12%; }
}
@media (max-width:991.98px) {
    .section { padding:80px 0; }
    .header-inner { min-height:90px; padding-top:20px; padding-bottom:20px; }
    .site-header .navbar-collapse { flex-basis:100%; padding-top:25px; }
    .site-header .navbar-nav { gap:0; }
    .site-header .nav-link { font-size:16px; padding:12px 0; }
    .nav-register { margin-top:20px; font-size:14px; }
    .hero-content { padding-top:70px; }
    .home-hero { min-height:720px; }
    .hero-ledger strong { font-size:21px; }
    .hero-ledger small { display:block; margin:3px 0 0; }
    .hero-ledger b { right:15px; }
    .intro-section h2 { margin-top:30px; }
    .intro-aside { border:0; padding-left:12px; margin-top:25px; }
    .intro-aside p { display:none; }
    .business-image { height:310px; }
    .card-caption h3 { font-size:25px; }
    .image-label { max-width:65%; line-height:1.6; bottom:24px; }
    .founder-frame { min-height:470px; max-width:600px; }
    .founder-copy { padding:45px 12px 0; }
    .editorial-hero .col-lg-4 { margin-top:35px; max-width:600px; }
    .story-prose { margin-top:35px; }
    .academy-hero-copy { padding:60px 10%; }
    .academy-hero h1 { font-size:60px; }
    .academy-hero-image { min-height:680px; }
    .learning-section .offset-lg-1 { margin-top:40px; }
    .ara-accordion { margin-top:35px; }
    .travel-image { height:560px; }
    .travel-copy { padding:50px 10%; }
    .registration-layout { grid-template-columns:1fr; }
    .registration-aside { max-width:none; }
    .registration-aside img { float:right; }
    .form-submit p { max-width:none; }
}
@media (max-width:767.98px) {
    .site-container,.site-container.row { width:88%; }
    .section { padding:60px 0; }
    .topline { justify-content:center; font-size:8px; padding:10px 5%; }
    .topline>a { display:none; }
    .wordmark>span { font-size:36px; }
    .wordmark small { font-size:8px; }
    .brand-logo-main img { width:185px; }
    .brand-logo-academy img { width:170px; }
    .brand-logo-development img { width:185px; }
    .brand-logo-prestige img { width:180px; }
    .eyebrow { font-size:10px; margin-bottom:22px; }
    h1 { font-size:4.3rem; }
    h2 { font-size:2.85rem; }
    .hero-content { padding-top:65px; padding-bottom:55px; }
    .home-hero { min-height:800px; }
    .hero-side-note { display:none; }
    .hero-introduction { display:block; margin-top:28px; }
    .hero-introduction .button { margin-top:25px; }
    .hero-ledger { grid-template-columns:1fr; }
    .hero-ledger a,.hero-ledger a+a { padding:16px 0; border-left:0; border-top:1px solid #ffffff25; }
    .hero-ledger a>span { font-size:8px; margin-bottom:4px; }
    .hero-ledger strong { font-size:22px; }
    .hero-ledger b { top:25px; right:0; }
    .hero-ledger small { display:inline; font-size:9px; margin-left:10px; }
    .hero-ledger a:first-child { border-top:0; }
    .large-index { font-size:85px; }
    .intro-section h2 { margin-top:30px; }
    .intro-copy { font-size:15px; }
    .section-heading { display:block; margin-bottom:35px; }
    .section-heading>p,.section-heading>.text-link { margin-top:25px; }
    .business-grid { gap:25px 0; padding-bottom:0; }
    .offset-card { margin-top:0; }
    .business-image { height:430px; }
    .image-label { font-size:10px; max-width:75%; }
    .card-caption h3 { font-size:31px; }
    .card-caption { padding-top:23px; }
    .founder-frame { min-height:430px; }
    .founder-letter { font-size:170px; }
    .founder-copy blockquote { font-size:24px; }
    .purpose-grid article,.purpose-grid article+article { padding:30px 0; border-left:0; }
    .purpose-grid article+article { border-top:1px solid var(--line); }
    .purpose-grid h2 { font-size:40px; }
    .purpose-grid h3 { font-size:30px; }
    .value-card { padding-right:12px; margin-top:20px; }
    .value-card>span { margin-bottom:20px; }
    .editorial-hero { padding-top:55px; }
    .editorial-hero h1 { font-size:4rem; }
    .editorial-bottom { margin-top:45px; font-size:8px; letter-spacing:.08em; gap:20px; }
    .editorial-bottom span:last-child { text-align:right; }
    .about-image { min-height:400px; padding:50px 0; }
    .about-image h2 { font-size:39px; }
    .lead-copy { font-size:21px; }
    .academy-hero { grid-template-columns:1fr; }
    .academy-hero-copy { padding:55px 6%; }
    .academy-page-logo { width:min(285px,85%); height:auto; }
    .academy-hero h1 { font-size:4.1rem; }
    .academy-hero-image { min-height:420px; }
    .academy-seal { margin-top:30px; }
    .photo-caption { font-size:8px; gap:20px; }
    .photo-caption span:last-child { text-align:right; }
    .prestige-hero { min-height:730px; }
    .prestige-wordmark { margin-bottom:50px; }
    .prestige-wordmark>span { font-size:22px; }
    .prestige-hero h1 { font-size:3.8rem; }
    .travel-editorial { grid-template-columns:1fr; }
    .travel-image { height:400px; }
    .travel-copy { padding:55px 6%; }
    .availability-note { padding:25px; margin-top:40px; }
    .development-hero { min-height:800px; padding-bottom:100px; }
    .development-content h1 { font-size:3.9rem; }
    .development-logo { width:245px; }
    .development-logo { width:min(440px,88vw); }
    .development-content .launch-note { max-width:280px; margin-left:auto; margin-right:auto; }
    .registration-page { padding:50px 0 65px; }
    .registration-heading h1 { font-size:3.45rem; }
    .registration-form { padding:25px 20px; }
    .registration-heading { margin-bottom:30px; }
    .form-submit { flex-direction:column; align-items:stretch; gap:15px; }
    .form-submit p { text-align:center; }
    .form-step h2 { font-size:27px; }
    .registration-aside { padding:30px; }
    .success-panel { padding:30px 23px; }
    .success-panel h2 { font-size:36px; }
    .reference strong { font-size:17px; }
    .site-footer { padding-top:55px; }
    .footer-invitation { padding-bottom:40px; margin-bottom:40px; }
    .footer-invitation h2 { font-size:35px; }
    .circle-link { width:60px; height:60px; font-size:30px; }
    .footer-invitation>div { gap:20px; }
    .footer-bottom { flex-direction:column; gap:10px; margin-top:40px; font-size:10px; }
}
@media (max-width:380px) {
    h1,.academy-hero h1,.editorial-hero h1 { font-size:3.5rem; }
    .prestige-hero h1,.development-content h1 { font-size:3.3rem; }
    .footer-invitation>div { align-items:flex-start; }
    .footer-invitation h2 { font-size:30px; }
    .circle-link { width:48px; height:48px; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition:none!important; animation:none!important; }
}

/* Brand-matched page themes -------------------------------------------------
   Main: ARA cyan, Academy: royal navy, Prestige: ocean blue,
   Development: champagne gold. Each sits on the same deep midnight base. */
.page-index,.page-about,.page-contact {
    --page-accent:#007eb0;
    --page-accent-light:#70c9e5;
    --page-deep:#092634;
    --page-soft:#e7f2f5;
}
.page-academy,.page-register {
    --page-accent:#171f49;
    --page-accent-light:#929cce;
    --page-deep:#101632;
    --page-soft:#eceef7;
}
.page-prestige {
    --page-accent:#006993;
    --page-accent-light:#61bbd8;
    --page-deep:#061f2b;
    --page-soft:#e5f1f4;
}
.page-development {
    --page-accent:#bb9567;
    --page-accent-light:#ead0a7;
    --page-deep:#101820;
    --page-soft:#f2ece4;
}
body[class*="page-"] .topline,
body[class*="page-"] .site-footer { background:var(--page-deep); }
body[class*="page-"] .topline a,
body[class*="page-"] .footer-label,
body[class*="page-"] .footer-invitation>.eyebrow,
body[class*="page-"] .footer-bottom i { color:var(--page-accent-light); }
body[class*="page-"] .circle-link { border-color:var(--page-accent); color:var(--page-accent-light); }
body[class*="page-"] .circle-link:hover { background:var(--page-accent); color:white; }
body[class*="page-"] .footer-invitation em { color:var(--page-accent-light); }
body[class*="page-"] .button-gold { background:var(--page-accent); color:white; }
body[class*="page-"] .button-gold:hover { background:var(--page-accent-light); color:var(--page-deep); }

/* Main ARA family — logo cyan supported by ink, ice and white. */
.page-index .button-gold,.page-about .button-gold,.page-contact .button-gold {
    background:#007eb0; color:white;
}
.page-index .button-gold:hover,.page-about .button-gold:hover,.page-contact .button-gold:hover {
    background:#0498cf; color:white;
}
.page-index .eyebrow,.page-about .eyebrow,.page-contact .eyebrow,
.page-index em,.page-about em,.page-contact em { color:#007eb0; }
.page-index .light-eyebrow,.page-index .photo-hero em { color:#9edcf0; }
.page-index .short-line,.page-about .editorial-bottom>span:nth-child(2),
.page-contact .editorial-bottom>span:nth-child(2) { color:#007eb0; background-color:#007eb0; }
.page-index .text-link,.page-about .text-link,.page-contact .text-link { border-color:#007eb0; }
.page-index .intro-section { background:linear-gradient(135deg,#fbfcfc 0%,#eaf4f7 100%); }
.page-index .business-section { background:#edf3f4; }
.page-index .large-index { color:#007eb0; }
.page-index .purpose-section { background:linear-gradient(120deg,#fff 55%,#e4f1f5 100%); }
.page-about .editorial-hero,.page-contact .editorial-hero { background:linear-gradient(135deg,#f8fbfb,#dfeef2); }
.page-about .about-image::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,28,39,.88),rgba(0,126,176,.18)); }
.page-about .about-image .site-container { z-index:1; }
.page-about .about-image .eyebrow,.page-about .about-image em { color:#91d6eb; }
.page-contact .contact-map-heading { background:#092f40; color:#9edcf0; }
.page-contact .contact-map-dot { background:#007eb0; box-shadow:0 0 0 6px rgba(0,126,176,.18); }
.page-contact .contact-map-panel { border-top:4px solid #007eb0; box-shadow:0 24px 65px rgba(10,45,59,.12); }

/* Academy — disciplined navy, soft lilac-grey and crisp white. */
.page-academy,.page-register { background:#fafaff; }
.page-academy .academy-hero { background:linear-gradient(135deg,#f8f9ff,#e7eaf5); }
.page-academy .academy-hero-copy { border-left:6px solid #171f49; }
.page-academy .academy-hero h1 em,.page-academy .learning-section h2 em,
.page-register .registration-heading em,.page-register .success-panel em { color:#566396; }
.page-academy .academy-button,.page-register .button-dark { background:#171f49; color:white; }
.page-academy .academy-button:hover,.page-register .button-dark:hover { background:#303b75; }
.page-academy .learning-section,.page-register .registration-page { background:#eceef7; }
.page-academy .value-card { background:white; padding:32px; border-top:4px solid #171f49; box-shadow:0 16px 45px rgba(23,31,73,.07); }
.page-academy .value-card>span { border:0; padding-top:0; }
.page-register .registration-form { border-top:4px solid #171f49; box-shadow:0 25px 65px rgba(23,31,73,.09); }
.page-register .registration-aside { background:#101632; border-top:4px solid #8e99cd; }
.page-register .form-control:focus,.page-register .form-select:focus { border-color:#566396; box-shadow:0 0 0 3px rgba(86,99,150,.18); }

/* Prestige — ocean blue, black typography and airy aqua surfaces. */
.page-prestige { background:#f9fcfd; }
.page-prestige .prestige-hero::after { background:linear-gradient(90deg,rgba(2,20,27,.9),rgba(0,105,147,.17)),linear-gradient(0deg,rgba(2,20,27,.74),transparent 45%); }
.page-prestige .prestige-hero em,.page-prestige .light-eyebrow { color:#8bd3e8; }
.page-prestige .travel-editorial { background:linear-gradient(135deg,#e2f1f4,#cfe5e9); }
.page-prestige .travel-copy .eyebrow,.page-prestige .travel-copy em { color:#006993; }
.page-prestige .value-card { border-top:4px solid #006993; padding-top:30px; }
.page-prestige .prestige-button { background:rgba(0,105,147,.82); border-color:#83d0e5; }
.page-prestige .prestige-button:hover { background:#83d0e5; color:#061f2b; }

/* Development — gold foil accents against midnight construction imagery. */
.page-development .development-hero::after { background:linear-gradient(100deg,rgba(7,15,21,.9),rgba(15,25,31,.58)),linear-gradient(0deg,rgba(8,15,20,.88),transparent 52%); }
.page-development .development-content h1 em,.page-development .light-eyebrow { color:#e0bd8b; }
.page-development .coming-soon { color:#e0bd8b; }
.page-development .development-button { background:rgba(187,149,103,.12); color:#f0d8b6; }
.page-development .development-button:hover { background:#bb9567; color:#101820; }

@media (max-width:767.98px) {
    .page-academy .academy-hero-copy { border-left:0; border-top:4px solid #171f49; }
    .page-academy .value-card { margin-right:12px; margin-left:12px; }
}

/* Clean white footer. The main logo sits directly on the footer surface. */
.brand-logo-footer {
    width:230px;
    min-height:0;
    padding:0;
    background:transparent;
}
.brand-logo-footer img { width:230px; max-height:62px; }
body[class*="page-"] .site-footer {
    background:#fff;
    color:var(--ink);
    border-top:1px solid var(--line);
}
.site-footer .footer-invitation { border-bottom-color:var(--line); }
.site-footer .footer-invitation h2 { color:var(--ink); }
body[class*="page-"] .footer-invitation>.eyebrow,
body[class*="page-"] .footer-label,
body[class*="page-"] .footer-bottom i { color:var(--page-accent); }
body[class*="page-"] .footer-invitation em { color:var(--page-accent); }
body[class*="page-"] .circle-link { border-color:var(--page-accent); color:var(--page-accent); }
body[class*="page-"] .circle-link:hover { background:var(--page-accent); color:#fff; }
.site-footer .footer-description { color:#68747b; }
.site-footer .footer-grid nav { color:#34444d; }
.site-footer .footer-grid nav a:hover { color:var(--page-accent); }
.site-footer .footer-bottom { border-top-color:var(--line); color:#6d777d; }

/* User-supplied Alata headings and Avenir text throughout. */
h1,h2 { letter-spacing:-.055em; line-height:1.12; }
h1 em,h2 em { font-family:Avenir,Arial,sans-serif; font-weight:300; font-style:normal; }

/* Contact page — shared local Alata / Avenir typography. */
.contact-hero h1 { font-size:clamp(3.3rem,6.2vw,6.5rem); }
.contact-location-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:7%; align-items:center; }
.contact-location-details h2 { margin-bottom:27px; }
.contact-intro { max-width:390px; }
.contact-detail { padding:25px 0; margin:25px 0 10px; border-top:1px solid var(--line); }
.contact-detail .eyebrow { display:block; margin-bottom:10px; }
.contact-detail p { font-size:14px; }
.contact-map-panel { border:1px solid #d5d9d2; background:#e9ebe6; min-width:0; }
.contact-map-heading { padding:20px 25px; background:var(--night); color:var(--gold); display:flex; justify-content:space-between; align-items:center; font-size:11px; letter-spacing:.16em; }
.contact-map-dot { width:7px; height:7px; border-radius:50%; background:var(--gold); }
.contact-map { display:block; width:100%; height:460px; border:0; }
.contact-map-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 25px; }
.contact-map-footer p { font-size:12px; }
.contact-map-footer a { font-size:13px; white-space:nowrap; border-bottom:1px solid #a58a58; }
.contact-next { background:#eeefea; }
.contact-next .process-item:first-child { padding-top:0; border-top:0; }
@media (max-width:1199.98px) {
    .header-inner { min-height:90px; padding-top:20px; padding-bottom:20px; }
    .site-header .navbar-collapse { flex-basis:100%; padding-top:25px; }
    .site-header .navbar-nav { gap:0; }
    .site-header .nav-link { font-size:16px; padding:12px 0; }
    .nav-register { margin-top:20px; font-size:14px; }
}
@media (max-width:991.98px) {
    .contact-location-grid { grid-template-columns:1fr; gap:40px; }
    .contact-intro { max-width:600px; }
    .contact-map { height:440px; }
}
@media (max-width:767.98px) {
    .contact-hero h1 { font-size:clamp(2.8rem,10vw,4rem); }
    .contact-map { height:360px; }
    .contact-map-heading { padding:18px 20px; }
    .contact-map-footer { align-items:flex-start; padding:18px 20px; flex-direction:column; gap:12px; }
}

/* Home hero image carousel; the headline remains readable during transitions. */
.hero-carousel { position:absolute; inset:0; }
.hero-carousel .carousel-inner,.hero-carousel .carousel-item { height:100%; }
.hero-carousel .carousel-item { transition:opacity 1s ease-in-out; }
.home-hero::after { z-index:1; }
.home-hero .hero-content,.home-hero .hero-ledger { z-index:2; }
.hero-carousel-toolbar { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 0 22px; margin-top:auto; }
.hero-carousel-toolbar[hidden] { display:none; }
.hero-slide-label { font-size:10px; letter-spacing:.17em; color:#e5d1af; }
.hero-carousel-buttons { display:flex; align-items:center; gap:14px; }
.hero-carousel-buttons button { color:#f6eedf; background:transparent; border:1px solid #ffffff50; cursor:pointer; }
.hero-carousel-buttons button:hover { background:#ffffff18; }
.hero-arrow { width:44px; height:44px; font-size:21px; }
.hero-dots { display:flex; align-items:center; }
.hero-dots button { width:30px; height:44px; border:0; position:relative; }
.hero-dots button::after { content:''; position:absolute; width:6px; height:6px; top:19px; left:12px; border:1px solid #e1c89f; border-radius:50%; }
.hero-dots button[aria-current=true]::after { background:#e1c89f; }
@media (max-width:767.98px) {
    .hero-carousel-toolbar { flex-wrap:wrap; gap:15px; padding-bottom:22px; }
    .hero-carousel-buttons { gap:9px; }
    .hero-slide-label { font-size:9px; }
}

/* Subtle Russian-inspired gold lattice for light, white sections. */
:root {
    --russian-gold-line-art:url('../images/line-art_01.png');
    --academy-gold-line-art:url('../images/academy-gold-line-art.svg');
    --prestige-gold-line-art:url('../images/prestige-gold-line-art.svg');
}

.page-index .intro-section,
.page-about #story {
    position:relative;
    overflow:hidden;
}
.page-index .intro-section::after,
.page-about #story::after {
    content:'';
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background-image:var(--russian-gold-line-art);
    background-position:right bottom;
    background-repeat:no-repeat;
    background-size:clamp(920px,76vw,1240px) auto;
    opacity:.32;
}
.page-index .intro-section>.site-container,
.page-about #story>.site-container {
    position:relative;
    z-index:1;
}

.page-academy #approach {
    background-color:#fff;
    background-image:var(--academy-gold-line-art);
    background-position:center bottom;
    background-repeat:no-repeat;
    background-size:min(1050px,88vw) auto;
}

.page-prestige #experience {
    background-color:#fff;
    background-image:var(--prestige-gold-line-art);
    background-position:right bottom;
    background-repeat:no-repeat;
    background-size:min(1080px,88vw) auto;
}

@media (max-width:767.98px) {
    .page-index .intro-section::after,
    .page-about #story::after {
        background-size:880px auto;
        background-position:78% bottom;
        opacity:.22;
    }
    .page-academy #approach,
    .page-prestige #experience { background-size:680px auto; }
}

/* Scroll motion — replay on viewport entry without keeping content hidden. */
.motion-ready .scroll-reveal {
    opacity:1;
    transform:none;
    clip-path:none;
}
.motion-ready .scroll-reveal.play-reveal {
    animation-duration:.9s;
    animation-timing-function:cubic-bezier(.22,1,.36,1);
    animation-delay:var(--reveal-delay,0ms);
    animation-fill-mode:both;
    will-change:opacity,transform,clip-path;
}
.motion-ready .reveal-up.play-reveal { animation-name:ara-reveal-up; }
.motion-ready .reveal-left.play-reveal { animation-name:ara-reveal-left; }
.motion-ready .reveal-right.play-reveal { animation-name:ara-reveal-right; }
.motion-ready .reveal-zoom.play-reveal { animation-name:ara-reveal-zoom; }
.motion-ready .reveal-clip.play-reveal { animation-name:ara-reveal-clip; }
.motion-ready .reveal-tilt.play-reveal { animation-name:ara-reveal-tilt; transform-origin:left bottom; }

@keyframes ara-reveal-up { from { opacity:0; transform:translate3d(0,48px,0); } to { opacity:1; transform:none; } }
@keyframes ara-reveal-left { from { opacity:0; transform:translate3d(-58px,12px,0); } to { opacity:1; transform:none; } }
@keyframes ara-reveal-right { from { opacity:0; transform:translate3d(58px,12px,0); } to { opacity:1; transform:none; } }
@keyframes ara-reveal-zoom { from { opacity:0; transform:scale(.9); filter:blur(2px); } to { opacity:1; transform:scale(1); filter:none; } }
@keyframes ara-reveal-clip { from { clip-path:inset(0 0 100% 0); transform:translate3d(0,24px,0); } to { clip-path:inset(0); transform:none; } }
@keyframes ara-reveal-tilt { from { opacity:0; transform:translate3d(0,35px,0) rotate(1.8deg); } to { opacity:1; transform:none; } }
.site-header {
    position:relative;
    z-index:10;
    transition:box-shadow .35s ease,background-color .35s ease;
}
.site-header.is-scrolled { box-shadow:0 13px 35px rgba(9,38,52,.09); }
.about-image img,
.travel-image img,
.academy-hero-image>img {
    transform:translate3d(0,var(--parallax-y,0),0) scale(1.06);
    will-change:transform;
}
.page-index .intro-section::after,
.page-about #story::after {
    background-position:right calc(100% + var(--line-art-shift,0px));
    transition:background-position .08s linear;
}

@media (prefers-reduced-motion:reduce) {
    .scroll-reveal { opacity:1!important; transform:none!important; animation:none!important; clip-path:none!important; }
    .about-image img,.travel-image img,.academy-hero-image>img { transform:none!important; }
}
