/* Shared editorial pages inherit the homepage's fonts, palette and button system. */
.cp-hero{position:relative;isolation:isolate;min-height:850px;min-height:max(850px,100svh);padding:175px var(--pad) 100px;overflow:hidden;background:#100d0b}
.cp-hero-scene,.cp-hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none}.cp-hero-scene{overflow:hidden}.cp-hero-scene img{width:100%;height:115%;object-fit:cover;object-position:67% center;max-width:none}.cp-hero-shade{background:linear-gradient(90deg,#100b08e6,transparent 74%),linear-gradient(0deg,#11100f,transparent 28%)}
.cp-hero-copy{position:relative;max-width:850px}.cp-hero-copy>.eyebrow{margin-bottom:32px}.cp-hero h1{font-size:clamp(80px,8.9vw,165px)}.cp-about-hero h1{font-size:clamp(80px,8.4vw,155px)}.cp-lead{font-size:clamp(13px,1.1vw,17px);line-height:1.8;margin:30px 0;max-width:520px}.cp-hero-foot{position:absolute;bottom:30px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:24px;border-top:1px solid #f3efe52e;padding-top:19px}.cp-hero-foot .eyebrow{font-size:9px}
.cp-contact-hero{min-height:clamp(620px,76svh,760px);padding-top:90px;padding-bottom:96px}.cp-contact-hero .cp-hero-scene img{object-position:74% center}.cp-contact-hero .cp-hero-shade{background:linear-gradient(90deg,#060a10f2 5%,#060a1099 44%,transparent 82%),linear-gradient(0deg,#11100f,transparent 25%)}.cp-contact-hero h1{font-size:clamp(64px,7vw,112px)}
.cp-story{padding-bottom:70px}.cp-story-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:8vw;margin:70px 0 75px}.cp-story h2{font-size:clamp(60px,6.8vw,126px)}.cp-story-copy{max-width:530px}.cp-story-copy>p+p{margin-top:22px;font-size:14px;line-height:1.9;color:#62594f}.cp-intro-text{font-size:clamp(21px,2.1vw,34px);line-height:1.4;letter-spacing:-.035em}.cp-story-copy .text-link{margin-top:24px}.cp-story-signature{display:flex;flex-wrap:wrap;column-gap:25px;row-gap:12px;border-top:1px solid #11100f30;padding-top:32px}.cp-story-signature .display{font-size:clamp(28px,3.4vw,62px)}
.cp-services{padding-top:42px;padding-bottom:85px}.cp-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin:65px 0}.cp-section-heading h2{font-size:clamp(60px,7vw,130px)}.cp-section-heading>p{font-size:13px;line-height:1.9;color:#c1b6a6;margin-bottom:5px}.cp-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:5vw;row-gap:65px}.cp-service{min-width:0;border-top:1px solid #ffffff30;padding-top:20px}.cp-service-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.65;background:#241914}.cp-service-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.cp-service-image:hover img{transform:scale(1.035)}.cp-service:nth-child(2) .cp-service-image img{object-position:center 53%}.cp-service-title{margin:25px 0 18px}.cp-service-title .eyebrow{font-size:9px;color:#d6b691}.cp-service-title h3{font-size:clamp(43px,4.5vw,80px);margin-top:15px}.cp-service>p{max-width:460px;color:#bfb6a9;font-size:13px;line-height:1.85;min-height:4em}.cp-service .text-link{margin-top:15px}.cp-image-note{font-size:9px;color:#8c847a;margin-top:32px}
.cp-endcap{padding:70px var(--pad) 80px;background:var(--red);color:var(--ink);display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:40px}.cp-endcap h2{font-size:clamp(55px,6.5vw,125px);margin-top:35px}.cp-endcap h2 span{color:var(--cream)}.cp-endcap-copy{justify-self:end}.cp-endcap-copy p{font-size:16px;line-height:1.7;margin-bottom:25px}
.cp-enquiry{padding-bottom:100px}.cp-enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:65px}.cp-enquiry h2{font-size:clamp(60px,6.8vw,125px);margin-bottom:30px}.cp-enquiry-copy>.cp-intro-text{font-size:24px;margin-bottom:18px}.cp-enquiry-copy>p:not(.cp-intro-text){font-size:14px;color:#62594f;line-height:1.9;max-width:430px}.cp-direct-links{margin-top:38px;max-width:460px}.cp-direct-links>a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 0;border-top:1px solid #11100f35;transition:color .2s}.cp-direct-links>a:last-child{border-bottom:1px solid #11100f35}.cp-direct-links>a:hover{color:#b42d1e}.cp-direct-links small{display:block;font-size:8px;letter-spacing:.075em;margin-bottom:6px}.cp-direct-links strong{font-weight:400;font-size:24px;line-height:1.5}.cp-direct-links .cp-email strong{font-size:clamp(13px,1.25vw,19px);overflow-wrap:anywhere}.cp-direct-links svg{width:23px;height:23px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.5}.cp-enquiry-form{align-self:start;border:1px solid #11100f35;padding:32px;min-width:0}.cp-form-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:34px}.cp-form-top .eyebrow{font-size:9px}.cp-required-note{font-size:9px;color:#786b5c}.cp-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cp-enquiry-form label{display:flex;flex-direction:column;min-width:0;gap:9px;font-size:12px;font-weight:700;margin-bottom:26px}.cp-enquiry-form input,.cp-enquiry-form textarea{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #11100f50;border-radius:0;padding:12px 0;color:var(--ink);font-weight:400;font-size:13px;resize:vertical}.cp-enquiry-form textarea{min-height:150px}.cp-enquiry-form input::placeholder,.cp-enquiry-form textarea::placeholder{color:#85796b;opacity:1}.cp-enquiry-form input:focus-visible,.cp-enquiry-form textarea:focus-visible{outline:2px solid var(--red);outline-offset:5px}.cp-form-note{font-size:11px;color:#716557;line-height:1.7;max-width:410px;margin-bottom:23px}.cp-enquiry-form .button{width:100%;font-size:11px;gap:15px;text-align:left}.cp-form-status{font-size:12px;line-height:1.7}.cp-form-status:not(:empty){margin-top:17px}
.cp-location{background:var(--red);color:var(--ink);--line:#11100f40;padding-bottom:95px}.cp-location-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;margin-top:65px;align-items:center}.cp-location h2{font-size:clamp(63px,7.7vw,145px)}.cp-location h2 span{color:var(--cream)}.cp-location-icon{width:45px;height:45px;stroke:currentColor;stroke-width:1.5;fill:none;margin-bottom:22px}.cp-location address{font-style:normal;font-size:clamp(16px,1.6vw,25px);line-height:1.65;letter-spacing:-.025em;margin-top:17px}.cp-hours{margin:28px 0}.cp-hours p{font-size:22px;margin-top:7px}.cp-hero .text-link svg,.cp-story .text-link svg,.cp-services .text-link svg,.cp-hero .button svg,.cp-endcap .button svg,.cp-enquiry .button svg,.cp-location .button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
@media(min-width:1600px){.cp-hero{padding-top:200px}.cp-contact-hero{padding-top:90px}.cp-about-hero{min-height:1000px}.cp-story-grid,.cp-enquiry-grid,.cp-location-grid{gap:10vw}.cp-enquiry-form{padding:42px}}
@media(max-width:1000px){.cp-hero{min-height:820px}.cp-contact-hero{min-height:620px}.cp-story-grid,.cp-enquiry-grid{gap:5vw}.cp-enquiry-form{padding:25px}.cp-name-fields{gap:14px}.cp-endcap{grid-template-columns:1.35fr 1fr}.cp-endcap .button{font-size:10px;gap:18px}.cp-location-grid{gap:5vw}.cp-direct-links strong{font-size:21px}}
@media(max-width:760px){
 .cp-hero{padding:135px var(--pad) 110px;min-height:820px}.cp-hero-copy>.eyebrow{font-size:8px;max-width:270px;margin-bottom:28px}.cp-about-hero h1{font-size:19vw}.cp-about-hero .cp-hero-scene img{object-position:68% center;opacity:.65}.cp-about-hero .cp-hero-shade{background:linear-gradient(90deg,#100b08ce,transparent 130%),linear-gradient(0deg,#11100f,transparent 50%)}.cp-lead{font-size:12px;max-width:310px;margin:25px 0}.cp-hero-foot .eyebrow{font-size:7px}.cp-hero-foot .eyebrow:last-child{display:none}.cp-hero-foot{bottom:26px}.cp-contact-hero{min-height:600px;padding-top:72px;padding-bottom:96px}.cp-contact-hero h1{font-size:16.5vw}.cp-contact-hero .cp-hero-scene img{object-position:71% bottom}.cp-contact-hero .cp-hero-shade{background:linear-gradient(90deg,#060a10e8,#060a1066),linear-gradient(0deg,#11100f,transparent 45%)}
 .cp-story,.cp-services,.cp-enquiry,.cp-location{padding-top:30px;padding-bottom:55px}.cp-story .section-topline .eyebrow,.cp-services .section-topline .eyebrow,.cp-enquiry .section-topline .eyebrow,.cp-location .section-topline .eyebrow{font-size:7px}.cp-story .section-topline .eyebrow:last-child,.cp-services .section-topline .eyebrow:last-child,.cp-enquiry .section-topline .eyebrow:last-child{max-width:120px;text-align:right}.cp-story-grid{grid-template-columns:1fr;gap:35px;margin:45px 0}.cp-story h2{font-size:15vw}.cp-story-copy>p+p{font-size:13px}.cp-intro-text{font-size:25px}.cp-story-copy .text-link{font-size:9px;gap:16px}.cp-story-signature{gap:10px;padding-top:25px}.cp-story-signature .display{font-size:8vw}.cp-section-heading{display:block;margin:42px 0 35px}.cp-section-heading h2{font-size:15vw}.cp-section-heading>p{margin-top:25px;font-size:12px}.cp-service-grid{grid-template-columns:1fr;gap:40px}.cp-service-title h3{font-size:13vw}.cp-service>p{min-height:0;font-size:12px}.cp-service .text-link{font-size:10px}.cp-endcap{grid-template-columns:1fr;padding:45px var(--pad) 55px;gap:30px}.cp-endcap .eyebrow{font-size:8px}.cp-endcap h2{font-size:13.5vw;margin-top:28px}.cp-endcap-copy{justify-self:start}.cp-endcap-copy p{font-size:14px}.cp-endcap .button{font-size:11px}
 .cp-enquiry-grid{grid-template-columns:1fr;gap:40px;margin-top:43px}.cp-enquiry h2{font-size:17vw}.cp-enquiry-copy>.cp-intro-text{font-size:23px}.cp-enquiry-copy>p:not(.cp-intro-text){font-size:13px}.cp-direct-links{max-width:none;margin-top:28px}.cp-direct-links strong{font-size:24px}.cp-direct-links .cp-email strong{font-size:15px}.cp-enquiry-form{padding:25px 20px}.cp-form-top{gap:10px;margin-bottom:28px}.cp-form-top .eyebrow{font-size:8px}.cp-enquiry-form label{font-size:11px}.cp-name-fields{gap:18px}.cp-enquiry-form input{font-size:12px}.cp-enquiry-form .button{font-size:9px;padding:18px 16px}.cp-location-grid{grid-template-columns:1fr;gap:35px;margin-top:45px}.cp-location h2{font-size:16vw}.cp-location-detail{border-top:1px solid #11100f40;padding-top:28px}.cp-location address{font-size:19px}.cp-location-icon{width:35px;height:35px}.cp-location .button{font-size:10px}
}
@media(max-width:360px){.cp-name-fields{grid-template-columns:1fr;gap:0}.cp-form-top{flex-direction:column;gap:6px}.cp-direct-links .cp-email strong{font-size:13px}.cp-enquiry-form{padding:22px 15px}.cp-hero{min-height:780px}.cp-contact-hero{min-height:580px}}
@media(prefers-reduced-motion:reduce){.cp-service-image img{transition:none}.cp-hero-scene img{transform:none!important}}
.cp-hero,.cp-services{color:var(--cream)}.cp-services{background:var(--ink)}

/* About: an image-led editorial journey, with each chapter kept in reading order. */
.cp-service-journey{position:relative}.cp-chapter-stage{display:none}.cp-service{position:relative}
.cp-about-aperture{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.cp-about-aperture i{position:absolute;right:-10%;width:37%;height:130%;top:-15%;background:#11100f32;transform:skewX(-18deg)}.cp-about-aperture i+ i{right:-29%;background:#ef422816}.cp-about-aperture>span{position:absolute;right:4%;top:14%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#f3efe59c}

.cp-letter-desk{position:relative;align-self:start;padding:14px 0 0 14px;isolation:isolate;margin-top:12px}.cp-letter-backing{position:absolute;inset:0 14px 14px 0;z-index:-1;background:var(--red)}.cp-letter-desk .cp-enquiry-form{position:relative;background:#faf7ef;border:0;border-top:5px solid var(--ink);box-shadow:0 15px 34px #17120c0c;padding:38px 34px 32px}.cp-letter-desk .cp-form-top{border-bottom:1px solid #11100f2b;padding-bottom:19px}.cp-enquiry-grid{gap:7vw}.cp-enquiry{padding-bottom:120px}
.cp-location-grid{grid-template-columns:1.35fr 1fr;gap:8vw;align-items:center}.cp-location-heading{min-width:0}.cp-location-detail{border-left:1px solid #11100f40;padding-left:3vw}
@media(min-width:901px){
 .cp-journey-active .cp-service-journey{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:7vw;align-items:start}
 .cp-journey-active .cp-chapter-stage{display:block;position:sticky;top:116px;align-self:start;margin-bottom:40px}
 .cp-chapter-window{position:relative;height:min(59vh,590px);min-height:340px;overflow:hidden;background:#241914;isolation:isolate}
 .cp-chapter-window img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;will-change:clip-path;pointer-events:none}
 .cp-chapter-window:after{content:"";position:absolute;inset:0;z-index:5;border:1px solid #ffffff16;pointer-events:none}
 .cp-chapter-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0 15px}.cp-chapter-meta .eyebrow{font-size:8px;color:#baafa0}.cp-chapter-counter{font:900 42px/.9 var(--display);color:var(--red);font-variant-numeric:tabular-nums}.cp-chapter-counter small{font-size:17px;color:#a59a8d}.cp-chapter-progress{height:2px;background:#ffffff25}.cp-chapter-progress i{display:block;height:100%;background:var(--red);transform-origin:0 50%}
 .cp-journey-active .cp-service-grid{display:block;min-width:0}
 .cp-journey-active .cp-service{min-height:64vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0 60px;border-top:0;border-bottom:1px solid #ffffff24}
 .cp-journey-active .cp-service:last-child{border:0;min-height:61vh}.cp-journey-active .cp-service-image{display:none}.cp-journey-active .cp-service-title{margin:0 0 26px}.cp-journey-active .cp-service-title .eyebrow{color:var(--red);font-size:9px}.cp-journey-active .cp-service-title h3{font-size:clamp(45px,5.3vw,87px);margin-top:23px}.cp-journey-active .cp-service>p{min-height:0;max-width:370px;font-size:14px}.cp-journey-active .cp-service .text-link{align-self:flex-start;margin-top:27px;font-size:10px}
}
@media(max-width:900px){.cp-service-grid{grid-template-columns:1fr}.cp-service-image{aspect-ratio:1.5}.cp-service-title h3{font-size:clamp(48px,8vw,72px)}}
@media(max-width:760px){.cp-about-aperture>span{display:none}.cp-about-aperture i{width:50%;right:-25%}.cp-about-aperture i+ i{right:-50%}.cp-letter-desk{padding:10px 0 0 10px;margin-top:15px}.cp-letter-desk .cp-enquiry-form{padding:26px 20px 25px}.cp-letter-backing{inset:0 10px 10px 0}.cp-location-grid{grid-template-columns:1fr;gap:35px}.cp-location-detail{border-left:0;padding-left:0}.cp-service-grid{gap:52px}.cp-service-title h3{font-size:13vw}.cp-enquiry{padding-bottom:65px}}
