/* Architectural rhythm: measured lines, generous frames, gentle reveals. */
:root{--brass:#b68a52}header{position:relative;z-index:10;background:var(--ivory)}.home-hero{position:relative;isolation:isolate;display:block;min-height:min(760px,64vw);padding:70px 7% 44px;margin:0;background:var(--ink);overflow:hidden}.home-hero .hero-image{position:absolute;inset:0;z-index:-2;min-height:0;aspect-ratio:auto;margin:0}.home-hero .hero-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;animation:room-arrive 1.8s ease-out both}.home-hero .hero-image:after{display:block;inset:0;background:linear-gradient(90deg,rgba(19,17,14,.88) 0%,rgba(19,17,14,.69) 31%,rgba(19,17,14,.2) 66%,rgba(19,17,14,.06) 100%)}.home-hero .hero-copy{padding:0;max-width:640px;color:var(--ivory);position:relative;z-index:2;min-height:560px}.home-hero h1{font-size:clamp(44px,4.6vw,74px);line-height:1.08;letter-spacing:-2px;text-wrap:balance;margin:28px 0}.home-hero h1 em{color:#e3b58e}.home-hero .eyebrow{color:#e6c7ab;font-size:12px}.home-hero .intro{color:#eee5d9;max-width:420px;text-shadow:0 1px 5px #0004}.home-hero .text-link{color:#fff;border-color:#a39380}.home-hero .hero-foot{color:#e1d5c6;border-color:#ffffff40;max-width:490px;padding-top:20px}.home-hero figcaption{left:auto;right:5%;bottom:26px;top:auto;max-width:420px;z-index:3;background:#1c1b197d;display:flex;gap:30px;font-size:12px;padding:10px 15px;color:#fff;letter-spacing:1px}.draft-frame{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);z-index:1;pointer-events:none;fill:none;stroke:#e4c49e;stroke-width:.7;opacity:.55}.draft-frame path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw-measure 2s .3s ease-out forwards}.draft-frame .draft-rule{opacity:.25;animation-delay:.8s}.editorial-image,.two-cards .editorial-image,.partner-callout .editorial-image{height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;max-height:none}.image-split .editorial-image{aspect-ratio:4/3}.two-cards article{overflow:hidden}.card-copy{padding:32px}.gallery{grid-template-columns:1fr 1fr;gap:42px 30px}.gallery article:first-child{grid-column:1/-1}.gallery-open img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}.gallery article:first-child .gallery-open img{aspect-ratio:16/9}.gallery-open span{font-size:14px;padding:10px 16px}.gallery-caption>p:last-child{font-size:16px;max-width:650px}.gallery-caption .eyebrow{font-size:12px}.page-intro{position:relative;overflow:hidden}.page-intro:after{content:'';position:absolute;top:40px;bottom:40px;right:6%;width:14%;border:1px solid #b68a5250;border-left:0;pointer-events:none}.page-intro h1,.page-intro p{position:relative;z-index:1}.matching .criteria{position:relative;padding-top:14px}.matching .criteria:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--brass);transform-origin:left;transform:scaleX(.08);transition:transform 1.4s ease}.matching.in-view .criteria:before{transform:scaleX(1)}.matching .criteria article{position:relative;border-top:0}.criteria article:before{content:'';width:7px;height:7px;border:1px solid var(--brass);position:absolute;top:-18px;left:0;background:var(--ink);transform:rotate(45deg)}.timeline article>span{position:relative;padding-top:4px}.three-cards article,.timeline article{transition:border-color .25s}.three-cards article:hover,.timeline article:hover{border-color:var(--brass)}.button,.header-cta{position:relative;overflow:hidden;transition:background .25s,box-shadow .25s,transform .25s}.button:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px #79330520}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}.text-link{transition:color .2s,border-color .2s}.text-link:hover{border-color:currentColor;color:var(--rust)}.home-hero .text-link:hover{color:#e6c7ab}.gallery-open:hover img{transform:scale(1.035)}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.in-view){opacity:0;transform:translateY(22px)}.motion-ready .reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.motion-ready .two-cards article:nth-child(2){transition-delay:100ms}.motion-ready .three-cards article:nth-child(3n+2){transition-delay:80ms}.motion-ready .three-cards article:nth-child(3n+3){transition-delay:160ms}.filters button{transition:background .2s,color .2s}.filters button:hover{border-color:var(--deep)}.gallery article.filter-arrive{animation:filter-arrive .4s ease both}.contact-layout aside{min-width:0}.privacy-note,.consent,.form-intro{font-size:14px}.criteria p{font-size:16px}.topbar{font-size:12px}.principles{padding:23px 5%;font-size:14px}.floating-contact{font-size:14px}dialog{width:min(1050px,94vw);max-height:94vh}dialog img{width:100%;height:auto;max-height:70vh;object-fit:contain}footer a:hover{text-decoration:underline;text-underline-offset:5px}main{overflow:clip}section[id],article[id]{scroll-margin-top:30px}@keyframes draw-measure{to{stroke-dashoffset:0}}@keyframes room-arrive{from{transform:scale(1.035);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes filter-arrive{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.home-hero{min-height:780px;padding-top:90px}.home-hero .hero-copy{min-height:620px}}
@media(max-width:1050px){.home-hero{min-height:690px;padding-top:60px}.home-hero h1{font-size:58px}.home-hero .hero-copy{min-height:570px}.home-hero figcaption{font-size:12px;bottom:15px;right:20px}.home-hero .hero-foot{max-width:420px;flex-direction:column;gap:4px}.home-hero .hero-image:after{background:linear-gradient(90deg,#13110eed,#13110ea0 55%,#13110e33)}}
@media(max-width:720px){.home-hero{display:flex;flex-direction:column;gap:0;padding:0;background:var(--ivory);min-height:0;overflow:visible}.home-hero .hero-copy{padding:34px 7% 28px;min-height:0;max-width:none;color:var(--ink);order:0}.home-hero h1{font-size:clamp(38px,9vw,57px);letter-spacing:-1.5px;line-height:1.12;margin:22px 0}.home-hero h1 em{color:var(--deep)}.home-hero .eyebrow{color:var(--deep);font-size:12px;letter-spacing:1px}.home-hero .intro{color:var(--muted);text-shadow:none;max-width:520px}.home-hero .text-link{color:var(--deep)}.home-hero .hero-foot{color:var(--muted);border-color:var(--line);max-width:none;flex-direction:row;font-size:12px;gap:10px;line-height:1.6;margin-top:4px}.home-hero .hero-image{position:relative;inset:auto;width:100%;z-index:0;aspect-ratio:4/3;min-height:0;order:1}.home-hero .hero-image img{object-fit:cover;object-position:center}.home-hero .hero-image:after{background:linear-gradient(transparent 65%,#13110e66)}.home-hero figcaption{left:7%;right:7%;bottom:15px;max-width:none;justify-content:space-between;font-size:12px;gap:10px;padding:7px}.draft-frame{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}.gallery{grid-template-columns:1fr}.gallery article:first-child{grid-column:auto}.gallery article:first-child .gallery-open img,.gallery-open img{aspect-ratio:3/2}.two-cards .editorial-image,.editorial-image,.image-split .editorial-image{aspect-ratio:3/2;height:auto;max-height:none}.card-copy{padding:26px}.page-intro:after{width:10%;right:3%;opacity:.5}.page-intro h1{font-size:clamp(36px,9vw,46px);line-height:1.12}.topbar span{font-size:12px;max-width:190px;line-height:1.35}.topbar a{white-space:nowrap;font-size:12px;align-self:center}.topbar{gap:12px}.principles span{font-size:14px}.principles{justify-content:flex-start;padding-left:7%}.home-hero .hero-foot span{max-width:180px}.matching .criteria{gap:35px 24px}.criteria article:nth-child(n+3){border-top:1px solid #595249}.criteria article:nth-child(n+3):before{top:-4px}.contact-item>span{font-size:12px}.floating-contact{font-size:14px}.site-footer{padding-bottom:75px}h2{line-height:1.15}.section-row{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.in-view){opacity:1;transform:none}.draft-frame path{stroke-dashoffset:0}.matching .criteria:before{transform:scaleX(1)}.gallery-open:hover img,.button:hover,.header-cta:hover{transform:none}}

/* Photo-led service explanations and partner curation. */
.detail-visual{margin:0;min-width:0;overflow:hidden;background:#eae1d5}.detail-visual img.editorial-image{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover;object-position:center;transition:transform .7s ease}.detail-visual figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 17px;border-top:1px solid #d9cec0;color:var(--deep);font-size:14px;line-height:1.5;background:#eee5d9}.detail-visual figcaption small{flex-shrink:0;font-size:12px;color:var(--muted)}.image-split>.detail-visual img{aspect-ratio:4/3}.visual-service-cards>article{padding:0;background:var(--ivory)}.visual-service-cards .detail-visual{background:var(--ivory)}.visual-service-cards .card-copy{padding:30px}.visual-service-cards h3{margin:17px 0;font-size:32px}.visual-service-cards .card-copy>p:not(.eyebrow){color:var(--muted)}.visual-service-cards .clean-list{margin-top:22px}.visual-scopes{gap:24px;align-items:stretch}.three-cards article.scope-visual-card{padding:0;border:1px solid var(--line);background:#f0e8de;min-width:0}.scope-copy{padding:25px}.scope-copy h3{font-size:29px;margin:15px 0}.scope-visual-card .detail-visual figcaption{display:block;padding:12px 15px}.scope-visual-card .detail-visual figcaption small{display:block;margin-top:3px}.scope-copy>span{font-size:14px;color:var(--rust)}.scope-copy p{font-size:16px}.partner-visual-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;margin-top:35px}.partner-visual-pair .detail-visual img{aspect-ratio:16/10}.partner-visual-pair .detail-visual:last-child{margin-top:40px}.partner-visual-pair+.three-cards{margin-top:45px}.verification-visual{align-items:center}.verification-visual .detail-visual{margin-top:30px}.verification-visual .detail-visual img{aspect-ratio:16/9}.detail-visual:hover img{transform:scale(1.018)}.detail-visual figcaption{position:relative;z-index:1}.image-split>.detail-visual{border-bottom:2px solid var(--brass)}
@media(max-width:1100px) and (min-width:721px){.visual-scopes{gap:16px}.scope-copy{padding:20px}.detail-visual figcaption{flex-direction:column;gap:3px}.scope-copy h3{font-size:26px}}
@media(max-width:720px){.partner-visual-pair{grid-template-columns:1fr;gap:24px;margin-top:28px}.partner-visual-pair .detail-visual:last-child{margin-top:0}.detail-visual img.editorial-image,.image-split>.detail-visual img,.partner-visual-pair .detail-visual img{aspect-ratio:16/10}.detail-visual figcaption{padding:12px 14px;font-size:14px;flex-wrap:wrap;gap:3px 12px}.visual-service-cards .card-copy,.scope-copy{padding:25px}.visual-scopes{gap:26px}.scope-visual-card .detail-visual figcaption{display:flex;justify-content:space-between;gap:8px}.scope-visual-card .detail-visual figcaption small{margin-top:0}.verification-visual{gap:25px}.verification-visual .detail-visual{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.detail-visual:hover img{transform:none}}

/* A welcoming consultation scene beside the contact enquiry. */
.contact-visual{margin-top:28px;border-bottom:2px solid var(--brass)}.contact-visual img.editorial-image{aspect-ratio:4/3;object-position:50% 42%}.contact-visual figcaption{flex-wrap:wrap;gap:4px 12px}.contact-layout:has(.contact-visual){align-items:start}
@media(max-width:720px){.contact-visual{margin-top:24px}.contact-visual img.editorial-image{aspect-ratio:16/10}}

/* Frame the supplied transparent logo without stretching the artwork. */
.site-footer .footer-logo{display:block;position:relative;width:320px;max-width:100%;aspect-ratio:1264/384;overflow:hidden}.site-footer .footer-logo img{position:absolute;display:block;width:114.556962%;max-width:none;height:auto;left:-7.911392%;top:-89.0625%}
@media(max-width:720px){.site-footer .footer-logo{width:290px}}
