body.admin-bar header{top:32px}.mp-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.mp-form-notice:focus{outline:1px solid var(--brass-light);outline-offset:6px}.mp-enquiry button:disabled{opacity:.65;cursor:wait}.mp-articles{max-width:1040px;min-height:65vh}.mp-articles article{margin-bottom:4rem}.mp-articles img{max-width:100%;height:auto}.mp-article-content{font-size:1.1rem}.mp-article-content h2{font-size:2.5rem}.mp-article-content h3{font-size:1.8rem}.mp-articles h2 a{text-decoration:none}.mp-articles h1{max-width:none}@media(max-width:782px){body.admin-bar header{top:46px}}@media(max-width:600px){body.admin-bar header{top:0}}

/* September design revision. The desktop hero and saved content stay intact. */
section[id]{scroll-margin-top:6rem}
.menu{color:var(--wine);-webkit-text-fill-color:var(--wine);cursor:pointer;min-width:44px;min-height:44px}
.intro{position:relative;gap:7vw}
.intro:after{content:"";position:absolute;left:4vw;bottom:0;width:calc(100% - 8vw);height:1px;background:var(--line)}
.intro .large{color:var(--wine)}
.situations .section-head{max-width:790px}
.situations .grid{border:0;gap:1px;background:var(--line)}
.situations .card{border:0;min-height:270px;padding:2rem 2.1rem 2.3rem;position:relative}
.situations .card:before{content:"";position:absolute;top:2.55rem;right:2.1rem;width:3rem;height:1px;background:var(--brass);opacity:.55}
.situations .card small{display:inline-block;font-weight:500;font-size:.8rem}
.situations .card h3{font-size:clamp(1.7rem,2.15vw,2.35rem);margin:1.15rem 0 .9rem}
.situations .card p{font-size:.98rem;line-height:1.7}
.services .service-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;max-width:none;margin-bottom:3.5rem}
.service-heading h2{margin-bottom:0}
.service-visual{position:relative;aspect-ratio:1.7;overflow:hidden;background:var(--wine)}
.service-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:82% 50%}
.architectural-line{position:absolute;inset:1rem;border:1px solid rgba(239,223,192,.65);pointer-events:none}
.services .service{grid-template-columns:.9fr 1.55fr;gap:7vw;padding:3rem 0}
.services .service h3{font-size:clamp(2rem,2.5vw,2.8rem)}
.services .tag{font-weight:500}
.services .service p:last-child{margin-bottom:0}
#approach{position:relative;overflow:hidden}
#approach:before{content:"";position:absolute;width:32rem;height:43rem;left:-12rem;top:5rem;border:1px solid rgba(205,185,144,.15);border-radius:18rem 18rem 0 0;pointer-events:none}
#approach .container{position:relative}
.about{grid-template-columns:1.15fr .85fr;gap:6vw}
.about .quote{position:relative;background:var(--wine);color:var(--ivory);padding:4rem 2.8rem;font-size:clamp(2rem,2.6vw,3rem);border:0;line-height:1.25;isolation:isolate;overflow:hidden}
.about .quote:before{content:"";position:absolute;inset:1rem;border:1px solid rgba(205,185,144,.5);z-index:-1;pointer-events:none}
.about .quote:after{content:"";position:absolute;right:-5rem;bottom:-6rem;width:17rem;height:24rem;border:1px solid rgba(205,185,144,.2);border-radius:10rem 10rem 0 0;z-index:-1;pointer-events:none}
.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;column-gap:7vw;align-items:start}
.faq .section-head{grid-column:1;grid-row:1 / span 6;margin:0;position:sticky;top:8rem}
.faq details{grid-column:2;padding:1.4rem 0}
.faq summary{font-weight:500}
.contact form{border-top:0;padding:2rem;background:rgba(255,255,255,.035);outline:1px solid rgba(205,185,144,.35)}
.contact input,.contact textarea{background:#f4f1ea;border-color:transparent}
@media(max-width:950px){
 .situations .card{padding:1.8rem;min-height:245px}
 .situations .card:before{right:1.8rem;top:2.35rem}
 .about{gap:4vw}
 .about .quote{padding:3rem 2rem}
 .faq{column-gap:4vw}
}
@media(max-width:700px){
 .hero-visual{opacity:1}
 .hero-visual img{object-position:72% center}
 .hero:before{background:linear-gradient(90deg,rgba(37,27,34,.88),rgba(37,27,34,.58)),linear-gradient(0deg,rgba(37,27,34,.72),transparent 55%)}
 .hero-inner{padding-top:4.5rem}
 .hero-meta{margin-top:3rem}
 .container{padding:3.8rem 6vw}
 .intro:after{left:6vw;width:88%}
 .intro,.about{grid-template-columns:1fr;gap:1.6rem}
 .situations .grid{gap:0;background:transparent;border-top:1px solid var(--line)}
 .situations .card{padding:1.6rem 0 1.8rem 2.6rem;border-bottom:1px solid var(--line);min-height:0;background:transparent}
 .situations .card:before{display:none}
 .situations .card small{position:absolute;left:0;top:1.85rem}
 .situations .card h3{margin:0 0 .65rem;font-size:1.8rem;line-height:1.2}
 .situations .card p{font-size:1rem}
 .services .service-heading{grid-template-columns:1fr;gap:1.6rem;margin-bottom:2rem}
 .service-visual{aspect-ratio:1.65}
 .services .service{grid-template-columns:1fr;gap:1rem;padding:2.1rem 0}
 .services .service h3{font-size:2rem;margin-top:.55rem;margin-bottom:0}
 .services .service p{margin-bottom:1rem}
 .about .quote{padding:2.8rem 2rem;font-size:2.1rem;margin-top:.4rem}
 .faq{display:block}
 .faq .section-head{position:static;margin-bottom:2rem}
 .faq details{padding:1.2rem 0}
 .contact .split{gap:2.5rem}
 .contact form{padding:1.4rem}
}

/* Distinct working-room image and symbols tied to each business situation. */
.service-visual{aspect-ratio:1.35}
.service-visual img{object-position:50% 55%}
.architectural-line{display:none}
.situations .card:before{display:none}
.card-mark{display:flex;align-items:center;justify-content:space-between;color:var(--brass);min-height:3.2rem;margin-bottom:1.5rem}
.situation-symbol{width:56px;height:56px;display:block;flex-shrink:0}
.situations .card h3{margin-top:0}




@media(max-width:700px){
 .situations .grid{border-top:0}
 .situations .card{padding:1.8rem 1.3rem 1.9rem;border-bottom:1px solid var(--line)}
 .card-mark{margin-bottom:1rem;min-height:2.4rem}
 .situations .card small{position:static;font-size:.8rem}
 .situation-symbol{width:44px;height:44px}

 .service-visual{aspect-ratio:1.4}

}

/* Human collaboration is the shared visual for all mandates. */
.services .service-heading{grid-template-columns:.85fr 1.15fr;gap:5vw}
.service-visual{aspect-ratio:2}
.service-visual img{object-position:50% 48%}
.situations .grid{border-top:1px solid var(--brass)}
@media(max-width:700px){.services .service-heading{grid-template-columns:1fr;gap:1.6rem}.service-visual{aspect-ratio:1.7}.situations .grid{border-top:1px solid var(--line)}}

/* Editorial situations: each number belongs to its heading. */
.situations .section-head{max-width:950px;margin-bottom:2rem}
.situations .section-head h2{margin-bottom:0}
.situations .grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4.5vw;background:transparent;border:0}
.situations .card,.situations .card:hover{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding:1.9rem 0 2rem;min-height:0;background:transparent;border:0;border-top:1px solid var(--line)}
.situations .card small{position:static;font-size:.8rem;line-height:1.3;padding-top:.45rem;font-weight:500}
.situations .card h3{font-size:clamp(1.7rem,2vw,2.25rem);margin:0 0 .75rem;line-height:1.2}
.situations .card p{max-width:36rem;margin:0;font-size:1rem;line-height:1.7}
.service-visual{aspect-ratio:auto;align-self:center;background:transparent}
.service-visual img{width:100%;height:auto;object-fit:contain;object-position:center;display:block}
@media(max-width:700px){
 .situations .section-head{margin-bottom:1.7rem}
 .situations .grid{grid-template-columns:1fr;border:0}
 .situations .card,.situations .card:hover{grid-template-columns:1.4rem minmax(0,1fr);gap:.85rem;padding:1.5rem 0 1.65rem}
 .situations .card small{font-size:.7rem;padding-top:.4rem}
 .situations .card h3{font-size:1.75rem;margin-bottom:.6rem}
 .situations .card p{font-size:.98rem}
 .service-visual{aspect-ratio:auto}
}

/* A single, immersive services introduction rather than two isolated blocks. */
.services .service-banner{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(480px,43vw,720px);gap:0;margin:0;max-width:none;background:var(--wine);overflow:hidden;isolation:isolate}
.services .service-banner>.service-visual{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.services .service-banner .service-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.services .service-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(27,23,27,.94),rgba(27,23,27,.5) 25%,rgba(27,23,27,.05) 65%);pointer-events:none}
.services .service-banner>div:first-child{width:100%;max-width:1440px;margin:0 auto;padding:3rem 4vw;position:relative}
.services .service-banner h2{color:var(--ivory);max-width:850px;text-shadow:0 1px 14px rgba(0,0,0,.18)}
.services .service-banner .eyebrow{color:var(--brass-light)}
.services .service-body{padding-top:3.5rem;padding-bottom:5rem}
.mp-reveal{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.mp-reveal.is-visible{opacity:1;transform:none}
@media(max-width:700px){
 .services .service-banner{display:flex;min-height:0;padding:0}
 .services .service-banner>.service-visual{position:relative;inset:auto;order:-1;height:auto;z-index:0;aspect-ratio:auto}
 .services .service-banner .service-visual img{height:auto;object-fit:contain;object-position:center}
 .services .service-banner:after{display:none}
 .services .service-banner>div:first-child{padding:2rem 6vw 2.4rem}
 .services .service-banner h2{text-shadow:none;font-size:clamp(2.5rem,8vw,3.3rem)}
 .services .service-body{padding-top:1.5rem;padding-bottom:3.8rem}
}
@media(prefers-reduced-motion:reduce){.mp-reveal{opacity:1;transform:none;transition:none}}

/* A quieter, more tactile final invitation and a form that reads as one piece. */
.contact{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 10% 30%,#513340 0%,transparent 55%),linear-gradient(125deg,#351e29,#251b23)}
.contact:before{content:"";position:absolute;z-index:-1;left:-12rem;bottom:-19rem;width:37rem;height:52rem;border:1px solid rgba(205,185,144,.2);border-radius:22rem 22rem 0 0;transform:rotate(-17deg);pointer-events:none}
.contact:after{content:"";position:absolute;z-index:-1;left:-10rem;bottom:-18rem;width:38rem;height:53rem;border:1px solid rgba(205,185,144,.1);border-radius:22rem 22rem 0 0;transform:rotate(-17deg);pointer-events:none}
.contact .split{align-items:center;gap:7vw;position:relative}
.contact .split>div{padding-right:1rem}
.contact h2{line-height:1.12}
.contact .eyebrow{color:var(--brass-light)}
.contact .contact-direct{gap:.6rem;margin-top:2.4rem}
.contact .contact-direct a:first-child{font-size:1.2rem;letter-spacing:.025em}
.contact .contact-direct a{padding-bottom:.15rem;border-bottom-color:rgba(205,185,144,.35)}
.contact form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 1.6rem;padding:2.5rem;background:linear-gradient(135deg,#faf8f3,#f0ebe1);color:var(--ink);outline:0;border:1px solid var(--brass-light);box-shadow:0 15px 55px rgba(16,10,15,.16)}
.contact form>*{grid-column:1/-1}
.contact form>.field-half{grid-column:auto}
.contact .field{margin:0;min-width:0}
.contact label{color:#655448;font-size:.76rem;letter-spacing:.055em;margin-bottom:.5rem}
.contact input,.contact textarea{background:transparent;color:var(--ink);border:0;border-bottom:1px solid #bdb1a0;padding:.55rem 0;min-height:44px;box-shadow:none;transition:border-color .2s}
.contact input:focus,.contact textarea:focus{border-bottom-color:var(--wine)}
.contact textarea{min-height:115px}
.contact form .button{justify-self:start;margin-top:.3rem;border-color:var(--wine);background:var(--wine);color:var(--ivory);padding:1rem 1.5rem}
.contact form .button:hover{background:#4b2e3d}
.contact form .note{color:var(--muted);margin-bottom:0}
.contact form .note a{color:var(--wine)}
.mp-reveal{transform:translateY(18px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.65,.3,1)}
.mp-reveal.is-visible{transform:none}
@media(max-width:700px){
 .contact .split{gap:2.4rem}
 .contact .split>div{padding-right:0}
 .contact .contact-direct{margin-top:1.8rem}
 .contact form{padding:1.7rem;grid-template-columns:1fr;gap:1.25rem}
 .contact form>.field-half{grid-column:1/-1}
 .contact:before{left:-22rem;bottom:-12rem}
 .contact:after{left:-20rem;bottom:-11rem}
 .mp-reveal{transform:translateY(12px);transition-duration:.9s}
 .mp-reveal.is-visible{transform:none}
}
@media(prefers-reduced-motion:reduce){.mp-reveal{opacity:1;transform:none;transition:none}}

/* Mobile-only refinement of the gold headline phrase. */
@media(max-width:700px){
 .hero h1 span{font-family:inherit;font-style:normal;font-weight:400;font-size:.88em;line-height:1.2;letter-spacing:-.018em;margin-top:.14em}
}
