
/* Content-first Stage 2/3 — extends the approved desktop homepage visual language.
   No ornamental redesign; typography/layout intentionally restrained pending visual pass. */
.page-hero{background:linear-gradient(115deg,#07182e,#123960 76%,#174873);color:#fff;padding:105px 0 93px}
.page-hero-compact{padding:104px 0 95px}
.page-hero h1{font:700 clamp(54px,5.6vw,88px)/1.06 "Space Grotesk",Arial,sans-serif;letter-spacing:-.055em;max-width:1030px;margin:23px 0 27px}
.page-hero h1 em{font-style:normal;color:#87c6ff}
.page-lede{max-width:810px;color:#d2deec;font:400 19px/1.8 Inter,Arial,sans-serif;margin:0}
.page-intro{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}
.page-intro h1{font-size:clamp(52px,5vw,77px)}
.intro-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:36px}
.intro-image{position:relative;margin:0;overflow:hidden;border-radius:6px;background:#112b48;min-height:440px}
.intro-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:76% center}
.intro-image figcaption{position:absolute;bottom:20px;left:20px;color:white;letter-spacing:.08em;text-transform:uppercase;font-size:11px;background:#07182cba;padding:9px 12px}
.page-section{padding:105px 0}
.page-section.tinted{background:#f5f7fa}
.page-section h2{font:700 clamp(34px,3.6vw,55px)/1.12 "Space Grotesk",Arial,sans-serif;letter-spacing:-.047em;margin:12px 0 25px}
.page-section h3{font:700 23px/1.22 "Space Grotesk",Arial,sans-serif;letter-spacing:-.028em;margin:0 0 13px}
.page-section p{color:#576b80;line-height:1.85}
.text-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}
.reading{max-width:760px}
.reading p:first-child{margin-top:0}
.reading p{font-size:16px;margin:0 0 19px}
.small-note{font-size:13px!important;color:#7d8fa0!important;line-height:1.7!important}
.small-note a,.reading a:not(.btn){color:#1b63aa;text-decoration:underline;text-underline-offset:4px}
.text-arrow{display:inline-block;color:#1f65ac!important;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-top:20px;text-decoration:none!important;border-bottom:1px solid #8ab9eb;padding-bottom:6px}
.text-arrow:hover{color:#0b2b4a!important;border-color:#0b2b4a}
.timeline{border-top:1px solid #d8e0e9}
.timeline-item{display:grid;grid-template-columns:210px 1fr;gap:36px;padding:26px 0;border-bottom:1px solid #d8e0e9}
.timeline-date{font-weight:700;color:#1c67ae;font-size:13px;letter-spacing:.05em}
.timeline-item p{max-width:810px;margin:0}
.timeline-item h3{margin:0 0 8px}
.principle-grid,.skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.principle-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.text-card{background:#fff;border:1px solid #e2e8ef;border-radius:5px;padding:32px;min-width:0}
.tinted .text-card{background:#fff}
.text-card p{font-size:14px;margin:0}
.text-card .step{display:block;color:#dc3b44;margin-bottom:36px;font:700 13px Inter,Arial,sans-serif}
.metric-band{background:#f4f7fb;border-bottom:1px solid #e3e9f1}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:42px 0}
.metric-grid>div{display:flex;flex-direction:column;gap:9px;border-left:1px solid #dce4ed;padding:0 32px}
.metric-grid>div:first-child{border-left:0;padding-left:0}
.metric-grid strong{font:700 clamp(35px,3.2vw,49px)/1.1 "Space Grotesk",Arial,sans-serif;letter-spacing:-.03em;color:#092544}
.metric-grid span{max-width:260px;font-size:13px;color:#64798a;line-height:1.5}
.career-list{display:grid;gap:18px}
.career-card{display:grid;grid-template-columns:250px 1fr;gap:35px;padding:39px;border:1px solid #e1e8ef;border-radius:6px;background:#fff}
.career-meta .eyebrow{color:#1c63a5}
.role-type{display:block;font-size:12px;color:#72859a;margin-top:16px}
.career-detail{max-width:820px}
.career-detail h3{font-size:29px}
.career-detail .job-title{color:#2469b3;font-size:15px;font-weight:700;margin:0 0 20px}
.career-detail p{margin:0 0 15px}
.copy-list{padding-left:19px;margin:20px 0 0}
.copy-list li{margin-bottom:9px;color:#506479;line-height:1.7}
.download-links{display:flex;gap:26px;flex-wrap:wrap}
.project-list{display:grid;gap:18px}
.project-list.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-entry{border:1px solid #e3e9f0;background:#fff;border-radius:5px;overflow:hidden;min-width:0}
.project-entry.featured{display:grid;grid-template-columns:.95fr 1.05fr;min-height:365px}
.project-content{padding:39px}
.project-entry.featured .project-content{padding:50px}
.project-content h3{font-size:28px;margin:12px 0 17px}
.project-content p{margin:0 0 14px;line-height:1.77}
.project-label{color:#1e68af;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.project-note{font-size:13px;color:#748598!important}
.project-visual img{width:100%;height:100%;max-height:520px;object-fit:cover;object-position:center 45%}
.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:77px;align-items:center}
.feature-photo img{width:100%;max-height:510px;object-fit:cover;border-radius:5px}
.interest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.interest-grid>div{background:#fff;border:1px solid #e3e9f1;padding:25px;font:700 17px "Space Grotesk",Arial,sans-serif;color:#102b4b;border-radius:5px}
.contact-layout{display:grid;grid-template-columns:.74fr 1.26fr;gap:85px;align-items:start}
.contact-layout h2{margin-bottom:19px}
.contact-item{border-top:1px solid #e0e7ee;padding:19px 0;display:flex;flex-direction:column;gap:7px}
.contact-item>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#637990}
.contact-item a{color:#155b9f;max-width:max-content;overflow-wrap:anywhere}
.contact-item p{margin:0}
.contact-panel{padding:45px;border:1px solid #e0e7ee;background:#f8fafc;border-radius:6px}
.contact-panel h2{font-size:32px;margin-bottom:10px}
.contact-panel>p{margin-bottom:26px}
.contact-panel form{display:grid;gap:23px}
.contact-panel label{display:grid;gap:8px;color:#1c2d40;font-size:12px;font-weight:700}
.contact-panel input,.contact-panel textarea,.contact-panel select{width:100%;min-width:0;border:1px solid #c8d4df;background:#fff;border-radius:3px;padding:12px 13px;font:400 15px/1.5 Inter,Arial,sans-serif;color:#0a1f3b}
.contact-panel textarea{resize:vertical}
.contact-panel input:focus-visible,.contact-panel textarea:focus-visible,.contact-panel select:focus-visible{outline:3px solid #83c4ff;outline-offset:1px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.form-bottom button{cursor:pointer}
.form-bottom button:disabled{opacity:.6;cursor:wait}
#contact-status{font-size:14px;margin:0}
#contact-status[data-kind="success"]{color:#17633b}
#contact-status[data-kind="error"]{color:#9f2630}
#contact-status a{color:#1e64b0;text-decoration:underline}
.content-cta{padding:80px 0}
.content-cta h2{max-width:720px}
@media(max-width:1180px){.page-intro{gap:35px}.text-split{gap:55px}.contact-layout{gap:40px}.principle-grid,.skill-grid{grid-template-columns:repeat(2,1fr)}.career-card{grid-template-columns:190px 1fr}.project-entry.featured{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.page-intro,.text-split,.feature-pair,.contact-layout{grid-template-columns:1fr}.page-hero{padding:65px 0}.intro-image{min-height:350px}.project-entry.featured{grid-template-columns:1fr}.project-visual img{height:320px}.page-section{padding:70px 0}.career-card{grid-template-columns:1fr;gap:10px}.metric-grid{grid-template-columns:1fr 1fr}.contact-panel{padding:30px}}
@media(max-width:600px){.page-hero h1{font-size:44px}.page-lede{font-size:16px}.page-section h2{font-size:36px}.timeline-item{grid-template-columns:1fr;gap:10px}.principle-grid,.skill-grid,.project-list.two-up,.interest-grid,.metric-grid,.field-row{grid-template-columns:1fr}.metric-grid>div{border-left:0;border-top:1px solid #dce4ed;padding:20px 0}.metric-grid>div:first-child{border-top:0}.text-card,.project-content{padding:25px}.contact-panel{padding:20px}}

/* P0 narrative hierarchy: editorial emphasis only; full visual pass intentionally deferred. */
#bulls-origin strong,#professional-profile strong{font-weight:800;color:#123b65}
#current-focus .reading p:last-child,#professional-direction .reading p:last-child{margin-bottom:0}
#current-focus a,#professional-direction a{color:#145d9d;text-decoration:underline;text-underline-offset:4px}

/* P1 editorial structure — deliberately restrained pending the final visual pass */
.role-outcomes{border-left:3px solid #357fc1;background:#f4f8fc;padding:18px 22px;margin:22px 0 12px}
.role-outcomes>span{display:block;color:#18578f;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.role-outcomes p{margin:0;line-height:1.7;color:#23435f}
.case-study-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case-study-card{border:1px solid #dce5ed;border-radius:5px;padding:33px;background:#fff;display:flex;flex-direction:column;gap:13px;min-width:0}
.case-study-card h3{font-size:23px;margin:0}
.case-study-card p{margin:0;font-size:14px;line-height:1.75}
.case-study-card .text-arrow{margin-top:auto;align-self:flex-start}
.case-study-card .project-label{font-size:10px}
.case-meta{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 5px}
.case-meta span{display:inline-block;border:1px solid #bfcddd;padding:8px 11px;border-radius:4px;font:800 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.05em;color:#1a4369;text-transform:uppercase}
.case-study-main{max-width:1060px;margin:0 auto}
.case-study-main p,.case-study-main li{line-height:1.85;color:#425c74}
.case-study-main h2{margin:0 0 17px}
.case-study-main h3{margin:0 0 13px}
.case-study-main>.case-section{border-bottom:1px solid #dee6ee;padding:42px 0}
.case-study-main>.case-section:first-child{padding-top:0}
.case-study-main>.case-section:last-child{border-bottom:0}
.case-results{background:#f4f8fc;border:1px solid #dce7ef;border-radius:5px;padding:26px;margin:24px 0}
.case-results p{margin:0}
.case-navigation{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:32px}
@media(max-width:960px){.case-study-list{grid-template-columns:1fr}}
