/* Institutional pages and long-form reading. Scoped to editorial components. */
.institutional-page,.narrative-block,.perspective-article,.home-story{--editorial-paper:#f4f5f0;--editorial-ink:#15221d;--editorial-muted:#57645a;--editorial-rule:#ccd4ca}
.institutional-hero{background:#0c1820;color:#f2f5ed;padding:34px 0 88px;overflow:hidden}
.editorial-breadcrumbs{font-size:11px;line-height:1.7;margin-bottom:58px;color:#718174}
.editorial-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 0}
.editorial-breadcrumbs li+li:before{content:'/';display:inline-block;margin-inline:13px;color:#819488}
.editorial-breadcrumbs li[aria-current]{max-width:65ch}
.editorial-breadcrumbs a{border-bottom:1px solid transparent}
.editorial-breadcrumbs a:hover{border-color:currentColor}
.institutional-hero .editorial-breadcrumbs{color:#b8c8bc}
.institutional-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(210px,.55fr);gap:clamp(40px,8vw,130px);align-items:center}
.institutional-hero h1{font-size:clamp(42px,5.6vw,86px);font-weight:400;line-height:1.045;letter-spacing:-.055em;max-width:990px;text-wrap:balance}
.institutional-hero .eyebrow{color:#bed1b5;font-size:10px;margin-bottom:23px}
.institutional-intro{font-size:18px;line-height:1.8;color:#bac8c6;max-width:680px;margin-top:30px}
.institutional-hero .text-link{margin-top:30px;gap:30px;color:#e7eee1;border-color:#6d8c80}
.editorial-viewfinder{position:relative;width:100%;max-width:305px;margin-left:auto;padding:20px 24px;border:1px solid #76908566;background:linear-gradient(135deg,#d5eed707,transparent 60%);color:#dce8d5}
.editorial-viewfinder:before,.editorial-viewfinder:after{content:'';position:absolute;width:21px;height:21px;pointer-events:none}
.editorial-viewfinder:before{left:-5px;top:-5px;border-left:2px solid #b1c99c;border-top:2px solid #b1c99c}
.editorial-viewfinder:after{right:-5px;bottom:-5px;border-right:2px solid #b1c99c;border-bottom:2px solid #b1c99c}
.viewfinder-top,.viewfinder-bottom{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#91a99b}
.viewfinder-top>span:last-child{font-size:24px;line-height:1;font-weight:400;color:#d7e7c9}
.viewfinder-rows{margin:31px 0 25px}
.viewfinder-rows>div{display:grid;grid-template-columns:24px 1fr 10px;gap:10px;align-items:center;border-top:1px solid #76908544;padding:13px 0}
.viewfinder-rows>div:last-child{border-bottom:1px solid #76908544}
.viewfinder-rows span{font-size:9px;color:#8ea691}
.viewfinder-rows strong{font-size:clamp(17px,1.7vw,25px);font-weight:400;letter-spacing:-.035em;line-height:1.2}
.viewfinder-rows i{width:6px;height:6px;border:1px solid #9ab18d;transform:rotate(45deg)}
.viewfinder-rows>div:nth-child(2) i{background:#9ab18d55}
.viewfinder-rows>div:last-child i{background:#b9cea8;border-color:#b9cea8}
.viewfinder-bottom>span:last-child{font-size:17px;line-height:1}
.editorial-scene{background:#e9eee4;padding-block:76px;border-bottom:1px solid #d3dccd}
.editorial-scene-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(35px,7.5vw,120px);align-items:center}
.editorial-scene .eyebrow{font-size:10px;color:#476747;margin-bottom:23px}
.editorial-scene h2{font-size:clamp(29px,3.5vw,49px);line-height:1.13;letter-spacing:-.043em;max-width:620px;text-wrap:balance}
.editorial-scene-copy{max-width:650px}
.editorial-scene-copy p{font-size:18px;line-height:1.9;color:#40503d}
.editorial-scene-copy p+p{margin-top:18px}
.editorial-sections{padding-top:27px;padding-bottom:80px}
.editorial-row{display:grid;grid-template-columns:45px minmax(200px,.85fr) minmax(0,1.35fr);gap:30px 44px;padding:54px 0;border-bottom:1px solid var(--editorial-rule,#ccd4ca);scroll-margin-top:112px}
.editorial-row-number{font-size:12px;font-weight:400;letter-spacing:.04em;padding-top:7px;color:#6a8265}
.editorial-row h2,.editorial-row h3{font-size:clamp(25px,2.5vw,36px);line-height:1.18;font-weight:400;letter-spacing:-.04em;max-width:420px;text-wrap:balance}
.editorial-row-copy{max-width:680px}
.editorial-row-copy p{font-size:17px;line-height:1.9;color:#4c5c4e}
.editorial-row-copy p+p{margin-top:18px}
.editorial-next{background:#e6ecdf;padding-block:68px;color:#162c20;border-top:1px solid #c8d2c0}
.editorial-next-grid{display:grid;grid-template-columns:1fr auto;gap:36px 80px;align-items:center}
.editorial-next .eyebrow{font-size:10px;color:#55704b;margin-bottom:20px}
.editorial-next h2{font-size:clamp(30px,3.5vw,48px);line-height:1.1;max-width:750px;text-wrap:balance}
.editorial-next .button,.contact-workbench .button{gap:28px;min-height:50px;text-align:left;border:0}
.editorial-contact-return{padding-top:0;padding-bottom:70px}
.editorial-contact-return .text-link{gap:24px}
.home-story{background:#f4f5f0}
.home-story-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr);gap:clamp(50px,8vw,135px);align-items:start}
.home-story-side>.eyebrow{font-size:10px;max-width:280px;color:#526749}
.home-story-side .editorial-viewfinder{margin:44px 0 0;max-width:250px}
.viewfinder-paper{color:#284229;background:#e7ecdf77;border-color:#a9b7a2}
.viewfinder-paper:before,.viewfinder-paper:after{border-color:#879c78}
.viewfinder-paper .viewfinder-top,.viewfinder-paper .viewfinder-bottom,.viewfinder-paper .viewfinder-rows span{color:#667b5e}
.viewfinder-paper .viewfinder-top>span:last-child{color:#354f2f}
.viewfinder-paper .viewfinder-rows>div{border-color:#b6c3ae}
.viewfinder-paper .viewfinder-rows i{border-color:#708a64}
.viewfinder-paper .viewfinder-rows>div:last-child i{background:#668257}
.home-story-copy h2{font-size:clamp(35px,4.6vw,70px);line-height:1.055;letter-spacing:-.05em;max-width:940px;text-wrap:balance}
.home-story-copy>p{font-size:20px;line-height:1.85;color:#4f5c50;max-width:730px;margin-top:32px}
.home-story-copy>.text-link{margin-top:29px;gap:25px;color:#294b34;border-color:#8a9c81}
.narrative-sections{padding-top:9px;padding-bottom:78px}
.narrative-block .editorial-scene{background:#edf0e8}
.narrative-sections .editorial-row{padding-block:46px}
.narrative-sections .editorial-row h3{font-size:clamp(25px,2.5vw,35px)}
.contact-workbench{background:#f7f8f4;border-bottom:1px solid #d4ddce}
.contact-workbench-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(245px,.7fr);gap:clamp(40px,7.5vw,120px);align-items:start}
.contact-form-column{min-width:0}
.contact-form-column>.eyebrow{font-size:10px;color:#546f46;margin-bottom:23px}
.contact-form-column>h2{font-size:clamp(32px,3.7vw,53px);line-height:1.1;letter-spacing:-.045em;max-width:750px;text-wrap:balance}
.contact-form-intro{font-size:16px;line-height:1.8;max-width:630px;color:#53604f;margin:24px 0 31px}
.contact-field-note{font-size:12px;line-height:1.7;color:#5b6a54;margin-bottom:24px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.contact-field-wide{grid-column:1 / -1}
.contact-field label{font-size:13px;line-height:1.5;font-weight:600;color:#263d29}
.contact-field label>span{color:#546e41;padding-left:2px}
.contact-field input,.contact-field textarea,.contact-field select{width:100%;min-width:0;border:1px solid #b8c7af;border-radius:0;background:#fff;color:#1f3524;font:inherit;font-size:16px;line-height:1.5;padding:13px 14px;box-shadow:none;accent-color:#345c3a}
.contact-field select{min-height:53px}
.contact-field textarea{resize:vertical;min-height:155px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#727d6e;opacity:1;font-size:14px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-field select:focus-visible{outline:2px solid #466c3b;outline-offset:3px;border-color:#466c3b}
.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-color:#9d3c31}
.contact-form-note{font-size:12px;line-height:1.8;color:#5a6853;margin:23px 0 25px;max-width:670px}
.contact-form-note a{text-decoration:underline;text-underline-offset:3px}
.contact-context{position:sticky;top:125px;border-top:1px solid #91a881;padding-top:21px}
.contact-context-mark{display:block;font-size:58px;line-height:1;color:#719365;margin-bottom:28px;font-weight:400}
.contact-context h3{font-size:25px;line-height:1.2;font-weight:400;letter-spacing:-.035em;margin-bottom:30px;max-width:360px}
.contact-context ol{list-style:none}
.contact-context li{display:grid;grid-template-columns:25px 1fr;gap:14px;padding:20px 0;border-top:1px solid #d2ddcb}
.contact-context li>span{font-size:10px;line-height:2;color:#708562}
.contact-context li>p{font-size:14px;line-height:1.75;color:#53664b}
.contact-direct{border-top:1px solid #91a881;margin-top:27px;padding-top:24px}
.contact-direct p{font-size:11px;line-height:1.7;color:#58704e;margin-bottom:9px}
.contact-direct>a{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:clamp(16px,1.65vw,22px);letter-spacing:-.025em;color:#233f27;border-bottom:1px solid #a9b99f;padding-bottom:5px;overflow-wrap:anywhere}
.contact-status{font-size:13px;line-height:1.75;color:#345334;margin-top:20px}
.contact-status:empty{display:none}
.contact-draft{margin-top:30px;padding:28px;background:#e9eee3;border:1px solid #b2c4a7;scroll-margin-top:110px}
.contact-draft:focus{outline:2px solid #57744d;outline-offset:5px}
.contact-draft-heading>.eyebrow{font-size:9px;letter-spacing:.13em;color:#526b47;margin-bottom:15px}
.contact-draft-heading h3{font-size:29px;line-height:1.12;font-weight:400;letter-spacing:-.035em;margin-bottom:15px}
.contact-draft-heading>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#4c6044}
.contact-draft-recipient{font-size:13px;line-height:1.7;color:#3b5534;margin:22px 0 26px;overflow-wrap:anywhere}
.contact-draft-recipient a{border-bottom:1px solid #8fa182}
.contact-draft>.contact-field+.contact-field{margin-top:21px}
.contact-draft-actions{display:flex;align-items:center;flex-wrap:wrap;gap:17px 25px;margin-top:24px}
.contact-draft-actions .text-link{font-size:12px;color:#35582c;border-color:#839c74}
.contact-draft>.contact-form-note{margin-bottom:0}
.contact-workbench [hidden]{display:none!important}
.perspective-header{background:#edf1e8;border-bottom:1px solid #cfdac8;padding:35px 0 78px}
.perspective-header>.container{max-width:1440px}
.perspective-header .eyebrow{font-size:10px;letter-spacing:.14em;color:#4c7041;margin-bottom:28px}
.perspective-header h1{font-size:clamp(40px,5.9vw,86px);line-height:1.04;letter-spacing:-.055em;font-weight:400;max-width:1050px;text-wrap:balance}
.perspective-standfirst{max-width:900px;margin-top:32px}
.perspective-standfirst p{font-size:clamp(18px,2vw,25px);line-height:1.7;color:#4d6046}
.perspective-layout{display:grid;grid-template-columns:minmax(160px,.58fr) minmax(0,1.42fr);gap:clamp(40px,7vw,110px);padding-top:74px;padding-bottom:88px;max-width:1440px;align-items:start}
.perspective-contents{position:sticky;top:127px}
.perspective-contents>.eyebrow{font-size:10px;color:#5d7751;margin-bottom:20px}
.perspective-contents ol{list-style:none;border-top:1px solid #cdd7c6}
.perspective-contents li{border-bottom:1px solid #cdd7c6}
.perspective-contents a{display:grid;grid-template-columns:22px 1fr;gap:13px;padding:17px 0;font-size:13px;line-height:1.65;color:#47643e}
.perspective-contents a:hover{color:#192e19}
.perspective-contents a span{font-size:10px;line-height:2;color:#7a8f6c}
.perspective-margin-mark{display:block;font-size:90px;line-height:1;font-weight:400;color:#c5d1bc;margin-top:45px}
.perspective-prose{max-width:780px;min-width:0}
.perspective-prose>section{padding-bottom:42px;margin-bottom:43px;border-bottom:1px solid #d7dfd0;scroll-margin-top:118px}
.perspective-section-number{font-size:11px;letter-spacing:.06em;color:#6c8660;margin-bottom:18px}
.perspective-prose h2{font-size:clamp(28px,3vw,40px);line-height:1.17;letter-spacing:-.04em;font-weight:400;margin-bottom:26px;text-wrap:balance}
.perspective-prose section>p:not(.eyebrow):not(.perspective-section-number){font-size:18px;line-height:1.95;color:#44533f}
.perspective-prose section>p+p{margin-top:23px}
.perspective-prose .perspective-closing{background:#e9efdf;border-left:2px solid #87a26e;border-bottom:0;padding:29px 33px;margin-bottom:37px}
.perspective-closing .eyebrow{font-size:9px;color:#537140;margin-bottom:18px}
.perspective-actions{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.perspective-actions .text-link{gap:24px;font-size:12px;color:#3d6031;border-color:#92a583}
@media(max-width:1100px){
  .institutional-hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(185px,.6fr);gap:50px}
  .institutional-hero h1{font-size:clamp(40px,6vw,70px)}
  .editorial-viewfinder{padding:20px}
  .editorial-row{grid-template-columns:30px minmax(160px,.8fr) minmax(0,1.2fr);column-gap:28px}
  .contact-workbench-grid{grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);gap:48px}
  .editorial-next-grid{gap:40px}
  .editorial-next .button{max-width:290px}
}
@media(max-width:850px){
  .institutional-hero-grid{grid-template-columns:1fr}
  .institutional-hero .editorial-viewfinder{display:none}
  .institutional-intro{max-width:720px}
  .editorial-scene-grid{grid-template-columns:1fr;gap:27px}
  .editorial-scene-copy{max-width:740px}
  .editorial-row{grid-template-columns:30px 1fr;gap:21px 25px}
  .editorial-row h2,.editorial-row h3{max-width:650px}
  .editorial-row-copy{grid-column:2;max-width:730px}
  .editorial-next-grid{grid-template-columns:1fr;gap:30px}
  .editorial-next .button{justify-self:start;max-width:none}
  .home-story-grid{grid-template-columns:1fr;gap:15px}
  .home-story-side .editorial-viewfinder{display:none}
  .home-story-side>.eyebrow{max-width:none}
  .home-story-copy>p{max-width:740px;font-size:18px}
  .contact-workbench-grid{grid-template-columns:1fr;gap:54px}
  .contact-context{position:static;display:grid;grid-template-columns:.8fr 1.2fr;gap:0 40px}
  .contact-context-mark{display:none}
  .contact-context h3{padding-top:20px}
  .contact-context ol{grid-column:2;grid-row:1 / span 2}
  .contact-direct{grid-column:1;margin-top:0;align-self:end}
  .perspective-layout{grid-template-columns:1fr;gap:47px;padding-top:45px}
  .perspective-contents{position:static}
  .perspective-contents ol{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
  .perspective-margin-mark{display:none}
  .perspective-prose{max-width:none}
}
@media(max-width:560px){
  .institutional-hero{padding:25px 0 58px}
  .editorial-breadcrumbs{font-size:10px;margin-bottom:40px}
  .editorial-breadcrumbs li+li:before{margin-inline:9px}
  .institutional-hero h1{font-size:clamp(37px,10vw,54px);letter-spacing:-.045em;line-height:1.06;overflow-wrap:break-word}
  .institutional-hero .eyebrow{font-size:9px;letter-spacing:.13em}
  .institutional-intro{font-size:16px;line-height:1.8;margin-top:25px}
  .institutional-hero .text-link{font-size:12px;gap:20px}
  .editorial-scene{padding-block:47px}
  .editorial-scene h2{font-size:30px;line-height:1.15}
  .editorial-scene .eyebrow{font-size:9px;margin-bottom:19px}
  .editorial-scene-copy p{font-size:16px;line-height:1.85}
  .editorial-sections{padding-top:10px;padding-bottom:53px}
  .editorial-row,.narrative-sections .editorial-row{padding-block:35px;grid-template-columns:23px 1fr;gap:19px 13px}
  .editorial-row-number{font-size:10px;padding-top:5px}
  .editorial-row h2,.editorial-row h3,.narrative-sections .editorial-row h3{font-size:26px;line-height:1.17;letter-spacing:-.035em}
  .editorial-row-copy p{font-size:15px;line-height:1.9}
  .editorial-next{padding-block:48px}
  .editorial-next h2{font-size:31px;line-height:1.12}
  .editorial-next .eyebrow{font-size:9px}
  .editorial-next .button{font-size:12px;max-width:100%}
  .editorial-contact-return{padding-bottom:49px}
  .home-story-copy h2{font-size:clamp(34px,9vw,48px);line-height:1.1;letter-spacing:-.043em}
  .home-story-copy>p{font-size:16px;line-height:1.85;margin-top:26px}
  .home-story-copy>.text-link{font-size:12px}
  .narrative-sections{padding-bottom:52px}
  .contact-workbench.section{padding-block:56px}
  .contact-form-column>h2{font-size:33px;line-height:1.12}
  .contact-form-intro{font-size:15px}
  .contact-field-note{font-size:11px}
  .contact-fields{grid-template-columns:1fr;gap:23px}
  .contact-field label{font-size:12px}
  .contact-field input,.contact-field textarea,.contact-field select{padding:12px;font-size:16px}
  .contact-field input::placeholder,.contact-field textarea::placeholder{font-size:13px}
  .contact-workbench .button{font-size:12px;max-width:100%;gap:20px;padding-inline:19px}
  .contact-context{display:block}
  .contact-context h3{max-width:320px;padding-top:0}
  .contact-direct{margin-top:27px}
  .contact-direct>a{font-size:22px}
  .contact-draft{padding:22px 17px;margin-top:23px}
  .contact-draft-heading h3{font-size:26px}
  .contact-draft-heading>p:not(.eyebrow){font-size:13px}
  .contact-draft-actions{align-items:start;flex-direction:column;gap:18px}
  .perspective-header{padding:25px 0 53px}
  .perspective-header h1{font-size:clamp(37px,10vw,54px);letter-spacing:-.045em;overflow-wrap:break-word}
  .perspective-header .eyebrow{font-size:9px;margin-bottom:21px}
  .perspective-standfirst p{font-size:18px;line-height:1.75}
  .perspective-layout{padding-top:34px;padding-bottom:58px;gap:39px}
  .perspective-contents ol{display:block}
  .perspective-contents a{padding-block:13px;font-size:12px}
  .perspective-prose>section{padding-bottom:31px;margin-bottom:33px}
  .perspective-prose h2{font-size:28px;line-height:1.18;margin-bottom:23px}
  .perspective-prose section>p:not(.eyebrow):not(.perspective-section-number){font-size:16px;line-height:1.9}
  .perspective-prose .perspective-closing{padding:24px 22px}
  .perspective-actions{flex-direction:column;align-items:start;gap:22px}
}
@media(prefers-reduced-motion:reduce){.institutional-page *,.perspective-article *,.home-story *{scroll-behavior:auto}}

/* Owner-supplied company details remain visible on desktop and mobile. */
.institutional-contact .institutional-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);gap:clamp(32px,6vw,90px)}
.contact-company-card{padding:30px;border:1px solid #76908566;background:#d5eed707;align-self:start;min-width:0}
.contact-company-card h2{font-size:clamp(22px,2vw,28px);line-height:1.3;font-weight:450;letter-spacing:-.025em;color:#f0f3ed;margin:22px 0}
.contact-company-card address{font-style:normal;color:#c7d4c2;font-size:15px;line-height:1.9;margin-bottom:24px}
.contact-company-email{display:block;color:#f0f3ed;font-size:16px;overflow-wrap:anywhere;margin-bottom:26px}
.contact-company-card .text-link{font-size:13px;line-height:1.5;gap:14px}
@media(max-width:850px){.institutional-contact .institutional-hero-grid{grid-template-columns:1fr}.contact-company-card{width:100%;max-width:600px}}
@media(max-width:480px){.contact-company-card{padding:24px}.contact-company-card h2{font-size:23px}}
