/* Industrial Atlas: useful context and image-led journeys beyond the homepage. */
.theme-b .b-collection-guide{background:#d6d6d0;color:#1c1c1c;padding:112px clamp(25px,4vw,75px) 120px}
.theme-b .b-collection-guide-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;align-items:end;margin-bottom:70px}
.theme-b .b-collection-guide-intro .b-label{grid-column:1/-1}
.theme-b .b-collection-guide-intro h2{grid-column:1}
.theme-b .b-collection-guide-intro p{grid-column:2}
.theme-b .b-collection-guide h2,.theme-b .b-about-proof h2,.theme-b .b-contact-paths h2,.theme-b .b-project-enquiry h2{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;letter-spacing:-.025em;text-transform:uppercase;line-height:.84;margin:28px 0 0}
.theme-b .b-collection-guide h2{font-size:clamp(5.5rem,8.1vw,9.2rem)}
.theme-b .b-collection-guide h2 span,.theme-b .b-collection-feature h2 span,.theme-b .b-about-proof h2 span,.theme-b .b-contact-paths h2 span,.theme-b .b-project-enquiry h2 span{color:#686a65}
.theme-b .b-collection-guide-intro p{font-size:1.15rem;line-height:1.6;max-width:480px;margin:0 0 5px}
.theme-b .b-collection-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.theme-b .b-collection-guide-grid article{border-top:1px solid #777970;padding-top:22px;display:flex;flex-direction:column;min-width:0}
.theme-b .b-collection-guide-grid article>span,.theme-b .b-collection-guide-grid a,.theme-b .b-collection-feature-data small,.theme-b .b-collection-feature-actions a,.theme-b .b-collection-feature-photo>span,.theme-b .b-about-proof-meta,.theme-b .b-contact-paths-grid a>span,.theme-b .b-project-interlude figcaption,.theme-b .b-project-enquiry-actions a{font-size:.69rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.theme-b .b-collection-guide-grid h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(2.3rem,3.3vw,4rem);line-height:.95;text-transform:uppercase;margin:54px 0 14px}
.theme-b .b-collection-guide-grid p{font-size:.96rem;line-height:1.55;margin:0 0 30px;color:#3f403c}
.theme-b .b-collection-guide-grid article>div{margin-top:auto;border-top:1px solid #a2a39e}
.theme-b .b-collection-guide-grid a{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #a2a39e;transition:padding-left .2s}
.theme-b .b-collection-guide-grid a:hover{padding-left:8px}
.theme-b .b-collection-feature{display:grid;grid-template-columns:.9fr 1.1fr;background:#292929;color:#eee;min-height:640px}
.theme-b .b-collection-feature-copy{padding:95px clamp(25px,4vw,75px);display:flex;flex-direction:column;align-items:flex-start}
.theme-b .b-collection-feature h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(5rem,7.2vw,8.5rem);line-height:.85;letter-spacing:-.025em;text-transform:uppercase;overflow-wrap:anywhere;margin:48px 0 34px}
.theme-b .b-collection-feature-copy>p{max-width:580px;font-size:1.12rem;line-height:1.65;color:#d4d4d1}
.theme-b .b-collection-feature-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:auto;padding-top:55px}
.theme-b .b-collection-feature-data>div{border-top:1px solid #797979;padding:17px 15px 20px 0;display:flex;flex-direction:column;gap:22px}
.theme-b .b-collection-feature-data>div+div{padding-left:15px;border-left:1px solid #797979}
.theme-b .b-collection-feature-data strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(1.9rem,2.8vw,3.3rem);line-height:1;text-transform:uppercase}
.theme-b .b-collection-feature-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.theme-b .b-collection-feature-actions a{display:flex;justify-content:space-between;gap:25px;border:1px solid #a9aaa4;padding:17px 20px;min-width:170px;transition:background .2s,color .2s}
.theme-b .b-collection-feature-actions a:hover{background:#d6d6d0;color:#171717}
.theme-b .b-collection-feature-photo{position:relative;min-width:0;overflow:hidden}
.theme-b .b-collection-feature-photo img{width:100%;height:100%;object-fit:cover}
.theme-b .b-collection-feature-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.theme-b .b-collection-feature-photo>span{position:absolute;z-index:1;bottom:27px;left:32px;color:#fff}
.theme-b .b-collection-next{align-items:center;gap:24px}
.theme-b .b-collection-next>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px 35px}
.theme-b .b-collection-next a{border-bottom:1px solid #9b9c96;padding-bottom:8px}
@media(max-width:760px){.theme-b .b-collection-next{align-items:flex-start;flex-direction:column}.theme-b .b-collection-next>div{justify-content:flex-start;flex-direction:column;gap:20px}}

.theme-b .b-about-proof{background:#d6d6d0;color:#1c1c1c;padding:105px clamp(25px,4vw,75px) 125px}
.theme-b .b-about-proof-head{display:grid;grid-template-columns:1.4fr .6fr;gap:6vw;align-items:end;margin-bottom:55px}
.theme-b .b-about-proof h2{font-size:clamp(5rem,7.5vw,8.5rem)}
.theme-b .b-about-proof-head>p{font-size:1.1rem;line-height:1.6;max-width:420px;margin:0 0 4px}
.theme-b .b-about-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.theme-b .b-about-proof-grid>a{min-width:0;border-top:1px solid #8b8d86;padding-top:12px}
.theme-b .b-about-proof-image{aspect-ratio:4/3;overflow:hidden;background:#c1c2bc}
.theme-b .b-about-proof-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.theme-b .b-about-proof-grid>a:hover img{transform:scale(1.04)}
.theme-b .b-about-proof-meta{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #9b9d96;padding:17px 0 14px}
.theme-b .b-about-proof-grid h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(2.5rem,3.4vw,4rem);line-height:.94;text-transform:uppercase;margin:24px 0 7px}
.theme-b .b-about-proof-grid p{font-size:.9rem;margin:0;color:#4b4d48}

.theme-b .b-contact-main{padding-bottom:110px}
.theme-b .b-contact-paths{background:#d6d6d0;color:#1c1c1c;padding:100px clamp(25px,4vw,75px) 115px}
.theme-b .b-contact-paths-head{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:end;margin-bottom:45px}
.theme-b .b-contact-paths-head .b-label{grid-column:1/-1}
.theme-b .b-contact-paths h2{font-size:clamp(5rem,7.4vw,8.5rem);margin-top:0}
.theme-b .b-contact-paths-head p{font-size:1.1rem;line-height:1.6;max-width:470px;margin:0 0 5px}
.theme-b .b-contact-paths-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.theme-b .b-contact-paths-grid a{position:relative;min-height:380px;overflow:hidden;background:#858782}
.theme-b .b-contact-paths-grid img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .4s}
.theme-b .b-contact-paths-grid a:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.theme-b .b-contact-paths-grid a:hover img{transform:scale(1.04)}
.theme-b .b-contact-paths-grid a>span{position:absolute;z-index:1;left:27px;right:27px;bottom:25px;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:15px;font-size:1.25rem;font-family:'Barlow Condensed',Impact,sans-serif}
.theme-b .b-contact-paths-grid b{font-family:'DM Sans',Arial,sans-serif;font-size:1.2rem}

.theme-b .b-project-interlude{min-height:520px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#303030;color:#eee}
.theme-b .b-project-interlude-copy{padding:75px clamp(25px,4vw,75px);display:flex;flex-direction:column;align-items:flex-start}
.theme-b .b-project-interlude h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(4.5rem,6.2vw,7rem);line-height:.88;text-transform:uppercase;letter-spacing:-.025em;overflow-wrap:anywhere;margin:65px 0 24px}
.theme-b .b-project-interlude h2 span{color:#9b9c96}
.theme-b .b-project-interlude p{font-size:1.05rem;line-height:1.6;max-width:420px}
.theme-b .b-project-interlude a{margin-top:auto;border-bottom:1px solid #cacbc5;padding-bottom:8px;font-size:.72rem;letter-spacing:.13em;font-weight:700}
.theme-b .b-project-interlude img{width:100%;height:100%;min-height:520px;object-fit:cover}
.theme-b .b-project-interlude-facts{background:#d6d6d0;color:#1c1c1c;padding:75px clamp(25px,4vw,75px);display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.theme-b .b-project-interlude-facts span{font-size:.7rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;line-height:1.6}
.theme-b .b-project-interlude-facts strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(4rem,6.8vw,8rem);line-height:.88;text-transform:uppercase;overflow-wrap:anywhere}
.theme-b .b-project-enquiry{background:#d6d6d0;color:#1c1c1c;padding:100px clamp(25px,4vw,75px) 110px;display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end}
.theme-b .b-project-enquiry h2{font-size:clamp(4.6rem,7.5vw,8.5rem);overflow-wrap:anywhere}
.theme-b .b-project-enquiry-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.theme-b .b-project-enquiry-actions p{font-size:1.1rem;line-height:1.6;max-width:470px;margin:0 0 12px}
.theme-b .b-project-enquiry-button{background:#171717;color:#f0f0ed;padding:19px 22px;display:flex;justify-content:space-between;gap:30px;width:100%;max-width:440px}
.theme-b .b-project-enquiry-actions>a:last-child{border-bottom:1px solid #4a4b46;padding:5px 0 7px}

@media(max-width:1050px){
  .theme-b .b-collection-guide,.theme-b .b-about-proof,.theme-b .b-contact-paths,.theme-b .b-project-enquiry{padding-top:85px;padding-bottom:90px}
  .theme-b .b-collection-guide-grid{gap:17px}
  .theme-b .b-collection-guide-grid h3{margin-top:35px}
  .theme-b .b-collection-feature{grid-template-columns:1fr 1fr;min-height:550px}
  .theme-b .b-collection-feature-copy{padding:65px 30px}
  .theme-b .b-collection-feature h2{font-size:clamp(4.6rem,7vw,7rem)}
  .theme-b .b-collection-feature-data{padding-top:25px}
  .theme-b .b-contact-paths-grid a{min-height:300px}
}
@media(max-width:760px){
  .theme-b .b-collection-guide,.theme-b .b-about-proof,.theme-b .b-contact-paths,.theme-b .b-project-enquiry{padding:78px 24px 86px}
  .theme-b .b-collection-guide-intro,.theme-b .b-about-proof-head,.theme-b .b-contact-paths-head,.theme-b .b-project-enquiry{display:block}
  .theme-b .b-collection-guide-intro{margin-bottom:45px}
  .theme-b .b-collection-guide h2,.theme-b .b-about-proof h2,.theme-b .b-contact-paths h2,.theme-b .b-project-enquiry h2{font-size:clamp(3.6rem,15.5vw,6rem);margin:24px 0 28px}
  .theme-b .b-collection-guide-intro p,.theme-b .b-about-proof-head>p,.theme-b .b-contact-paths-head p,.theme-b .b-project-enquiry-actions p{font-size:1rem}
  .theme-b .b-collection-guide-grid,.theme-b .b-about-proof-grid,.theme-b .b-contact-paths-grid{grid-template-columns:1fr;gap:25px}
  .theme-b .b-collection-guide-grid h3{font-size:2.8rem;margin:29px 0 10px}
  .theme-b .b-collection-guide-grid p{margin-bottom:18px}
  .theme-b .b-collection-feature{display:flex;flex-direction:column}
  .theme-b .b-collection-feature-photo{order:-1;height:350px;min-height:350px}
  .theme-b .b-collection-feature-copy{padding:75px 24px 80px}
  .theme-b .b-collection-feature h2{font-size:clamp(4.4rem,17vw,7rem);margin:32px 0 27px}
  .theme-b .b-collection-feature-copy>p{font-size:1rem}
  .theme-b .b-collection-feature-data{margin-top:20px;padding-top:18px}
  .theme-b .b-collection-feature-data strong{font-size:2rem}
  .theme-b .b-collection-feature-actions{width:100%}
  .theme-b .b-collection-feature-actions a{flex:1 1 100%}
  .theme-b .b-about-proof-head{margin-bottom:35px}
  .theme-b .b-about-proof-grid{gap:42px}
  .theme-b .b-about-proof-image{aspect-ratio:1.3}
  .theme-b .b-about-proof-grid h3{font-size:3rem}
  .theme-b .b-contact-main{padding-bottom:80px}
  .theme-b .b-contact-paths-head{margin-bottom:35px}
  .theme-b .b-contact-paths-grid a{min-height:275px}
  .theme-b .b-project-interlude{display:flex;flex-direction:column}
  .theme-b .b-project-interlude-copy{padding:75px 24px 70px;min-height:420px}
  .theme-b .b-project-interlude h2{font-size:clamp(3.7rem,15vw,6rem);margin:40px 0 20px}
  .theme-b .b-project-interlude img{height:330px;min-height:330px}
  .theme-b .b-project-interlude-facts{min-height:300px;padding:35px 24px}
  .theme-b .b-project-interlude-facts strong{font-size:clamp(3.7rem,15vw,6rem)}
  .theme-b .b-project-enquiry-actions{margin-top:36px}
}
@media(max-width:360px){
  .theme-b .b-collection-guide h2,.theme-b .b-about-proof h2,.theme-b .b-contact-paths h2,.theme-b .b-project-enquiry h2{font-size:3.45rem}
  .theme-b .b-collection-feature h2{font-size:4rem}
  .theme-b .b-collection-feature-data{grid-template-columns:1fr}
  .theme-b .b-collection-feature-data>div+div{padding-left:0;border-left:0}
}
@media(min-width:761px){body[data-project="athelstone"] .b-detail-hero{background:#171717}body[data-project="athelstone"] .b-detail-hero-image{display:flex;justify-content:flex-end}body[data-project="athelstone"] .b-detail-hero-image img{width:min(800px,64vw);height:100%;object-fit:cover}body[data-project="athelstone"] .b-detail-shade{background:linear-gradient(90deg,#171717 0%,rgba(23,23,23,.86) 31%,rgba(23,23,23,.34) 70%,rgba(23,23,23,.08) 100%),linear-gradient(0deg,rgba(23,23,23,.55),transparent 55%)}}

.b-location-section{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(35px,5vw,88px);align-items:stretch}
.b-location-copy{display:flex;flex-direction:column;align-items:flex-start}
.b-location-copy h2{overflow-wrap:anywhere}
.b-location-copy p{margin:0 0 30px}
.b-location-address{border-top:1px solid #95958e;width:100%;padding-top:20px;margin-top:auto;display:flex;flex-direction:column;gap:9px}
.b-location-address span,.b-map-note{font-size:.62rem;font-weight:800;letter-spacing:.12em}
.b-location-address strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(1.55rem,2vw,2.25rem);font-weight:600;line-height:1.15}
.b-location-copy>a{margin-top:28px}
.b-location-map{position:relative;min-height:510px;background:#ecebe5;border:1px solid #aaa9a2;overflow:hidden}
.b-location-map iframe{display:block;width:100%;height:100%;min-height:510px;border:0}
.b-map-note{position:absolute;left:0;bottom:0;background:rgba(245,244,238,.96);padding:12px 15px;max-width:100%;line-height:1.35;pointer-events:none}
@media(max-width:760px){.b-location-section{display:block}.b-location-copy p{margin-bottom:28px}.b-location-address{margin-top:0}.b-location-map{margin-top:40px;min-height:390px}.b-location-map iframe{min-height:390px}.b-map-note{font-size:.53rem;padding:10px 12px}}

/* Enquiry forms: concrete panels and clear, generous controls. */
.theme-b .b-contact-main>div:last-child,
.theme-b .b-contact-invite-side{
  --form-ink:#1a1a19;
  --form-field:#eeeee9;
  --form-border:#aaa9a1;
  --form-muted:#555650;
  --form-button:#1a1a19;
  --form-button-ink:#f5f4ef;
  background:#d9d9d2;
  color:var(--form-ink);
  border:1px solid var(--form-border);
  padding:clamp(28px,3.4vw,52px);
  min-width:0;
}
.theme-b .b-contact-invite-side{
  --form-ink:#f5f4ef;
  --form-field:#292927;
  --form-border:#5b5b56;
  --form-muted:#c8c8c1;
  --form-button:#d9d9d2;
  --form-button-ink:#1a1a19;
  background:#1d1d1c;
}
.theme-b .b-contact-main>div:last-child>.b-label,
.theme-b .b-contact-invite-side>.b-contact-invite-kicker{
  display:block;
  color:var(--form-ink);
  border-bottom:1px solid var(--form-border);
  padding:0 0 23px;
  margin:0 0 30px;
  font-size:.76rem;
  font-weight:800;
  line-height:1.5;
  letter-spacing:.14em;
}
.theme-b .b-contact-main>div:last-child .contact-form,
.theme-b .b-contact-invite-side .contact-form{gap:21px}
.theme-b .b-contact-main>div:last-child .form-row,
.theme-b .b-contact-invite-side .form-row{gap:18px}
.theme-b .b-contact-main>div:last-child .contact-form label,
.theme-b .b-contact-invite-side .contact-form label{
  color:var(--form-muted);
  font-size:.76rem;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.1em;
  text-transform:uppercase;
  gap:10px;
  min-width:0;
}
.theme-b .b-contact-main>div:last-child .contact-form :is(input,select,textarea),
.theme-b .b-contact-invite-side .contact-form :is(input,select,textarea){
  display:block;
  width:100%;
  min-height:58px;
  background:var(--form-field);
  border:1px solid var(--form-border);
  border-radius:0;
  color:var(--form-ink);
  padding:15px 17px;
  font-size:1rem;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
  outline:none;
  transition:border-color .18s,background-color .18s;
}
.theme-b .b-contact-main>div:last-child .contact-form textarea,
.theme-b .b-contact-invite-side .contact-form textarea{min-height:146px;resize:vertical}
.theme-b .contact-form select{color-scheme:light}
.theme-b .contact-form select option{background:#f5f4ef;color:#1a1a19}
.theme-b .b-contact-main>div:last-child .contact-form :is(input,select,textarea):focus-visible,
.theme-b .b-contact-invite-side .contact-form :is(input,select,textarea):focus-visible{
  border-color:var(--form-ink);
  outline:2px solid var(--form-ink);
  outline-offset:2px;
}
.theme-b .b-contact-main>div:last-child .form-finish,
.theme-b .b-contact-invite-side .form-finish{
  display:flex;
  flex-direction:column-reverse;
  align-items:stretch;
  gap:16px;
  border-top:1px solid var(--form-border);
  padding-top:26px;
  margin-top:8px;
}
.theme-b .b-contact-main>div:last-child .form-finish button,
.theme-b .b-contact-invite-side .form-finish button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:64px;
  padding:16px 20px;
  background:var(--form-button);
  border:1px solid var(--form-button);
  color:var(--form-button-ink);
  font-size:.78rem;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.13em;
  text-align:left;
  text-transform:uppercase;
  transition:background-color .18s,color .18s;
}
.theme-b .b-contact-main>div:last-child .form-finish button:hover,
.theme-b .b-contact-invite-side .form-finish button:hover{
  background:transparent;
  color:var(--form-ink);
}
.theme-b .b-contact-main>div:last-child .form-finish button:focus-visible,
.theme-b .b-contact-invite-side .form-finish button:focus-visible{
  outline:2px solid var(--form-ink);
  outline-offset:3px;
}
.theme-b .b-contact-main>div:last-child .form-finish button span,
.theme-b .b-contact-invite-side .form-finish button span{margin-left:20px;font-size:1.1rem;line-height:1}
.theme-b .b-contact-main>div:last-child .form-finish p,
.theme-b .b-contact-invite-side .form-finish p{
  color:var(--form-muted);
  max-width:none;
  margin:0;
  opacity:1;
  font-size:.78rem;
  line-height:1.5;
}
.theme-b .b-contact-main>div:last-child .form-status,
.theme-b .b-contact-invite-side .form-status{border-color:var(--form-border);color:var(--form-ink)}
.theme-b .b-contact-invite-side .b-contact-invite-detail{color:var(--form-ink);border-bottom-color:var(--form-border)}
@media(max-width:760px){
  .theme-b .b-contact-main>div:last-child,
  .theme-b .b-contact-invite-side{padding:28px 22px}
  .theme-b .b-contact-main>div:last-child .form-row,
  .theme-b .b-contact-invite-side .form-row{grid-template-columns:1fr;gap:21px}
}
@media(max-width:360px){
  .theme-b .b-contact-main>div:last-child,
  .theme-b .b-contact-invite-side{padding:25px 18px}
  .theme-b .b-contact-main>div:first-child a{font-size:2.15rem;white-space:nowrap}
}
.theme-b .gallery-item.is-plan{position:relative;background:#e8e8e3}
.theme-b .gallery-item::after{content:"VIEW ↗︎";display:flex;right:12px;bottom:12px;width:auto;height:32px;padding:0 10px;background:#ecebe5;color:#171717;font-family:Arial,sans-serif;font-size:.61rem;font-weight:800;letter-spacing:.1em;opacity:.9;pointer-events:none}
.theme-b .gallery-item:hover::after,.theme-b .gallery-item:focus-visible::after{opacity:1;background:#fff}
.theme-b .gallery-item.is-plan::after{top:10px;bottom:auto}
.theme-b .b-hero-top::before{content:"";width:14px;height:1px;background:var(--signal);left:-20px;top:7px}
.theme-b .b-preview-cross{font-size:0;width:18px;height:18px}
.theme-b .b-preview-cross-a{border-top:2px solid var(--signal);border-left:2px solid var(--signal)}
.theme-b .b-preview-cross-b{border-right:2px solid var(--signal);border-bottom:2px solid var(--signal)}
.theme-b .gallery-item.is-plan img{object-fit:contain}
.theme-b .gallery-item-label{position:absolute;left:10px;bottom:10px;background:#171717;color:#fff;padding:8px 10px;font-size:.69rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;pointer-events:none}
.theme-b .lightbox-original{position:absolute;left:50%;bottom:52px;transform:translateX(-50%);background:#f5f5f1;color:#171717;padding:12px 16px;white-space:nowrap;font-size:.72rem;font-weight:700;letter-spacing:.08em;z-index:2}
.theme-b .lightbox-original[hidden]{display:none}

.b-source-note{display:grid;grid-template-columns:1fr 1fr;gap:11vw;padding:34px clamp(25px,4vw,75px) 55px;border-top:1px solid #515151;background:#202020}.b-source-note .b-label{display:block;max-width:260px;color:#d8d8d2;line-height:1.6}.b-source-note p{margin:0 0 15px;color:#dddcd8;font-size:.96rem;line-height:1.7}.b-source-note p:last-child{margin-bottom:0}@media(max-width:760px){.b-source-note{display:block;padding:34px 24px 45px}.b-source-note .b-label{margin-bottom:19px}.b-source-note p{font-size:.91rem;line-height:1.65}}


/* 2026 staging polish: keep the Atlas identity while bringing property imagery forward. */
.theme-b .b-hero-overlay{
  background:linear-gradient(90deg,rgba(13,13,13,.74),rgba(13,13,13,.34) 55%,rgba(13,13,13,.08)),
             linear-gradient(0deg,rgba(13,13,13,.58),transparent 43%);
}
.theme-b .b-detail-shade{
  background:linear-gradient(90deg,rgba(12,12,12,.68),rgba(12,12,12,.07) 75%),
             linear-gradient(0deg,rgba(12,12,12,.52),transparent 58%);
}
.theme-b .b-collection-head{padding-top:52px;padding-bottom:58px}
.theme-b .b-collection-head h1{margin:52px 0 50px}
.theme-b .b-about-hero{padding-top:58px;padding-bottom:35px}
.theme-b .b-about-hero h1{margin:55px 0 50px}
.theme-b .b-contact-head{padding-top:58px;padding-bottom:48px}
.theme-b .b-contact-head h1{margin:52px 0 24px}
.theme-b .b-contact-main{padding-top:65px}
.theme-b .b-contact-main>div:first-child a{margin-bottom:42px}
.theme-b .b-detail-hero{height:600px}
.theme-b .b-dossier{gap:7vw;padding-top:90px;padding-bottom:95px}
.theme-b .b-dossier-copy{max-width:720px}
.theme-b .b-dossier-copy p{line-height:1.65}

/* Residential has its own lighter entry point and a clear property image. */
body.theme-b[data-page="residential"] .b-collection-head{
  position:relative;isolation:isolate;overflow:hidden;
  background:#e6e0d5;color:#1d211f;min-height:550px;
}
body.theme-b[data-page="residential"] .b-collection-head::before{
  content:"";position:absolute;z-index:0;inset:0 0 0 59%;
  background:url("assets/photos/the-tides-00.webp") center / cover no-repeat;
}
body.theme-b[data-page="residential"] .b-collection-head>*{position:relative;z-index:1}
body.theme-b[data-page="residential"] .b-collection-head h1{
  max-width:57%;font-size:clamp(5.5rem,8vw,9.5rem);line-height:.77;
}
body.theme-b[data-page="residential"] .b-collection-head h1 span{color:#88877e}
body.theme-b[data-page="residential"] .b-topline span:last-child{visibility:hidden}
body.theme-b[data-page="residential"] .b-collection-head>div:last-child{
  position:relative;z-index:1;max-width:56%;border-top-color:#a19e94;
}

@media(max-width:760px){
  .theme-b .b-hero-overlay{
    background:linear-gradient(0deg,rgba(13,13,13,.7),rgba(13,13,13,.12) 68%),
               linear-gradient(90deg,rgba(13,13,13,.22),transparent);
  }
  .theme-b .b-detail-shade{
    background:linear-gradient(0deg,rgba(12,12,12,.65),rgba(12,12,12,.07) 74%);
  }
  .theme-b .b-collection-head{padding-top:43px;padding-bottom:48px}
  .theme-b .b-collection-head h1{margin:40px 0 30px}
  .theme-b .b-about-hero{padding-top:48px;padding-bottom:28px}
  .theme-b .b-about-hero h1{margin:46px 0 35px}
  .theme-b .b-contact-head{padding-top:48px;padding-bottom:34px}
  .theme-b .b-contact-head h1{margin:45px 0 20px}
  .theme-b .b-contact-main{padding-top:48px;padding-bottom:85px}
  .theme-b .b-contact-main>div:first-child{gap:16px}
  .theme-b .b-contact-main>div:first-child a{margin-bottom:14px}
  .theme-b .b-contact-main>div:last-child{margin-top:32px}
  .theme-b .b-detail-hero{height:510px}
  .theme-b .b-dossier{padding-top:62px;padding-bottom:72px}
  body.theme-b[data-page="residential"] .b-collection-head{min-height:0}
  body.theme-b[data-page="residential"] .b-collection-head::before{display:none}
  body.theme-b[data-page="residential"] .b-collection-head::after{
    content:"";display:block;position:relative;z-index:1;
    width:calc(100% + 48px);height:240px;margin:32px -24px -48px;
    background:url("assets/photos/the-tides-00.webp") center 54% / cover no-repeat;
  }
  body.theme-b[data-page="residential"] .b-collection-head h1{
    max-width:none;font-size:clamp(4.3rem,17vw,7rem);
  }
  body.theme-b[data-page="residential"] .b-collection-head>div:last-child{max-width:none}
}


/* Larger, image-led entries for the Industrial Atlas design. */
@media (min-width: 761px) {
  .theme-b .b-hero { min-height: 760px; height: calc(100svh - 86px); max-height: 960px; }
  .theme-b .b-detail-hero { height: clamp(690px, 82vh, 840px); }
  body.theme-b[data-page="commercial"] .b-collection-head {
    min-height: 710px; display: flex; flex-direction: column; justify-content: space-between;
    background: linear-gradient(90deg, rgba(14,17,18,.87) 0%, rgba(14,17,18,.56) 54%, rgba(14,17,18,.17) 100%),
      url("assets/photos/wingfield-00.webp") center 48% / cover no-repeat;
  }
  body.theme-b[data-page="commercial"] .b-collection-head h1 { margin: 40px 0; max-width: 970px; }
  body.theme-b[data-page="commercial"] .b-collection-head > div:last-child { align-items: end; }
  body.theme-b[data-page="residential"] .b-collection-head { min-height: 680px; }
  body.theme-b[data-page="residential"] .b-collection-head h1 { margin-top: 80px; margin-bottom: 96px; }
  body.theme-b[data-page="contact"] .b-contact-head {
    min-height: 600px; display: flex; flex-direction: column; justify-content: space-between;
    background: linear-gradient(90deg, rgba(20,21,20,.9) 0%, rgba(20,21,20,.75) 45%, rgba(20,21,20,.1) 100%),
      url("assets/photos/the-tides-00.webp") center 52% / cover no-repeat;
  }
  body.theme-b[data-page="contact"] .b-contact-head h1 { margin: 40px 0; max-width: 850px; }
}

body.theme-b[data-page="about"] .b-about-hero {
  min-height: 760px; display: flex; flex-direction: column; justify-content: space-between;
  padding: 48px clamp(25px,4vw,75px) 48px;
  background: linear-gradient(90deg, rgba(12,15,17,.81) 0%, rgba(12,15,17,.53) 48%, rgba(12,15,17,.14) 100%),
    linear-gradient(0deg, rgba(12,15,17,.64), transparent 48%),
    url("assets/photos/pennington-00.webp") center 48% / cover no-repeat;
}
body.theme-b[data-page="about"] .b-about-hero h1 {
  max-width: 1040px; margin: auto 0 46px; color: #f7f4ec;
  font-size: clamp(6.8rem, 11vw, 12rem); line-height: .75;
}
body.theme-b[data-page="about"] .b-about-hero h1 span { color: #d4c9b8; }
body.theme-b[data-page="about"] .b-about-hero > div {
  width: 100%; align-items: end; border-top: 1px solid rgba(255,255,255,.65);
}
body.theme-b[data-page="about"] .b-about-hero > div p { margin: 0; font-size: 1.16rem; }
body.theme-b[data-page="about"] .b-about-grid { padding-top: 145px; padding-bottom: 145px; }
body.theme-b[data-page="about"] .b-about-grid > p { max-width: 650px; font-size: clamp(1.3rem,2vw,2rem); line-height: 1.55; }
body.theme-b[data-page="about"] .b-about-collage { height: 670px; }
body.theme-b[data-page="about"] .b-about-story {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8vw;
  padding: 135px clamp(25px,4vw,75px); background: #e2dfd6; color: #191c1b;
}
body.theme-b[data-page="about"] .b-about-story h2,
body.theme-b[data-page="about"] .b-about-team h2 {
  font-family: 'Barlow Condensed',Impact,sans-serif; font-size: clamp(5.5rem,8vw,9rem);
  line-height: .84; letter-spacing: -.025em; margin: 38px 0 0;
}
body.theme-b[data-page="about"] .b-about-story h2 span { color: #898d88; }
body.theme-b[data-page="about"] .b-about-story p,
body.theme-b[data-page="about"] .b-about-team p { font-size: 1.14rem; line-height: 1.7; max-width: 640px; }
body.theme-b[data-page="about"] .b-about-story a,
body.theme-b[data-page="about"] .b-about-team a {
  display: inline-flex; gap: 44px; align-items: center; border-bottom: 1px solid currentColor;
  padding-bottom: 10px; margin-top: 28px; font-size: .76rem; letter-spacing: .12em; font-weight: 700;
}
body.theme-b[data-page="about"] .b-about-principles { gap: 25px; padding-top: 115px; padding-bottom: 125px; }
body.theme-b[data-page="about"] .b-about-principles > div { padding: 26px 26px 10px 0; }
body.theme-b[data-page="about"] .b-about-principles h3 { min-height: 2.1em; font-size: clamp(2.4rem,3vw,3.8rem); line-height: .96; margin-top: 74px; }
body.theme-b[data-page="about"] .b-about-principles p { font-size: 1rem; line-height: 1.65; }
body.theme-b[data-page="about"] .b-about-team {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: #262b2a;
}
body.theme-b[data-page="about"] .b-about-team-image { min-height: 680px; overflow: hidden; }
body.theme-b[data-page="about"] .b-about-team-image img { width: 100%; height: 100%; object-fit: cover; }
body.theme-b[data-page="about"] .b-about-team-copy { padding: 100px clamp(35px,6vw,105px); align-self: center; }
body.theme-b[data-page="about"] .b-about-team h2 { font-size: clamp(5rem,6.5vw,8rem); }
body.theme-b[data-page="about"] .b-about-team h2 span { color: #929c96; }

@media (max-width: 760px) {
  .theme-b .b-detail-hero { height: 610px; }
  body.theme-b[data-page="commercial"] .b-collection-head {
    min-height: 630px; display: flex; flex-direction: column; justify-content: space-between;
    background: linear-gradient(0deg, rgba(14,17,18,.85), rgba(14,17,18,.32)),
      url("assets/photos/wingfield-00.webp") center / cover no-repeat;
  }
  body.theme-b[data-page="commercial"] .b-collection-head h1 { margin: auto 0 38px; }
  body.theme-b[data-page="commercial"] .b-collection-head > div:last-child { display: block; }
  body.theme-b[data-page="residential"] .b-collection-head { min-height: 0; }
  body.theme-b[data-page="contact"] .b-contact-head {
    min-height: 540px; display: flex; flex-direction: column; justify-content: space-between;
    background: linear-gradient(0deg, rgba(20,21,20,.83), rgba(20,21,20,.42)),
      url("assets/photos/the-tides-00.webp") center / cover no-repeat;
  }
  body.theme-b[data-page="contact"] .b-contact-head h1 { margin: auto 0 28px; }
  body.theme-b[data-page="about"] .b-about-hero {
    min-height: 660px; padding: 38px 24px 34px;
    background-position: center, center, 57% center;
  }
  body.theme-b[data-page="about"] .b-about-hero h1 {
    font-size: clamp(5.1rem, 19vw, 7.3rem); margin: auto 0 35px; overflow-wrap: normal;
  }
  body.theme-b[data-page="about"] .b-about-hero > div { display: block; }
  body.theme-b[data-page="about"] .b-about-hero > div p { font-size: 1rem; margin: 0 0 10px; }
  body.theme-b[data-page="about"] .b-about-grid { padding: 85px 24px 90px; }
  body.theme-b[data-page="about"] .b-about-grid > p { font-size: 1.22rem; }
  body.theme-b[data-page="about"] .b-about-collage { height: 360px; }
  body.theme-b[data-page="about"] .b-about-story { display: block; padding: 85px 24px; }
  body.theme-b[data-page="about"] .b-about-story h2,
  body.theme-b[data-page="about"] .b-about-team h2 { font-size: clamp(4.5rem, 16vw, 6.5rem); margin: 30px 0; }
  body.theme-b[data-page="about"] .b-about-story p,
  body.theme-b[data-page="about"] .b-about-team p { font-size: 1rem; }
  body.theme-b[data-page="about"] .b-about-principles { padding: 80px 24px 85px; }
  body.theme-b[data-page="about"] .b-about-principles > div { padding: 20px 0; margin-bottom: 28px; }
  body.theme-b[data-page="about"] .b-about-principles h3 { min-height: 0; margin-top: 28px; }
  body.theme-b[data-page="about"] .b-about-team { display: block; min-height: 0; }
  body.theme-b[data-page="about"] .b-about-team-image { min-height: 0; height: 310px; }
  body.theme-b[data-page="about"] .b-about-team-copy { padding: 78px 24px 88px; }
}

body.theme-b[data-page="about"] .b-about-team h2 { margin-bottom: 32px; }


/* About / editorial story and visual principles. */
body.theme-b[data-page="about"] .b-about-story {
  grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: 5vw 8vw;
  padding-top: 120px; padding-bottom: 0; background: #e4e0d6;
}
body.theme-b[data-page="about"] .b-about-story-heading { align-self: start; }
body.theme-b[data-page="about"] .b-about-story h2 {
  margin: 35px 0 0; font-size: clamp(6rem,9.2vw,10rem); line-height: .79;
}
body.theme-b[data-page="about"] .b-about-story-aside {
  max-width: 350px !important; margin-top: 45px; border-top: 1px solid #9c9d94;
  padding-top: 18px; font-size: 1rem !important; line-height: 1.45 !important;
}
body.theme-b[data-page="about"] .b-about-story-content { padding-top: 7px; }
body.theme-b[data-page="about"] .b-about-story-rule {
  display: block; width: 68px; height: 4px; margin-bottom: 28px; background: #65756b;
}
body.theme-b[data-page="about"] .b-about-story-content .b-about-story-lead {
  font-size: clamp(1.45rem,2vw,2rem); line-height: 1.43; font-weight: 500;
  margin-top: 0; letter-spacing: -.025em;
}
body.theme-b[data-page="about"] .b-about-story-content p:not(.b-about-story-lead) {
  font-size: 1.05rem; line-height: 1.72; margin-top: 25px;
}
body.theme-b[data-page="about"] .b-about-story-content a { margin-top: 18px; }
body.theme-b[data-page="about"] .b-about-story-feature {
  grid-column: 1 / -1; position: relative; height: clamp(350px,34vw,510px);
  overflow: hidden; margin: 35px 0 0; background: #343936;
}
body.theme-b[data-page="about"] .b-about-story-feature::after {
  content: ""; position: absolute; inset: 42% 0 0;
  background: linear-gradient(0deg,rgba(12,17,15,.75),transparent); pointer-events: none;
}
body.theme-b[data-page="about"] .b-about-story-feature img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 48%;
}
body.theme-b[data-page="about"] .b-about-story-feature figcaption {
  position: absolute; z-index: 1; bottom: 27px; left: 32px; right: 32px;
  display: flex; justify-content: space-between; align-items: end; gap: 20px; color: #fff;
}
body.theme-b[data-page="about"] .b-about-story-feature figcaption span,
body.theme-b[data-page="about"] .b-about-story-feature figcaption strong {
  font-size: .7rem; letter-spacing: .16em; font-weight: 700;
}
body.theme-b[data-page="about"] .b-about-principles-head {
  display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 35px; align-items: end;
  padding: 118px clamp(25px,4vw,75px) 45px; background: #151a19; color: #f1f0e9;
}
body.theme-b[data-page="about"] .b-about-principles-head h2 {
  font-family: 'Barlow Condensed',Impact,sans-serif; font-size: clamp(4.5rem,7vw,8rem);
  line-height: .85; letter-spacing: -.025em; margin: 0;
}
body.theme-b[data-page="about"] .b-about-principles-head h2 span { color: #84948b; }
body.theme-b[data-page="about"] .b-about-principles-head p {
  max-width: 300px; margin: 0; color: #c0c5bf; line-height: 1.58; font-size: .9rem;
}
body.theme-b[data-page="about"] .b-about-principles {
  gap: 14px; padding-top: 0; padding-bottom: 120px; background: #151a19;
}
body.theme-b[data-page="about"] .b-about-principles > div {
  border: 1px solid #454d49; padding: 0 0 34px; margin: 0; background: #202724;
  transition: border-color .25s ease, transform .25s ease;
}
body.theme-b[data-page="about"] .b-about-principles > div:hover {
  border-color: #acb9ae; transform: translateY(-4px);
}
body.theme-b[data-page="about"] .b-about-principle-image {
  height: clamp(180px,16vw,300px); margin: 0; overflow: hidden; background: #434a45;
}
body.theme-b[data-page="about"] .b-about-principle-image img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  filter: saturate(.72); transition: transform .5s ease, filter .5s ease;
}
body.theme-b[data-page="about"] .b-about-principles > div:hover img {
  transform: scale(1.035); filter: saturate(1);
}
body.theme-b[data-page="about"] .b-about-principle-label {
  display: flex; justify-content: space-between; margin: 28px 28px 0;
  padding-top: 19px; border-top: 1px solid #6d7770; color: #c9d3c9;
  font-size: .7rem; letter-spacing: .16em; font-weight: 700;
}
body.theme-b[data-page="about"] .b-about-principle-label b {
  font: inherit; color: #829187;
}
body.theme-b[data-page="about"] .b-about-principles h3 {
  min-height: 0; margin: 55px 28px 24px; font-size: clamp(2.75rem,3vw,3.9rem); line-height: .91;
}
body.theme-b[data-page="about"] .b-about-principles p {
  margin: 0 28px; font-size: .94rem; line-height: 1.65; color: #c5cbc5;
}
@media (max-width: 1000px) and (min-width: 761px) {
  body.theme-b[data-page="about"] .b-about-principles-head { grid-template-columns: 1fr 2fr; }
  body.theme-b[data-page="about"] .b-about-principles-head p { grid-column: 2; }
  body.theme-b[data-page="about"] .b-about-principles h3 { font-size: 2.5rem; }
}
@media (max-width: 760px) {
  body.theme-b[data-page="about"] .b-about-story {
    display: block; padding: 83px 24px 0;
  }
  body.theme-b[data-page="about"] .b-about-story h2 {
    font-size: clamp(5rem,16vw,7rem); margin-top: 30px;
  }
  body.theme-b[data-page="about"] .b-about-story-aside {
    margin-top: 30px; padding-top: 15px;
  }
  body.theme-b[data-page="about"] .b-about-story-content { padding-top: 45px; }
  body.theme-b[data-page="about"] .b-about-story-content .b-about-story-lead { font-size: 1.45rem; }
  body.theme-b[data-page="about"] .b-about-story-feature {
    height: 360px; margin: 70px -24px 0;
  }
  body.theme-b[data-page="about"] .b-about-story-feature figcaption {
    display: block; left: 24px; bottom: 23px;
  }
  body.theme-b[data-page="about"] .b-about-story-feature figcaption strong {
    display: block; margin-top: 8px;
  }
  body.theme-b[data-page="about"] .b-about-principles-head {
    display: block; padding: 80px 24px 38px;
  }
  body.theme-b[data-page="about"] .b-about-principles-head h2 {
    font-size: clamp(4.5rem,15vw,6rem); margin: 32px 0 22px;
  }
  body.theme-b[data-page="about"] .b-about-principles-head p { max-width: 390px; }
  body.theme-b[data-page="about"] .b-about-principles {
    display: grid; grid-template-columns: 1fr; gap: 14px; padding: 0 24px 90px;
  }
  body.theme-b[data-page="about"] .b-about-principles > div { padding: 0 0 34px; margin: 0; }
  body.theme-b[data-page="about"] .b-about-principle-image { height: 235px; }
  body.theme-b[data-page="about"] .b-about-principles h3 {
    font-size: 3.25rem; margin-top: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.theme-b[data-page="about"] .b-about-principles > div,
  body.theme-b[data-page="about"] .b-about-principle-image img { transition: none; }
}


/* Commercial portfolio: Residential's light split hero with industrial imagery. */
body.theme-b[data-page="commercial"] .b-collection-head {
  position: relative; isolation: isolate; overflow: hidden;
  display: block; min-height: 680px;
  background: #e6e0d5; color: #1d211f;
}
body.theme-b[data-page="commercial"] .b-collection-head::before {
  content: ""; position: absolute; z-index: 0; inset: 0 0 0 59%;
  background: url("assets/photos/wingfield-00.webp") center 48% / cover no-repeat;
}
body.theme-b[data-page="commercial"] .b-collection-head > * {
  position: relative; z-index: 1;
}
body.theme-b[data-page="commercial"] .b-collection-head h1 {
  max-width: 57%; margin: 80px 0 96px;
  font-size: clamp(5.5rem,8vw,9.5rem); line-height: .77;
}
body.theme-b[data-page="commercial"] .b-collection-head h1 span { color: #88877e; }
body.theme-b[data-page="commercial"] .b-topline span:last-child { visibility: hidden; }
body.theme-b[data-page="commercial"] .b-collection-head > div:last-child {
  max-width: 56%; border-top-color: #a19e94;
}
@media (max-width: 760px) {
  body.theme-b[data-page="commercial"] .b-collection-head {
    min-height: 0; padding-top: 43px; padding-bottom: 48px;
  }
  body.theme-b[data-page="commercial"] .b-collection-head::before { display: none; }
  body.theme-b[data-page="commercial"] .b-collection-head::after {
    content: ""; display: block; position: relative; z-index: 1;
    width: calc(100% + 48px); height: 240px; margin: 32px -24px -48px;
    background: url("assets/photos/wingfield-00.webp") center 48% / cover no-repeat;
  }
  body.theme-b[data-page="commercial"] .b-collection-head h1 {
    max-width: none; margin: 40px 0 30px;
    font-size: clamp(4.3rem,17vw,7rem);
  }
  body.theme-b[data-page="commercial"] .b-collection-head > div:last-child { max-width: none; }
}


/* Prevent intrinsic image dimensions from overflowing the About collage grid. */
body.theme-b[data-page="about"] .b-about-collage {
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}
body.theme-b[data-page="about"] .b-about-collage img {
  display: block;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* About: give mobile imagery and headings their own space. */
@media (max-width: 760px) {
  body.theme-b[data-page="about"] .b-about-hero h1 {
    font-size: clamp(3.2rem, 18vw, 5.8rem);
    line-height: .86;
  }
  body.theme-b[data-page="about"] .b-about-grid {
    padding-bottom: 56px;
  }
  body.theme-b[data-page="about"] .b-about-collage {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 14px;
    padding: 0 24px 56px;
    overflow: visible;
  }
  body.theme-b[data-page="about"] .b-about-collage img:first-child {
    height: clamp(200px, 60vw, 280px);
    object-position: center 48%;
  }
  body.theme-b[data-page="about"] .b-about-collage img:last-child {
    height: clamp(245px, 72vw, 330px);
    object-position: center 52%;
  }
  body.theme-b[data-page="about"] .b-about-story {
    padding-top: 72px;
  }
  body.theme-b[data-page="about"] .b-about-story h2 {
    font-size: clamp(4rem, 15vw, 6rem);
  }
}

@media (max-width: 760px) {
  body.theme-b[data-page="about"] .b-about-team h2 {
    font-size: clamp(3.3rem, 15vw, 5rem);
  }
}


/* The public contact address replaces the former phone CTA. */
.site-header .header-cta{white-space:nowrap}
.site-footer .footer-contact a,.theme-b .b-contact-main>div:first-child a,
.theme-b .b-contact-invite-phone a,.theme-b .b-project-enquiry-actions>a:last-child,
.a-contact-intro a[href^="mailto:"],.c-contact-side a[href^="mailto:"]{overflow-wrap:anywhere}
.theme-b .b-contact-main>div:first-child a{font-size:clamp(1.5rem,2.25vw,2rem);line-height:1.18;max-width:100%}
.theme-b .b-contact-invite .b-contact-invite-phone a{font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.18;max-width:100%}
.site-footer .footer-top{grid-template-columns:minmax(260px,1.6fr) minmax(120px,.6fr) minmax(300px,1.3fr);gap:clamp(24px,3.5vw,56px)}
.site-footer .footer-contact a{font-size:clamp(.9rem,1.15vw,1.1rem);white-space:nowrap}
@media(min-width:901px) and (max-width:1180px){.theme-b .b-header .header-cta{display:none}}
@media(max-width:900px){.site-footer .footer-top{grid-template-columns:1fr;gap:38px}.site-footer .footer-contact a{white-space:normal}}
@media(max-width:760px){
  .site-footer .footer-contact a{font-size:1rem;line-height:1.5}
  .theme-b .b-contact-main>div:first-child a{font-size:1.32rem;white-space:normal}
  .theme-b .b-contact-invite .b-contact-invite-phone a{font-size:1.32rem}
  .theme-b .b-contact-invite-phone a span,.theme-b .b-project-enquiry-actions>a:last-child span{display:none}
}

/* Project-specific questions, shared by every project detail page. */
.project-faq{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(36px,6vw,110px);padding:clamp(80px,8vw,125px) clamp(24px,5vw,90px);background:#222624;color:#f4f3ed}
.project-faq-intro{min-width:0}
.project-faq-intro .minor-label{display:block;color:#b8c3bb;line-height:1.5}
.project-faq h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(4.5rem,6.8vw,8rem);font-weight:600;text-transform:uppercase;line-height:.86;letter-spacing:-.025em;margin:30px 0 26px}
.project-faq h2 span{color:#9ba69e}
.project-faq-intro>p{max-width:36ch;font-size:1.02rem;line-height:1.6;color:#d0d8d1;margin:0}
.project-faq-list{min-width:0;border-top:1px solid #69746c}
.project-faq-item{border-bottom:1px solid #69746c}
.project-faq-item summary{display:grid;grid-template-columns:30px minmax(0,1fr) 36px;gap:18px;align-items:start;padding:27px 0;cursor:pointer;list-style:none}
.project-faq-item summary::-webkit-details-marker{display:none}
.project-faq-item summary::marker{content:""}
.project-faq-item summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.project-faq-number{font-size:.67rem;letter-spacing:.12em;font-weight:700;color:#b8c3bb;padding-top:6px}
.project-faq-question{font-size:clamp(1.13rem,1.5vw,1.42rem);line-height:1.3;font-weight:600}
.project-faq-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8b978e;border-radius:50%;font-size:1.35rem;line-height:1}
.project-faq-toggle::before{content:"+"}
.project-faq-item[open] .project-faq-toggle::before{content:"−"}
.project-faq-answer{padding:0 50px 27px 48px}
.project-faq-answer p{max-width:64ch;font-size:.98rem;line-height:1.65;color:#d0d8d1;margin:0}
.theme-a .project-faq,.theme-c .project-faq{background:#e6e4dd;color:#20221f}
.theme-c .project-faq{background:#e3f0e9}
.theme-a .project-faq h2,.theme-c .project-faq h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;text-transform:none;letter-spacing:-.055em;line-height:1}
.theme-a .project-faq h2 span,.theme-c .project-faq h2 span{color:#858c84}
.theme-a .project-faq-intro .minor-label,.theme-c .project-faq-intro .minor-label,.theme-a .project-faq-number,.theme-c .project-faq-number{color:#4f5a51}
.theme-a .project-faq-intro>p,.theme-c .project-faq-intro>p,.theme-a .project-faq-answer p,.theme-c .project-faq-answer p{color:#485249}
.theme-a .project-faq-list,.theme-c .project-faq-list,.theme-a .project-faq-item,.theme-c .project-faq-item{border-color:#9da69c}
.theme-a .project-faq-toggle,.theme-c .project-faq-toggle{border-color:#727d73}
@media(max-width:760px){
  .project-faq{display:block;padding:68px 24px 76px}
  .project-faq-intro{margin-bottom:36px}
  .project-faq h2{font-size:clamp(3.7rem,15vw,5.8rem);margin:23px 0 18px}
  .project-faq-intro>p{font-size:.96rem}
  .project-faq-item summary{grid-template-columns:24px minmax(0,1fr) 30px;gap:11px;padding:22px 0}
  .project-faq-question{font-size:1.06rem;line-height:1.35}
  .project-faq-toggle{width:29px;height:29px;font-size:1.17rem}
  .project-faq-answer{padding:0 12px 23px 35px}
  .project-faq-answer p{font-size:.92rem;line-height:1.55}
}
