@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-2.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-3.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}

:root{
  color-scheme:light;
  --ink:#111827;
  --navy:#071b4a;
  --blue:#0071e3;
  --blue-hover:#0077ed;
  --muted:#667085;
  --line:rgba(15,37,70,.12);
  --line-strong:rgba(15,37,70,.2);
  --surface:rgba(255,255,255,.76);
  --surface-solid:#fff;
  --soft:#f3f6fa;
  --focus:rgba(0,113,227,.25);
  --danger:#a83222;
  --shadow:0 32px 90px rgba(15,35,70,.22),0 8px 30px rgba(15,35,70,.1);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","DM Sans","Helvetica Neue",Arial,sans-serif;
  overscroll-behavior:none;
}

*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{min-height:100dvh;background:#f5f5f7;color:var(--ink);overscroll-behavior:none}
button,input,textarea,select{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;touch-action:manipulation}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.launch-screen{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:18px;padding:30px;text-align:center;background:radial-gradient(circle at 22% 12%,#fff 0,transparent 36%),linear-gradient(145deg,#fbfcff,#eef3fa)}
.launch-mark{font-size:54px;font-weight:800;line-height:1;letter-spacing:-.16em;color:var(--blue)}
.launch-screen h1{margin:0;font:700 clamp(42px,8vw,76px)/.98 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;letter-spacing:-.055em}
.launch-screen p{margin:0;color:var(--muted);font-size:17px}

.launch-button,.next-button,.send-button,.restart-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:999px;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;box-shadow:0 10px 24px rgba(0,113,227,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.launch-button{min-height:56px;margin-top:8px;padding:14px 28px}
.launch-button:hover,.next-button:hover,.send-button:hover,.restart-button:hover{transform:translateY(-1px);background:var(--blue-hover);box-shadow:0 14px 28px rgba(0,113,227,.27)}
.launch-button:active,.next-button:active,.send-button:active,.restart-button:active{transform:translateY(1px)}

.wizard{
  width:min(1180px,calc(100vw - 44px));
  height:min(860px,calc(100dvh - 44px));
  max-width:none;
  max-height:none;
  margin:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.82);
  border-radius:32px;
  overflow:hidden;
  background:rgba(244,248,253,.72);
  -webkit-backdrop-filter:blur(34px) saturate(165%);
  backdrop-filter:blur(34px) saturate(165%);
  box-shadow:var(--shadow);
}
.wizard[open]{display:grid;grid-template-columns:236px minmax(0,1fr)}
.wizard::before{content:"";position:absolute;z-index:8;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);pointer-events:none}
.wizard::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
html.is-embedded body,html.is-embedded .launch-screen{background:transparent}
html.is-embedded .launch-screen{display:none}
html.is-embedded body{position:fixed;inset:0;overflow:hidden;min-height:0}
html.is-embedded .wizard::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}

.brand-panel{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;padding:36px 28px 28px;overflow:hidden;border-right:1px solid rgba(15,37,70,.09);background:linear-gradient(160deg,rgba(255,255,255,.7),rgba(226,236,250,.56))}
.brand-panel::before{content:"";position:absolute;width:270px;height:270px;left:-150px;bottom:70px;border-radius:50%;background:rgba(41,151,255,.18);filter:blur(5px);pointer-events:none}
.brand-logo{position:relative;width:166px;height:auto;margin:0;filter:none}
.brand-motto{position:relative;margin:auto 0;color:var(--navy);font-size:15px;font-weight:700;line-height:1.9;letter-spacing:.15em;text-transform:uppercase}
.brand-motto::before{content:"";display:block;width:36px;height:1px;margin-bottom:24px;background:var(--blue)}
.brand-location{position:relative;margin:0;color:#65738b;font-size:10px;font-weight:700;line-height:1.75;letter-spacing:.2em;text-transform:uppercase}

.form-panel{position:relative;z-index:1;min-width:0;overflow:hidden;background:rgba(255,255,255,.72)}
.form-panel::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-170px;top:-230px;border-radius:50%;background:rgba(41,151,255,.1);filter:blur(10px);pointer-events:none}
.close-button{position:absolute;z-index:6;right:22px;top:20px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.74);box-shadow:0 6px 18px rgba(15,35,70,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.close-button img{width:20px;height:20px}
.close-button:hover{transform:scale(1.04);background:#fff;border-color:var(--line-strong)}

.progress{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(570px,calc(100% - 150px));margin:28px 0 0 40px;padding:4px;border:1px solid rgba(15,37,70,.08);border-radius:999px;list-style:none;background:rgba(233,239,247,.72)}
.progress::before,.progress::after{display:none}
.progress li{min-width:0}
.progress button{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;padding:5px 8px;border:0;border-radius:999px;background:transparent;color:#6d7788;font-size:11px;font-weight:600;white-space:nowrap;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.progress-icon{display:inline-grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:rgba(15,37,70,.07);color:inherit;font-size:9px;box-shadow:none;transition:inherit}
.progress li[aria-current] button{background:rgba(255,255,255,.94);color:var(--navy);box-shadow:0 4px 14px rgba(15,35,70,.09)}
.progress li[aria-current] .progress-icon,.progress li.is-done .progress-icon{background:var(--blue);color:#fff}
.progress li.is-done button{color:var(--navy)}
.progress-check{font-size:13px;font-weight:700}

#request-form{position:relative;z-index:1;display:flex;flex-direction:column;height:calc(100% - 72px);min-height:0}
.form-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:38px clamp(34px,5vw,64px) 24px;scrollbar-gutter:stable}
.step-heading{margin-bottom:24px}
.step-heading h2{margin:0;max-width:650px;font:700 clamp(42px,4.2vw,62px)/.98 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;letter-spacing:-.052em;color:var(--ink)}
.step-heading h2 span{color:var(--blue)}
.step-heading h2:focus{outline:none}
.step-heading p{margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.55}

.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0;padding:0;border:0}
.service-card{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr) 36px;align-items:center;gap:14px;min-height:102px;padding:7px 12px 7px 7px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.58);cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.service-card:hover{transform:translateY(-2px);border-color:rgba(0,113,227,.34);background:rgba(255,255,255,.86);box-shadow:0 12px 26px rgba(15,35,70,.1)}
.service-card:active{transform:translateY(0)}
.service-card:has(input:checked){border-color:rgba(0,113,227,.62);background:rgba(235,245,255,.78);box-shadow:0 0 0 3px var(--focus),0 12px 28px rgba(15,35,70,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.service-card input{position:absolute;opacity:0;pointer-events:none}
.service-card:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:3px}
.service-image{width:104px;height:88px;padding:5px;border:1px solid rgba(15,37,70,.09);border-radius:11px;background:#fff;object-fit:contain}
.service-copy{min-width:0}
.service-copy strong{display:block;color:var(--navy);font-size:14px;line-height:1.25}
.service-copy small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.38}
.card-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(0,113,227,.09);color:var(--blue);font-size:19px;transition:transform .2s ease,background .2s ease,color .2s ease}
.service-card:hover .card-arrow,.service-card:has(input:checked) .card-arrow{background:var(--blue);color:#fff;transform:none}
.service-card-wide{grid-column:1/-1}

.field{display:block;margin-bottom:18px;color:var(--navy);font-size:12px;font-weight:600;line-height:1.4}
.input-wrap{position:relative;display:block;margin-top:7px}
.field input,.field textarea,.field select{display:block;width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:14px;background:rgba(255,255,255,.72);color:var(--ink);font-size:15px;font-weight:400;line-height:1.45;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field input,.field select{height:52px;padding:12px 14px}
.field textarea{min-height:130px;padding:14px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#8993a3;opacity:1}
.field input:hover,.field textarea:hover,.field select:hover{background:#fff}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--focus)}
.field [aria-invalid="true"]{border-color:var(--danger);padding-bottom:25px}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.privacy-note,.delivery-note,.status{color:var(--muted);font-size:12px;line-height:1.6}
.delivery-note{margin:18px 0 0;padding:14px 16px;border:1px solid rgba(0,113,227,.16);border-radius:14px;background:rgba(235,245,255,.68)}
.status:empty{display:none}
.field-error{position:absolute;left:13px;bottom:6px;color:var(--danger);font-size:10px;font-weight:700;line-height:1.3}
.service-grid>.field-error{grid-column:1/-1;position:relative;left:auto;bottom:auto;margin:2px 0 0;padding:10px 13px;border-radius:11px;background:#fff1ef;color:#8e2e20;font-size:11px}

.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.summary>div{min-width:0}
.summary-label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.summary dt{color:var(--navy);font-size:12px;font-weight:600;line-height:1.4}
.summary-edit{min-height:28px;padding:2px 0;border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:700;text-decoration:none}
.summary-edit:hover{text-decoration:underline;text-underline-offset:3px}
.summary dd{display:flex;align-items:center;width:100%;min-height:52px;margin:7px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;overflow:auto;background:rgba(255,255,255,.66);color:var(--ink);font-size:14px;font-weight:400;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.summary dd.is-empty{color:#8993a3;font-style:italic}
.summary>div:nth-child(1),.summary>div:nth-child(4){grid-column:1/-1}

.form-actions{position:relative;z-index:3;display:flex;align-items:center;gap:12px;min-height:88px;padding:14px clamp(34px,5vw,64px);border-top:1px solid rgba(15,37,70,.08);background:rgba(250,252,255,.72);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%)}
.contact-help{display:flex;align-items:center;gap:11px;margin-right:auto}
.help-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(0,113,227,.09);color:var(--blue);font-size:12px;font-weight:700;letter-spacing:-.12em}
.contact-help p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.contact-help a{color:var(--blue);font-weight:600;text-decoration:none;white-space:nowrap}
.contact-help a:hover{text-decoration:underline;text-underline-offset:2px}
.next-button,.send-button{min-width:190px;min-height:52px;padding:12px 24px;font-size:14px}
.back-button{min-height:44px;padding:9px 13px;border:0;border-radius:999px;background:transparent;color:var(--blue);font-size:12px;font-weight:600}
.back-button:hover{background:rgba(0,113,227,.07)}
.send-button[disabled]{cursor:wait;opacity:.65;transform:none;box-shadow:none}
.restart-button{min-height:52px;padding:12px 22px;font-size:14px}
.success-close-button{min-height:46px;padding:10px 17px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.74);color:var(--navy);font-weight:600}

.success-panel{text-align:center;padding:10px 0 30px}
.success-script{margin:0;color:var(--blue);font-size:20px;font-weight:600}
.success-mark{display:block;color:var(--blue);font-size:48px;font-weight:800;line-height:1;letter-spacing:-.18em}
.success-panel h3{margin:8px 0;font:700 clamp(40px,5vw,62px)/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;letter-spacing:-.05em}
.success-panel>p:not(.success-script):not(.status){max-width:38ch;margin:0 auto 18px;color:var(--muted);line-height:1.6}
.success-name{font-weight:700}
.success-service{display:block;margin-top:5px;color:var(--blue);font-weight:700}
.success-reference{font-size:12px!important}
.wizard.is-thank-you .progress{display:none}
.wizard.is-thank-you #request-form{height:100%}
.wizard.is-thank-you .form-body{display:grid;align-content:center}
.wizard.is-thank-you .contact-help{display:none}
.wizard.is-thank-you .form-actions{justify-content:flex-end}

button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

@media(max-height:760px) and (min-width:761px){
  .wizard{height:calc(100dvh - 28px)}
  .progress{margin-top:18px}
  #request-form{height:calc(100% - 62px)}
  .form-body{padding-top:22px;padding-bottom:14px}
  .step-heading{margin-bottom:16px}
  .step-heading h2{font-size:44px}
  .service-card{grid-template-columns:86px minmax(0,1fr) 34px;min-height:86px}
  .service-image{width:86px;height:72px}
  .service-copy small{margin-top:3px}
  .form-actions{min-height:74px;padding-block:10px}
  .next-button,.send-button,.restart-button{min-height:48px}
}

@media(max-width:900px) and (min-width:761px){
  .wizard[open]{grid-template-columns:190px minmax(0,1fr)}
  .brand-panel{padding:30px 22px 24px}
  .brand-logo{width:145px}
  .brand-motto{font-size:13px}
  .progress{width:calc(100% - 128px);margin-left:28px}
  .form-body,.form-actions{padding-left:32px;padding-right:32px}
  .service-card{grid-template-columns:80px minmax(0,1fr) 32px;gap:10px}
  .service-image{width:80px;height:72px}
}

@media(max-width:760px){
  .wizard{position:fixed;inset:var(--wizard-top,0) 0 auto;width:100%;height:var(--wizard-height,100dvh);margin:0;border:0;border-radius:0;background:rgba(248,250,253,.92)}
  .wizard[open]{display:block}
  .brand-panel{display:none}
  .form-panel{height:100%;background:transparent}
  .close-button{position:fixed;top:calc(var(--wizard-top,0px) + 12px + env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:42px;height:42px;background:rgba(255,255,255,.86)}
  .progress{width:calc(100% - 74px);margin:calc(13px + env(safe-area-inset-top)) 0 0 max(13px,env(safe-area-inset-left));padding:3px}
  .progress button{min-height:34px;padding:4px;font-size:0}
  .progress-icon{width:22px;height:22px;font-size:9px}
  #request-form{height:calc(100% - 58px - env(safe-area-inset-top))}
  .form-body{padding:24px max(16px,env(safe-area-inset-right)) 18px max(16px,env(safe-area-inset-left));scrollbar-gutter:auto}
  .step-heading{margin-bottom:20px}
  .step-heading h2{font-size:clamp(38px,11vw,52px);line-height:.98}
  .step-heading p{margin-top:9px;font-size:13px}
  .service-grid{grid-template-columns:1fr;gap:9px}
  .service-card,.service-card-wide{grid-column:auto;grid-template-columns:76px minmax(0,1fr) 34px;gap:11px;min-height:82px;padding:5px 9px 5px 5px;border-radius:14px}
  .service-image{width:76px;height:70px;border-radius:10px}
  .service-copy strong{font-size:13px}
  .service-copy small{margin-top:3px;font-size:10px}
  .card-arrow{width:32px;height:32px;font-size:18px}
  .field-row{grid-template-columns:1fr;gap:0}
  .field{margin-bottom:15px}
  .field input,.field select{height:50px}
  .field textarea{min-height:112px}
  .summary{grid-template-columns:1fr}
  .summary>div:nth-child(3){grid-column:auto}
  .form-actions{min-height:82px;padding:11px max(16px,env(safe-area-inset-right)) max(11px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:7px}
  .contact-help{gap:7px;min-width:0}
  .help-icon{display:none}
  .contact-help p{font-size:9px;white-space:nowrap}
  .next-button,.send-button,.restart-button{min-width:0;min-height:50px;padding:11px 17px;font-size:13px}
  .back-button{padding-inline:8px}
  .success-panel{padding-top:20px}
  .wizard.is-thank-you .form-body{padding-top:max(64px,env(safe-area-inset-top))}
}

@media(max-width:390px){
  .service-card,.service-card-wide{grid-template-columns:66px minmax(0,1fr) 30px;gap:8px;min-height:74px}
  .service-image{width:66px;height:62px}
  .card-arrow{width:29px;height:29px}
  .contact-help p{display:none}
}

@media(prefers-reduced-transparency:reduce){
  .wizard,.form-panel,.form-actions,.close-button,.service-card:has(input:checked){-webkit-backdrop-filter:none;backdrop-filter:none}
  .wizard{background:#f2f5f9}
  .form-panel,.form-actions{background:#fff}
}

/* Collins Creative project form - open header redesign */
.wizard{
  --ink:#0b1538;
  --navy:#081943;
  --blue:#096cf0;
  --blue-hover:#045fd8;
  --muted:#68738c;
  --line:rgba(24,48,89,.13);
  --line-strong:rgba(24,48,89,.22);
  --focus:rgba(9,108,240,.24);
  color-scheme:light;
  width:min(1460px,calc(100vw - 48px));
  height:min(1060px,calc(100dvh - 48px));
  border-color:rgba(255,255,255,.92);
  border-radius:34px;
  background:
    radial-gradient(circle at 11% 88%,rgba(125,191,255,.2),transparent 31%),
    radial-gradient(circle at 89% 10%,rgba(126,185,255,.18),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.94),rgba(246,250,255,.88));
  box-shadow:0 40px 110px rgba(7,24,58,.34),inset 0 1px 0 rgba(255,255,255,.98);
}
.wizard[open]{display:block}
html.is-embedded .wizard{width:100%;height:100%;border-radius:32px}
.wizard::before{z-index:20}
.brand-panel{
  position:absolute;
  z-index:12;
  top:40px;
  left:54px;
  display:block;
  width:188px;
  padding:0;
  overflow:visible;
  border:0;
  background:none;
}
.brand-panel::before,.brand-motto,.brand-location{display:none}
.brand-logo{width:174px;margin:0;filter:none}
.form-panel{display:flex;height:100%;flex-direction:column;background:transparent}
.form-panel::before{
  width:520px;
  height:520px;
  right:-190px;
  top:-250px;
  background:rgba(102,172,255,.11);
  filter:blur(20px);
}
.close-button{
  right:28px;
  top:26px;
  width:52px;
  height:52px;
  border-color:rgba(24,48,89,.09);
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 24px rgba(15,35,70,.08),inset 0 1px 0 #fff;
}
.close-button img{width:22px;height:22px}
.progress{
  display:flex;
  justify-content:center;
  gap:18px;
  width:min(660px,calc(100% - 520px));
  margin:44px auto 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.progress li{display:flex;align-items:center;gap:16px;min-width:0}
.progress li:not(:last-child)::after{width:44px;height:1px;background:rgba(24,48,89,.18);content:""}
.progress button{
  justify-content:flex-start;
  gap:10px;
  width:auto;
  min-height:38px;
  padding:0;
  border-radius:0;
  color:#6c7690;
  font-size:13px;
  font-weight:500;
}
.progress-icon{
  width:34px;
  height:34px;
  background:#e7edf7;
  color:#6d7790;
  font-size:11px;
  font-weight:700;
}
.progress li[aria-current] button,.progress li.is-done button{background:transparent;box-shadow:none;color:var(--navy)}
.progress li[aria-current] .progress-icon,.progress li.is-done .progress-icon{background:var(--blue);color:#fff;box-shadow:0 6px 18px rgba(9,108,240,.22)}
#request-form{flex:1;height:auto;min-height:0}
.form-body{padding:64px 52px 34px;scrollbar-gutter:stable}
.step-heading,.step-panel{width:min(940px,100%);margin-inline:auto}
.step-heading{margin-bottom:32px;text-align:center}
.step-heading h2{max-width:none;font-size:clamp(48px,4.8vw,68px);line-height:.96;letter-spacing:-.055em}
.step-heading p{margin-top:15px;font-size:16px;line-height:1.5}
.service-grid{grid-template-columns:1fr;gap:0}
.service-card,.service-card-wide{
  grid-column:auto;
  grid-template-columns:132px minmax(0,1fr) 48px;
  gap:22px;
  min-height:106px;
  padding:12px 20px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  overflow:visible;
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.service-card:first-of-type{border-color:transparent;border-radius:22px;background:rgba(222,235,255,.62)}
.service-card:hover{transform:none;border-color:transparent;border-radius:22px;background:rgba(225,237,255,.72);box-shadow:0 10px 30px rgba(15,35,70,.07)}
.service-card:active{transform:scale(.995)}
.service-card:has(input:checked){border-color:rgba(9,108,240,.32);border-radius:22px;background:rgba(218,233,255,.82);box-shadow:0 0 0 3px var(--focus),0 12px 30px rgba(15,35,70,.08)}
.service-image{width:124px;height:78px;padding:0;border-color:rgba(24,48,89,.12);border-radius:9px;object-fit:cover}
.service-copy strong{font-size:17px;line-height:1.25}
.service-copy small{margin-top:6px;font-size:14px;line-height:1.4}
.card-arrow{width:46px;height:46px;background:rgba(9,108,240,.09);font-size:24px}
.service-card:hover .card-arrow,.service-card:has(input:checked) .card-arrow{background:var(--blue);color:#fff}
.field{font-size:13px}
.field input,.field textarea,.field select,.summary dd{background:rgba(255,255,255,.78)}
.field input::placeholder,.field textarea::placeholder,.summary dd.is-empty{color:#657089}
.form-actions{
  min-height:112px;
  padding:18px 54px;
  border-color:rgba(24,48,89,.08);
  background:rgba(250,252,255,.72);
  box-shadow:0 -10px 40px rgba(31,68,120,.035),inset 0 1px 0 rgba(255,255,255,.9);
}
.help-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-help{gap:18px}
.help-icon{width:56px;height:56px;background:rgba(9,108,240,.08);font-size:23px;font-weight:400;letter-spacing:0}
.contact-help p{font-size:13px;line-height:1.42}
.contact-help a{font-size:14px}
.next-button,.send-button{min-width:230px;min-height:64px;padding:14px 28px;font-size:16px;box-shadow:0 12px 28px rgba(9,108,240,.25)}
.back-button{font-size:13px}

@media(max-height:900px) and (min-width:761px){
  .wizard{height:calc(100dvh - 28px)}
  .brand-panel{top:28px}
  .progress{margin-top:29px}
  #request-form{height:auto}
  .form-body{padding-top:30px;padding-bottom:20px}
  .step-heading{margin-bottom:18px}
  .step-heading h2{font-size:48px}
  .step-heading p{margin-top:10px;font-size:14px}
  .service-card,.service-card-wide{grid-template-columns:104px minmax(0,1fr) 42px;min-height:82px;padding:7px 14px;gap:16px}
  .service-image{width:96px;height:66px}
  .service-copy strong{font-size:15px}
  .service-copy small{margin-top:3px;font-size:12px}
  .card-arrow{width:40px;height:40px;font-size:21px}
  .form-actions{min-height:86px;padding-block:11px}
  .help-icon{width:48px;height:48px;font-size:20px}
  .help-icon svg{width:26px;height:26px}
  .next-button,.send-button{min-height:54px}
}

@media(max-width:980px) and (min-width:761px){
  .brand-panel{left:34px;width:150px}
  .brand-logo{width:148px}
  .progress{width:min(560px,calc(100% - 360px));gap:10px}
  .progress li{gap:10px}
  .progress li:not(:last-child)::after{width:24px}
  .progress button{gap:7px;font-size:11px}
  .progress-icon{width:30px;height:30px}
  .form-body,.form-actions{padding-left:34px;padding-right:34px}
}

@media(max-width:760px){
  .wizard{width:100%;height:var(--wizard-height,100dvh);border-radius:0}
  html.is-embedded .wizard{width:100%;height:var(--wizard-height,100dvh);border-radius:0}
  .brand-panel{display:block;top:18px;left:max(16px,env(safe-area-inset-left));width:122px}
  .brand-logo{width:120px}
  .close-button{top:calc(var(--wizard-top,0px) + 12px + env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:44px;height:44px}
  .progress{width:calc(100% - 32px);margin:calc(77px + env(safe-area-inset-top)) auto 0;gap:8px}
  .progress li{flex:1;justify-content:center;gap:8px}
  .progress li:not(:last-child)::after{width:auto;min-width:12px;flex:1}
  .progress button{min-height:32px;font-size:0}
  .progress-icon{width:28px;height:28px;font-size:9px}
  #request-form{height:auto}
  .form-body{padding:24px max(16px,env(safe-area-inset-right)) 18px max(16px,env(safe-area-inset-left));scrollbar-gutter:auto}
  .step-heading{margin-bottom:20px}
  .step-heading h2{font-size:clamp(36px,10.5vw,48px)}
  .step-heading p{margin-top:10px;font-size:13px}
  .service-card,.service-card-wide{grid-template-columns:78px minmax(0,1fr) 34px;gap:12px;min-height:82px;padding:6px 9px 6px 6px;border-radius:0}
  .service-card:first-of-type,.service-card:hover,.service-card:has(input:checked){border-radius:14px}
  .service-image{width:76px;height:66px;border-radius:9px}
  .service-copy strong{font-size:13px}
  .service-copy small{margin-top:3px;font-size:10px}
  .card-arrow{width:32px;height:32px;font-size:18px}
  .form-actions{min-height:82px;padding:11px max(16px,env(safe-area-inset-right)) max(11px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .help-icon{display:none}
  .contact-help{gap:0}
  .contact-help p{font-size:9px}
  .next-button,.send-button,.restart-button{min-width:0;min-height:50px;padding:11px 17px;font-size:13px}
}

@media(max-width:390px){
  .service-card,.service-card-wide{grid-template-columns:66px minmax(0,1fr) 30px;gap:8px;min-height:74px}
  .service-image{width:64px;height:58px}
  .contact-help p{display:none}
}

@media(prefers-reduced-transparency:reduce){
  .wizard{background:#f6f9fd}
  .form-panel,.form-actions{background:#f9fbfe}
}

/* Refinements */
.service-card:first-of-type{background:transparent;border-color:var(--line);border-radius:0}
.service-card:first-of-type:hover,.service-card:first-of-type:has(input:checked){border-radius:22px}
.service-card,.service-card-wide{grid-template-columns:120px minmax(0,1fr) 48px;min-height:112px;padding:14px 22px 14px 14px}
.service-image{width:120px;height:90px;border:0;border-radius:12px;background:#eef3fa;object-fit:cover;box-shadow:0 1px 0 rgba(255,255,255,.8),0 6px 18px rgba(15,35,70,.08)}
.service-card:has(input:checked){background:rgba(218,233,255,.82)}
.service-card:has(input:checked) .card-arrow{background:var(--blue);color:#fff}
.card-arrow{font-size:0;position:relative}
.card-arrow::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(calc(-50% - 2px),-50%) rotate(45deg)}
.service-card:has(input:checked) .card-arrow::before{width:11px;height:6px;border-top:0;border-right:0;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,calc(-50% - 2px)) rotate(-45deg)}
.progress li:not(:last-child)::after{transition:background .3s ease}
.progress li.is-done:not(:last-child)::after{background:var(--blue)}
.progress li[aria-current] button{font-weight:600}
.field{font-size:14px}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 5l5 5 5-5' fill='none' stroke='%230b1538' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px}
.field input,.field textarea,.field select{border-radius:14px;font-size:16px}
.field input,.field select{height:56px;padding:12px 16px}
.field textarea{min-height:150px;padding:16px}
.field-row{gap:16px}
.field{margin-bottom:20px}
.privacy-note{margin-top:4px}
.summary dd{min-height:56px;font-size:15px}
.step-heading,.step-panel{animation:step-in .42s cubic-bezier(.2,.75,.25,1) both}
.step-panel[hidden]{animation:none}
@keyframes step-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.next-button .arrow,.send-button .arrow{display:inline-block;transition:transform .2s ease}
.next-button:hover span,.send-button:hover span{transform:translateX(3px)}
.next-button span,.send-button span,.restart-button span{display:inline-block;transition:transform .2s ease}
.back-button{min-height:52px;padding:10px 18px;border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--navy);font-size:14px}
.back-button:hover{background:#fff;border-color:var(--line-strong)}

.brand-logo{display:none}
.brand-lockup{display:inline-flex;align-items:baseline;gap:8px;color:#000;line-height:1;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif}
.brand-lockup-collins{font-family:Didot,"Bodoni 72","Bodoni MT",Georgia,serif;font-size:21px;font-weight:700;letter-spacing:-.035em}
.brand-lockup-creative{font-size:10.5px;font-weight:650;letter-spacing:.17em}
.brand-panel{top:44px;left:54px;width:auto}

/* Mobile app-style layout */
@media(max-width:760px){
  html.is-embedded,html.is-embedded body{height:100%;overflow:hidden}
  .wizard,html.is-embedded .wizard{top:0!important;bottom:auto!important;left:0!important;right:0!important;height:100dvh!important;height:var(--wizard-height,100dvh)!important;max-height:100dvh!important}
  .wizard[open]{display:flex!important;flex-direction:column}
  .brand-panel{flex:0 0 auto}
  .wizard,html.is-embedded .wizard{position:fixed;inset:0;width:100%;height:100%;height:100dvh;margin:0;border:0;border-radius:0;background:#f5f7fb;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .wizard::before{display:none}
  .form-panel{display:flex;flex:1 1 auto;min-height:0;height:auto;flex-direction:column;position:static}
  .form-panel::before{display:none}
  .brand-panel{position:static;display:flex;align-items:center;justify-content:center;width:auto;height:auto;margin:0;padding:calc(20px + env(safe-area-inset-top)) 20px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9)}
  .brand-logo{display:none}
  .brand-lockup{color:#000}
  .close-button{position:absolute;z-index:30;top:calc(12px + env(safe-area-inset-top));right:16px;bottom:auto;left:auto;transform:none;width:36px;height:36px;box-shadow:none;background:#eef2f8;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .close-button img{width:16px;height:16px}
  .brand-lockup{transform:translateY(1px)}
  .progress{width:100%;margin:0;padding:14px 18px 0;gap:0;justify-content:space-between}
  .progress li{flex:1 1 0;gap:0;justify-content:flex-start}
  .progress li:last-child{flex:0 0 auto}
  .progress li:not(:last-child)::after{flex:1 1 0;width:auto;min-width:8px;margin:0 8px}
  .progress button{flex:0 0 auto;width:auto;min-height:28px;padding:0;gap:0;font-size:0}
  .progress button>span:not(.progress-icon){display:none}
  .progress-icon{width:28px;height:28px;font-size:10px;box-shadow:none!important}
  #request-form{flex:1;display:flex;flex-direction:column;height:auto;min-height:0}
  .form-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:22px 18px 40px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .step-heading{margin-bottom:18px;text-align:left}
  .step-heading h2{font-size:clamp(34px,9.5vw,44px);line-height:1;letter-spacing:-.045em}
  .step-heading p{margin-top:8px;font-size:14px}
  .service-grid{gap:10px}
  .service-card,.service-card-wide,.service-card:first-of-type{grid-template-columns:84px minmax(0,1fr) 36px;gap:12px;min-height:88px;padding:10px 12px 10px 10px;border:1px solid var(--line);border-radius:22px;background:#fff}
  .service-card:hover{box-shadow:none;transform:none}
  .service-image{width:84px;height:64px;border-radius:10px;box-shadow:none}
  .service-copy strong{font-size:15px}
  .service-copy small{margin-top:3px;font-size:12px;line-height:1.35}
  .card-arrow{width:34px;height:34px}
  .field{margin-bottom:14px;font-size:13px}
  .field input,.field select{height:52px;font-size:16px}
  .field textarea{min-height:130px;font-size:16px}
  .summary{gap:12px}
  .summary>div:nth-child(1),.summary>div:nth-child(4){grid-column:auto}
  .form-actions{position:relative;flex:0 0 auto;flex-wrap:nowrap;min-height:0;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));gap:10px;border-top:1px solid var(--line);background:rgba(255,255,255,.92);box-shadow:none}
  .contact-help{display:none}
  .back-button{flex:0 0 auto;min-height:52px;padding:0 18px;font-size:15px}
  .next-button,.send-button,.restart-button{flex:1;min-width:0;min-height:52px;padding:0 18px;font-size:16px;box-shadow:none}
  .success-close-button{flex:0 0 auto;min-height:52px}
  .wizard.is-thank-you .form-body{display:grid;align-content:center;padding-top:24px}
  .success-panel{padding:0 0 12px}
  .success-panel h3{font-size:40px}
}

/* Cards must never stretch to fill leftover height (intermittent tall cards on iOS) */
.step-panel{display:block;flex:0 0 auto;height:auto;min-height:0}
.service-grid{grid-auto-rows:max-content;align-content:start;align-items:start;height:auto;min-height:0}
.service-card,.service-card-wide{align-self:start;height:auto;max-height:none;box-sizing:border-box}
.service-image{flex:none;max-height:100%}
.wizard:not(.is-thank-you) .form-body{display:block}

/* Optional: hide step indicator (?progress=0) */
html.no-progress .progress{display:none!important}
html.no-progress #request-form{height:100%!important}
@media(max-width:760px){html.no-progress .form-body{padding-top:28px!important}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Inline mode: the form is a normal in-flow section (contact page). No fixed positioning, no inner scrolling. */
.wizard[data-inline],.wizard[data-inline][open]{position:static!important;display:block!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;transform:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.wizard[data-inline]::before,.wizard[data-inline]::backdrop,.wizard[data-inline] .form-panel::before{display:none!important}
.wizard[data-inline] .close-button,.wizard[data-inline] .brand-panel,.wizard[data-inline] .success-close-button{display:none!important}
.wizard[data-inline] .form-panel{position:static!important;display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;background:transparent!important;padding:clamp(28px,4vw,44px) clamp(20px,4vw,52px) clamp(20px,3vw,32px)!important}
.wizard[data-inline] .progress{width:min(570px,100%)!important;margin:0 0 28px!important}
.wizard[data-inline] #request-form{display:block!important;height:auto!important;min-height:0!important}
.wizard[data-inline] .form-body{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0 0 24px!important;scrollbar-gutter:auto!important}
.wizard[data-inline] .step-heading,.wizard[data-inline] .step-panel{width:100%!important;margin-inline:0!important;text-align:left!important}
.wizard[data-inline] .form-actions{position:static!important;padding:20px 0 0!important;min-height:0!important;background:transparent!important;box-shadow:none!important;border-top:0!important}
.wizard[data-inline] .form-actions::before,.wizard[data-inline] .form-actions::after,.wizard[data-inline] .form-body::after{display:none!important}
/* Inline step bar: homepage chip system */
.wizard[data-inline] .progress{display:flex!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;margin:0 0 36px!important;padding:0 0 4px!important;overflow-x:auto;scrollbar-width:none}
.wizard[data-inline] .progress::-webkit-scrollbar{display:none}
.wizard[data-inline] .progress li{flex:0 0 auto;gap:0!important}
.wizard[data-inline] .progress li:not(:last-child)::after{display:none!important}
.wizard[data-inline] .progress button{display:inline-flex;align-items:center;gap:9px;height:40px;min-height:40px;padding:0 16px 0 8px!important;border:1px solid #d2d2d7!important;border-radius:999px!important;background:#fff!important;color:#1d1d1f!important;font-size:15px!important;font-weight:500!important;letter-spacing:-.01em;box-shadow:none!important;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.wizard[data-inline] .progress button:hover{border-color:#1d1d1f!important}
.wizard[data-inline] .progress button:focus{outline:none}
.wizard[data-inline] .progress button:focus-visible{outline:2px solid #0071e3;outline-offset:3px}
.wizard[data-inline] .progress-icon{width:24px!important;height:24px!important;border-radius:50%;background:#f5f5f7!important;color:#6e6e73!important;font-size:11px!important;font-weight:600!important;letter-spacing:.02em;box-shadow:none!important}
.wizard[data-inline] .progress li.is-done button{color:#1d1d1f!important}
.wizard[data-inline] .progress li.is-done .progress-icon{background:#0071e3!important;color:#fff!important}
.wizard[data-inline] .progress li[aria-current] button{background:#1d1d1f!important;border-color:#1d1d1f!important;color:#fff!important}
.wizard[data-inline] .progress li[aria-current] .progress-icon{background:rgba(255,255,255,.16)!important;color:#fff!important}
@media(max-width:760px){.wizard[data-inline] .progress{margin-bottom:26px!important}.wizard[data-inline] .progress button{height:38px;min-height:38px;font-size:14px!important;padding:0 14px 0 7px!important}.wizard[data-inline] .progress button>span:not(.progress-icon){display:inline!important}}
.wizard[data-inline].is-thank-you .form-body{display:block!important;padding-top:0!important}
@media(max-width:760px){
  .wizard[data-inline],.wizard[data-inline][open]{position:static!important;height:auto!important;max-height:none!important}
  .wizard[data-inline] .form-panel{padding:24px 18px 18px!important}
  .wizard[data-inline] .progress{padding:0!important;margin-bottom:22px!important}
  .wizard[data-inline] .form-body{padding:0 0 20px!important}
  .wizard[data-inline] .form-actions{padding:16px 0 0!important}
}
