/* Company and project presentations: factual content, restrained editorial layouts. */
.company-page .section-light .eyebrow,.portfolio-content .eyebrow,.home-projects .eyebrow,.case-content .eyebrow{color:var(--reading-bronze)}
.company-page .section-dark .eyebrow,.portfolio-page .section-dark .eyebrow{color:var(--gold)}
.company-page .company-hero h1,.portfolio-page .portfolio-intro h1,.case-page .case-title{font:400 clamp(42px,6.1vw,86px)/1.13 var(--serif);letter-spacing:-1.8px;max-width:17ch;overflow-wrap:anywhere}
.company-page .company-hero .contact-page-intro>p{font-size:var(--reading-body);line-height:1.85;max-width:48ch}
.company-story-grid,.company-team-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:70px;align-items:start}
.company-story-grid>div,.company-team-grid>div,.company-sectors-heading>div,.company-sector>div,.company-contact>div{min-width:0}
.company-story-grid .eyebrow,.company-team-grid .eyebrow,.company-sectors-heading .eyebrow,.company-contact .eyebrow{margin-bottom:22px}
.company-page .company-story h2,.company-page .company-team h2,.company-page .company-sectors h2,.company-page .company-contact h2{font-size:clamp(36px,4vw,60px);line-height:1.2;letter-spacing:-1.2px;max-width:20ch}
.company-story-copy>p,.company-team-intro,.company-values p,.company-sectors-heading>p,.company-sector p,.company-contact>div>p:not(.eyebrow){font-size:var(--reading-body);line-height:1.85;max-width:65ch;color:var(--muted)}
.company-story-copy>.lead{font-size:21px;line-height:1.7;color:var(--ink)}
.company-story-copy>p+p{margin-top:22px}.company-story-copy>.line-link{font-size:16px;margin-top:25px;max-width:360px;min-height:48px}
.company-facts{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.8fr);gap:30px;margin:54px 0 0;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.company-facts>div{min-width:0}.company-facts>div+div{border-left:1px solid var(--line);padding-left:28px}.company-facts dt{font-size:13px;line-height:1.7;letter-spacing:.6px;color:var(--reading-bronze);margin-bottom:17px}.company-facts dd{margin:0;display:flex;flex-direction:column;gap:12px}.company-facts dd>strong{font:400 30px/1.3 var(--serif);letter-spacing:-.6px}.company-facts>div:first-child dd>strong{font-size:65px;line-height:1;color:var(--reading-bronze);letter-spacing:-3px}.company-facts dd>span:not(.partner-logo-frame){font-size:16px;line-height:1.75;color:var(--muted);max-width:28ch}.company-facts .partner-logo-frame{align-self:flex-start;padding:8px 12px}.company-facts .partner-logo{width:106px;height:auto}
.company-team-intro,.company-page .company-values p{color:#d0d7c9}.company-values{list-style:none;padding:0;margin:32px 0 0}.company-values li{padding:24px 0;border-top:1px solid #ffffff30}.company-values h3{font:400 27px/1.3 var(--serif);letter-spacing:-.35px;margin-bottom:10px}.company-values p{max-width:58ch}
.company-sectors-heading,.portfolio-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:65px;align-items:end;margin-bottom:43px}.company-sectors-heading>p,.portfolio-heading>p{max-width:45ch;font-size:var(--reading-body);line-height:1.85;color:var(--muted)}
.company-sector-list{border-top:1px solid var(--line)}.company-sector{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(180px,.5fr);gap:24px;align-items:start;padding:29px 0;border-bottom:1px solid var(--line)}.company-sector>.eyebrow{padding-top:9px}.company-sector h3{font:400 31px/1.3 var(--serif);letter-spacing:-.5px;margin-bottom:13px}.company-sector .line-link{font-size:16px;line-height:1.7;min-height:48px;max-width:270px;align-self:center}
.company-contact,.case-contact{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);align-items:center;gap:60px}
.company-contact>div>p:not(.eyebrow),.case-contact>div>p:not(.eyebrow){color:#d0d7c9;margin-top:25px;font-size:var(--reading-body);line-height:1.85;max-width:50ch}
.company-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:27px}.company-contact-actions .line-link{font-size:16px;line-height:1.7;min-height:48px;color:var(--gold)}

/* A single project is presented as a complete editorial feature. */
.portfolio-intro{max-width:1050px}.portfolio-intro>.eyebrow{margin-bottom:24px}.portfolio-intro h1{margin:0}.portfolio-intro>p:not(.eyebrow){font-size:var(--reading-body);line-height:1.85;max-width:58ch;color:#d0d7c9;margin-top:28px}
.portfolio-heading .eyebrow{margin-bottom:21px}.portfolio-heading h2{font-size:clamp(36px,4vw,60px);line-height:1.2;letter-spacing:-1.2px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 40px;align-items:start}
.project-card{min-width:0}.project-card-visual{display:block;position:relative;overflow:hidden;aspect-ratio:1.35;background:#1b241e;border:1px solid #c6a77b55;color:var(--cream)}.project-card-visual:hover{border-color:var(--reading-bronze)}.project-card-visual:focus-visible{outline-offset:5px}.project-card-image{display:block;width:100%;height:100%;object-fit:cover}
.project-identity{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:100%;height:100%;padding:34px;overflow:hidden;background:linear-gradient(135deg,#ffffff05,transparent 60%),#1b241e;color:var(--cream)}
.project-identity::after{content:"";position:absolute;inset:19px;border:1px solid #c6a77b35;pointer-events:none}.project-identity-region{position:relative;z-index:1;font:400 clamp(38px,4.2vw,62px)/1.2 var(--serif);letter-spacing:-1px;overflow-wrap:anywhere}.project-identity-type{position:relative;z-index:1;font-size:15px;line-height:1.75;letter-spacing:.6px;max-width:25ch}.project-identity-mark{position:absolute;right:-8%;top:15%;width:72%;height:74%;object-fit:contain;opacity:.13;pointer-events:none;z-index:0}
.project-card-body{min-width:0;padding-top:25px}.project-card-body>.eyebrow{color:var(--reading-bronze);font-size:13px;line-height:1.7;letter-spacing:.6px}.project-card-body>h2,.project-card-body>h3{font:400 clamp(30px,3vw,43px)/1.25 var(--serif);letter-spacing:-.75px;max-width:24ch;margin:15px 0 23px;overflow-wrap:anywhere;hyphens:auto}.project-card-body>h2 a:hover,.project-card-body>h3 a:hover{color:var(--reading-bronze)}
.project-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;margin:0 0 23px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-card-facts>div{min-width:0}.project-card-facts dt{font-size:14px;line-height:1.65;color:var(--muted);margin-bottom:6px}.project-card-facts dd{font-size:17px;line-height:1.7;margin:0}.project-card-link{font-size:16px;line-height:1.7;min-height:48px;max-width:320px}
.portfolio-grid>.project-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:45px;align-items:center}.portfolio-grid>.project-card:only-child>.project-card-body{padding-top:0}
.home-projects{border-top:1px solid var(--line)}.home-projects .portfolio-heading{margin-bottom:40px}.home-projects .portfolio-heading>p{max-width:43ch}.home-projects .project-card-body>h3{font-size:clamp(30px,3.2vw,45px)}.home-projects .portfolio-more{margin-top:32px;display:flex;justify-content:flex-end}.home-projects .portfolio-more .line-link{font-size:16px;min-height:48px}
.case-contact h2{font-size:clamp(36px,4vw,60px);line-height:1.2;letter-spacing:-1.2px}.case-contact>.button{justify-self:end}.case-contact .eyebrow{margin-bottom:22px}

/* Case details: genuine scope and photographic material remain distinct. */
.case-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.65fr);gap:75px;align-items:end}.case-hero-grid>div{min-width:0}.case-hero-grid .eyebrow{margin-bottom:25px}.case-page .case-title{font-size:clamp(40px,5.5vw,78px);max-width:19ch;margin:0}.case-intro{font-size:var(--reading-body);line-height:1.85;color:#d0d7c9;max-width:57ch;margin-top:26px}.case-hero-grid .text-link{margin-top:28px;max-width:310px;font-size:16px;min-height:48px;line-height:1.7}
.case-facts{margin:0;padding:0;border-top:1px solid #ffffff35}.case-facts>div{padding:22px 0;border-bottom:1px solid #ffffff35}.case-facts dt{font-size:13px;line-height:1.7;color:var(--gold);letter-spacing:.5px;margin-bottom:8px}.case-facts dd{font-size:18px;line-height:1.75;margin:0;color:var(--cream)}
.case-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(250px,.8fr);gap:65px;align-items:start}.case-main,.case-sidebar{min-width:0}.case-identity{height:auto;min-height:390px}.case-media{margin:0}.case-media img{display:block;width:100%;height:auto;object-fit:contain}.case-media-note,.case-media figcaption,.case-gallery figcaption{font-size:15px;line-height:1.8;color:var(--muted);margin-top:15px;max-width:65ch}.case-sidebar{position:sticky;top:115px;padding-top:23px;border-top:1px solid var(--line)}.case-sidebar>.eyebrow{margin-bottom:20px}.case-sidebar h2{font-size:34px;line-height:1.25;letter-spacing:-.6px;max-width:18ch;margin-bottom:25px}.case-sidebar>p:not(.eyebrow){font-size:var(--reading-body);line-height:1.8;color:var(--muted);margin-bottom:16px}.case-sidebar .line-link{display:flex;justify-content:space-between;gap:18px;font-size:16px;line-height:1.75;min-height:54px;padding:14px 0;border-bottom:1px solid var(--line)}.case-sidebar .line-link>.icon{flex-shrink:0}
.case-scope,.case-gallery{margin-top:43px;padding-top:35px;border-top:1px solid var(--line)}.case-scope>.eyebrow{margin-bottom:20px}.case-scope h2,.case-gallery h2{font-size:clamp(32px,3.2vw,45px);line-height:1.25;letter-spacing:-.75px;margin-bottom:26px}.case-scope ul{list-style:none;margin:0;padding:0}.case-scope li{position:relative;padding:16px 0 16px 24px;border-bottom:1px solid var(--line);font-size:var(--reading-body);line-height:1.85}.case-scope li::before{content:"";position:absolute;left:2px;top:30px;width:5px;height:5px;background:var(--reading-bronze)}.case-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.case-gallery-grid>figure{margin:0;min-width:0}.case-gallery-grid img{width:100%;height:auto;display:block}

@media(max-width:1100px){.company-story-grid,.company-team-grid{gap:45px}.company-sectors-heading,.portfolio-heading{gap:42px}.case-hero-grid{gap:45px;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr)}.case-layout{gap:42px;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr)}.portfolio-grid>.project-card:only-child{gap:32px}.company-contact,.case-contact{gap:40px}}
@media(max-width:900px){.company-story-grid,.company-team-grid,.company-sectors-heading,.portfolio-heading{grid-template-columns:minmax(0,1fr);gap:29px}.company-story-copy{max-width:70ch}.company-sector{grid-template-columns:28px minmax(0,1fr);gap:18px 23px}.company-sector>.line-link{grid-column:2;align-self:start}.company-facts{gap:24px}.company-facts>div+div{padding-left:22px}.company-facts dd>strong{font-size:27px}.company-facts .partner-logo{width:86px}.portfolio-grid{gap:40px 28px}.portfolio-grid>.project-card:only-child{grid-template-columns:minmax(0,1fr);gap:28px}.project-card-visual{aspect-ratio:1.55}.project-card-body>h2,.project-card-body>h3{max-width:25ch}.company-contact,.case-contact{grid-template-columns:minmax(0,1fr);gap:32px}.company-contact-actions{gap:20px}.case-contact>.button{justify-self:start}.case-hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.case-layout{grid-template-columns:minmax(0,1fr);gap:45px}.case-sidebar{position:static;top:auto}.case-sidebar h2{max-width:23ch}.case-identity{min-height:360px}}
@media(max-width:600px){.company-page .company-hero h1,.portfolio-page .portfolio-intro h1,.case-page .case-title{font-size:clamp(37px,10.1vw,49px);line-height:1.2;letter-spacing:-1px}.company-page .company-hero .contact-page-intro>p,.portfolio-intro>p:not(.eyebrow),.case-intro{font-size:17px;line-height:1.85}.company-page .company-story h2,.company-page .company-team h2,.company-page .company-sectors h2,.company-page .company-contact h2,.portfolio-heading h2,.case-contact h2{font-size:36px;line-height:1.2;letter-spacing:-1px}.company-story-grid .eyebrow,.company-team-grid .eyebrow,.company-sectors-heading .eyebrow,.company-contact .eyebrow{margin-bottom:18px}.company-story-copy>.lead{font-size:20px;line-height:1.75}.company-story-copy>p+p{margin-top:20px}.company-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:37px;padding:25px 0}.company-facts>div+div{padding-left:18px}.company-facts>.company-partner{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:22px 0 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.company-facts>.company-partner dt{margin:0;max-width:20ch}.company-facts dt{font-size:13px;line-height:1.7;margin-bottom:13px}.company-facts dd>strong{font-size:25px}.company-facts>div:first-child dd>strong{font-size:58px}.company-facts dd>span:not(.partner-logo-frame){font-size:16px}.company-facts .partner-logo{width:90px}.company-values{margin-top:25px}.company-values li{padding:23px 0}.company-values h3{font-size:25px}.company-sector{padding:25px 0;gap:15px 16px;grid-template-columns:23px minmax(0,1fr)}.company-sector h3{font-size:29px}.company-sector .line-link{max-width:100%}.company-sectors-heading,.portfolio-heading{margin-bottom:31px}.company-contact>div>p:not(.eyebrow),.case-contact>div>p:not(.eyebrow){font-size:17px;margin-top:22px}.company-contact-actions>.button,.case-contact>.button{max-width:100%}.portfolio-intro>.eyebrow{margin-bottom:21px}.portfolio-intro>p:not(.eyebrow){margin-top:24px}.portfolio-grid{grid-template-columns:minmax(0,1fr)}.portfolio-grid>.project-card:only-child{gap:24px}.project-card-visual{aspect-ratio:1.3}.project-identity{padding:27px}.project-identity::after{inset:14px}.project-identity-region{font-size:43px}.project-identity-type{font-size:15px;letter-spacing:.3px}.project-card-body>h2,.project-card-body>h3,.home-projects .project-card-body>h3{font-size:32px;line-height:1.25;letter-spacing:-.6px;margin:14px 0 21px}.project-card-facts{gap:18px;margin-bottom:20px;padding:18px 0}.project-card-facts dt{font-size:14px}.project-card-facts dd{font-size:16px;line-height:1.75}.project-card-link{max-width:100%}.home-projects .portfolio-more{justify-content:flex-start;margin-top:26px}.case-hero-grid{gap:32px}.case-facts{gap:20px}.case-facts>div{padding:18px 0}.case-facts dd{font-size:17px}.case-hero-grid .text-link{font-size:16px;max-width:100%;margin-top:24px}.case-identity{min-height:290px}.case-sidebar h2{font-size:32px}.case-scope,.case-gallery{margin-top:34px;padding-top:29px}.case-scope h2,.case-gallery h2{font-size:33px;letter-spacing:-.5px}.case-gallery-grid{grid-template-columns:minmax(0,1fr);gap:26px}.case-media-note,.case-media figcaption,.case-gallery figcaption{font-size:15px;line-height:1.8}}
@media(max-width:360px){.company-page .company-hero h1,.portfolio-page .portfolio-intro h1,.case-page .case-title{font-size:37px;letter-spacing:-.9px}.company-page .company-story h2,.company-page .company-team h2,.company-page .company-sectors h2,.company-page .company-contact h2,.portfolio-heading h2,.case-contact h2{font-size:33px}.company-facts{column-gap:14px}.company-facts>div+div{padding-left:13px}.company-facts dd>strong{font-size:23px}.project-card-body>h2,.project-card-body>h3,.home-projects .project-card-body>h3{font-size:30px}.project-identity{padding:23px}.project-identity-region{font-size:39px}.project-card-facts{grid-template-columns:minmax(0,1fr);gap:15px}.case-facts{grid-template-columns:minmax(0,1fr);gap:0}.case-identity{min-height:260px}}

.project-card-summary{font-size:var(--reading-body);line-height:1.8;color:var(--muted);max-width:65ch;margin:0 0 22px}
.case-film{margin-top:43px;padding-top:35px;border-top:1px solid var(--line)}.case-film h2{font-size:clamp(32px,3.2vw,45px);line-height:1.25;letter-spacing:-.75px;margin-bottom:26px}.case-film-item{margin:0;min-width:0}.case-film-item+.case-film-item{margin-top:30px}.case-film-item video{display:block;width:100%;height:auto;max-height:75svh;background:var(--dark)}.case-film-item figcaption{font-size:15px;line-height:1.8;color:var(--muted);margin-top:15px;max-width:65ch}@media(max-width:600px){.case-film{margin-top:34px;padding-top:29px}.case-film h2{font-size:33px;letter-spacing:-.5px}}

/* Owner-confirmed project areas are separate from the contracted applications. */
.case-areas{margin-top:43px;padding-top:35px;border-top:1px solid var(--line)}.case-areas>.eyebrow{margin-bottom:20px}.case-areas h2{font-size:clamp(32px,3.2vw,45px);line-height:1.25;letter-spacing:-.75px;margin-bottom:26px}.case-areas ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0}.case-areas li{font-size:var(--reading-body);line-height:1.75;padding:10px 17px;border:1px solid var(--line);max-width:100%}
@media(max-width:600px){.case-areas{margin-top:34px;padding-top:29px}.case-areas h2{font-size:33px;letter-spacing:-.5px}.case-areas ul{gap:10px}.case-areas li{font-size:17px;padding:9px 13px}}

/* Give the full geographic statement a readable measure on narrow phones. */
@media(max-width:360px){.company-facts{grid-template-columns:minmax(0,1fr)}.company-facts>div+div{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.company-facts>.company-partner{grid-column:auto;padding-top:22px}}
