/* Midnight blue, warm ivory and editorial photography. */
:root{--ink:#2c374f;--paper:#f7f5f0;--cream:#e9e2d7;--lime:#e9dfcf;--dark:#29344b;--muted:#6a7180;--rule:#cec9bf}
::selection{background:#d9c8af;color:var(--ink)}
.nav{background:var(--paper);border-color:var(--rule)}
.hero-grid{grid-template-columns:53% 47%;min-height:790px;background:var(--dark)}
.hero-copy{color:var(--paper);padding-top:48px;padding-bottom:58px}
.hero h1{font-size:clamp(55px,6.2vw,106px);margin:65px 0 42px}
.hero h1 em{color:#d9c8af}
.hero .dot{background:#d9c8af}
.hero .eyebrow-index{color:#aab4c7}
.hero-bottom p{color:#d6dae3}
.hero .round-arrow{border-color:#b5bdca;color:var(--paper);flex-shrink:0}
.hero .round-arrow:hover{background:var(--cream);color:var(--ink)}
.hero-art{background:#d9d9d5;min-height:790px}
.hero-portrait{object-position:48% 45%}
.hero-art .photo-placeholder:after{inset:67% 0 0;background:linear-gradient(transparent,#1a2338a3)}
.hero-art .art-label{right:8%;bottom:5%;font-size:16px;line-height:1.7;text-shadow:0 1px 6px #18243b66}
.hero-art .art-label small{font-size:10px;font-weight:500}
.hero-ticker{background:var(--cream);color:var(--ink);border-bottom:1px solid var(--rule)}
.hero-ticker b{color:#a18c70}
.section-kicker{color:#6a7180}
.section-kicker.light,.approach-cards article>span{color:#c6ccda}
.section-lead,.requests-header p,.cases-head p,.services-head p,.press-heading p{color:#626b7c}
.primary:hover{background:#485874}
.quiz-section{background:#eceef2}
.quiz-card{background:#fbfaf7;box-shadow:12px 12px 0 #d7dce5}
.quiz-options button.selected{background:#e9dfcf;border-color:var(--ink)}
.about-visual{height:710px;background:var(--cream)}
.about-portrait{object-position:50% 38%}
.about-visual .portrait-caption{background:linear-gradient(transparent,#202b40c7);padding-top:85px;font-size:12px;line-height:1.8}
.credentials,.credentials>div{border-color:var(--rule)}
.approach{background:var(--dark)}
.approach-head p,.approach-cards p{color:#d0d5df}
.approach-cards article{border-color:#657188}
.abstract-circle{border-color:#e9dfcf}
.c2{box-shadow:0 0 0 23px #e9dfcf22,0 0 0 45px #e9dfcf14}
.photo-requests{padding:0;display:grid;grid-template-columns:44% minmax(0,1fr);align-items:start;background:var(--paper)}
.request-photo{position:sticky;top:0;height:100svh;min-height:660px;max-height:1050px}
.request-photo figure{margin:0;position:relative;height:100%;overflow:hidden;background:#d1c7b7}
.request-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:49% 46%}
.request-photo figure:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#17223cc7)}
.request-photo figcaption{position:absolute;z-index:1;left:11%;right:8%;bottom:7%;font-size:11px;font-weight:700;line-height:2;color:#f7f5f0}
.request-photo figcaption em{display:block;font-size:clamp(32px,3.3vw,56px);line-height:1.2;font-weight:400}
.request-content{padding:110px 11% 120px;min-width:0}
.request-content .requests-header{display:block}
.request-content h2{font-size:clamp(46px,4.6vw,76px)}
.request-content .requests-header p{margin:30px 0 0;max-width:450px;font-size:15px;line-height:1.85}
.request-content .request-list{margin-top:55px}
.request-content .request-list a{grid-template-columns:35px 1fr 22px;gap:10px;padding:28px 0}
.request-content .request-list strong{font-size:clamp(19px,1.7vw,27px);line-height:1.5}
.request-list a:hover{background:#e9e2d780}
.request-content .inline-cta{line-height:1.8;text-align:left;padding:0}
.cases{background:#eee9e1}
.story-preview{border-color:#c3c7d0;background:#faf8f4}
.story-metric,.case-after{background:#e4e8ee}
.metric-track{background:#cbd2df}
.metric-track i{background:#657691}
.story-metric b,.case-number{color:var(--ink)}
.case-conflict{background:var(--dark)}
.case-steps b{color:var(--cream)}
.case-roadmap article>b{background:var(--cream)}
.case-content blockquote{background:#eee9e1;border-color:#b5a083}
.accent-service{background:#e9e2d7}
.press-section{background:#eee9e1}
.press-card{background:#faf8f4;border-color:#d0cbc2}
.press-card:hover{border-color:#8591a7}
.press-meta,.press-footnote,.press-card .press-format{color:#677185}
.press-card-action{border-color:#d0cbc2}
.press-card:focus-visible{outline-color:#657691}
.book-section{background:#e9e2d7;border-color:var(--rule)}
.book-visual{background:radial-gradient(ellipse at center,#fcfaf6,#c9c0b3)}
.book-object{box-shadow:12px 18px 0 #a8a194,25px 35px 45px #1a243d33;border-left-color:#303c55}
.book-status{color:#746147}
.book-topics article{border-color:#c5bbad}
.book-small,.book-topics article>span{color:#626b7c}
.end-cta{background:var(--dark);color:var(--paper)}
.end-cta h2 em{color:#d9c8af}
.end-cta .primary{background:var(--cream);color:var(--ink)}
.end-cta .primary:hover{background:#fbfaf7}
.end-small,.end-number{color:#c1c8d5}
.contact-editorial{display:grid;grid-template-columns:36% minmax(0,1fr);padding:0;background:var(--paper);border-color:var(--rule)}
.contact-photo{min-height:690px;overflow:hidden;position:relative}
.contact-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 39%}
.contact-content{padding:100px 10%;min-width:0}
.contact-content .contacts-layout{display:block}
.contact-content h2{font-size:clamp(48px,5vw,78px);margin-bottom:45px}
.contact-content .contact-links{font-size:clamp(19px,2vw,28px);gap:17px}
.contact-content .primary{margin-top:10px}
footer{background:#232d42;color:#eee9e1}
footer small{color:#aeb8cc}
.modal-backdrop{background:#162239ae}
.modal-panel{background:var(--paper)}
.modal-panel p{color:#626b7c}
.modal-panel input,.modal-panel textarea{color:var(--ink);border-color:#a8afbd}
.modal-panel input:focus,.modal-panel textarea:focus{outline-color:#657691}
.modal-contacts{border-color:var(--rule)}
.book-consent input{accent-color:#2c374f}
@media(min-width:1600px){.hero-grid{min-height:900px}.hero-art{min-height:900px}}
@media(max-width:1000px) and (min-width:901px){.nav nav{gap:12px;font-size:10px}.nav-cta{padding:12px;font-size:10px}.brand{font-size:17px}.request-content{padding-left:8%;padding-right:8%}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:50px 7% 60px}.hero h1{font-size:clamp(56px,10vw,88px);margin:55px 0 45px}.hero-art{min-height:720px}.hero-portrait{object-position:50% 40%}.about-visual{height:680px}.photo-requests{grid-template-columns:40% minmax(0,1fr)}.request-photo{min-height:600px}.request-content{padding:80px 9%}.request-content h2{font-size:46px}.request-content .request-list strong{font-size:19px}.contact-editorial{grid-template-columns:40% minmax(0,1fr)}.contact-content{padding:75px 9%}.contact-content h2{font-size:48px}.contact-photo{min-height:650px}}
@media(max-width:650px){.hero-copy{padding:36px 6% 48px}.hero h1{font-size:clamp(46px,11.4vw,74px);margin:48px 0 38px}.hero-bottom p{font-size:13px;max-width:240px}.hero .round-arrow{width:52px;height:52px}.hero-art{min-height:0;height:125vw;max-height:750px}.hero-portrait{object-position:50% 39%}.hero-art .art-label{font-size:13px}.about-visual{height:132vw;max-height:670px}.photo-requests{display:block}.request-photo{position:relative;top:auto;height:133vw;max-height:680px;min-height:0}.request-photo img{object-position:50% 42%}.request-photo figcaption{left:6%;bottom:7%}.request-photo figcaption em{font-size:40px}.request-content{padding:75px 6% 80px}.request-content h2{font-size:clamp(43px,11vw,62px)}.request-content .requests-header p{font-size:14px}.request-content .request-list a{padding:25px 0}.request-content .request-list strong{font-size:19px}.contact-editorial{display:block}.contact-photo{height:118vw;max-height:630px;min-height:0}.contact-photo img{object-position:50% 39%}.contact-content{padding:75px 6% 80px}.contact-content h2{font-size:54px}.contact-content .contact-links{font-size:22px}.end-cta h2{font-size:clamp(45px,11.4vw,74px)}.quiz-card{box-shadow:8px 8px 0 #d7dce5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.request-photo{position:relative}.press-card,.press-cover img{transition:none}}
@media(max-width:650px){.hero h1{font-size:clamp(34px,10vw,64px)}.case-intro h1{font-size:clamp(30px,8.5vw,40px)}}
@media(max-width:380px){.nav .brand{font-size:14px;white-space:nowrap}.nav-cta{font-size:9px;padding:10px 12px;margin-right:10px}.hero-bottom{gap:15px}.hero-bottom p{font-size:12px}.hero .round-arrow{width:46px;height:46px}}

/* Hero portrait signature */
.hero-art .art-label{top:5%;bottom:auto;right:8%;max-width:84%;color:#25334b;text-shadow:0 1px 8px #ffffffb3;line-height:1.7}
