/* v5 design review: quieter form, editorial image rhythm, restrained motion. */
:root{--editorial-line:#cdd0c3}
.home-page .mosaic-copy h1{font-size:clamp(42px,4.3vw,68px)}
.home-page .mosaic-hero{padding-top:40px;padding-bottom:52px}
.mosaic-main{min-height:640px}
.section-head>p{line-height:1.8}
.image-pillars{gap:16px;padding:0 var(--gutter);background:var(--paper);max-width:1440px;margin:auto}
.image-pillar{height:520px}
.image-pillar>div{inset:auto 35px 35px}
.image-pillar h2{font-size:clamp(40px,4vw,61px)}
.editorial-frame{overflow:hidden;position:relative;background:var(--stone);margin:0}
.editorial-frame img{display:block;width:100%;height:100%;object-fit:cover}
.editorial-caption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:9px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}
.service-overview{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(35px,6vw,95px);align-items:start}
.service-overview .editorial-frame{height:490px}
.service-overview .service-index{border-top:1px solid var(--line)}
.service-overview .service-index>a{grid-template-columns:28px 1fr 22px;padding:26px 0;gap:16px}
.service-overview .service-index h3{font-size:27px}
.service-overview .service-index p{max-width:420px}
.process-story{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(45px,7vw,110px);align-items:start}
.process-anchor{position:sticky;top:130px}
.process-anchor h2{font-size:clamp(36px,4vw,59px);margin-bottom:25px}
.process-anchor>p:not(.eyebrow){max-width:430px}
.process-anchor .editorial-frame{aspect-ratio:1.5;margin-top:30px}
.process-chapters{padding-top:70px;counter-reset:chapter}
.process-chapter{padding:40px 0 45px;border-top:1px solid var(--line);min-height:215px;position:relative}
.process-chapter:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--olive);transform:scaleX(0);transform-origin:left;transition:transform .7s ease}
.process-chapter.is-current:before{transform:scaleX(1)}
.chapter-meta{display:flex;justify-content:space-between;color:var(--olive-dark);font-size:11px;letter-spacing:1.5px;margin-bottom:20px}
.chapter-meta span+span{font-size:9px;color:var(--muted)}
.process-chapter h3{font-size:35px;margin-bottom:16px}
.process-chapter p{max-width:410px;margin-bottom:0}
.editorial-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);align-items:center}
.editorial-pair .editorial-frame{aspect-ratio:1.1}
.editorial-pair h2{margin-bottom:28px}
.editorial-pair p{max-width:480px}
.editorial-bridge{padding-block:10px 70px}
.editorial-bridge .editorial-frame{height:clamp(260px,34vw,440px)}
.editorial-bridge .editorial-caption{padding-top:8px}
.services-page-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}
.services-page-intro .editorial-frame{height:320px}
.services-page-intro h1{font-size:clamp(44px,5vw,73px)}
.services-page-intro .lead{max-width:560px}
.audit-evidence{padding:60px var(--gutter);background:#e8e7df}
.audit-evidence .editorial-frame{aspect-ratio:1.45}
.audit-evidence h2{font-size:clamp(35px,4vw,54px)}
.reviews-band{background:var(--white);padding-block:58px}
.reviews-intro h2{font-size:clamp(32px,3.5vw,47px)}
.cta-inner h2{letter-spacing:-.05em}
.site-footer .footer-bottom{gap:20px}
/* Enhanced motion has a no-JS and reduced-motion fallback. */
.motion-ready,.motion-ready.is-visible{opacity:1;transform:none;transition:none}
.design-motion .reveal-unit{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .95s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.design-motion .reveal-unit.is-in{opacity:1;transform:none}
.design-motion .editorial-frame.reveal-unit{transform:none;clip-path:inset(5% 0 0 0);transition:clip-path 1.2s cubic-bezier(.22,1,.36,1),opacity .9s ease}
.design-motion .editorial-frame.reveal-unit.is-in{clip-path:inset(0)}
.design-motion .image-pillar img{transform:scale(1.055);transition:transform 1.3s cubic-bezier(.22,1,.36,1)}
.design-motion .image-pillar.is-in img{transform:scale(1)}
.design-motion .image-pillar.is-in:hover img{transform:scale(1.025)}
.design-motion .mosaic-copy>.eyebrow{animation:design-enter .8s both}
.design-motion .mosaic-copy>h1{animation:design-enter 1s .1s both}
.design-motion .mosaic-intro{animation:design-enter 1s .22s both}
.design-motion .mosaic-main{animation:design-image 1.3s .15s both}
@keyframes design-enter{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:none}}
@keyframes design-image{from{opacity:.25;clip-path:inset(0 0 7% 0)}to{opacity:1;clip-path:inset(0)}}
/* The feedback experience is deliberately compact and still. */
.simple-review{max-width:810px;margin:auto;padding:52px 28px 62px}
.review-heading{text-align:center;margin-bottom:28px}
.review-heading .eyebrow{justify-content:center;font-size:9px;margin-bottom:17px}
.review-heading h1{font-size:46px;line-height:1.08;letter-spacing:-.045em}
.review-heading>p:last-child{font-size:14px;margin:16px 0 0}
.feedback-paper{background:var(--white);border:1px solid var(--line);padding:32px 36px 22px}
.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 22px}
.feedback-paper label:not(.feedback-permission){display:block;font-size:12px;color:var(--ink);margin-bottom:7px}
.feedback-paper label>span:not(.optional){color:var(--olive)}
.feedback-paper .optional{font-size:10px;color:var(--muted);margin-left:7px}
.feedback-paper input:not([type=checkbox]),.feedback-paper select,.feedback-paper textarea{display:block;width:100%;border:1px solid #bfc4b6;background:transparent;border-radius:0;padding:10px 12px;font:inherit;font-size:16px;line-height:1.45;color:var(--ink)}
.feedback-paper input:not([type=checkbox]),.feedback-paper select{height:45px}
.feedback-paper textarea{min-height:120px;resize:vertical}
.feedback-paper textarea::placeholder{font-size:14px;color:#74796e}
.feedback-paper small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}
.feedback-message{margin-top:18px}
.feedback-permission{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;margin:19px 0}
.feedback-permission input{flex:none;width:17px;height:17px;accent-color:var(--olive-dark);margin:1px 0 0}
.feedback-permission>span{color:var(--ink)!important}
.feedback-submit{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:19px}
.feedback-submit p{font-size:10px;line-height:1.65;max-width:340px;margin:0}
.feedback-submit .button{min-width:170px;min-height:47px;font-size:12px;gap:28px}
.feedback-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
.feedback-bottom details{font-size:11px;max-width:450px}
.feedback-bottom summary{list-style:none;text-decoration:underline;text-underline-offset:3px;color:var(--muted)}
.feedback-bottom details p{margin:12px 0 0}
.feedback-bottom details a{ text-decoration:underline }
.preview-label{font-size:8px;letter-spacing:1px;color:var(--muted);white-space:nowrap;margin-top:2px}
.feedback-alternative{text-align:center;font-size:12px;margin:23px 0 0}
.feedback-alternative a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:4px;margin-left:6px}
.feedback-status{font-size:12px;color:var(--olive-dark);margin:0}
.feedback-status:not(:empty){margin-top:15px;padding:10px 12px;background:var(--paper)}
.review-page .mobile-enquiry{display:none}
@media(max-width:1000px){.process-story{gap:45px}.process-anchor{top:110px}.process-chapters{padding-top:40px}.service-overview{gap:35px}.service-overview .editorial-frame{height:430px}.services-page-intro{gap:30px}.services-page-intro .editorial-frame{height:280px}.image-pillar{height:450px}.image-pillar>div{inset:auto 26px 28px}}
@media(max-width:760px){.service-overview,.editorial-pair,.services-page-intro{grid-template-columns:1fr;gap:30px}.service-overview .editorial-frame{height:300px}.services-page-intro .editorial-frame{height:260px}.process-story{grid-template-columns:1fr;gap:15px}.process-anchor{position:static}.process-anchor .editorial-frame{aspect-ratio:1.65}.process-chapters{padding-top:20px}.process-chapter{min-height:0;padding:25px 0 30px}.process-chapter h3{font-size:29px}.chapter-meta{margin-bottom:13px}.process-chapter p{max-width:none}.editorial-pair .editorial-frame{aspect-ratio:1.45}.audit-evidence{padding-block:40px}.editorial-bridge{padding-bottom:40px}.image-pillars{gap:10px}.image-pillar h2{font-size:37px}.image-pillar>div{inset:auto 20px 25px}}
@media(max-width:600px){.home-page .mosaic-hero{padding-top:28px;padding-bottom:30px}.home-page .mosaic-copy h1{font-size:clamp(39px,10vw,57px)}.mosaic-main{min-height:420px}.image-pillars{grid-template-columns:1fr;gap:16px}.image-pillar{height:390px}.image-pillar h2{font-size:44px}.image-pillar>div{inset:auto 27px 30px}.service-overview .editorial-frame{height:250px}.service-overview .service-index h3{font-size:24px}.service-overview .service-index>a{grid-template-columns:22px 1fr 18px;gap:10px}.editorial-caption{font-size:8px;letter-spacing:.8px}.editorial-caption span+span{text-align:right}.simple-review{padding:28px 20px 40px}.review-heading h1{font-size:35px}.review-heading .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:12px}.review-heading>p:last-child{font-size:13px;line-height:1.6}.review-heading{margin-bottom:23px}.feedback-paper{padding:22px 18px 18px}.feedback-grid{grid-template-columns:1fr;gap:14px}.feedback-paper textarea{min-height:130px}.feedback-submit{flex-direction:column;align-items:stretch;gap:16px}.feedback-submit .button{justify-content:space-between}.feedback-bottom{flex-wrap:wrap;gap:12px}.feedback-permission{font-size:12px}.feedback-paper small{font-size:10px}.reviews-band{padding-block:40px}}
@media(prefers-reduced-motion:reduce){.design-motion .reveal-unit,.design-motion .editorial-frame.reveal-unit{opacity:1;transform:none;clip-path:none;transition:none}.design-motion .image-pillar img{transform:none;transition:none}.design-motion .mosaic-copy>*,.design-motion .mosaic-main{animation:none}.process-anchor{position:static}.process-chapter:before{transition:none}}
@media print{.design-motion .reveal-unit{opacity:1;transform:none;clip-path:none}.process-anchor{position:static}.preview-label{display:none}}

#review-challenge{margin-block:12px}#review-success{padding:36px;background:white;border:1px solid var(--line)}#review-success h2{font-size:34px}#review-reference{overflow-wrap:anywhere}.feedback-paper button:disabled{opacity:.5;cursor:not-allowed}#review-retry{margin-top:16px}
