/*
  DentalDoor — demo/contact page styles
  Shared by demo.html and contact.html.
*/

/* ===== forms-inline-style-2 ===== */
/* This file used to alias the global --dd-* tokens to short local names
   (--serif,--ink,...). Those locals are now namespaced too,so the
   alias mapped each token onto itself - a cycle,which makes a custom
   property invalid and would have blanked the type and colour on every
   form page. The aliases earn nothing now that both sides share a name:
   consumers read the globals from style.css directly. */
:where(.dd-site),:where(.dd-site) *{box-sizing:border-box}html.dd-site-host,body.dd-site{margin:0;min-height:100%;background:var(--dd-surface);color:var(--dd-ink);font-family:var(--dd-sans)}body.dd-site{overflow-x:hidden}:where(.dd-site) a{color:inherit;text-decoration:none}:where(.dd-site) button,:where(.dd-site) input,:where(.dd-site) select,:where(.dd-site) textarea{font:inherit}
.dd-page-header{position:fixed;inset:0 0 auto 0;height:80px;z-index:100010;pointer-events:none}.dd-page-logo{position:fixed;left:50%;top:43%;width:210px;transform:translate(-50%,-50%) scale(1.08);transform-origin:left top;opacity:.42;filter:blur(1.5px);transition:left .95s var(--dd-ease),top .95s var(--dd-ease),width .95s var(--dd-ease),transform .95s var(--dd-ease),opacity .55s ease,filter .75s ease;pointer-events:auto}.dd-page-logo img{display:block;width:100%;height:auto}.dd-page-actions{position:fixed;right:24px;top:18px;display:flex;align-items:center;gap:8px;pointer-events:auto}.dd-page-action{min-height:42px;padding:0 16px;border:1px solid rgba(20,64,79,.12);border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(12px);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:650}.dd-page-action--primary{background:#123746;color:#f1fbfd;border-color:#123746}.dd-menu-btn{width:44px;height:44px;border:0;background:transparent;color:#123746;position:relative;cursor:pointer}.dd-menu-btn i{position:absolute;left:12px;width:20px;height:1.5px;background:currentColor;border-radius:2px;transition:.3s ease}.dd-menu-btn i:nth-child(1){top:14px}.dd-menu-btn i:nth-child(2){top:21px}.dd-menu-btn i:nth-child(3){top:28px}.dd-menu-btn[aria-expanded="true"] i:nth-child(1){top:21px;transform:rotate(45deg)}.dd-menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}.dd-menu-btn[aria-expanded="true"] i:nth-child(3){top:21px;transform:rotate(-45deg)}
.dd-page{min-height:100vh;display:grid;align-items:center;padding:116px clamp(24px,5vw,84px) 64px;position:relative;overflow:hidden}.dd-page::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,rgba(129,220,241,.18),transparent 29%),linear-gradient(145deg,#f9fcfd 0%,#eef6f8 58%,#f6fbfc 100%);z-index:0}.dd-page::after{content:"";position:absolute;left:-8%;right:-8%;top:9%;height:1px;background:linear-gradient(90deg,transparent,rgba(40,112,134,.09),transparent);transform:rotate(-4deg);z-index:0}.dd-page-inner{position:relative;z-index:1;width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:clamp(52px,7vw,112px);align-items:center}.dd-copy{max-width:560px}.dd-eyebrow{margin:0 0 18px;color:#309bc0;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.dd-title{margin:0;font-family:var(--dd-serif);font-size:clamp(62px,6.2vw,104px);font-weight:400;line-height:.9;letter-spacing:-.055em}.dd-lede{margin:28px 0 0;max-width:46ch;color:#607f8a;font-size:17px;line-height:1.55}.dd-value-list{margin:34px 0 0;padding:0;list-style:none;border-top:1px solid var(--dd-line)}.dd-value-list li{display:grid;grid-template-columns:24px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--dd-line);align-items:center}.dd-value-list b{width:6px;height:6px;border-radius:50%;background:#56c7e5;box-shadow:0 0 0 5px rgba(86,199,229,.10)}.dd-value-list span{font-size:13px;color:#466b78}.dd-form-shell{border:1px solid rgba(27,88,106,.10);border-radius:30px;background:rgba(255,255,255,.78);box-shadow:0 34px 90px -58px rgba(16,63,78,.42);backdrop-filter:blur(18px);padding:clamp(26px,3.2vw,44px)}.dd-form-kicker{margin:0;color:#3b9dbc;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.dd-form-title{margin:9px 0 6px;font-family:var(--dd-serif);font-size:clamp(34px,3vw,48px);font-weight:400;letter-spacing:-.035em}.dd-form-intro{margin:0 0 26px;color:#78909a;font-size:13px;line-height:1.5}.dd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dd-field{display:grid;gap:7px}.dd-field--full{grid-column:1/-1}.dd-field label{font-size:11px;font-weight:700;color:#395e6b}.dd-field input,.dd-field select,.dd-field textarea{width:100%;min-height:48px;border:1px solid rgba(27,88,106,.13);border-radius:13px;background:rgba(247,251,252,.94);color:#103441;padding:12px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.dd-field textarea{min-height:100px;resize:vertical}.dd-field input:focus,.dd-field select:focus,.dd-field textarea:focus{border-color:rgba(53,173,207,.55);box-shadow:0 0 0 4px rgba(83,197,226,.09);background:#fff}.dd-submit{margin-top:20px;width:100%;min-height:52px;border:0;border-radius:999px;background:#0d3443;color:#f4fbfd;font-weight:760;cursor:pointer;transition:transform .2s ease,background .2s ease}.dd-submit:hover{transform:translateY(-1px);background:#145066}.dd-submit:disabled{opacity:.58;cursor:wait}.dd-form-note{margin:13px 0 0;color:#8aa0a8;font-size:10.5px;line-height:1.45}.dd-form-status{min-height:19px;margin-top:12px;font-size:11px;color:#407487}.dd-form-status.dd-is-error{color:#9b4348}.dd-success{display:none;padding:42px 8px;text-align:center}.dd-success.dd-is-visible{display:block}.dd-success-mark{width:54px;height:54px;border-radius:50%;margin:0 auto 18px;background:#dff6fb;display:grid;place-items:center;color:#1989aa;font-size:24px}.dd-success h2{font-family:var(--dd-serif);font-size:40px;font-weight:400;margin:0}.dd-success p{color:#6d8993;line-height:1.5}.dd-menu-panel{position:fixed;inset:0;z-index:100000;background:#06212c;color:white;display:grid;place-items:center;clip-path:circle(0 at calc(100% - 46px) 40px);visibility:hidden;transition:clip-path .66s var(--dd-ease),visibility 0s linear .66s}.dd-menu-panel.dd-is-open{clip-path:circle(150% at calc(100% - 46px) 40px);visibility:visible;transition:clip-path .66s var(--dd-ease),visibility 0s}.dd-menu-links{display:grid;text-align:center;gap:12px}.dd-menu-links a{font-family:var(--dd-serif);font-size:clamp(36px,5vw,64px);font-weight:400}.dd-menu-links a:hover{color:#aeeafb}.dd-route-layer{position:fixed;inset:0;z-index:99980;pointer-events:none}.dd-route-shade{position:absolute;inset:0;background:rgba(2,18,26,.70);opacity:0;transition:opacity .32s ease}.dd-route-sheet{position:absolute;left:-10vw;top:-4vh;width:120vw;height:108vh;background:#f7fbfc;clip-path:polygon(0 0,92% 0,100% 100%,8% 100%);transform:translate3d(0,0,0);transition:transform .72s var(--dd-ease);will-change:transform}.dd-enter-content{opacity:.12;filter:blur(14px);transform:translateY(24px) scale(1.055);transition:opacity .72s ease .22s,filter .86s ease .18s,transform .9s var(--dd-ease) .16s}.dd-enter-secondary{opacity:0;transform:translateY(18px);transition:opacity .62s ease .46s,transform .76s var(--dd-ease) .42s}.dd-enter-tertiary{opacity:0;transform:translateY(14px);transition:opacity .62s ease .60s,transform .76s var(--dd-ease) .56s}body.dd-page-ready .dd-page-logo{left:24px;top:20px;width:139px;transform:none;opacity:1;filter:none}body.dd-page-ready .dd-route-sheet{transform:translate3d(-112vw,0,0)}body.dd-page-ready .dd-enter-content{opacity:1;filter:none;transform:none}body.dd-page-ready .dd-enter-secondary,body.dd-page-ready .dd-enter-tertiary{opacity:1;transform:none}body.dd-route-out .dd-route-shade{opacity:1}body.dd-route-out .dd-route-sheet{transform:translate3d(0,0,0)}
@media(max-width:900px){.dd-page-inner{grid-template-columns:1fr;gap:36px}.dd-copy{max-width:680px}.dd-title{font-size:clamp(58px,10vw,88px)}.dd-form-shell{max-width:720px}.dd-page{align-items:start;padding-top:128px}.dd-page-logo{left:24px!important;top:20px!important;width:128px!important;transform:none!important;opacity:1!important;filter:none!important}.dd-route-sheet{transition-duration:.58s}.dd-enter-content{transform:translateY(18px) scale(1.025)}}
@media(max-width:600px){.dd-page{padding:104px 16px 34px}.dd-page-actions{right:10px;top:10px}.dd-page-action{display:none}.dd-menu-btn{display:block}.dd-title{font-size:clamp(52px,16vw,72px)}.dd-lede{font-size:15px;margin-top:20px}.dd-value-list{margin-top:25px}.dd-form-shell{padding:22px 16px;border-radius:22px}.dd-form-grid{grid-template-columns:1fr}.dd-field--full{grid-column:auto}.dd-page-logo{left:14px!important;top:16px!important;width:116px!important}.dd-menu-links a{font-size:42px}}
@media(prefers-reduced-motion:reduce){:where(.dd-site),:where(.dd-site) *,:where(.dd-site) *:before,:where(.dd-site) *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.dd-route-sheet{transform:translate3d(-112vw,0,0)!important}.dd-enter-content,.dd-enter-secondary,.dd-enter-tertiary{opacity:1!important;filter:none!important;transform:none!important}.dd-page-logo{left:24px!important;top:20px!important;width:139px!important;transform:none!important;opacity:1!important;filter:none!important}}

/* ===== dd-vectr-destination-entry-v2 ===== */
/* Header stays visually stable,matching the supplied transition reference. */
.dd-page-logo{left:24px!important;top:20px!important;width:139px!important;transform:none!important;opacity:1!important;filter:none!important;transition:none!important;}

/* Destination typography settles while the diagonal reveal is completing. */
html.dd-arriving body:not(.dd-page-ready) .dd-title.dd-enter-content{
  opacity:.24;filter:blur(3.5px);transform:translate3d(clamp(46px,8vw,150px),-2.5vh,0) scale(1.34);
  transform-origin:left top;
}
html.dd-arriving body.dd-page-ready .dd-title.dd-enter-content{
  opacity:1;filter:none;transform:none;
  transition:opacity .48s ease .08s,filter .58s ease .06s,transform .68s cubic-bezier(.22,.8,.2,1) .04s;
}
html.dd-arriving body:not(.dd-page-ready) .dd-eyebrow,
html.dd-arriving body:not(.dd-page-ready) .dd-lede,
html.dd-arriving body:not(.dd-page-ready) .dd-value-list{opacity:0;transform:translateY(14px);}
html.dd-arriving body.dd-page-ready .dd-eyebrow{transition-delay:.26s;}
html.dd-arriving body.dd-page-ready .dd-lede{transition-delay:.34s;}
html.dd-arriving body.dd-page-ready .dd-value-list{transition-delay:.44s;}

/* Form builds in progressively after the page lands,like the reference recording. */
html.dd-arriving body:not(.dd-page-ready) .dd-form-shell{opacity:.34;transform:translateY(12px);}
html.dd-arriving .dd-field,
html.dd-arriving .dd-submit,
html.dd-arriving .dd-form-note{opacity:0;transform:translateY(10px);}
html.dd-arriving body.dd-page-ready .dd-field,
html.dd-arriving body.dd-page-ready .dd-submit,
html.dd-arriving body.dd-page-ready .dd-form-note{
  opacity:1;transform:none;transition:opacity .42s ease,transform .52s cubic-bezier(.22,.8,.2,1);
}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(1){transition-delay:.42s}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(2){transition-delay:.48s}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(3){transition-delay:.54s}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(4){transition-delay:.60s}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(5){transition-delay:.66s}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(6){transition-delay:.72s}
html.dd-arriving body.dd-page-ready .dd-field:nth-child(7){transition-delay:.78s}
html.dd-arriving body.dd-page-ready .dd-submit{transition-delay:.82s}
html.dd-arriving body.dd-page-ready .dd-form-note{transition-delay:.88s}

/* Fallback transition preview inside the diagonal sheet. */
.dd-route-preview{position:absolute;inset:0;display:flex;align-items:flex-start;padding:clamp(78px,10vh,124px) clamp(28px,7vw,118px);opacity:0;transform:translate3d(16vw,-1.5vh,0) scale(1.20);transform-origin:left top;transition:opacity .30s ease .18s,transform .64s var(--dd-ease) .10s;color:#0a2c39;}
.dd-route-preview h2{margin:0;max-width:900px;font-family:var(--dd-serif);font-size:clamp(58px,7.2vw,116px);font-weight:400;line-height:.88;letter-spacing:-.055em;}
body.dd-route-out .dd-route-preview{opacity:.92;transform:none;}

@media(max-width:900px){
  .dd-page-logo{left:24px!important;top:20px!important;width:128px!important;}
  html.dd-arriving body:not(.dd-page-ready) .dd-title.dd-enter-content{transform:translate3d(5vw,-1vh,0) scale(1.18);}
}
@media(max-width:600px){.dd-page-logo{left:14px!important;top:16px!important;width:116px!important;}}
@media(prefers-reduced-motion:reduce){
  html.dd-arriving body:not(.dd-page-ready) .dd-title.dd-enter-content,
  html.dd-arriving .dd-field,html.dd-arriving .dd-submit,html.dd-arriving .dd-form-note{opacity:1!important;filter:none!important;transform:none!important;}
}

/* Non-visual anti-spam field. */
.dd-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* ===== dd-mobile-polish-v1 (forms) =====
   The form kicker and the consent note sat just under a readable size on
   phones; both are copy the user is expected to read before submitting. */
@media (max-width: 600px) {
  .dd-form-kicker { font-size: 11px; }
  .dd-form-note { font-size: 11.5px; line-height: 1.5; }
}

/* The header wordmark is a ~32px-tall link back home. Give it a full-height
   touch target on touch devices without nudging the mark itself. */
@media (hover: none) and (pointer: coarse) {
  .dd-page-logo::after {
    content: "";
    position: absolute;
    left: -8px; right: -8px;
    top: 50%; height: 44px;
    transform: translateY(-50%);
  }
}

/* ======================================================================
   REGISTRATION — step indicator and field help
   The live registration app at /registration is a four-step flow; this page
   is its first step,so it shows the whole path rather than dropping the
   visitor into an unlabelled form.
   ====================================================================== */
.dd-steps{
  display:flex; flex-wrap:wrap; gap:8px 18px;
  list-style:none; margin:0 0 26px; padding:0;
}
.dd-steps__item{
  display:flex; align-items:center; gap:9px;
  font-size:12.5px; font-weight:600; color:#7b96a3;
}
.dd-steps__num{
  display:grid; place-items:center;
  width:23px; height:23px; border-radius:999px;
  font-size:11.5px; font-weight:700;
  background:rgba(16,74,97,.08); color:#50788a;
}
.dd-steps__item.dd-is-current{ color:#0d3b50; }
.dd-steps__item.dd-is-current .dd-steps__num{ background:#10506b; color:#fff; }

.dd-field__help{
  display:block; margin-top:7px;
  font-size:12.5px; line-height:1.45; color:#6d8b99;
}
.dd-field__badge{
  display:inline-block; margin-left:2px; padding:2px 8px;
  border-radius:999px; font-size:11px; font-weight:650;
  background:rgba(16,74,97,.07); color:#5b7f90; white-space:nowrap;
}
@media (max-width:600px){
  .dd-steps{ gap:7px 14px; }
  .dd-steps__item{ font-size:11.5px; }
}
