/* WordPress-specific integration; approved prototype design remains in amion.css. */
/* Avoid a scroll-container transition during carousel enhancement; keep the no-JS scroller. */
html.js .home-carousel .carousel-items{overflow-x:clip}
:root{--admin-offset:0px}.admin-bar{--admin-offset:32px}.admin-bar .header{top:var(--admin-offset)}
.admin-bar .post-media{top:calc(var(--admin-offset) + var(--amion-header) + 28px)}
.primary-nav .nav-dropdown .nav-group{display:block}.primary-nav .nav-dropdown .nav-dropdown{left:100%;top:0}.footer nav li{display:inline;list-style:none}
.standard-page .page-copy{max-width:900px;margin:auto}.page-copy>h2{margin-top:1.6em}.page-copy .values-list{margin-block:30px}.page-copy .values-list h3{color:#fff}
.page-copy table,.post-body table{width:100%;border-collapse:collapse}.page-copy th,.page-copy td,.post-body th,.post-body td{padding:12px;border:1px solid #ddd;text-align:left}.wp-block-table{overflow:auto}
.post-body img{max-width:100%;height:auto}.post-body .alignleft{float:left;margin:0 24px 15px 0}.post-body .alignright{float:right;margin:0 0 15px 24px}
.post-media img,.update-image img{object-position:var(--image-position,center)}.post-image-credit{font-size:11px;margin-top:8px;color:#555}.post-body:after{content:"";display:block;clear:both}
.profile-page{max-width:1180px;margin:0 auto;padding:55px 40px}.profile-page .profile-dialog-layout{height:auto;overflow:visible}.profile-page .profile-detail{overflow:visible;max-height:none}.profile-page .profile-photo{width:100%;aspect-ratio:1;object-fit:cover}.profile-directory-link{margin-top:30px}.profile-without-aside{grid-template-columns:1fr;max-width:800px;margin:auto}.profile-dialog .profile-load{padding:25px}.person-open{display:block}.person:not(:has(.portrait-link)){min-height:160px;display:flex;flex-direction:column;justify-content:center}.profile-biography p:empty{display:none}
.jobs-list{max-width:900px;margin:30px auto;display:grid;gap:24px}.job-card{padding:30px;background:#ffffffed;border-radius:10px}.job-card .button{margin-top:20px}
.service-home-card{display:flex;flex-direction:column;align-items:center;min-height:390px;padding:18px 20px;height:100%;border:1px solid transparent;border-radius:24px}.service-home-card .service-symbol img{max-height:120px;width:auto}.service-controls svg{fill:none;stroke:currentColor;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.hero-clients a{display:flex;align-items:center;justify-content:center}.client-group img{user-select:none}.home-about{background-size:cover;background-position:center}.home-about .about-home:not(:has(.home-quote)){display:block;max-width:800px;margin:auto}
.updates-grid .update-image{aspect-ratio:1.6;margin:0 -22px 22px;overflow:hidden;background:#fff}.updates-grid .update-image img{width:100%;height:100%;margin:0;object-fit:cover;aspect-ratio:auto}.updates-grid [data-image-mode=fit] img{object-fit:contain}.posts-pagination{display:flex;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap}.posts-pagination .page-numbers{padding:7px 12px;border:1px solid #ddd;border-radius:4px}.posts-pagination .current{background:var(--wine);color:white}.updates-load-more{display:block;margin:28px auto 0}.updates-load-status{text-align:center;font-size:14px;margin-top:12px}.updates-load-more[hidden]{display:none}.updates-grid .update-appearing{animation:team-row-appear .65s cubic-bezier(.2,.75,.25,1) both}
.netzero-content>.section-heading{padding:50px 22px 0;margin:0}.netzero-content>.netzero-opening,.netzero-content>.netzero-plan{padding:58px max(var(--amion-gutter),calc((100vw - var(--amion-width))/2))}.netzero-plan .button{display:inline-block}
.home-enquiry-form .wpcf7 form,.prose .wpcf7 form{display:grid;gap:16px}.wpcf7 label{display:block}.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),.wpcf7 textarea{width:100%;font:inherit;padding:12px;border:1px solid #bbb;background:white;color:#303033}.wpcf7 textarea{resize:vertical}.wpcf7 input[type=submit]{background:var(--wine);color:white;border:0;padding:12px 28px;cursor:pointer;width:fit-content}.wpcf7 input[type=file]{max-width:100%;font-size:13px}.wpcf7 .wpcf7-not-valid-tip{font-size:13px}.wpcf7 form p{margin:0}.wpcf7 .wpcf7-response-output{margin:10px 0;padding:12px}.wpcf7 .screen-reader-response{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.amion-search{display:flex;gap:15px;margin:25px 0;align-items:end}.amion-search input{display:block;padding:10px;max-width:100%}
@media(max-width:782px){.admin-bar{--admin-offset:46px}}
@media(max-width:700px){.profile-page{padding:30px 22px}.profile-page .profile-dialog-layout{display:block}.profile-page .profile-aside{max-width:280px;margin-bottom:28px}.profile-page .profile-detail{padding:0}.post-body .alignleft,.post-body .alignright{float:none;margin:20px 0}.amion-search{display:block}.amion-search .button{margin-top:12px}.netzero-content>.netzero-opening,.netzero-content>.netzero-plan{padding:32px 22px}}
@media(max-width:600px){.admin-bar #wpadminbar{position:fixed}}
@media(prefers-reduced-motion:reduce){.updates-grid .update-appearing{animation:none}}


.history-card-media{position:relative}.history-image-credit{position:absolute;right:8px;bottom:8px;padding:4px 7px;background:#ffffffeb;color:#444;font-size:10px;border-radius:3px}

.framework-screen:not(.framework-espo):not(.framework-homes-england):not(.framework-crown-commercial-service) .feature-panel{background:#fffffff2;padding:28px;border-radius:12px}

/* Keep responsive picture sources transparent to the existing layout. */
.amion-picture{display:contents}
.profile-preview .profile-photo{aspect-ratio:1;object-fit:cover}

.case-carousel.is-image-loading::after{content:'Loading image…';position:absolute;right:24px;bottom:76px;z-index:5;padding:7px 12px;border-radius:8px;background:#242424d9;color:#fff;font-size:13px;pointer-events:none}

/* 1.0.6: restore page composition and comfortable reading sizes. */
body{font-size:18px}
html:has(body[data-page="welcome"]){scroll-padding-top:calc(var(--amion-header) + var(--admin-offset))}
body[data-page="welcome"] .screen{scroll-margin-top:0}
body[data-page="welcome"] .welcome-screen,
body[data-page="welcome"] .values-screen{min-height:calc(100svh - var(--amion-header) - var(--admin-offset));display:flex;flex-direction:column;justify-content:center;padding-block:50px}
.welcome-screen .section-heading{width:100%;margin-bottom:0}
.welcome-screen .section-heading .intro{max-width:1040px;font-size:18px;line-height:1.8}
.values-screen>h2{text-align:center;margin-bottom:clamp(32px,5vh,64px)}
.values-screen .values-list{width:100%;max-width:1240px;margin:0 auto;gap:32px}
.values-screen .values-list article{padding:30px;display:flex;flex-direction:column;justify-content:center}
.values-screen .values-list p{font-size:18px;line-height:1.7}
/* The centered container must not also have viewport-sized inner gutters. */
.history-hero-inner{width:min(1320px,100%);padding:65px clamp(24px,5vw,64px) 75px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px)}
.netzero-story .netzero-content>.section-heading{width:100%;max-width:none;margin:0 auto;text-align:center}
.netzero-story .netzero-content>.section-heading .gold-rule{margin-inline:auto}
/* Apply the header offset once, and include WordPress's toolbar when signed in. */
html:has(body.admin-bar){--admin-offset:32px}
html.frameworks-page{scroll-snap-type:y mandatory;scroll-padding-top:calc(var(--amion-header) + var(--admin-offset))}
.frameworks-page main>.screen{scroll-snap-align:start;scroll-margin-top:0}
.framework-screen{min-height:calc(100svh - var(--amion-header) - var(--admin-offset));padding-block:42px}
.framework-screen .feature-panel .prose{font-size:18px;line-height:1.75}
.framework-other{text-align:center}
.framework-other .screen{padding:0;scroll-margin-top:0}
.framework-other .prose h2{margin:0 0 36px}
.framework-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(30px,5vw,72px);margin:0 auto;width:100%;max-width:1160px}
.framework-logos img{width:100%;height:150px;max-width:none;object-fit:contain}
.frameworks-page .footer{scroll-snap-align:end;scroll-margin-top:0}
/* Keep the service label quieter than the case study, without tiny copy. */
.expertise-carousel .expertise-card p{font-size:18px;line-height:1.7}
body[data-page="services"] .service-heading .prose{font-size:16px;line-height:1.65}
body[data-page="services"] .case-copy{width:min(920px,90%)}
body[data-page="services"] .case-copy .prose{font-size:18px;line-height:1.75}
body[data-page="services"] .case-controls button{font-size:14px}
.history-card-description,.profile-biography,.netzero-layout .prose,.policy-copy{font-size:18px}
.update p,.dashboard-card p,.person p{font-size:17px}
@media(max-width:1000px){
 .history-hero-inner{grid-template-columns:1fr;gap:38px}
}
@media(max-width:782px){html:has(body.admin-bar){--admin-offset:46px}}
@media(max-width:760px){
 html.frameworks-page{scroll-snap-type:y proximity}
 body{font-size:17px}
 .section-heading .intro,.welcome-screen .section-heading .intro,.about-home .prose,
 .values-screen .values-list p,.framework-screen .feature-panel .prose,
 .profile-biography,.netzero-layout .prose,.policy-copy{font-size:17px}
 .history-card-description{font-size:16px}
 .welcome-screen .section-heading .intro{text-align:left}
 .values-screen .values-list article{padding:28px;margin-bottom:24px}
 .history-hero-inner{padding:48px 24px 64px}
 .framework-screen{padding-block:0 40px}
 .framework-logos{grid-template-columns:1fr;gap:38px;max-width:340px}
 .framework-logos img{height:130px}
 .expertise-carousel .expertise-card p{font-size:16px;line-height:1.65}
 .expertise-carousel .service-more{font-size:14px}
 body[data-page="services"] .case-copy{width:100%}
 body[data-page="services"] .case-copy .prose{font-size:17px}
 body[data-page="services"] .case-controls button{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html.frameworks-page{scroll-snap-type:none}}

/* Paragraphs and lists share one biography scale, including inside dialogs. */
.profile-biography p,.profile-biography li,.profile-biography ul,.profile-biography ol{font-size:inherit;line-height:inherit}

/* CF7 auto-paragraphs must not collapse the paired fields into one column. */
.wpcf7 .form-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.wpcf7 .form-pair>p{display:contents}
.wpcf7 .form-pair>p>br{display:none}
.wpcf7 .form-pair label{min-width:0}
.home-enquiry-form .wpcf7 textarea{display:block;height:clamp(100px,15svh,150px);min-height:100px}
.home-enquiry-form .wpcf7 form{gap:10px}
.home-enquiry-form .amion-document-drop{flex-direction:row;flex-wrap:wrap;gap:10px 18px;padding:12px}
.home-enquiry-form .amion-document-drop .wpcf7-form-control-wrap{display:contents}
.home-enquiry-form .amion-document-drop .wpcf7-not-valid-tip{flex-basis:100%}
.home-enquiry-form .amion-documents legend{margin-bottom:6px}
.home-enquiry-form .amion-documents>p:has(>input[type=hidden]){display:none}
.home-page main>.home-contact{padding-top:calc(var(--amion-header) + var(--admin-offset) + 20px);padding-bottom:20px}
@media(max-width:420px){.wpcf7 .form-pair{gap:12px}.wpcf7 .form-pair input{padding-inline:8px}}
@media(max-width:760px){
 .home-page main>.home-contact{padding-top:calc(var(--amion-header) + var(--admin-offset) + 18px);padding-bottom:18px}
 .home-contact-layout{gap:18px}
 .home-contact-intro .gold-rule{margin:12px auto}
 .home-contact-intro>a{margin:6px 0}
 .home-enquiry-form .wpcf7 textarea{height:110px}
}

.advisory-panel-intro{max-width:850px;margin:0 auto 40px;text-align:center}.advisory-panel-intro[hidden]{display:none}

/* A bounded, keyboard-accessible mobile menu; desktop navigation stays unchanged. */
.mobile-menu{display:none}
@media(max-width:960px){
 :root{--amion-header:80px}
 .header{flex-direction:row;align-items:center;justify-content:space-between;padding:12px 18px}
 .header .brand{margin-left:0}
 .mobile-menu{display:block;z-index:2;margin-left:auto;color:#fff}
 .mobile-menu>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:15px;min-height:44px;padding:8px 12px;border:1px solid #ffffff80;border-radius:6px}
 .mobile-menu>summary::-webkit-details-marker{display:none}
 .mobile-menu>summary:focus-visible,.mobile-menu-panel a:focus-visible,.mobile-menu-panel summary:focus-visible{outline:2px solid #f2d69e;outline-offset:3px}
 .mobile-menu-panel{position:absolute;top:100%;left:0;right:0;padding:12px 22px 22px;background:#89002e;box-shadow:0 12px 24px #34001535;max-height:calc(100dvh - var(--amion-header) - var(--admin-offset));overflow-y:auto;overscroll-behavior:contain}
 .mobile-menu-panel>a,.mobile-menu-panel summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:11px 8px;color:#fff;font-size:16px;white-space:normal;cursor:pointer}
 .mobile-menu-panel summary{list-style:none}
 .mobile-menu-panel summary::-webkit-details-marker{display:none}
 .mobile-menu-panel .nav-chevron{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:6px}
 .mobile-menu-panel .nav-group[open]>summary .nav-chevron{transform:rotate(225deg)}
 .mobile-menu-panel .nav-dropdown{position:static;min-width:0;padding:0 0 8px 16px;margin:0 0 5px;border:0;border-left:1px solid #ffffff60;border-radius:0;box-shadow:none;background:none;backdrop-filter:none}
 .mobile-menu-panel .nav-dropdown a{display:block;min-height:44px;padding:11px 8px;white-space:normal}
}

/* Keep a readable card width on the smallest phones. */
@media(max-width:380px){
 .expertise-carousel{--carousel-items:1;padding-inline:44px}
 .expertise-carousel .carousel-items{min-height:0}
 .expertise-carousel .expertise-card a{min-height:330px;padding:12px 8px}
 .expertise-carousel .expertise-card h3{font-size:21px}
 .expertise-carousel .service-controls button{width:44px;height:44px}
 .expertise-carousel .service-controls button svg{width:22px;height:32px}
}
/* Long addresses must remain inside profiles and narrow dialogs. */
.profile-contact .profile-email{max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Short desktop windows need document scrolling instead of a collapsed case study. */
@media(min-width:1001px) and (max-height:650px){
 body[data-page="services"] .service-screen{height:auto;min-height:100svh}
 body[data-page="services"] .case-stage{display:block}
 body[data-page="services"] .case-copy{max-height:none;overflow:visible}
}

/* Give controls and hover text enough contrast without changing decorative gold. */
.expertise-carousel .service-controls button{color:#8c692d}
.expertise-carousel .service-controls button:hover{color:var(--wine)}
.footer a:hover,.footer-bottom button:hover{color:#f2d69e}

/* Form controls must shrink with their grid columns and dialog containers. */
.home-contact-layout>*,.wpcf7,.wpcf7 form,.wpcf7 form>*{min-width:0}
@media(max-width:380px){.wpcf7 .form-pair{grid-template-columns:minmax(0,1fr)}}

/* Reserve space for the enquiry close control when the heading wraps. */
#enquiry-title{padding-right:40px}
#enquiry>.close-dialog{right:12px;top:12px;width:44px;height:44px;display:grid;place-items:center;line-height:1}

/* Scrollable desktop case studies must also be reachable by keyboard. */
.case-copy:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
