/* Dunyevy Digital — white-canvas design and non-overlapping ad application sidebar.
   Loaded last, after styles.css and premium.css; no functional JavaScript changed. */
:root {
  --bg:#ffffff;
  --panel:#ffffff;
  --surface:#ffffff;
  --surface-2:#f4fafb;
  --text:#142c39;
  --muted:#546c77;
  --border-subtle:#dce9ed;
  --light-accent:#087e90;
}
html, body {background:#fff!important;}
body {color:var(--text);background-image:none!important;}
/* Default headings and descriptions sit directly on a clean white canvas. */
body main > .section,
body main > .expanded-section {background:#fff;}
.section h2,.section-head h2,.expanded-section h2,
.split-block h2,.campaign-heading h2,
.contact-card h2,.contact-aside h2,
.success-main h1 {color:#132e3d;}
.section h2 span,.section-head h2 span,.expanded-section h2 span,
.split-block h2 span,.campaign-heading h2 span,
.success-main h1 span {color:var(--light-accent);}
.kicker {color:#077e90;}
.section-intro,.expanded-section>p,.split-block p,
.campaign-heading p,.success-main p {color:#4b6471;}
.micro,.fine,.tiny-note {color:#5a707d;}
/* The brand's existing dark header and hero keep their original high contrast. */
.site-header {background:#071722;}
.site-header .kicker,.hero-main .kicker,.stat-panel .kicker,.advertise-band .kicker,
.bottom-cta .kicker {color:#62e1ed;}
.hero-main,.stat-panel,.advertise-band,.bottom-cta {color:#f7fbfc;}
.hero-main h1,.stat-panel h2,.advertise-band h2,.bottom-cta h2 {color:#f7fbfc;}
.hero-main h1 span,.advertise-band h2 span,.bottom-cta h2 span {color:#54e1ec;}
.hero-main .micro {color:#afc4ce;}
.page-hero {background:linear-gradient(180deg,#effbfe 0%,#ffffff 100%);}
.page-hero h1 {color:#142d3b;}
.page-hero h1 span {color:var(--light-accent);}
.page-hero p {color:#4e6774;}
/* Editorial cards: lighter surfaces and calmer visual rhythm. */
.info-card,.steps-grid article,.overview-card,
.home-rate-grid article,.faq-list details,.contact-card,.contact-aside,
.gallery-card,.ad-card,.sample-grid article,
.contact-options>a {
  background:#fff;
  border:1px solid #dfebee;
  box-shadow:0 7px 24px rgba(23,60,75,.045);
  color:#172f3d;
}
.info-card h3,.steps-grid h3,.overview-card h3,.home-rate-grid h3,
.faq-list summary,.gallery-card figcaption,.ad-card figcaption,
.contact-card h2,.contact-aside h2 {color:#163342;}
.info-card p,.steps-grid p,.overview-card p,
.sample-grid p,.faq-list details p,.home-rate-grid p,.contact-card>p {color:#526a76;}
.info-icon,.steps-grid article>span {color:#ea6b24;}
.overview-card a {color:#087d90;}
.overview-card img {background:#f1f8fa;}
.gallery-card img,.ad-card img {background:#f1f8fa;}
.sample-grid article {overflow:hidden;}
.home-rate-grid strong {color:#087e90;}
.faq-list details[open] {border-color:#7fc8d1;background:#f8fdfe;}
.faq-list summary:after {color:#087e90;}
/* Light sections are distinct from retained brand-color callouts. */
.detail-banner {
  background:#edf8fb;
  border-color:#c9e7ec;
  color:#153441;
}
.detail-banner h3 {color:#173340;}
.detail-banner p,.detail-banner small {color:#526b76;}
.feature {background:#f3f9fb;border-color:#e2edf0;color:#15323e;}
.feature strong {color:#17323f;}
.feature small {color:#556d77;}
.home-contact {
  background:linear-gradient(135deg,#f1fbfd,#eaf8fb);
  border-color:#d1e9ee;
  color:#173542;
  margin-top:35px;
}
.home-contact h2 {color:#142f3c;}
.home-contact h2 span {color:#087f91;}
.home-contact>p {color:#526f7a;}
.contact-options>a {background:#fff;}
.contact-options>a:hover {background:#f6fcfd;border-color:#58aebe;}
.contact-options small {color:#68808a;}
.contact-options strong {color:#1c3542;}
/* The CTA areas retain a recognisable dark branded treatment. */
.ad-application-promo {background:linear-gradient(120deg,#0e3442,#092431);color:white;}
.ad-application-promo h2,.ad-application-promo .kicker {color:white;}
.ad-application-promo h2 span {color:#65e4ef;}
.ad-application-promo p {color:#d0e3e9;}
.ad-application-promo .promo-mini {color:#f8fdff;}
.bottom-cta {background:linear-gradient(115deg,#103440,#071e2c);}
.bottom-cta p {color:#bfd6df;}
/* Contact page */
.contact-link {color:#087d90;}
.contact-card form label,.contact-card .campaign-field {color:#173641;}
.contact-card form :is(input,select,textarea),
.contact-aside form :is(input,select,textarea) {
  background:#fff;color:#193440;border-color:#b8d0d9;
}
.contact-card form :is(input,textarea)::placeholder {color:#748991;}
/* Advertise campaign wizard */
.campaign-form,.campaign-summary {
  background:#fff;
  border:1px solid #d9e7eb;
  box-shadow:0 10px 30px rgba(16,55,69,.055);
  color:#163441;
}
.campaign-summary {position:static!important;top:auto!important;align-self:start;}
.campaign-heading-mark span {color:#0c8493;}
.campaign-step {background:#f5fafb;color:#536e78;border-color:#d9e8ec;}
.campaign-step.is-active {background:#e9f8fb;color:#0a7e91;border-color:#3ba5b5;}
.campaign-step.is-complete {color:#18785e;border-color:#9cd8c5;}
.duration-option,.area-option,.method-option {
  background:#f9fcfd;color:#193643;border-color:#d3e5e9;
}
.duration-option small,.area-option small {color:#5c7480;}
.duration-option.is-selected,.area-option:has(input:checked),.method-option:has(input:checked) {
  background:#e9f8fb;border-color:#20a1b4;color:#163946;
}
.duration-option.is-selected strong,.area-option .area-price {color:#087f92;}
.area-option .area-price em {color:#59707a;}
.area-option.is-featured {background:linear-gradient(110deg,#e9f7fa,#f6fbfd);}
.pricing-caution {background:#fff4e9;color:#794318;border-left-color:#e77d2d;}
.campaign-back {color:#286477;border-color:#bed6dd;}
.campaign-field {color:#163642;}
.campaign-field :is(input,textarea,select),
form :is(input,textarea,select) {
  background:#fff;color:#163542;border-color:#bfd4db;
}
.campaign-field :is(input,textarea)::placeholder,
form :is(input,textarea)::placeholder {color:#788b94;}
.campaign-review {background:#f5fbfc;border-color:#cfe4e8;}
.campaign-copy {color:#0a7e8f;border-color:#75b5c0;}
.campaign-result {color:#146f58;}
/* Ad application page: light, readable form and non-sticky summary. */
.apply-hero {background:linear-gradient(115deg,#effafd,#e7f5fa);border-color:#d4e9ef;color:#163440;box-shadow:0 6px 22px rgba(14,57,72,.045);}
.apply-hero h1 {color:#153643;}
.apply-hero h1 span {color:#087f90;}
.apply-hero p {color:#526c78;}
.apply-feature-list span {color:#12687b;background:#d9f1f6;border-color:#cce8ee;}
.apply-backlink {color:#087e90;}
.apply-layout {align-items:start;}
.apply-form {background:#fff;border:1px solid #d7e6eb;box-shadow:0 8px 32px rgba(16,55,69,.055);color:#193541;}
.apply-section-head h2 {color:#143440;}
.apply-section-head h2 span,.apply-section-head h2 em {color:#087f90;}
.apply-section-head p {color:#506c79;}
.apply-section-head>span {color:#d65f20;}
.apply-area,.artwork-choice label {background:#f9fcfd;color:#1c3947;border-color:#d4e5eb;}
.apply-area small {color:#607985;}
.apply-area b {color:#087e91;}
.apply-area.is-featured {background:linear-gradient(105deg,#e7f8fb,#f5fcfd);}
.apply-area:has(input:checked),.artwork-choice label:has(input:checked) {background:#e7f8fb;border-color:#23a2b4;}
.apply-upload-block {background:#f7fbfc;border-color:#d4e9ee;}
.apply-dropzone {background:linear-gradient(160deg,#eef9fc,#f8fdfe);border-color:#8ac6d0;}
.apply-dropzone:hover,.apply-dropzone:focus-within {background:#e8f7fa;border-color:#0d899b;}
.apply-dropzone strong {color:#173846;}
.apply-dropzone .upload-icon {color:#087e90;}
.apply-dropzone>span:not(.upload-icon) {color:#566f7d;}
.apply-upload-block>input[type=file] {color:#415e6b;}
.apply-design-help,.apply-preview-image {background:#f0fafc;border-color:#bde0e7;color:#163b49;}
.apply-design-help p {color:#526b76;}
.apply-submit-row {background:#eaf8fb;border-color:#cbe7ed;}
.apply-submit-row small {color:#367482;}
.apply-submit-row strong {color:#087e90;}
.apply-submit-row>div>span {color:#546d79;}
.apply-aside {
  position:static!important;
  display:flex;
  flex-direction:column;
  gap:16px;
  align-self:start;
  min-width:0;
}
.apply-aside-card {
  position:static!important;
  top:auto!important;
  transform:none!important;
  background:#f5fafc;
  border:1px solid #cfe7ed;
  box-shadow:none;
  color:#163745;
  width:100%;
  min-width:0;
}
.apply-aside-card h3 {color:#173542;}
.apply-aside-card h3 span {color:#087f90;}
.apply-aside-line {border-color:#d4e5e9;}
.apply-aside-line small {color:#617c87;}
.apply-aside-line strong {color:#193744;overflow-wrap:anywhere;}
.apply-aside-line .apply-summary-rate {color:#087e90;}
.apply-aside-card p {color:#57717b;}
.apply-assistance {background:#fff;border:1px solid #dce9ed;color:#1a3845;}
.apply-assistance strong {color:#da6228;}
.apply-assistance p {color:#536e79;}
.apply-assistance a {color:#087e91;}
.apply-example img {border-color:#dce9ed;}
.privacy-accept {background:#f5fafb;color:#1c3d4a;border-color:#dce9ec;}
.apply-error,.campaign-error {color:#ba3927;}
/* Protect overlay content and dark-gallery dialog contrast. */
dialog {background:#0c202b;color:white;}
.photo-tile span,.photo-overlay,.campaign-photo div {color:white;}
footer {background:#091823;color:#c4d6db;}
footer .footer-brand {color:#fff;}
footer .footer-brand span {color:#55deed;}
.footer-inner {color:#adc5cf;}
@media (max-width:1050px) {
  .apply-aside {display:flex;flex-direction:column;}
}
@media (max-width:720px) {
  .apply-aside {display:flex;flex-direction:column;}
}


/* Typography refinement: same Barlow Condensed family, calmer weight and spacing. */
body {font-size:19px; font-weight:400!important; line-height:1.58; letter-spacing:.008em; -webkit-font-smoothing:antialiased;}
body :is(p,li,small,figcaption,input,textarea,select,option) {font-weight:400!important; letter-spacing:.006em;}
body :is(h1,h2,h3,h4,h5,h6) {text-wrap:balance; letter-spacing:.002em;}
body h1 {font-weight:700!important; line-height:1.03!important;}
body h2 {font-weight:600!important; line-height:1.12!important;}
body h3,body h4 {font-weight:600!important; line-height:1.2!important;}
body :is(strong,b) {font-weight:600;}
.logo,.footer-brand {font-weight:700!important;}
.logo b {font-weight:700!important;}
.logo small {font-weight:500!important;}
.navigation a {font-weight:600!important; letter-spacing:.01em;}
.btn,.header-mail,.menu-toggle {font-weight:600!important; letter-spacing:.012em;}
.kicker {font-weight:600!important; letter-spacing:.095em;}
.checklist li {font-weight:400!important;}
.checklist li:before {font-weight:600!important;}
.hero-copy h1 {line-height:1.02!important;}
.hero-copy h1 em {font-weight:700;}
.hero-copy>p,.page-hero p,.info-card p,.steps-grid p,.overview-card p,.section-intro {line-height:1.54!important;}
.stat-panel>strong {font-weight:700!important;}
.stat-panel h2 {font-weight:600!important;}
.category-grid small,.category-icon small {font-weight:500!important;}
.advertise-band .adv-points p {font-weight:500!important;}
.attention strong {font-weight:700!important;line-height:1.04!important;}
.photo-tile span,.feature strong,.faq-list summary {font-weight:600!important;}
.campaign-step,.duration-option strong,.area-option strong,.apply-area strong,
.apply-aside-line strong,.apply-dropzone strong,.apply-submit-row strong,
.home-rate-grid strong,.campaign-summary strong,.contact-options strong {font-weight:600!important;}
.campaign-field,form label {font-weight:500!important;}
.apply-aside-card h3 {font-weight:600!important;}
/* Retain bold only for important numbers / brand accents. */
.area-option .area-price,.apply-area b,.apply-summary-rate,.apply-form-total {font-weight:700!important;}
/* Apply page: the right-hand summary must scroll naturally, not float over content. */
.apply-layout {display:grid; align-items:start; min-width:0;}
.apply-layout > * {min-width:0;}
.apply-aside,.apply-aside-card,.apply-assistance,.apply-example {position:static!important; top:auto!important; bottom:auto!important; transform:none!important; float:none!important;}
.apply-aside {align-self:start!important; height:auto!important; max-height:none!important; overflow:visible!important; z-index:auto!important;}
.apply-aside-card,.apply-assistance,.apply-example {max-width:100%;}
/* Give the 2 columns a comfortable amount of separation. */
@media (min-width:1051px) {.apply-layout {grid-template-columns:minmax(0,1.52fr) minmax(280px,.60fr); gap:26px;}}
@media (max-width:1050px) {.apply-layout {grid-template-columns:1fr; gap:20px;} .apply-aside {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;} .apply-example {display:none;}}
@media (max-width:650px) {.apply-aside {grid-template-columns:1fr;} .hero-copy h1 {line-height:1.01!important;}}
/* Consistent light backgrounds on home content sections and any embedded campaign steps. */
body main {background:#fff;}
.campaign-summary h3,.campaign-heading h2,.apply-section-head h2 {color:#163342;}
.campaign-form .stage-top h3,.campaign-review h3 {color:#173643;}
.campaign-summary small,.campaign-summary p,.campaign-review p {color:#526b76;}
.campaign-stage .stage-top p {color:#506a76;}
.review-reminder {color:#546d79;}
/* Mobile tap targets remain generous without excessive visual weight. */
@media(max-width:1120px) {.navigation a {font-weight:600!important;}}
/* Contrast polish after switching the canvas to white. */
.site-header .logo > span {color:#f4fbfd!important;}
.site-header .logo b {color:#40d9e9!important;}
.site-header .logo small {color:#7ddae5!important;}
.site-header .navigation a:not(.active) {color:#daeaf0!important;}
.site-header .navigation a:hover {color:#78edf7!important;}
.site-header .header-mail {color:#091e28!important;}
.apply-hero-art > div {background:rgba(6,28,40,.94);}
.apply-hero-art > div strong {color:#3be2f0;}
.apply-hero-art > div span {color:#d5f2f6;}
.apply-aside .apply-example {overflow:hidden;}
