/* Quiet colour diffusion with softly cut, deliberately non-pill controls. */
:root{--edge:8px;--surface-edge:22px}
.button{position:relative;isolation:isolate;border-radius:var(--edge);background:radial-gradient(ellipse at 14% 8%,rgb(255 255 255/.16),transparent 62%),linear-gradient(145deg,#22505a 0%,var(--petrol) 74%);border-color:rgb(18 59 69/.2);box-shadow:inset 0 1px 0 rgb(255 255 255/.12),0 5px 17px rgb(18 59 69/.08);transition:background .2s,border-color .2s,box-shadow .2s}
.button::before{content:'';position:absolute;inset:1px;z-index:-1;border-radius:inherit;pointer-events:none;background-image:url('grain.svg');opacity:.055;mix-blend-mode:soft-light}
.button:hover{background:radial-gradient(ellipse at 14% 8%,rgb(255 255 255/.13),transparent 62%),linear-gradient(145deg,#173f48,#0b262e);box-shadow:inset 0 1px 0 rgb(255 255 255/.15),0 6px 18px rgb(18 59 69/.12)}
.button:active{box-shadow:inset 0 1px 4px rgb(0 0 0/.15)}
.nav-cta{border-radius:8px}
.property-hero .button,.cinema-copy .button{background:radial-gradient(ellipse at 16% 10%,rgb(255 255 255/.36),transparent 66%),linear-gradient(125deg,#f0be6d 0%,var(--amber) 88%);border-color:rgb(228 164 70/.3);box-shadow:inset 0 1px 0 rgb(255 255 255/.45),0 6px 20px rgb(0 0 0/.1);color:#111}
.property-hero .button:hover,.cinema-copy .button:hover{background:linear-gradient(125deg,#f6d297,#edb253);border-color:#efba63}
.button-light,.funding-route .button,.dark .button{background:radial-gradient(ellipse at 16% 10%,#fff,transparent 70%),linear-gradient(130deg,#fff,#f1f5f2);color:var(--petrol);border-color:rgb(255 255 255/.45)}
.button-light:hover,.funding-route .button:hover,.dark .button:hover{background:linear-gradient(130deg,#fff,#e3ece6);color:var(--petrol);border-color:#dce7df}
.cta-band .button{background:linear-gradient(135deg,#20373c,#0b191d);border-color:transparent}
.motion-toggle{border-radius:9px;background:linear-gradient(135deg,rgb(18 59 69/.64),rgb(18 59 69/.4));border-color:rgb(255 255 255/.32);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-inline:15px}
.motion-toggle:hover{background:rgb(18 59 69/.8)}
.funding-route{position:relative;isolation:isolate;background:radial-gradient(ellipse at 90% 100%,rgb(109 146 125/.35),transparent 58%),linear-gradient(130deg,#194751,var(--petrol) 60%,#153f42)}
.funding-route::before,.assessment-section::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:url('grain.svg');opacity:.03;z-index:-1;mix-blend-mode:soft-light}
.assessment-section{position:relative;isolation:isolate;background:radial-gradient(ellipse at 3% 10%,rgb(228 164 70/.055),transparent 60%),linear-gradient(150deg,#f5f8f5,#f9faf9)}
.funnel-page .assessment-form{border-radius:var(--surface-edge);border-color:rgb(18 59 69/.14);background:linear-gradient(145deg,#fff,#fdfefd);box-shadow:0 12px 40px rgb(18 59 69/.035)}
.field input,.field select,.field textarea,.request-result textarea{border-radius:8px;border-color:rgb(18 59 69/.25);background:#fff;transition:border-color .18s,box-shadow .18s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--petrol);box-shadow:0 0 0 3px rgb(109 146 125/.11)}
.project-answers{border-top:0}
.project-answers details{border:1px solid rgb(18 59 69/.14);border-radius:14px;background:linear-gradient(120deg,#fff,#f9fbf9);margin-bottom:10px;overflow:clip}
.project-answers summary{padding:20px 22px;gap:20px}
.project-answers details[open]{background:linear-gradient(135deg,#f7faf7,#fff)}
.project-answers .answer{padding:0 22px 24px}
.project-answers summary:focus-visible{outline-offset:-5px;border-radius:14px}
.project-answers summary::after{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(140deg,rgb(109 146 125/.13),rgb(109 146 125/.06));font-size:19px;line-height:1;color:var(--petrol)}
.guide-note{border-radius:0 14px 14px 0;background:linear-gradient(120deg,rgb(109 146 125/.12),rgb(109 146 125/.045))}
.form-links{overflow:hidden;border-radius:12px;border:1px solid rgb(18 59 69/.25)}
.form-links a:first-child{padding-left:28px}
@media(max-width:780px){.project-answers summary{padding:18px}.project-answers .answer{padding:0 18px 22px}.form-links a:first-child{padding-left:5px}.form-links a{padding-inline:18px!important}}
@media(max-width:500px){:root{--edge:8px;--surface-edge:18px}.nav-cta{border-radius:8px}.project-answers details{border-radius:12px}.project-answers summary{font-size:16px}.motion-toggle{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.button,.field input,.field select,.field textarea{transition:none}}
@media(forced-colors:active){.button::before,.funding-route::before,.assessment-section::before{display:none}.button,.motion-toggle{border:1px solid ButtonText}}

/* At narrow widths, navigation floats over the page rather than stretching the header. */
@media(max-width:780px){
  .nav{position:relative}
  .js .menu-toggle{min-height:44px;padding:8px 6px;gap:7px;border-radius:8px}
  .js .menu-toggle span{display:inline-block;font-size:16px;line-height:1;transition:transform .18s ease}
  .js .menu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
  .js .nav-links{display:flex;position:absolute;z-index:30;top:calc(100% - 1px);right:0;order:initial;width:min(276px,calc(100vw - 36px));margin:0;padding:8px;align-items:stretch;flex-direction:column;flex-wrap:nowrap;gap:2px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,250,247,.98));border:1px solid rgba(18,59,69,.16);border-radius:12px;box-shadow:0 16px 42px rgba(18,59,69,.15);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-7px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .js .nav-links.is-open{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .nav-links a{display:flex;align-items:center;min-height:45px;padding:9px 13px;border-radius:7px;font-size:14px}
  .nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current="page"]{background:rgba(109,146,125,.1);text-decoration:none}
}
@media(prefers-reduced-motion:reduce){.js .nav-links,.js .menu-toggle span{transition:none}}
/* A closed mobile menu must disappear immediately when the breakpoint changes. */
@media(max-width:780px){.js .nav-links:not(.is-open){visibility:hidden;transition:none}}
