/* Growth Plus forms (enquiry + project brief). Matches the site: mono labels, underline inputs, ink buttons. */
.gpf{--fl:rgba(12,14,13,.16);--fs:var(--ink-soft,#56605b);--fe:#c2412d;position:relative;font-family:'Inter',system-ui,sans-serif;color:var(--ink)}
.gpf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.gpf-grid{display:flex;flex-wrap:wrap;gap:22px 26px}
.gpf-f{flex:1 1 100%;min-width:0;position:relative}
.gpf-half{flex:1 1 calc(50% - 13px)}
.gpf-ready .gpf-off{display:none}
.gpf-in{animation:gpfIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes gpfIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* labels + help */
.gpf-l{display:block;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--fs);margin:0 0 6px;line-height:1.4}
.gpf-l i,.gpf-toggle i{font-style:normal;color:var(--accent,#1f9a58)}
.gpf-help{font-size:13px;line-height:1.5;color:var(--fs);margin:-2px 0 10px;opacity:.9}
/* text inputs */
.gpf input[type=text],.gpf input[type=email],.gpf textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--fl);background:transparent;padding:10px 2px;font:inherit;font-size:16px;line-height:1.45;color:var(--ink);border-radius:0;outline:none;transition:border-color .25s;-webkit-appearance:none;appearance:none;box-shadow:none}
.gpf textarea{resize:vertical;min-height:96px}
.gpf input::placeholder,.gpf textarea::placeholder{color:var(--ink);opacity:.36}
.gpf input[type=text]:focus,.gpf input[type=email]:focus,.gpf textarea:focus{border-bottom-color:var(--ink)}
/* errors */
.gpf-err{margin:6px 0 0;color:var(--fe);font-size:13px;font-weight:500}
.gpf-bad input[type=text],.gpf-bad input[type=email],.gpf-bad textarea{border-bottom-color:var(--fe)}
.gpf-bad .gpf-toggle,.gpf-bad .gpf-drop{border-color:var(--fe)}
.gpf-msg{margin:0 0 20px;padding:14px 16px;border-radius:14px;background:rgba(194,65,45,.08);color:var(--fe);font-size:14px;font-weight:500}
/* hidden native controls */
.gpf-toggle input,.gpf-chip input,.gpf-tile input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
/* toggle card */
.gpf-toggle{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--fl);border-radius:14px;background:rgba(255,255,255,.45);cursor:pointer;font-size:15px;line-height:1.4;transition:border-color .25s,background .25s,box-shadow .25s;-webkit-tap-highlight-color:transparent;user-select:none;position:relative}
.gpf-toggle:hover{border-color:rgba(12,14,13,.32)}
.gpf-box{flex:0 0 auto;width:22px;height:22px;border:1.5px solid rgba(12,14,13,.35);border-radius:7px;background:#fff;position:relative;transition:background .2s,border-color .2s}
.gpf-box:before{content:'';position:absolute;left:6.5px;top:2.5px;width:6px;height:11px;border:solid var(--accent-bright,#56fe8d);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s}
.gpf-toggle input:checked+.gpf-box{background:var(--ink);border-color:var(--ink)}
.gpf-toggle input:checked+.gpf-box:before{opacity:1;transform:rotate(45deg) scale(1)}
.gpf-toggle:has(input:checked){border-color:var(--ink);background:rgba(255,255,255,.85);box-shadow:0 10px 24px -16px rgba(0,0,0,.35)}
.gpf-toggle input:focus-visible+.gpf-box,.gpf-chip input:focus-visible+span,.gpf-tile input:focus-visible~.gpf-tile-l{outline:2px solid var(--accent,#1f9a58);outline-offset:3px}
/* chips */
.gpf-chips{display:flex;flex-wrap:wrap;gap:8px}
.gpf-chip{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.gpf-chip span{display:block;padding:10px 16px;border:1px solid var(--fl);border-radius:999px;background:rgba(255,255,255,.5);font-size:14px;line-height:1.3;transition:background .2s,color .2s,border-color .2s,transform .2s}
.gpf-chip:hover span{border-color:rgba(12,14,13,.35)}
.gpf-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gpf-chip:active span{transform:scale(.97)}
/* style tiles */
.gpf-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gpf-tile{position:relative;display:flex;flex-direction:column;border:1px solid var(--fl);border-radius:16px;overflow:hidden;background:#fff;cursor:pointer;transition:box-shadow .25s,border-color .25s;-webkit-tap-highlight-color:transparent}
.gpf-tile:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 2px var(--ink),0 14px 30px -18px rgba(0,0,0,.45)}
.gpf-tile-p{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;font-size:34px;line-height:1;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.gpf-tile-p:before{content:'Aa'}
.gpf-tile:hover .gpf-tile-p{transform:scale(1.04)}
.gpf-tile-l{padding:10px 12px 12px;font-size:13px;font-weight:500;line-height:1.3;position:relative;background:#fff}
.gpf-tile:after{content:'';position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2356fe8d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;opacity:0;transform:scale(.5);transition:.25s cubic-bezier(.2,.8,.2,1)}
.gpf-tile:has(input:checked):after{opacity:1;transform:none}
/* style tiles: light versions by default, dark versions when the Light/Dark switch is on. Club colours ignores the switch. */
.gpf-tile-p{flex-direction:column;gap:4px;position:relative;overflow:hidden;transition:background .45s,color .45s}
.gpf-tile-p:after{content:none}
/* Bold & fast (DTM) */
[data-look=dtm] .gpf-tile-p{background:linear-gradient(104deg,transparent 0 9%,#ff5a1f 9% 52%,transparent 52%) 0 100%/100% 17% no-repeat,#f4f2ee;color:#0b0b0c;font-family:'Archivo',sans-serif;font-weight:900;font-style:italic;font-stretch:62%;font-variation-settings:'wdth' 62;font-size:40px;letter-spacing:-.01em;line-height:.82;padding-bottom:10px}
[data-look=dtm] .gpf-tile-p:before{content:'FAST'}
[data-look=dtm] .gpf-tile-p:after{content:'LANE';color:transparent;-webkit-text-stroke:1.2px rgba(11,11,12,.7)}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=dtm] .gpf-tile-p{background:linear-gradient(104deg,transparent 0 9%,#ff5a1f 9% 52%,transparent 52%) 0 100%/100% 17% no-repeat,radial-gradient(circle at 80% 10%,#2a1a12,#0b0b0c 65%);color:#fff}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=dtm] .gpf-tile-p:after{-webkit-text-stroke-color:rgba(255,255,255,.75)}
/* Classic & trustworthy (Prestige) */
[data-look=prestige] .gpf-tile-p{background:#fff;color:#1b2f4b;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:34px;box-shadow:inset 0 -1px 0 #e7e6e1}
[data-look=prestige] .gpf-tile-p:before{content:'Aa';border-bottom:2px solid currentColor;padding-bottom:4px}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=prestige] .gpf-tile-p{background:#13233b;color:#fff;box-shadow:none}
/* Sharp & sporty (RMC) */
[data-look=rmc] .gpf-tile-p{background:radial-gradient(circle at 62% 26%,#ffffff 0,#dbe5f5 40%,#a9bde3 90%);color:#10265e;font-family:'Archivo',sans-serif;font-weight:300;font-stretch:125%;font-variation-settings:'wdth' 125;font-size:22px;letter-spacing:.32em;text-indent:.32em;gap:10px}
[data-look=rmc] .gpf-tile-p:before{content:'KIT'}
[data-look=rmc] .gpf-tile-p:after{content:'START  →';font:600 8px/1 'Archivo',sans-serif;font-stretch:125%;letter-spacing:.2em;text-indent:0;color:#fff;background:#10265e;padding:7px 12px;border-radius:999px}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=rmc] .gpf-tile-p{background:radial-gradient(circle at 62% 26%,#8fa8d6 0,#2c55b0 38%,#10265e 78%);color:#fff}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=rmc] .gpf-tile-p:after{color:#0d1f4d;background:#fff}
/* Clean & minimal */
[data-look=minimal] .gpf-tile-p{background:#f7f7f4;color:#111;font-family:'Inter Tight',sans-serif;font-weight:300;letter-spacing:-.04em;box-shadow:inset 0 -1px 0 #e7e6e1}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=minimal] .gpf-tile-p{background:#121313;color:#f2f1ec;box-shadow:none}
/* Luxury */
[data-look=luxury] .gpf-tile-p{background:radial-gradient(circle at 70% 20%,#fffaf0,#f1e8d6 70%);color:#a07a32;font-family:'Instrument Serif',serif;font-style:italic;font-size:44px}
[data-look=luxury] .gpf-tile-p:after{content:'';width:34px;height:1px;background:currentColor;opacity:.7}
.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=luxury] .gpf-tile-p{background:radial-gradient(circle at 70% 20%,#2b2620,#0d0d0e 70%);color:#d9b56c}
/* Club colours (always two-tone: black & amber by default) */
[data-look=club] .gpf-tile-p,.gpf:has(.gpf-t-mode input[type=checkbox]:checked) [data-look=club] .gpf-tile-p{flex-direction:row;justify-content:space-between;padding:0 15% 0 17%;gap:14px;background:linear-gradient(118deg,#111 0 50%,#f6b40e 50%);color:#fff;font-family:'Archivo',sans-serif;font-weight:900;font-size:40px;font-stretch:100%}
[data-look=club] .gpf-tile-p:before{content:'';width:30px;height:36px;border:2.5px solid #f6b40e;border-radius:4px 4px 50% 50% / 4px 4px 60% 60%;background:rgba(246,180,14,.12)}
[data-look=club] .gpf-tile-p:after{content:'14';color:#111;text-shadow:none}
/* Light / dark switch */
.gpf-switch{display:inline-flex;align-items:center;gap:12px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;padding:6px 0}
.gpf-switch input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.gpf-sw-l{font:500 11px/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);transition:opacity .3s}
.gpf-sw-l:last-child{opacity:.4}
.gpf-switch:has(input:checked) .gpf-sw-l:first-of-type{opacity:.4}
.gpf-switch:has(input:checked) .gpf-sw-l:last-child{opacity:1}
.gpf-sw-track{position:relative;width:58px;height:32px;border-radius:999px;background:#fff;border:1px solid var(--fl);transition:background .35s,border-color .35s;flex:0 0 auto}
.gpf-sw-track i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#ffd76a;box-shadow:0 2px 6px rgba(0,0,0,.2),inset 0 0 0 5px #fff3c4;transition:transform .4s cubic-bezier(.2,.8,.2,1),background .35s,box-shadow .35s}
.gpf-switch input:checked~.gpf-sw-track{background:var(--ink);border-color:var(--ink)}
.gpf-switch input:checked~.gpf-sw-track i{transform:translateX(26px);background:#dfe3ea;box-shadow:inset -6px -2px 0 0 #9aa3b2,0 2px 6px rgba(0,0,0,.3)}
.gpf-switch input:focus-visible~.gpf-sw-track{outline:2px solid var(--accent,#1f9a58);outline-offset:3px}
/* colours */
.gpf-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.gpf-swatches button,.gpf-swatches label{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--fl),0 4px 10px -6px rgba(0,0,0,.4);cursor:pointer;padding:0;transition:transform .2s;position:relative}
.gpf-swatches button:hover,.gpf-swatches label:hover{transform:scale(1.12)}
.gpf-swatches label{background:conic-gradient(red,#ff0,lime,cyan,blue,#f0f,red);overflow:hidden}
.gpf-swatches input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;border:0;padding:0}
/* uploads */
.gpf-drop{position:relative;padding:18px;border:1.5px dashed rgba(12,14,13,.22);border-radius:16px;background:rgba(255,255,255,.4);transition:border-color .2s,background .2s}
.gpf-drop.is-over,.gpf-drop:hover{border-color:var(--ink);background:rgba(255,255,255,.75)}
.gpf-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.gpf-drop-t{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--fs);cursor:pointer;flex-wrap:wrap}
.gpf-drop-t b{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:10px;background:var(--ink);color:var(--paper);font:500 11px/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.gpf-drop input[type=file]:focus-visible+.gpf-drop-t b{outline:2px solid var(--accent,#1f9a58);outline-offset:3px}
.gpf-files{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gpf-drop.has-files .gpf-files,.gpf-files:not(:empty){margin-top:14px}
.gpf-file{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.75);font-size:13px;position:relative;overflow:hidden}
.gpf-thumb{flex:0 0 38px;height:38px;border-radius:8px;background:#e9e8e2 center/cover no-repeat}
.gpf-fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpf-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}
.gpf-bar i{display:block;height:100%;width:0;background:var(--accent,#1f9a58);transition:width .2s}
.gpf-file:not(.is-up) .gpf-bar{display:none}
.gpf-file.is-up{opacity:.75}
.gpf-x{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:0;background:transparent;font-size:18px;line-height:1;color:var(--fs);cursor:pointer}
.gpf-x:hover{background:rgba(194,65,45,.1);color:var(--fe)}
/* buttons + footer */
.gpf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:12px;border:0;background:var(--ink);color:var(--paper);font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px -12px rgba(0,0,0,.5);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s;text-decoration:none}
.gpf-btn:hover{background:var(--accent-deep,#15364d)}
.gpf-btn:active{transform:scale(.97)}
.gpf-btn .arrow{transition:transform .3s}.gpf-btn:hover .arrow{transform:translateX(4px)}
.gpf-btn[disabled]{opacity:.6;cursor:default}
.gpf-back{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--fl)}
.gpf-back:hover{background:rgba(255,255,255,.7)}
.gpf-foot{display:flex;align-items:center;gap:14px;margin-top:30px;flex-wrap:wrap}
.gpf-foot .gpf-next,.gpf-multi .gpf-foot .gpf-submit{margin-left:auto}
.gpf-saved{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--accent,#1f9a58);opacity:0;transition:opacity .4s}
.gpf-saved.on{opacity:1}
.gpf:not(.gpf-multi) .gpf-saved{display:none}
.gpf-busy .gpf-submit{pointer-events:none;opacity:.6}
.gpf-busy .gpf-submit .arrow{animation:gpfPulse 1s infinite}
@keyframes gpfPulse{50%{transform:translateX(5px)}}
/* steps (only when JS is running; without JS every step shows) */
.gpf-steps{display:none}
.gpf-ready .gpf-steps{display:flex;align-items:flex-start;margin:0 0 30px}
.gpf-dot{all:unset;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;flex:0 0 auto}
.gpf-dot b{display:flex;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--fl);align-items:center;justify-content:center;font:500 11px 'JetBrains Mono',monospace;color:var(--fs);transition:background .3s,color .3s,border-color .3s;box-sizing:border-box}
.gpf-dot span{font:500 10px 'JetBrains Mono',monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--fs)}
.gpf-dot.gpf-cur b{background:var(--ink);border-color:var(--ink);color:var(--accent-bright,#56fe8d)}
.gpf-dot.gpf-cur span{color:var(--ink)}
.gpf-dot.gpf-past b{background:var(--accent-bright,#56fe8d);border-color:transparent;color:var(--ink)}
.gpf-dot:focus-visible b{outline:2px solid var(--accent,#1f9a58);outline-offset:3px}
.gpf-line{flex:1 1 0;height:2px;background:var(--fl);margin-top:15px;border-radius:2px;transition:background .4s}
.gpf-line.gpf-past{background:var(--ink)}
.gpf-ready.gpf-multi .gpf-step{display:none}
.gpf-ready.gpf-multi .gpf-step.gpf-cur{display:block;animation:gpfIn .45s cubic-bezier(.2,.8,.2,1)}
.gpf-multi:not(.gpf-ready) .gpf-step+.gpf-step{margin-top:44px}
.gpf-ready.gpf-multi .gpf-submit,.gpf-ready.gpf-multi.gpf-last .gpf-next,.gpf-ready.gpf-multi.gpf-first .gpf-back{display:none}
.gpf-ready.gpf-multi.gpf-last .gpf-submit{display:inline-flex}
.gpf:not(.gpf-ready) .gpf-next,.gpf:not(.gpf-ready) .gpf-back{display:none}
.gpf-step-h{font-family:'Inter Tight','Inter',sans-serif;font-weight:600;font-size:26px;line-height:1.1;letter-spacing:-.02em;margin:0 0 4px}
.gpf-step-p{color:var(--fs);font-size:15px;margin:0}
.gpf-step-h+.gpf-grid,.gpf-step-p+.gpf-grid{margin-top:24px}
/* thank-you */
.gpf-done{animation:gpfIn .6s cubic-bezier(.2,.8,.2,1)}
.gpf-done-h{font-family:'Inter Tight','Inter',sans-serif;font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1.08;letter-spacing:-.025em;margin:0 0 12px}
.gpf-done-p{color:var(--fs);font-size:16px;line-height:1.6;margin:0}
.gpf-done-cta{color:var(--fs);font-size:15px;margin:22px 0 10px}
/* brief page */
.gp-brief .brief-band{padding-top:96px;background:var(--paper)}
.gp-brief .brief-band .sec-head{padding-bottom:24px}
.gp-brief .brief-band .sec-head h2{max-width:16ch}
.gp-brief .brief-wrap{padding:10px 40px 120px}
.gp-brief .brief-wrap>.form{max-width:820px;margin:0 auto}
.brief-for{display:inline-flex;align-items:center;gap:24px;padding:20px 32px;border-radius:28px;margin-bottom:34px}
.brief-for .logo-svg{height:26px;width:auto}
.brief-for .x{font:400 20px 'JetBrains Mono',monospace;color:var(--fs,#56605b)}
.brief-for-logo{display:block;height:76px;width:auto;max-width:300px;object-fit:contain}
.brief-for-name{font-family:'Inter Tight','Inter',sans-serif;font-weight:600;font-size:26px;letter-spacing:-.015em}
@media (max-width:640px){.brief-for{gap:14px;padding:14px 20px;border-radius:22px}.brief-for .logo-svg{height:20px}.brief-for .x{font-size:15px}.brief-for-logo{height:56px;max-width:180px}.brief-for-name{font-size:20px}}
@media (max-width:900px){.gp-brief .brief-wrap{padding:6px 16px 90px}.gp-brief .brief-band{padding-top:76px}}
@media (max-width:640px){
  .gpf-half{flex-basis:100%}
  .gpf-tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .gpf-dot span{display:none}
  .gpf-dot.gpf-cur{position:relative}
  .gpf-dot.gpf-cur span{display:block;position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap}
  .gpf-ready .gpf-steps{margin-bottom:46px}
  .gp-brief .brief-wrap>.form,.gp-fm.form{padding:24px 20px}
  .gpf-step-h{font-size:23px}
}
