/*
Theme Name: Fenix Contemporary
Author: Fenix Architects
Description: A contemporary, responsive portfolio for Fenix Architects.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: fenix-contemporary
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#ffffff;--ink:#001b35;--muted:#526476;--line:#d7dee5;--accent:#a6502b;--dark:#001b35}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{width:100%;display:block;object-fit:cover}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a6502b;outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:8px;z-index:20;background:white;padding:12px}.wrap{width:min(1440px,90%);margin:auto}.header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font:800 31px/.85 Manrope,sans-serif;letter-spacing:-2px;display:flex;align-items:center;gap:12px}.brand small{display:block;font:500 9px/1.6 'DM Sans',sans-serif;letter-spacing:3px;margin-top:9px}.brand-mark{font-size:42px;font-weight:400;transform:rotate(-35deg);display:inline-block}.nav{display:flex;align-items:center;gap:32px;font-size:13px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 25px;border:1px solid var(--ink);border-radius:60px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.pill:hover{background:var(--accent);transform:translateY(-2px)}.pill.dark{background:var(--ink);color:white}.pill.dark:hover{background:#a6502b}.arrow{font-size:22px;line-height:1}.menu{display:none}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:6px;height:6px;background:#a6502b;border-radius:50%}.hero-top{padding:62px 0 38px;display:grid;grid-template-columns:1.6fr 1fr;gap:60px;align-items:end}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500}h1{font-size:clamp(48px,5.7vw,88px);line-height:1.06;letter-spacing:-5px;margin-top:22px}h1 em{font-family:Georgia,serif;font-weight:400}h1 .subtle{color:#a6502b}.hero-copy{max-width:355px;justify-self:end;padding-bottom:5px}.hero-copy p{font-size:14px;color:var(--muted);margin-bottom:24px}.hero-image{position:relative;height:clamp(350px,43vw,640px);overflow:hidden;border-radius:3px;background:#e6ebf0}.hero-image img{height:100%;object-position:center 57%}.image-label{position:absolute;bottom:24px;left:26px;padding:11px 17px;border-radius:30px;background:rgba(255,255,255,.94);font-size:11px}.image-label span{color:var(--muted);margin-left:12px}.hero-index{position:absolute;right:24px;bottom:24px;color:white;font-size:12px;background:#001b35b3;padding:9px 14px;border-radius:30px}.credentials{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.credentials b{color:var(--ink);font-weight:500}.section{padding:100px 0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:90px}.intro h2{font-size:clamp(28px,3.2vw,47px);line-height:1.25;letter-spacing:-1.8px}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:30px;color:var(--muted);font-size:14px}.text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid var(--ink);padding:10px 0;font-size:13px;color:var(--ink);margin-top:16px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px;gap:25px}.section-head h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-2px;margin-top:17px}.projects{padding-top:0}.project-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px}.project:nth-child(2){padding-top:95px}.project img{aspect-ratio:1.25;transition:transform .7s}.project:nth-child(2) img{aspect-ratio:1}.project-picture{overflow:hidden;background:#e6ebf0;border-radius:3px}.project:hover img{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:19px}.project h3{font-size:20px;letter-spacing:-.5px}.project p{font-size:11px;color:var(--muted);margin-top:5px}.circle{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.project-third{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.project-third img{aspect-ratio:1.9}.project-third p{color:var(--muted);font-size:14px;max-width:370px;margin:16px 0}.services{background:#f3f5f7}.services-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.services h2{font-size:clamp(38px,4vw,59px);letter-spacing:-2px;line-height:1.1;margin:22px 0}.services-intro>p{font-size:14px;color:var(--muted);max-width:300px}.service{padding:24px 0;border-top:1px solid #ccd6df;display:grid;grid-template-columns:30px 1fr auto;gap:16px}.service:last-child{border-bottom:1px solid #ccd6df}.num{font-size:10px;color:var(--muted);padding-top:7px}.service h3{font-size:19px;letter-spacing:-.5px}.service p{font-size:12px;color:var(--muted);max-width:350px;margin-top:9px}.price{font-size:16px;white-space:nowrap}.price small{font-size:10px;color:var(--muted)}.price-note{font-size:11px;color:var(--muted);margin-top:18px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:20px}.step>span{font:400 35px Manrope;color:#a6502b}.step h3{font-size:18px;margin:24px 0 10px}.step p{font-size:13px;color:var(--muted)}.contact{background:var(--dark);color:var(--paper);padding:85px 0}.contact .eyebrow{color:#a6502b}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:end}.contact h2{font-size:clamp(44px,5.2vw,76px);letter-spacing:-3px;line-height:1.1;margin:25px 0 32px}.contact .pill{background:var(--accent);color:var(--ink);border:0}.contact-copy p{color:#d0dce7;font-size:14px;margin-bottom:22px}.contact-copy>a{display:block;font-size:clamp(15px,1.7vw,23px);margin:8px 0}.contact-copy small{display:block;color:#d0dce7;font-size:11px;margin-top:24px}.footer{padding:42px 0 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:30px}.footer-links{display:flex;gap:25px;font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.project details{margin-top:12px;font-size:12px;color:var(--muted)}summary{cursor:pointer}details p{padding:10px 0}@media(min-width:1700px){h1{font-size:92px}}@media(max-width:900px){.nav{gap:18px}.hero-top{gap:30px;grid-template-columns:1.4fr 1fr}h1{letter-spacing:-3px}.intro{gap:40px;grid-template-columns:1fr 2.5fr}.services-layout{gap:50px}.project-grid{gap:24px}.credentials{flex-wrap:wrap}.contact-grid{gap:35px}}@media(max-width:650px){.wrap{width:88%}.header{height:85px}.brand{font-size:26px}.brand-mark{font-size:34px}.menu{display:block;border:1px solid var(--line);background:transparent;border-radius:30px;padding:8px 17px;font-size:12px}.nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:28px 6%;z-index:10;border-bottom:1px solid var(--line);align-items:stretch}.nav.open{display:flex;flex-direction:column}.hero-top{padding-top:40px;display:block}h1{font-size:52px;letter-spacing:-3px}.hero-copy{margin-top:25px;max-width:100%}.hero-image{height:390px}.hero-image img{object-position:52% center}.image-label{left:12px;bottom:15px;font-size:9px;padding:9px 12px}.image-label span{display:block;margin:0}.hero-index{right:12px;bottom:15px}.credentials{font-size:10px;gap:9px;padding:18px 0}.section{padding:65px 0}.intro{display:block}.intro h2{margin-top:24px;font-size:31px;letter-spacing:-1px}.intro-copy{grid-template-columns:1fr;gap:18px;margin-top:24px}.projects{padding-top:0}.section-head{align-items:start}.section-head h2{font-size:39px}.section-head .text-link{font-size:11px;gap:10px}.project-grid{grid-template-columns:1fr;gap:35px}.project:nth-child(2){padding-top:0}.project:nth-child(2) img{aspect-ratio:1.25}.project-third{grid-template-columns:1fr;gap:20px}.services-layout{display:block}.service-list{margin-top:35px}.service{gap:10px;grid-template-columns:20px 1fr auto}.service h3{font-size:17px}.price{font-size:14px}.steps{grid-template-columns:1fr 1fr;gap:30px 24px}.step h3{margin-top:16px}.contact{padding:65px 0}.contact-grid{display:block}.contact h2{font-size:49px;letter-spacing:-2px}.contact-copy{margin-top:40px}.footer-top{align-items:start}.footer-links{flex-wrap:wrap;gap:12px 20px;max-width:150px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Fenix brand palette */
.brand{color:#a6502b}h1 em{color:#a6502b}.pill.dark{background:#a6502b;border-color:#a6502b}.pill.dark:hover{background:#001b35;border-color:#001b35}.contact h2{color:#a6502b}.contact .text-link{color:#ffffff;border-color:#8c9dae}



/* Consistent original Fenix orange across all accents. */
.contact .pill{color:#ffffff}.pill:hover{color:#ffffff}.pill.dark:hover{color:#ffffff}


.brand-logo{width:110px;height:auto;object-fit:contain}.header .brand{flex-shrink:0}@media(max-width:650px){.brand-logo{width:96px}}
/* Selected work: consistent portfolio grid and caption hierarchy. */
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}
.work-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-2px;margin-top:17px}
.work-heading>p{font-size:13px;color:var(--muted);line-height:1.7;padding-bottom:3px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.work-card{min-width:0}
.work-image{aspect-ratio:4/5;overflow:hidden;background:#e6ebf0;border-radius:3px}
.work-image img{width:100%;height:100%;object-fit:cover}
.work-card:first-child img{object-position:50% 65%}
.work-caption{padding:22px 0 23px;border-bottom:1px solid var(--line)}
.work-category{color:#a6502b;font-size:10px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;margin-bottom:9px}
.work-caption h3{font-size:23px;line-height:1.3;letter-spacing:-.65px;margin:0 0 7px}
.work-description{color:var(--muted);font-size:12px;line-height:1.6}
.work-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px}
.work-footer p{font-size:13px;color:var(--muted)}
.work-footer .text-link{margin-top:0;white-space:nowrap}
@media(max-width:900px){.work-grid{gap:20px}.work-caption h3{font-size:21px}.work-category{font-size:9px;letter-spacing:.5px}}
@media(max-width:700px){.work-heading{display:block;margin-bottom:28px}.work-heading>p{margin-top:18px}.work-heading>p br{display:none}.work-grid{grid-template-columns:1fr;gap:32px}.work-image{aspect-ratio:4/5}.work-caption{padding:19px 0 22px}.work-caption h3{font-size:24px}.work-category{font-size:10px;letter-spacing:.9px}.work-footer{display:block;margin-top:28px}.work-footer .text-link{margin-top:12px}}


/* Compact Fenix slogan, aligned toward the top of the hero. */
#hero-title{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:clamp(26px,2.8vw,40px);font-weight:500;font-style:normal;line-height:1.28;letter-spacing:-.015em;color:#a6502b;margin:0;padding:0}
#hero-title span{display:block}
.hero-top{align-items:start;padding-top:34px;padding-bottom:32px}
@media(max-width:650px){#hero-title{font-size:28px;line-height:1.3;letter-spacing:-.01em}.hero-top{padding-top:28px;padding-bottom:28px}}
/* Project image sliders. */
.project-slider{position:relative;touch-action:pan-y}
.project-slider [hidden]{display:none!important}
.project-slider img{user-select:none;-webkit-user-drag:none}
.slider-controls{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.slider-prev,.slider-next{width:36px;height:36px;border:0;border-radius:50%;background:#ffffffed;color:var(--ink);cursor:pointer;font-size:18px;display:grid;place-items:center;box-shadow:0 1px 6px #001b3520}
.slider-prev:hover,.slider-next:hover{background:#a6502b;color:#fff}
.slider-count{background:#001b35d9;color:#fff;border-radius:20px;padding:4px 12px;font-size:11px;letter-spacing:1px}
.slider-dots{position:absolute;top:12px;right:12px;display:flex;align-items:center;background:#001b35d9;border-radius:20px;padding:2px 5px}
.slider-dot{border:0;background:transparent;width:22px;height:28px;padding:0;cursor:pointer;display:grid;place-items:center}
.slider-dot:before{content:'';width:5px;height:5px;border-radius:50%;background:#ffffff80}
.slider-dot[aria-pressed="true"]:before{background:#fff;width:7px;height:7px}
.project-slider button:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #001b35}
@media(pointer:coarse){.slider-prev,.slider-next{width:44px;height:44px}.slider-dot{width:26px;height:40px}}

.slider-playback{position:absolute;top:12px;left:12px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:#001b35d9;color:#fff;cursor:pointer;font-size:13px}
.slider-playback:hover{background:#a6502b}
@media(pointer:coarse){.slider-playback{width:44px;height:44px}.slider-dots{top:17px}}


/* Layered images dissolve without shifting the portrait frame. */
.project-slider img{position:absolute;inset:0;opacity:0;transition:opacity 850ms ease-in-out;pointer-events:none}
.project-slider img:first-child{opacity:1}
.project-slider img[aria-hidden="true"]{opacity:0}
.project-slider img.is-active{opacity:1}
.slider-controls,.slider-dots,.slider-playback{z-index:2}
.slider-prev,.slider-next,.slider-prev:hover,.slider-next:hover{background:transparent;color:#fff;box-shadow:none;text-shadow:0 1px 5px #001b35;font-size:28px}
.slider-prev:hover,.slider-next:hover{color:#a6502b}
@media(prefers-reduced-motion:reduce){.project-slider img{transition:none}}

/* Minimal black chevrons without backgrounds or shadows. */
.slider-prev,.slider-next,.slider-prev:hover,.slider-next:hover{background:transparent;color:#000;box-shadow:none;text-shadow:none;font-size:0;border-radius:0}
.slider-prev:before,.slider-next:before{content:'';width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.slider-prev:before{transform:rotate(-135deg)}

/* Place project navigation below the image, above its caption. */
.project-slider{overflow:visible}
.project-slider img{border-radius:3px}
.project-slider .slider-controls{top:100%;bottom:auto;left:0;right:0;margin-top:7px}
.work-card .work-caption{padding-top:62px}
.project-slider button:focus-visible{outline:2px solid #001b35;outline-offset:2px;box-shadow:none}
@media(pointer:coarse){.work-card .work-caption{padding-top:70px}}

/* Solid white navigation triangles inside the image. */
.project-slider .slider-controls{top:auto;bottom:6px;left:10px;right:10px;margin-top:0}
.slider-prev,.slider-next,.slider-prev:hover,.slider-next:hover{color:#fff;background:transparent}
.slider-prev:before,.slider-next:before{width:11px;height:15px;border:0;background:currentColor;transform:none;clip-path:polygon(0 0,100% 50%,0 100%)}
.slider-prev:before{transform:none;clip-path:polygon(100% 0,0 50%,100% 100%)}
.work-card .work-caption{padding-top:22px}
.project-slider button:focus-visible{outline:2px solid #fff;box-shadow:0 0 0 4px #001b35}
@media(max-width:700px){.work-card .work-caption{padding-top:19px}}


/* Slider arrows: 50% transparent. */
.slider-prev:before,.slider-next:before{opacity:.5}





/* Content pages share the existing Fenix palette and typography. */
.header .nav{gap:23px;font-size:12px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:11px;color:var(--muted);padding-top:28px}
.breadcrumbs a{border-bottom:1px solid var(--line)}
.page-intro{max-width:900px;padding:55px 0 52px;border-bottom:1px solid var(--line);margin-bottom:45px}
.page-intro h1{font-size:clamp(34px,4.3vw,64px);line-height:1.13;letter-spacing:-.035em;margin:18px 0 24px;color:var(--ink)}
.page-lead{font-size:19px;line-height:1.6;max-width:700px;color:var(--muted)}
.interior-page{padding-bottom:80px}
.copy-section{max-width:780px;margin:44px 0}
.copy-section h2{font-size:29px;line-height:1.25;letter-spacing:-.8px;margin-bottom:20px}
.copy-section p{font-size:15px;line-height:1.85;color:var(--muted);margin:14px 0}
.copy-section .text-link+.text-link{margin-left:25px}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.content-card{border-top:1px solid var(--line);padding:25px 0 18px}
.content-card h3{font-size:23px;line-height:1.3;letter-spacing:-.5px;margin-bottom:16px}
.content-card h3 a:hover,.work-caption h3 a:hover{color:#a6502b}
.content-card>p{font-size:14px;color:var(--muted);line-height:1.8}
.content-card .text-link{font-size:12px;gap:18px}
.page-image{margin:34px 0;max-width:100%}
.page-image img{max-height:700px;object-fit:contain;background:#f3f5f7;border-radius:3px}
.page-image figcaption{font-size:11px;color:var(--muted);margin-top:10px}
.project-detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.project-detail-gallery .page-image{margin:0}
.project-detail-gallery img{aspect-ratio:4/5;object-fit:cover}
.page-copy>.projects{width:100%;padding:0}
.fee-list{margin:26px 0}
.fee-list>div{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:17px 0;font-size:14px}
.fee-list dd{white-space:nowrap;margin:0;color:#a6502b}
.faq-list{max-width:850px}
.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}
.faq-list summary{font-size:18px;font-weight:500}
.faq-list p{max-width:740px;color:var(--muted);font-size:14px;line-height:1.85;margin-top:14px}
.contact-methods{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:25px 0;font-size:21px}
.homeowner-help .work-heading{margin-bottom:30px}
@media(max-width:1000px) and (min-width:651px){.header .nav{gap:17px;font-size:11px}.header .pill{padding:12px 18px;gap:20px}.header .brand-logo{width:100px}}
@media(max-width:750px){.content-grid{grid-template-columns:1fr}.page-intro{padding:38px 0;margin-bottom:30px}.page-lead{font-size:17px}.copy-section h2{font-size:25px}.project-detail-gallery{gap:16px}.contact-methods{font-size:18px}}
@media(max-width:650px){.header .nav{font-size:14px;gap:18px}.project-detail-gallery{grid-template-columns:1fr}.interior-page{padding-bottom:50px}.copy-section .text-link+.text-link{margin-left:0;display:table}}

/* Four projects in a balanced two-column portfolio. */
.work-grid-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}@media(max-width:700px){.work-grid-four{grid-template-columns:1fr;gap:32px}}


/* Give the portrait hero room to show the complete project image. */
.hero-image{height:clamp(560px,78vw,960px);background:#f3f5f7}
.hero-image img{height:100%;object-fit:contain;object-position:center}
.hero-image .image-label{background:rgba(255,255,255,.5)}
@media(max-width:650px){.hero-image{height:clamp(460px,130vw,700px)}}

/* Landscape visualisation fills the hero without side bands. */
.hero-image{height:auto;aspect-ratio:3/2}.hero-image img{width:100%;height:100%;object-fit:contain;object-position:center}


/* Unnumbered service rows and credentials below the masthead. */
.service{grid-template-columns:1fr auto}.credentials.wrap{padding-top:16px;padding-bottom:16px}@media(max-width:650px){.service{grid-template-columns:1fr auto}}


/* Slightly smaller project imagery, with captions kept aligned. */
.work-grid-four{width:calc(75.2% + 6px);column-gap:30px;margin-inline:auto}


/* Remove small section labels while retaining the contact invitation. */
.eyebrow{display:none}
.contact .eyebrow{display:flex}
.intro{display:block}
.intro>div{max-width:1000px}
.work-heading h2,.section-head h2{margin-top:0}
.page-intro h1{margin-top:0}


@media(max-width:700px){.work-grid-four{width:75.2%}}


/* Professional marks sit beside the original Fenix wordmark. */
.header{position:relative}
.header-identity{display:flex;align-items:center;gap:20px;flex-shrink:0}
.header-accreditations{display:flex;align-items:center;gap:13px;padding-left:18px;border-left:1px solid var(--line)}
.header-accreditations img{width:auto;height:33px;object-fit:contain;filter:brightness(0);opacity:.8}
.header-accreditations .header-arb{width:30px}
.header-accreditations .header-riba{width:61px}
@media(max-width:850px){.header .menu{display:block;border:1px solid var(--ink);background:transparent;border-radius:30px;padding:8px 17px;font-size:12px}.header .nav{display:none;position:absolute;top:104px;left:0;right:0;background:var(--paper);padding:25px;z-index:10;border-bottom:1px solid var(--line)}.header .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}.header .nav .pill{align-self:flex-start}}
@media(max-width:650px){.header-identity{gap:14px}.header-accreditations{gap:10px;padding-left:13px}.header-accreditations img{height:28px}.header-accreditations .header-arb{width:25px}.header-accreditations .header-riba{width:52px}.header .nav{top:85px}}

/* Larger accreditation marks. */
.header-accreditations img{height:45px}
.header-accreditations .header-arb{width:41px}
.header-accreditations .header-riba{width:83px}
@media(max-width:650px){.header-accreditations img{height:37px}.header-accreditations .header-arb{width:34px}.header-accreditations .header-riba{width:69px}}
@media(max-width:380px){.header-identity{gap:10px}.header-accreditations{gap:8px;padding-left:10px}.header .brand-logo{width:85px}}

/* Simplified strapline beneath the header. */
.credentials{border-bottom:0}


.credentials b{color:#a6502b}


/* Large practice slogan replaces the small header strapline. */
.credentials.wrap{padding-top:27px;padding-bottom:0}
.header-slogan{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:clamp(26px,2.8vw,40px);font-weight:500;line-height:1.28;letter-spacing:-.015em;color:#a6502b;margin:0}
.header-slogan span{display:block}
.hero-top{display:block;padding-top:24px;padding-bottom:32px}
.hero-copy{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:0}
.hero-copy p{max-width:650px;margin-bottom:0}
.hero-copy .pill{flex-shrink:0}
@media(max-width:650px){.header-slogan{font-size:28px}.hero-copy{display:block}.hero-copy p{margin-bottom:22px}.hero-top{padding-top:22px}}
/* SEO audit: useful navigation, readable content and accessible controls. */
.hero-actions{display:flex;gap:28px;flex-wrap:wrap;margin-top:16px}.practice-proof{padding:22px 0;border-bottom:1px solid var(--line)}.practice-proof ul{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-left:20px;font-size:14px}.content-card h2{font-size:22px;line-height:1.3;letter-spacing:-.4px}.copy-section ul,.copy-section ol{padding-left:24px;color:var(--muted)}.copy-section li{margin:10px 0}.copy-section .text-link{margin-right:24px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}caption{text-align:left;font-weight:600;padding-bottom:12px}th,td{text-align:left;vertical-align:top;padding:16px;border-bottom:1px solid var(--line)}th{background:#f3f5f7}.footer-top>div{font-size:13px}.footer-links{flex-wrap:wrap;max-width:500px}.footer a:hover{text-decoration:underline}.slider-controls .slider-pause{width:auto!important;min-width:120px!important;border-radius:24px!important;font-size:12px!important;padding:8px 12px!important}.slider-controls{flex-wrap:wrap}.enquiry-builder{display:grid;gap:10px;max-width:680px}.enquiry-builder label{font-weight:600;margin-top:12px}.enquiry-builder input,.enquiry-builder select,.enquiry-builder textarea{width:100%;font:inherit;color:var(--ink);border:1px solid #526476;border-radius:4px;background:white;padding:12px}.enquiry-builder .pill{justify-self:start;margin-top:15px;cursor:pointer}.enquiry-builder :focus-visible{outline:3px solid var(--accent);outline-offset:4px}.contact .eyebrow{color:#e6b29a}.contact h2{color:#e6b29a}
@media(max-width:650px){.footer-top{display:block}.footer-links{margin-top:22px;max-width:none}.practice-proof ul{display:block}.hero-actions{gap:12px 24px}.slider-controls .slider-pause{min-width:100px!important;font-size:11px!important}.page-intro h1{font-size:clamp(32px,8vw,48px);letter-spacing:-1.5px;overflow-wrap:break-word}.work-grid-four{width:100%}}
/* Symbol-only playback matches the existing translucent triangle controls. */
.slider-controls .slider-pause{width:36px!important;min-width:36px!important;height:36px;padding:0!important;border:0;border-radius:0!important;background:transparent;color:#fff;box-shadow:none;cursor:pointer;font-size:0!important;display:grid;place-items:center}.slider-pause:before{content:'';display:block;width:11px;height:15px;opacity:.5;background:linear-gradient(to right,currentColor 0 36%,transparent 36% 64%,currentColor 64% 100%)}.slider-pause.is-paused:before{background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}.slider-pause:hover{color:#fff;background:transparent}.arrow{display:none!important}@media(pointer:coarse){.slider-controls .slider-pause{width:44px!important;min-width:44px!important;height:44px}}
/* Remembered light / dark colour mode, available outside the mobile menu. */
:root{color-scheme:light}.header-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.theme-toggle{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent)}.theme-icon:before{content:'☾';font-family:Arial,sans-serif;font-size:26px;line-height:1}.header .nav{margin-left:auto;gap:22px}.header{gap:20px}
:root[data-theme="dark"]{color-scheme:dark;--paper:#111923;--ink:#edf3fa;--muted:#b6c4d3;--line:#354556;--accent:#dc956f;--dark:#09111b}
[data-theme="dark"] .theme-icon:before{content:'☀';font-size:24px}[data-theme="dark"] .header-slogan,[data-theme="dark"] .credentials b,[data-theme="dark"] .brand{color:#e6a17d}[data-theme="dark"] .header-accreditations img{filter:brightness(0) invert(1);opacity:.9}[data-theme="dark"] .services,[data-theme="dark"] .content-card,[data-theme="dark"] th{background:#1a2633}[data-theme="dark"] .hero-image,[data-theme="dark"] .work-image{background:#1a2633}[data-theme="dark"] .pill.dark{background:#a6502b;color:#fff;border-color:#a6502b}[data-theme="dark"] .image-label{background:rgba(17,25,35,.9);color:#edf3fa}[data-theme="dark"] .enquiry-builder input,[data-theme="dark"] .enquiry-builder select,[data-theme="dark"] .enquiry-builder textarea{background:#1a2633;color:#edf3fa;border-color:#64788c}[data-theme="dark"] .skip:focus{background:#111923}[data-theme="dark"] .copy-section,[data-theme="dark"] .content-card,[data-theme="dark"] .fee-list>div,[data-theme="dark"] .work-caption{border-color:var(--line)}[data-theme="dark"] .work-category{color:#e6a17d}
@media(max-width:1050px){.header .menu{display:block;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:30px;padding:8px 17px;font-size:12px}.header .nav{display:none;position:absolute;top:104px;left:0;right:0;margin:0;background:var(--paper);padding:25px;z-index:10;border-bottom:1px solid var(--line)}.header .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}.header .nav .pill{align-self:flex-start}}
@media(max-width:650px){.header{gap:10px}.header-controls{gap:8px}.theme-toggle{width:38px;height:38px}.header .menu{padding:8px 12px}.header .nav{top:85px}}
@media(max-width:400px){.header-identity{gap:8px}.header .brand-logo{width:80px}.header-accreditations{padding-left:8px;gap:6px}.header-accreditations .header-arb{width:24px;height:auto}.header-accreditations .header-riba{width:47px;height:auto}.header-controls{gap:6px}.theme-toggle{width:34px;height:34px}.header .menu{padding:7px 10px}}
/* Founder portrait retains the supplied photograph's full proportions. */
.page-copy:has(.founder-portrait){display:flow-root}.founder-portrait{float:right;width:min(38%,330px);margin:0 0 32px 40px}.founder-portrait img{display:block;width:100%;height:auto;border-radius:4px}.founder-portrait figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px}@media(max-width:700px){.founder-portrait{float:none;width:min(100%,340px);margin:0 auto 32px}}
/* Portrait proportions only inside individual project pages. */
main.project-detail-page .page-copy .page-image img{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:center}
/* Reduce individual project-page photographs by 40%, retaining 4:5. */
main.project-detail-page .page-copy .page-image img{width:60%;margin-inline:auto}

/* Homepage client experiences: samples until approved reviews are supplied. */
.testimonials{background:#f5f6f8;color:var(--ink)}.testimonial-heading{display:flex;justify-content:space-between;align-items:end;gap:32px}.testimonial-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-2px;margin-top:17px}.testimonial-heading>p{font-size:13px;color:var(--muted);max-width:360px}.testimonial-draft{margin:22px 0 30px;font-size:12px;color:var(--muted)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.testimonial-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:4px;padding:30px;min-width:0}.testimonial-quote{font:72px/.85 Georgia,serif;color:var(--accent);height:60px}.testimonial-category{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:8px 0 14px}.testimonial-card h3{font-size:21px;line-height:1.35;letter-spacing:-.5px}.testimonial-card blockquote{margin:18px 0 28px;font-size:14px;line-height:1.8;color:var(--muted);flex:1}.testimonial-author{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--line)}.testimonial-avatar{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#f5f6f8;color:#a6502b;font-size:12px;font-weight:600}.testimonial-author p{font-size:12px;font-weight:600}.testimonial-author small{font-size:11px;color:var(--muted)}.testimonial-sample{font-size:10px;color:var(--muted);margin-top:16px}.testimonial-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid var(--line);margin-top:36px;padding-top:30px}.testimonial-cta h3{font-size:26px;letter-spacing:-.6px}.testimonial-cta p{font-size:13px;color:var(--muted);margin-top:8px}.testimonial-cta .pill{flex-shrink:0}[data-theme="dark"] .testimonials{background:#1a2633}[data-theme="dark"] .testimonial-avatar{background:#1a2633;color:var(--accent)}@media(max-width:1000px){.testimonial-grid{gap:16px}.testimonial-card{padding:24px}}@media(max-width:750px){.testimonial-heading,.testimonial-cta{display:block}.testimonial-heading>p{margin-top:18px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card{padding:28px}.testimonial-cta .pill{margin-top:22px}.testimonial-heading h2{letter-spacing:-1px}}

/* Instagram portfolio preview */
.instagram{border-top:1px solid var(--line)}.instagram-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}.instagram-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-2px;margin-bottom:20px}.instagram-heading p:not(.eyebrow){color:var(--muted);max-width:520px}.instagram-follow{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.instagram-tile{position:relative;display:block;overflow:hidden;aspect-ratio:1;background:var(--line);border-radius:3px}.instagram-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.instagram-tile-label{position:absolute;bottom:0;left:0;right:0;padding:28px 14px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:12px;opacity:0;transition:opacity .2s ease}.instagram-tile:hover img{transform:scale(1.04)}.instagram-tile:hover .instagram-tile-label,.instagram-tile:focus-visible .instagram-tile-label{opacity:1}.instagram a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.instagram-note{font-size:12px;color:var(--muted);margin-top:16px}@media(max-width:900px){.instagram-heading{align-items:flex-start;flex-direction:column;gap:20px}}@media(max-width:650px){.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.instagram-heading h2{font-size:36px;letter-spacing:-1px}.instagram-tile-label{opacity:1;font-size:11px}.instagram-follow{font-size:13px}}@media(prefers-reduced-motion:reduce){.instagram-tile:hover img{transform:none}}

/* Taller Instagram portrait frames. */
.instagram-tile{aspect-ratio:4/5}
