/* ==========================================================================
   DialMyPlane site layer, V02. Loads AFTER thumb360-kit.css.
   Tokens come from the kit's re-themed SECTION 1 (DialMyPlane style guide).
   No raw hex below this line except the tokens declared here.
   ========================================================================== */

@font-face{font-family:'Cormorant';font-style:normal;font-weight:300 700;font-display:swap;size-adjust:118%;src:url(../fonts/Cormorant-var.woff2) format('woff2')}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:300 700;font-display:swap;size-adjust:118%;src:url(../fonts/Cormorant-var-i.woff2) format('woff2')}
@font-face{font-family:'Roboto';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Roboto-var.woff2) format('woff2')}
@font-face{font-family:'Roboto';font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/Roboto-var-i.woff2) format('woff2')}

:root{
  --on-dark: #FAF8F4;
  --on-dark-mute: #CFDBE2;
  --scrim: rgba(16,28,39,0.55);
  --scrim-strong: rgba(16,28,39,0.72);
  --hair-dark: rgba(250,248,244,0.16);
  --white: #FFFFFF;
  --success: #2F7A57; --success-bg: #E1F0E7;
  --danger: #B3463A;  --danger-bg: #F5E1DE;
  --section-y: clamp(64px, 9vw, 112px);
}

h1,h2,h3,h4{font-weight:600;letter-spacing:-0.01em;line-height:1.08}
h3{line-height:1.15}
.dmp-num{font-variant-numeric:tabular-nums}

/* ---------- buttons: pill, amber primary (style guide) ---------- */
.t3-btn{font-family:var(--font-body);border-radius:999px;font-size:.95rem;padding:12px 24px;letter-spacing:0}
.t3-btn-primary{background:var(--signal-500);color:var(--ink-strong)}
.t3-btn-primary:hover{background:var(--signal-600);color:var(--ink-strong);box-shadow:var(--shadow-md)}
.t3-btn-secondary{background:transparent;color:var(--brand-800);border-color:var(--brand-300)}
.t3-btn-secondary:hover{background:var(--brand-100);border-color:var(--brand-600)}
.t3-btn-lg{min-height:52px;padding:14px 30px;font-size:1rem}
.on-dark .t3-btn-secondary,.t3-on-dark .t3-btn-secondary{color:var(--on-dark);border-color:var(--hair-dark);background:transparent}
.on-dark .t3-btn-secondary:hover,.t3-on-dark .t3-btn-secondary:hover{background:rgba(250,248,244,.1);border-color:var(--on-dark-mute);color:var(--on-dark)}
.dmp-link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--brand-800)}
.dmp-link svg{width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-out)}
.dmp-link:hover svg{transform:translateX(3px)}
.on-dark .dmp-link{color:var(--signal-400)}

/* ---------- icons ---------- */
.dmp-ico{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.dmp-ico-badge{width:44px;height:44px;border-radius:12px;background:var(--brand-100);color:var(--brand-800);display:grid;place-items:center;flex-shrink:0}
.on-dark .dmp-ico-badge{background:rgba(250,248,244,.08);color:var(--signal-400)}

/* ---------- header ---------- */
.t3-header{background:var(--surface-0)}
.t3-header-inner{gap:var(--sp-6)}
.t3-logo img{height:40px;width:auto}
.t3-logo .dmp-logo-ondark{display:none}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .dmp-logo-onlight{display:none}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .dmp-logo-ondark{display:block}
.t3-nav-link{font-family:var(--font-body);font-size:.94rem;font-weight:500}
.t3-nav-link:hover{background:var(--brand-100);color:var(--brand-950)}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-nav-link{color:var(--on-dark)}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-nav-link:hover,
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-nav-link[aria-expanded="true"]{background:rgba(250,248,244,.12);color:var(--white)}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-burger span,
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-burger span::before,
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-burger span::after{background:var(--on-dark)}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-burger[aria-expanded="true"] span{background:transparent}
.t3-nav-link[aria-current="page"]::after{background:var(--signal-500)}
.t3-header[data-transparent="true"]:not([data-scrolled="true"]) .t3-nav-link[aria-current="page"]{color:var(--white)}
.t3-header[data-scrolled="true"]{background:rgba(250,248,244,.96);backdrop-filter:none}
.dmp-hero-offset{margin-top:calc(var(--header-h) * -1)}

/* ---------- mega menu ---------- */
.t3-mega{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--sp-6) var(--sp-6) var(--sp-5)}
.t3-mega-heading{font-family:var(--font-body);font-weight:600;letter-spacing:.1em;font-size:.72rem}
.t3-mega-link{display:flex;gap:14px;align-items:flex-start;padding:10px 12px;margin-inline:-12px}
.t3-mega-link:hover{background:var(--surface-1);color:var(--brand-950)}
.t3-mega-link strong{font-family:var(--font-body);font-size:.95rem}
.t3-mega-link span{font-size:.82rem}
.t3-mega-link .dmp-ico-badge{width:40px;height:40px;border-radius:10px}
.t3-mega-link .dmp-ico-badge .dmp-ico{width:20px;height:20px}
.t3-mega-link > div strong,.t3-mega-link > div span{display:block}
.t3-mega-link:hover .dmp-ico-badge{background:var(--signal-100);color:var(--signal-600)}
.t3-mega-all{font-family:var(--font-body);font-size:.85rem;color:var(--brand-800)}
.t3-mega-feature{background:var(--surface-inverse);color:var(--on-dark);padding:var(--sp-5);position:relative;overflow:hidden;min-height:260px}
.t3-mega-feature .t3-kicker{font-family:var(--font-body);color:var(--signal-400);font-weight:600;letter-spacing:.12em}
.t3-mega-feature h4{font-size:1.7rem;color:var(--white);line-height:1.1;margin-bottom:var(--sp-3)}
.t3-mega-feature p{color:var(--on-dark-mute);font-size:.88rem}
.t3-mega-feature > *{position:relative;z-index:1}
.t3-mega-feature .dmp-slot{position:absolute;inset:0;border-radius:0;z-index:0}
.t3-mega-feature .dmp-slot::after{content:"";position:absolute;inset:0;background:var(--scrim-strong)}
.t3-mega-proof{font-family:var(--font-body);letter-spacing:.02em;font-size:.8rem;align-items:center}
.t3-mega-proof a{font-weight:600;color:var(--brand-800)}
.dmp-mega-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) 300px}

/* ---------- drawer ---------- */
.t3-drawer{background:var(--surface-0)}
.t3-acc-trigger{font-family:var(--font-body);font-weight:500;font-size:1.05rem}
.t3-drawer-head img{height:34px;width:auto}
.t3-drawer-contact a{font-size:.95rem}

/* ---------- image slots ---------- */
.dmp-slot{position:relative;overflow:hidden;background:var(--brand-900);border-radius:var(--radius-lg);aspect-ratio:var(--ar,16/10);isolation:isolate}
.dmp-slot > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.dmp-slot-ph{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(14px,2vw,24px);color:var(--on-dark-mute)}
.dmp-slot-ph svg.arc{position:absolute;right:-8%;top:-14%;width:78%;height:auto;opacity:.5}
.dmp-slot-ph b{font:600 .68rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-400);margin-bottom:8px}
.dmp-slot-ph span{font-size:.82rem;line-height:1.4;max-width:34ch;color:var(--on-dark-mute)}
.dmp-slot-ph code{font:500 .7rem var(--font-mono);color:var(--brand-300);margin-top:8px}
.dmp-slot.is-full{aspect-ratio:auto;border-radius:0;position:absolute;inset:0}

/* ---------- sections ---------- */
.dmp-section{padding-block:var(--section-y)}
.dmp-section--alt{background:var(--surface-1)}
.dmp-section--dark{background:var(--surface-inverse);color:var(--on-dark-mute)}
.dmp-section--dark h2,.dmp-section--dark h3{color:var(--on-dark)}
.dmp-eyebrow{font:600 .78rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--signal-600);margin:0 0 var(--sp-4);display:block}
.on-dark .dmp-eyebrow,.dmp-section--dark .dmp-eyebrow{color:var(--signal-400)}
.dmp-lead{font-size:var(--fs-lead);color:var(--ink-mute);max-width:60ch;line-height:1.6}
.on-dark .dmp-lead,.dmp-section--dark .dmp-lead{color:var(--on-dark-mute)}
.dmp-head{max-width:720px;margin-bottom:clamp(32px,5vw,56px)}
.dmp-head h2{margin-bottom:var(--sp-4)}
.dmp-head--row{max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-5)}

/* ---------- hero ---------- */
.dmp-hero{background:var(--surface-inverse);color:var(--on-dark);position:relative;overflow:hidden;
  padding-top:calc(var(--header-h) + clamp(40px,7vw,88px));padding-bottom:clamp(88px,10vw,136px)}
.dmp-hero .t3-container{position:relative;z-index:2}
.dmp-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:center}
.dmp-hero h1{color:var(--on-dark);font-size:var(--fs-h1);margin-bottom:var(--sp-5);max-width:14ch}
.dmp-hero h1 em{font-style:italic;color:var(--signal-400);font-weight:500}
.dmp-hero p.dmp-lead{color:var(--on-dark-mute);margin-bottom:var(--sp-6)}
.dmp-hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.dmp-hero-media{--ar:4/5;max-height:620px;justify-self:end;width:100%}
.dmp-hero-media .dmp-slot{--ar:4/5;box-shadow:var(--shadow-lg)}
.dmp-hero-tag{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:10px;background:var(--scrim-strong);color:var(--on-dark);padding:10px 14px;border-radius:999px;font-size:.82rem;font-weight:500}
.dmp-hero-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--signal-500)}
.dmp-hero--sub{padding-bottom:clamp(48px,6vw,88px)}
.dmp-hero--sub h1{font-size:clamp(2.4rem,4.6vw,4rem);max-width:18ch}
.dmp-hero--sub .dmp-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.dmp-hero--sub .dmp-hero-media .dmp-slot{--ar:5/4}
.dmp-crumbs{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--on-dark-mute);margin-bottom:var(--sp-5)}
.dmp-crumbs a{color:var(--on-dark-mute)}
.dmp-crumbs a:hover{color:var(--white)}
.dmp-crumbs span[aria-hidden]{opacity:.5}

/* ---------- quick request bar ---------- */
.dmp-qr-wrap{position:relative;z-index:5;margin-top:calc(-1 * clamp(52px,6vw,72px))}
.dmp-qr{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(16px,2.4vw,24px);
  display:grid;grid-template-columns:1.2fr 1.2fr .9fr .7fr auto;gap:14px;align-items:end}
.dmp-qr-title{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:baseline;margin:0}
.dmp-qr-title strong{font:600 1.35rem var(--font-head);color:var(--ink-strong)}
.dmp-qr-title span{font-size:.85rem;color:var(--ink-mute)}

/* ---------- forms ---------- */
.dmp-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.dmp-field label,.dmp-legend{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--ink-mute)}
.dmp-field input,.dmp-field select,.dmp-field textarea{font:400 1rem var(--font-body);color:var(--ink-strong);background:var(--white);border:1px solid var(--surface-2);border-radius:var(--radius-sm);padding:0 14px;min-height:48px;width:100%;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.dmp-field textarea{padding:12px 14px;min-height:112px;resize:vertical}
.dmp-field input::placeholder,.dmp-field textarea::placeholder{color:var(--ink-faint)}
.dmp-field input:hover,.dmp-field select:hover,.dmp-field textarea:hover{border-color:var(--brand-500)}
.dmp-field input:focus,.dmp-field select:focus,.dmp-field textarea:focus{outline:none;border-color:var(--brand-600);box-shadow:0 0 0 3px rgba(61,98,128,.3)}
.dmp-field[data-invalid="true"] input,.dmp-field[data-invalid="true"] select,.dmp-field[data-invalid="true"] textarea{border-color:var(--danger)}
.dmp-err{display:none;font-size:.82rem;color:var(--danger);font-weight:500}
.dmp-field[data-invalid="true"] .dmp-err{display:block}
.dmp-hint{font-size:.82rem;color:var(--ink-mute)}
.dmp-chips{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin:0}
.dmp-chip{position:relative}
.dmp-chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.dmp-chip span{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:1px solid var(--surface-2);border-radius:999px;background:var(--white);font-weight:500;font-size:.95rem;color:var(--ink-strong);transition:all var(--dur-fast) var(--ease-out)}
.dmp-chip:hover span{border-color:var(--brand-500)}
.dmp-chip input:checked + span{background:var(--brand-900);border-color:var(--brand-900);color:var(--on-dark)}
.dmp-chip input:focus-visible + span{outline:2px solid var(--brand-600);outline-offset:2px}
.dmp-check{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:var(--ink)}
.dmp-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--brand-800);flex-shrink:0}

/* ---------- cards & rails ---------- */
.t3-card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius);padding:0;box-shadow:none;overflow:hidden;display:flex;flex-direction:column}
.t3-card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-md);transform:none}
.dmp-card-body{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);flex:1}
.dmp-card-body h3{margin:0;font-size:1.65rem}
.dmp-card-body p{margin:0;color:var(--ink-mute);font-size:.95rem}
.dmp-card-body .dmp-link{margin-top:auto;padding-top:var(--sp-2)}
.t3-card .dmp-slot{border-radius:0;--ar:3/2}
.t3-rail-btn{border-radius:999px}
.dmp-grid{display:grid;gap:clamp(16px,2.4vw,28px)}
.dmp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dmp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dmp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

/* ---------- steps ---------- */
.dmp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px);counter-reset:s;margin:0;padding:0;list-style:none}
.dmp-steps li{position:relative;padding-top:var(--sp-5);border-top:1px solid var(--line)}
.dmp-steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);display:block;font:italic 500 2.6rem/1 var(--font-head);color:var(--signal-600);margin-bottom:var(--sp-4)}
.dmp-steps h3{font-size:1.5rem;margin-bottom:var(--sp-2)}
.dmp-steps p{color:var(--ink-mute);font-size:.95rem;margin:0}
.dmp-section--dark .dmp-steps li{border-top-color:var(--hair-dark)}
.dmp-section--dark .dmp-steps p{color:var(--on-dark-mute)}

/* ---------- destinations ---------- */
.dmp-dest-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.dmp-dest{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:260px;display:flex;align-items:flex-end;color:var(--on-dark);isolation:isolate;grid-column:span 4}
.dmp-dest.is-wide{grid-column:span 6;min-height:340px}
.dmp-dest .dmp-slot{position:absolute;inset:0;border-radius:0;aspect-ratio:auto;z-index:0}
.dmp-dest::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(16,28,39,.88) 0%,rgba(16,28,39,.5) 38%,rgba(16,28,39,0) 74%)}
.dmp-dest-body{position:relative;z-index:3;padding:var(--sp-5);width:100%}
.dmp-dest-body h3{color:var(--white);margin:0 0 4px;font-size:1.9rem}
.dmp-dest-body p{margin:0;color:var(--on-dark-mute);font-size:.9rem}
.dmp-dest-body .code{font:500 .75rem var(--font-mono);letter-spacing:.1em;color:var(--signal-400);display:block;margin-bottom:6px}
.dmp-dest .dmp-slot-ph{justify-content:flex-start}
.dmp-dest:hover .dmp-slot{transform:scale(1.02)}
.dmp-dest .dmp-slot{transition:transform var(--dur-slow) var(--ease-out)}

/* ---------- principles / lists ---------- */
.dmp-principle{display:flex;flex-direction:column;gap:var(--sp-3)}
.dmp-principle h3{font-size:1.5rem;margin:0}
.dmp-principle p{margin:0;color:var(--ink-mute);font-size:.95rem}
.on-dark .dmp-principle p,.dmp-section--dark .dmp-principle p{color:var(--on-dark-mute)}
.dmp-ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.dmp-ticks li{display:flex;gap:12px;align-items:flex-start;color:var(--ink)}
.dmp-ticks li::before{content:"";width:18px;height:18px;border-radius:50%;background:var(--signal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23C97F1D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E") center/12px no-repeat;margin-top:3px;flex-shrink:0}
.dmp-section--dark .dmp-ticks li{color:var(--on-dark)}
.dmp-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,88px);align-items:center}
.dmp-split .dmp-slot{--ar:4/3}
.dmp-spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-5)}
.dmp-spec div{border-top:1px solid var(--line);padding-top:var(--sp-4)}
.dmp-spec dt{font:600 .75rem var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}
.dmp-spec dd{margin:0;font-size:1.02rem;color:var(--ink-strong)}

/* ---------- FAQ ---------- */
.dmp-faq{max-width:820px}
.dmp-faq details{border-bottom:1px solid var(--line)}
.dmp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:600 1.45rem/1.2 var(--font-head);color:var(--ink-strong);min-height:44px}
.dmp-faq summary::-webkit-details-marker{display:none}
.dmp-faq summary::after{content:"";width:22px;height:22px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23294962' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform var(--dur-base) var(--ease-out)}
.dmp-faq details[open] summary::after{transform:rotate(45deg)}
.dmp-faq summary:hover{color:var(--brand-700)}
.dmp-faq details p{margin:0 0 22px;color:var(--ink-mute);max-width:64ch}

/* ---------- request flow ---------- */
.dmp-flow{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.dmp-flow-rail{position:sticky;top:calc(var(--header-h-scrolled) + 24px)}
.dmp-flow-rail ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.dmp-flow-rail li{display:flex;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;color:var(--ink-mute);font-weight:500}
.dmp-flow-rail li .n{width:30px;height:30px;border-radius:50%;border:1px solid var(--surface-2);display:grid;place-items:center;font:600 .82rem var(--font-body);flex-shrink:0;background:var(--white)}
.dmp-flow-rail li[aria-current="step"]{background:var(--surface-card);color:var(--ink-strong);box-shadow:var(--shadow-sm)}
.dmp-flow-rail li[aria-current="step"] .n{background:var(--brand-900);border-color:var(--brand-900);color:var(--on-dark)}
.dmp-flow-rail li[data-done="true"] .n{background:var(--signal-500);border-color:var(--signal-500);color:var(--ink-strong)}
.dmp-flow-card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,3.4vw,44px);box-shadow:var(--shadow-md)}
.dmp-flow-card h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:var(--sp-2)}
.dmp-step{display:none}
.dmp-step[data-active="true"]{display:block;animation:dmp-in var(--dur-base) var(--ease-out)}
@keyframes dmp-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dmp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:var(--sp-5)}
.dmp-fields .full{grid-column:1/-1}
.dmp-flow-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--line)}
.dmp-summary{display:grid;gap:0;margin:var(--sp-5) 0;border:1px solid var(--line);border-radius:var(--radius)}
.dmp-summary div{display:flex;justify-content:space-between;gap:20px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:.95rem}
.dmp-summary div:last-child{border-bottom:0}
.dmp-summary dt{color:var(--ink-mute)}
.dmp-summary dd{margin:0;font-weight:500;text-align:right;color:var(--ink-strong)}
.dmp-notice{display:flex;gap:12px;padding:14px 16px;border-radius:12px;background:var(--brand-100);color:var(--brand-900);font-size:.9rem;align-items:flex-start}
.dmp-notice.is-ok{background:var(--success-bg);color:var(--success)}

/* ---------- operator band / cta ---------- */
.dmp-band{background:var(--surface-inverse-2);border-radius:var(--radius-lg);padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:center;color:var(--on-dark-mute)}
.dmp-band h2{color:var(--on-dark)}
.dmp-cta{text-align:center;max-width:760px;margin-inline:auto}
.dmp-cta h2{font-size:clamp(2.2rem,4.4vw,3.6rem)}
.dmp-cta .dmp-lead{margin-inline:auto;margin-bottom:var(--sp-6)}
.dmp-cta .dmp-hero-actions{justify-content:center}

/* ---------- footer ---------- */
.t3-footer{background:var(--surface-inverse);padding-top:var(--sp-9);color:var(--on-dark-mute)}
.t3-footer a{color:var(--on-dark-mute)}
.t3-footer-col-heading{font-family:var(--font-body);color:var(--brand-300);letter-spacing:.14em}
.dmp-footer-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2.7fr);gap:clamp(32px,6vw,88px);padding-bottom:var(--sp-8)}
.dmp-footer-brand img{height:46px;width:auto;margin-bottom:var(--sp-5)}
.dmp-footer-brand p{font:italic 500 1.5rem/1.25 var(--font-head);color:var(--on-dark);max-width:20ch;margin-bottom:var(--sp-5)}
.dmp-footer-contact{display:grid;gap:10px;font-size:.92rem}
.dmp-footer-contact a,.dmp-footer-contact span{display:flex;gap:10px;align-items:center;min-height:32px}
.dmp-footer-contact .dmp-ico{width:18px;height:18px;color:var(--signal-400)}
.t3-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:0}
.t3-footer-list a{font-size:.93rem;padding-block:7px;min-height:36px}
.dmp-tbc{background:rgba(240,169,48,.14);color:var(--signal-200);border-radius:6px;padding:1px 8px;font-size:.78rem;font-weight:500}
.t3-footer-trust{font-size:.82rem;letter-spacing:.02em;color:var(--on-dark-mute);gap:12px 28px}
.t3-footer-trust span{display:inline-flex;align-items:center;gap:8px}
.t3-footer-trust span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--signal-500)}
.t3-footer-bottom{font-size:.82rem}
.dmp-conv{background:var(--surface-1);padding-block:var(--section-y)}

/* ---------- prose ---------- */
.dmp-prose{max-width:760px}
.dmp-prose h2{font-size:2rem;margin-top:var(--sp-7)}
.dmp-prose p,.dmp-prose li{color:var(--ink);line-height:1.7}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .dmp-qr{grid-template-columns:1fr 1fr}
  .dmp-qr .dmp-qr-go{grid-column:1/-1}
  .dmp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dmp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dmp-footer-top{grid-template-columns:1fr}
}
@media (max-width:900px){
  .dmp-hero-grid,.dmp-hero--sub .dmp-hero-grid{grid-template-columns:1fr}
  .dmp-hero h1{max-width:none}
  .dmp-hero-media{order:2;max-width:560px;justify-self:stretch}
  .dmp-hero-media .dmp-slot{--ar:16/11}
  .dmp-split,.dmp-band,.dmp-flow{grid-template-columns:1fr}
  .dmp-flow-rail{position:static}
  .dmp-flow-rail ol{grid-auto-flow:column;grid-auto-columns:1fr;overflow-x:auto}
  .dmp-flow-rail li{flex-direction:column;text-align:center;padding:10px 6px;font-size:.78rem}
  .dmp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dmp-dest,.dmp-dest.is-wide{grid-column:span 6}
}
@media (max-width:640px){
  .dmp-qr{grid-template-columns:1fr}
  .dmp-grid-2,.dmp-grid-3,.dmp-grid-4,.dmp-steps,.dmp-fields{grid-template-columns:1fr}
  .dmp-dest,.dmp-dest.is-wide{grid-column:1/-1;min-height:240px}
  .t3-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dmp-hero-actions .t3-btn{width:100%}
  .dmp-flow-nav{flex-wrap:wrap}
  .t3-logo img{height:34px}
}
@media (prefers-reduced-motion:reduce){
  .dmp-step[data-active="true"]{animation:none}
  .dmp-dest .dmp-slot{transition:none}
}

/* ---------- slot variants ---------- */
.dmp-slot.is-bg .dmp-slot-ph b,.dmp-slot.is-bg .dmp-slot-ph span,.dmp-slot.is-bg .dmp-slot-ph code{display:none}
.dmp-slot.is-bg{aspect-ratio:auto}
.dmp-dest .dmp-slot-ph span,.dmp-dest .dmp-slot-ph code{display:none}
.dmp-dest .dmp-slot-ph svg.arc{right:-6%;top:-30%;width:70%}

/* ---------- fixes after first render ---------- */
.dmp-slot{margin:0}
.dmp-hero-media{position:relative}
.dmp-hero .t3-btn-secondary,.dmp-section--dark .t3-btn-secondary,.dmp-band .t3-btn-secondary{color:var(--on-dark);border-color:var(--hair-dark);background:transparent}
.dmp-hero .t3-btn-secondary:hover,.dmp-section--dark .t3-btn-secondary:hover,.dmp-band .t3-btn-secondary:hover{background:rgba(250,248,244,.1);border-color:var(--on-dark-mute);color:var(--white)}
.t3-logo img{height:50px}
.dmp-hero h1{font-size:clamp(2.6rem,4.9vw,4.3rem);max-width:none;text-wrap:balance}
h1,h2{text-wrap:balance}
.dmp-hero--sub h1{max-width:20ch}
[data-t3-rail-wrap]{--edge:max(var(--gutter),calc((100vw - var(--maxw)) / 2 + var(--gutter)))}
[data-t3-rail-wrap] .t3-rail{margin-inline:0;padding-inline:var(--edge);scroll-padding-inline-start:var(--edge);padding-bottom:var(--sp-5)}
@media (min-width:1024px){[data-t3-rail-wrap] .t3-rail > *{flex-basis:min(31%,420px)}}

.dmp-hero-tag{top:16px;bottom:auto}
.dmp-band .dmp-ticks li{color:var(--on-dark)}
.dmp-band .dmp-slot{background:var(--surface-inverse)}

/* ---------- mega menu: anchor to the header container so every panel centres on the page grid ---------- */
.t3-header-inner{position:relative}
.t3-nav,.t3-nav-list,.t3-nav-item{position:static}
.t3-mega{max-height:none;padding:28px 32px 20px}
.t3-mega-feature{min-height:0}
.t3-mega-link.is-compact{align-items:center;padding:7px 12px}
.t3-mega-link.is-compact > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%}
.t3-mega-link.is-compact span{margin:0;font:500 .72rem var(--font-mono);letter-spacing:.08em;color:var(--ink-faint)}
.t3-mega-link.is-compact .dmp-ico-badge{width:34px;height:34px;border-radius:9px}
.t3-mega-link.is-compact .dmp-ico-badge .dmp-ico{width:18px;height:18px}

/* ---------- hidden must always win (buttons and fields set display) ---------- */
[hidden]{display:none!important}
@media (max-width:900px){.dmp-hero-media .dmp-slot{--ar:16/11!important}}

/* ---------- contrast fixes ---------- */
:root{--signal-700:#8F5A10} /* derived darker amber for small text on light grounds. Proposed addition to the style guide. */
.dmp-eyebrow{color:var(--signal-700)}
.dmp-hero .dmp-eyebrow,.dmp-section--dark .dmp-eyebrow,.dmp-band .dmp-eyebrow{color:var(--signal-400)}
.dmp-steps li::before{color:var(--signal-700)}
.dmp-section--dark .dmp-steps li::before{color:var(--signal-400)}
.dmp-tbc{background:var(--signal-100);color:var(--ink)}
.t3-footer .dmp-tbc{background:rgba(240,169,48,.14);color:var(--signal-200)}

/* ---------- photo credits ---------- */
.dmp-credit{position:absolute;right:12px;bottom:10px;z-index:3;font:500 .72rem var(--font-body);color:var(--on-dark);background:var(--scrim);padding:4px 10px;border-radius:999px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmp-table{width:100%;border-collapse:collapse;font-size:.95rem}
.dmp-table th,.dmp-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.dmp-table th{font:600 .75rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}

/* ==========================================================================
   V02 photo layer: full-bleed heroes, photographic conversion band, image motion.
   ========================================================================== */
.dmp-hero--photo{min-height:clamp(560px,76vh,800px);display:flex;align-items:flex-end;
  padding-top:calc(var(--header-h) + 72px);padding-bottom:clamp(56px,7vw,104px)}
.dmp-hero--photo > .t3-container{width:100%}
.dmp-hero--home{min-height:clamp(660px,94vh,960px);padding-bottom:clamp(128px,13vw,184px)}
.dmp-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--surface-inverse)}
.dmp-hero-bg .dmp-slot{position:absolute;inset:0;border-radius:0;aspect-ratio:auto}
.dmp-hero-bg .dmp-slot > img{animation:dmp-drift 28s cubic-bezier(.2,.6,.2,1) both;transform-origin:62% 55%}
.dmp-hero-bg::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:
   linear-gradient(180deg,rgba(16,28,39,.62) 0%,rgba(16,28,39,0) 24%),
   linear-gradient(0deg,rgba(16,28,39,.9) 0%,rgba(16,28,39,.5) 36%,rgba(16,28,39,0) 72%),
   linear-gradient(90deg,rgba(16,28,39,.74) 0%,rgba(16,28,39,.3) 45%,rgba(16,28,39,0) 68%)}
.dmp-hero-copy{max-width:min(660px,100%)}
.dmp-hero--photo h1{font-size:clamp(2.5rem,5.2vw,4.6rem);max-width:15ch;text-shadow:0 2px 24px rgba(16,28,39,.35)}
.dmp-hero--home h1{font-size:clamp(2.9rem,6.2vw,5.6rem);max-width:12ch}
.dmp-hero--photo .dmp-lead{max-width:48ch;color:var(--on-dark)}
.dmp-hero--photo .dmp-crumbs{margin-bottom:var(--sp-6)}
@keyframes dmp-drift{from{transform:scale(1.08)}to{transform:scale(1)}}

/* conversion band over a photograph */
.dmp-conv--photo{position:relative;overflow:hidden;background:var(--surface-inverse);color:var(--on-dark)}
.dmp-conv-bg{position:absolute;inset:0;z-index:0}
.dmp-conv-bg .dmp-slot{position:absolute;inset:0;border-radius:0;aspect-ratio:auto}
.dmp-conv-bg::after{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at 50% 50%,rgba(16,28,39,.78) 0%,rgba(16,28,39,.6) 60%,rgba(16,28,39,.5) 100%)}
.dmp-conv--photo > .t3-container{position:relative;z-index:2}
.dmp-conv--photo h2{color:var(--on-dark);text-shadow:0 2px 24px rgba(16,28,39,.4)}
.dmp-conv--photo .dmp-lead{color:var(--on-dark)}
.dmp-conv--photo .dmp-eyebrow{color:var(--signal-400)}
.dmp-conv--photo{padding-block:clamp(88px,12vw,160px)}

/* image motion on cards and tiles */
.t3-card .dmp-slot > img{transition:transform .9s var(--ease-out)}
.t3-card:hover .dmp-slot > img{transform:scale(1.045)}
.dmp-dest .dmp-slot > img{transition:transform 1.1s var(--ease-out)}
.dmp-dest:hover .dmp-slot > img{transform:scale(1.05)}
.dmp-split .dmp-slot,.dmp-band .dmp-slot{box-shadow:var(--shadow-lg)}

@media (max-width:900px){
  .dmp-hero--photo{min-height:560px;padding-top:calc(var(--header-h) + 48px)}
  .dmp-hero--home{min-height:640px;padding-bottom:140px}
  .dmp-hero-bg::after{background:
   linear-gradient(180deg,rgba(16,28,39,.62) 0%,rgba(16,28,39,0) 24%),
   linear-gradient(0deg,rgba(16,28,39,.92) 0%,rgba(16,28,39,.62) 50%,rgba(16,28,39,.15) 85%)}
}
@media (prefers-reduced-motion:reduce){
  .dmp-hero-bg .dmp-slot > img{animation:none}
  .t3-card .dmp-slot > img,.dmp-dest .dmp-slot > img{transition:none}
}

/* ---------- form handler states (V02) ---------- */
.dmp-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.dmp-notice.is-error{background:var(--danger-bg);color:var(--danger);margin-top:var(--sp-5)}
.dmp-notice.is-error[hidden]{display:none!important}
button[aria-busy="true"]{opacity:.7;cursor:progress}
