/* Dream World theme. Mobile-first. Tokens mirror the approved design; accent colours are overridden
   from dwc_setting('brand.*') via :root variables emitted in <head>. */

@font-face{font-family:Manrope;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/manrope-500.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/manrope-700.woff2) format("woff2")}
@font-face{font-family:Manrope;font-weight:800;font-style:normal;font-display:swap;src:url(../fonts/manrope-800.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-400.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-600.woff2) format("woff2")}

:root{
  --dwc-accent:#0b7a43;
  --dwc-dark:#0f2a1d;
  --dwc-link:#0b6b3c;
  --dwc-link-hover:#084f2c;
  --dwc-ink:#10231a;
  --dwc-muted:#3f5047;
  --dwc-muted-2:#4a5a52;
  --dwc-bg:#f6f8f5;
  --dwc-surface:#fff;
  --dwc-line:#e1e8e3;
  --dwc-line-2:#c9d6ce;
  --dwc-tint:#e9f2ec;
  --dwc-tint-2:#eef3ef;
  --dwc-warn-bg:#fff4d6;
  --dwc-warn-line:#ecd28c;
  --dwc-warn-ink:#5c3d00;
  --dwc-font-head:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;
  --dwc-font-body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dwc-max:1200px;
  --dwc-pad:24px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--dwc-font-body);color:var(--dwc-ink);background:var(--dwc-bg);font-size:17px;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:var(--dwc-link)}
a:hover{color:var(--dwc-link-hover)}
:focus-visible{outline:3px solid #1d4f91;outline-offset:2px;border-radius:4px}
.dwc-hero--dark :focus-visible,.dwc-footer :focus-visible,.dwc-academy :focus-visible{outline-color:#9fe0bd}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.dwc-skip{position:absolute;left:8px;top:-60px;background:var(--dwc-ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:100;font-weight:600}
.dwc-skip:focus{top:8px;color:#fff}
.dwc-wrap{max-width:var(--dwc-max);margin:0 auto;padding-left:var(--dwc-pad);padding-right:var(--dwc-pad)}
.dwc-main:focus{outline:none}
.dwc-muted{color:var(--dwc-muted)}
.dwc-notice{padding:20px;background:var(--dwc-warn-bg);border:1px solid var(--dwc-warn-line);border-radius:12px}

/* Type */
.dwc-h1,.dwc-h2,.dwc-hero__title,.dwc-card__title,.dwc-brand__name,.dwc-step__num,.dwc-update__day,.dwc-cta__title,.dwc-scam__title{font-family:var(--dwc-font-head)}
.dwc-h1{font-size:clamp(2rem,4vw,2.6rem);line-height:1.15;margin:0 0 16px;font-weight:800}
.dwc-h2{margin:0;font-size:28px;line-height:1.15;font-weight:800}
@media (min-width:768px){.dwc-h2{font-size:34px}}

/* Buttons */
.dwc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none;font:inherit;font-weight:700;border:1px solid transparent;cursor:pointer;line-height:1.2}
.dwc-btn--sm{padding:10px 18px;font-size:15px}
.dwc-btn--primary{background:var(--dwc-accent);color:#fff}
.dwc-btn--primary:hover{background:var(--dwc-accent);color:#fff;filter:brightness(.9)}
.dwc-btn--ghost{background:transparent;color:var(--dwc-ink);border-color:var(--dwc-line-2)}
.dwc-btn--dark{background:#3d2900;color:#fff}
.dwc-btn--dark:hover{background:#3d2900;color:#fff;filter:brightness(1.25)}
.dwc-btn--light{background:#fff;color:#0b5a32}
.dwc-btn--light:hover{background:#fff;color:#084f2c}
.dwc-hero--dark .dwc-btn--ghost{color:#fff;border-color:#6f9b83}
.dwc-hero--dark .dwc-btn--ghost:hover{color:#fff;background:rgba(255,255,255,.08)}
.dwc-link{font-weight:600}

/* Scam bar */
.dwc-scambar{background:var(--dwc-warn-bg);border-bottom:1px solid var(--dwc-warn-line);color:var(--dwc-warn-ink);font-size:15px}
.dwc-scambar__inner{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:10px}
.dwc-scambar a{color:var(--dwc-warn-ink);font-weight:600}

/* Header */
.dwc-header{background:#fff;border-bottom:1px solid var(--dwc-line);position:relative;z-index:20}
.dwc-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.dwc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--dwc-ink)}
.dwc-brand:hover{color:var(--dwc-ink)}
.dwc-brand__logo{width:auto;height:44px}
.dwc-brand__mark{width:44px;height:44px;border-radius:50%;background:var(--dwc-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--dwc-font-head);font-weight:800;font-size:15px;flex-shrink:0}
.dwc-brand__text{display:flex;flex-direction:column;line-height:1.15}
.dwc-brand__name{font-weight:800;font-size:17px}
.dwc-brand__tag{font-family:var(--dwc-font-head);font-weight:500;font-size:13px;color:var(--dwc-muted-2)}
.dwc-nav-toggle{display:none}
.js .dwc-nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid var(--dwc-line-2);border-radius:999px;background:#fff;color:var(--dwc-ink);font:inherit;font-weight:600;cursor:pointer}
.dwc-nav-toggle__bars,.dwc-nav-toggle__bars::before,.dwc-nav-toggle__bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative;content:""}
.dwc-nav-toggle__bars::before{position:absolute;top:-6px;left:0}
.dwc-nav-toggle__bars::after{position:absolute;top:6px;left:0}
.dwc-nav-toggle[aria-expanded="true"] .dwc-nav-toggle__bars{background:transparent}
.dwc-nav-toggle[aria-expanded="true"] .dwc-nav-toggle__bars::before{top:0;transform:rotate(45deg)}
.dwc-nav-toggle[aria-expanded="true"] .dwc-nav-toggle__bars::after{top:0;transform:rotate(-45deg)}
.dwc-nav-panel{display:flex;width:100%;flex-direction:column;gap:16px;padding:8px 0 12px}
.js .dwc-nav-panel{display:none}
.js .dwc-nav-panel.is-open{display:flex}
.dwc-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-weight:600}
.dwc-nav__list a{display:block;padding:12px 4px;color:var(--dwc-ink);text-decoration:none;border-bottom:1px solid var(--dwc-line)}
.dwc-nav__list a:hover{color:var(--dwc-link)}
.dwc-nav__list a[aria-current="page"],.dwc-nav__list .current-menu-item>a{color:var(--dwc-link);box-shadow:inset 0 -2px 0 var(--dwc-accent)}
.dwc-header__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dwc-lang{display:flex;border:1px solid var(--dwc-line-2);border-radius:999px;overflow:hidden;font-size:14px;font-weight:600}
.dwc-lang__item{display:flex;align-items:center;min-height:40px;padding:8px 14px;background:#fff;color:var(--dwc-ink);text-decoration:none}
.dwc-lang__item.is-current{background:var(--dwc-ink);color:#fff}
@media (min-width:1000px){
  .js .dwc-nav-toggle{display:none}
  .js .dwc-nav-panel,.dwc-nav-panel{display:flex;flex:1;width:auto;flex-direction:row;align-items:center;justify-content:space-between;padding:0;gap:22px}
  .dwc-nav__list{flex-direction:row;gap:4px 22px;font-size:16px}
  .dwc-nav__list a{padding:6px 0;border-bottom:0}
}

/* Hero */
.dwc-hero__grid{display:grid;gap:36px;align-items:center;padding-top:48px;padding-bottom:48px}
.dwc-hero__copy{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.dwc-hero__title{margin:0;font-weight:800;font-size:clamp(2.1rem,4.5vw,3.6rem);line-height:1.08}
.dwc-hero__text{margin:0;font-size:19px;max-width:34rem}
.dwc-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.dwc-hero__note{margin:0;font-size:15px}
.dwc-eyebrow{font-size:14px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.dwc-hero__ja{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:700;font-size:22px;color:#b3261e}
.dwc-crumbs{font-size:15px;display:flex;flex-wrap:wrap;gap:6px;color:var(--dwc-muted-2)}
.dwc-hero__media{aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--dwc-tint-2)}
.dwc-hero__media:empty{display:none}
.dwc-hero__img{width:100%;height:100%;object-fit:cover}
.dwc-hero--dark{background:var(--dwc-dark);color:#fff}
.dwc-hero--dark .dwc-eyebrow{color:#9fe0bd}
.dwc-hero--dark .dwc-hero__text{color:#d6e6dc}
.dwc-hero--dark .dwc-hero__note{color:#b9cfc2}
.dwc-hero--dark .dwc-hero__media{background:#24453a}
.dwc-hero--light{background:#fff}
.dwc-hero--light .dwc-hero__text{color:var(--dwc-muted)}
@media (min-width:900px){
  .dwc-hero__grid{grid-template-columns:1fr 1fr;gap:48px;padding-top:72px;padding-bottom:72px}
  .dwc-hero--light .dwc-hero__grid{padding-top:56px;padding-bottom:64px}
  .dwc-hero__media:empty{display:block;visibility:hidden}
}

/* Section scaffolding */
.dwc-section{padding-top:48px;padding-bottom:48px}
@media (min-width:768px){.dwc-section{padding-top:72px;padding-bottom:72px}}
.dwc-section__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:28px}
.dwc-grid{display:grid;gap:16px}
.dwc-grid--cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.dwc-grid--stories{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.dwc-grid--reasons{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));list-style:none;margin:24px 0 0;padding:0}
.dwc-section>.dwc-h2{margin-bottom:24px}

/* Service cards */
.dwc-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--dwc-line);border-radius:16px;padding:24px;text-decoration:none;color:var(--dwc-ink)}
.dwc-card:hover{color:var(--dwc-ink);border-color:var(--dwc-accent)}
.dwc-card__title{font-weight:800;font-size:21px;line-height:1.25}
.dwc-card__text{color:var(--dwc-muted)}
.dwc-card__more{margin-top:auto;font-weight:700;color:var(--dwc-link)}
.dwc-tag{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dwc-link);background:#e5f3ea;padding:4px 10px;border-radius:999px}

/* Updates */
.dwc-updates{background:#fff;border-top:1px solid var(--dwc-line);border-bottom:1px solid var(--dwc-line)}
.dwc-updates__grid{display:grid;gap:32px;padding-top:48px;padding-bottom:48px}
.dwc-updates__intro{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.dwc-updates__intro p{margin:0}
@media (min-width:900px){.dwc-updates__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;padding-top:72px;padding-bottom:72px}}
.dwc-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.dwc-chip{border:1px solid var(--dwc-line-2);background:#fff;color:var(--dwc-ink);border-radius:999px;padding:8px 14px;min-height:40px;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.dwc-chip[aria-pressed="true"]{background:var(--dwc-ink);border-color:var(--dwc-ink);color:#fff}
.dwc-updates__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--dwc-line)}
.dwc-update{border-bottom:1px solid var(--dwc-line)}
.dwc-update[hidden]{display:none}
.dwc-update__link{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:16px 4px;text-decoration:none;color:var(--dwc-ink)}
.dwc-update__link:hover .dwc-update__title{text-decoration:underline}
.dwc-update__date{display:flex;flex-direction:column;color:var(--dwc-muted);line-height:1.2}
.dwc-update__day{font-weight:800;font-size:15px}
.dwc-update__month{font-weight:500;font-size:13px}
.dwc-update__body{display:flex;flex-direction:column;gap:4px}
.dwc-update__meta{display:flex;gap:8px;align-items:center}
.dwc-update__title{font-weight:600;font-size:18px;line-height:1.35}
.dwc-badge{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1d4f91}
.dwc-badge--notice{color:#8a3b00}
.dwc-badge--intake{color:#0b6b3c}
.dwc-badge--news{color:#1d4f91}
.dwc-badge--blog{color:#5b3d8f}
.dwc-pill{color:var(--dwc-warn-ink);background:var(--dwc-warn-bg);padding:1px 8px;border-radius:999px;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}

/* Steps */
.dwc-steps{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.dwc-step{display:flex;flex-direction:column;gap:8px}
.dwc-step__num{font-weight:800;font-size:40px;line-height:1.1;color:var(--dwc-accent)}
.dwc-step__title{font-size:19px}
.dwc-step__text{color:var(--dwc-muted)}
.dwc-steps--cards{gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.dwc-steps--cards .dwc-step{background:#fff;border:1px solid var(--dwc-line);border-radius:14px;padding:20px;gap:6px}
.dwc-steps--cards .dwc-step__num{font-size:inherit;font-weight:800;color:var(--dwc-link)}
.dwc-steps--cards .dwc-step__text{color:var(--dwc-ink)}

/* Stories */
.dwc-stories{background:var(--dwc-tint)}
.dwc-story{margin:0;background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px}
.dwc-story__quote{margin:0;font-size:18px;line-height:1.5}
.dwc-story__quote p{margin:0}
.dwc-story__who{display:flex;gap:12px;align-items:center;margin-top:auto}
.dwc-story__avatar,.dwc-story__photo{width:48px;height:48px;border-radius:50%;background:var(--dwc-line-2);flex-shrink:0;object-fit:cover}

/* Offices */
.dwc-offices{display:grid;gap:32px;align-items:start}
.dwc-offices__list{display:flex;flex-direction:column;gap:16px}
.dwc-offices__list p{margin:0}
.dwc-office{background:#fff;border:1px solid var(--dwc-line);border-radius:14px;padding:18px 20px}
.dwc-office__city{font-family:var(--dwc-font-head);font-size:18px}
.dwc-office__addr{margin:4px 0 8px!important;color:var(--dwc-muted)}
.dwc-office__links{display:flex;flex-wrap:wrap;gap:6px 16px;font-weight:600;font-size:15px}
.dwc-office__links a{padding:6px 0}
.dwc-map{min-height:320px;border-radius:20px;background:var(--dwc-tint-2);border:1px solid var(--dwc-line-2);overflow:hidden;position:relative;z-index:0}
.dwc-map:not(.is-ready){display:none}
@media (min-width:900px){.dwc-offices{grid-template-columns:1fr 1fr}.dwc-map{min-height:420px}}
.dwc-map.is-ready{display:block}

/* Scam panel */
.dwc-scam-wrap{padding-bottom:48px}
.dwc-scam{background:var(--dwc-warn-bg);border:1px solid var(--dwc-warn-line);border-radius:20px;padding:24px;display:grid;gap:24px;align-items:center;color:#3d2900}
.dwc-scam__title{margin:0 0 8px;font-size:24px;line-height:1.2;font-weight:800}
.dwc-scam p{margin:0}
.dwc-scam__form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.dwc-field{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:15px;flex:1 1 200px}
.dwc-field input{font:inherit;padding:11px 12px;border:1px solid #8a6d1f;border-radius:10px;background:#fff;color:var(--dwc-ink)}
@media (min-width:768px){.dwc-scam{padding:32px;grid-template-columns:1fr 1fr}.dwc-scam__title{font-size:26px}}

/* Reasons */
.dwc-reason{background:#fff;border:1px solid var(--dwc-line);border-radius:14px;padding:20px;display:flex;gap:14px}
.dwc-reason svg{flex-shrink:0;margin-top:2px;color:var(--dwc-accent)}
.dwc-callout{margin:20px 0 0;padding:16px 20px;background:var(--dwc-tint);border-radius:12px}

/* Academy */
.dwc-academy{background:var(--dwc-dark);color:#fff}
.dwc-academy__grid{display:grid;gap:32px;padding-top:48px;padding-bottom:48px}
.dwc-academy__intro{display:flex;flex-direction:column;gap:14px}
.dwc-academy__intro p{margin:0;color:#d6e6dc}
.dwc-facts{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:0}
.dwc-fact{background:#18382a;border-radius:14px;padding:20px}
.dwc-fact dt{font-family:var(--dwc-font-head);font-weight:700}
.dwc-fact dd{margin:6px 0 0;color:#d6e6dc}
@media (min-width:900px){.dwc-academy__grid{grid-template-columns:1fr 1fr;gap:40px;padding-top:64px;padding-bottom:64px}}

/* Table */
.dwc-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--dwc-line);border-radius:14px}
.dwc-table{width:100%;border-collapse:collapse;min-width:560px;font-size:16px;text-align:left}
.dwc-table thead tr{background:var(--dwc-tint-2)}
.dwc-table th,.dwc-table td{padding:14px 16px;text-align:left}
.dwc-table tbody tr{border-top:1px solid var(--dwc-line)}
.dwc-table tbody th{font-weight:400}

/* FAQ */
.dwc-faq{background:#fff;border-top:1px solid var(--dwc-line)}
.dwc-faq__inner{max-width:860px;margin:0 auto;padding:48px var(--dwc-pad);display:flex;flex-direction:column;gap:12px}
.dwc-faq .dwc-h2{margin-bottom:12px}
.dwc-details{border:1px solid var(--dwc-line);border-radius:12px;padding:16px 20px}
.dwc-details summary{font-weight:700;cursor:pointer}
.dwc-details__body{margin-top:10px}
.dwc-details__body>:first-child{margin-top:0}
.dwc-details__body>:last-child{margin-bottom:0}

/* CTA */
.dwc-cta{background:var(--dwc-accent);color:#fff;border-radius:20px;padding:32px 24px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.dwc-cta__title{margin:0 0 6px;font-size:28px;font-weight:800}
.dwc-cta p{margin:0;color:#fff}
.dwc-cta__note{margin:16px 0 0;font-size:15px}

/* Prose / entries */
.dwc-prose{max-width:760px}
.dwc-prose img{border-radius:12px}
.dwc-entry__head{padding-top:48px}
.dwc-entry__thumb{margin-bottom:24px}
.dwc-entry__thumb img{border-radius:16px;width:100%}
.dwc-loop{max-width:860px}
.nav-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.nav-links a,.nav-links span{padding:8px 14px;border:1px solid var(--dwc-line-2);border-radius:999px;text-decoration:none}

/* Footer */
.dwc-footer{background:var(--dwc-dark);color:#d6e6dc;font-size:15px}
.dwc-footer a{color:#d6e6dc}
.dwc-footer a:hover{color:#fff}
.dwc-footer__grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));padding-top:48px;padding-bottom:28px}
.dwc-footer__col{display:flex;flex-direction:column;gap:8px}
.dwc-footer__col p{margin:0}
.dwc-footer__title{color:#fff}
.dwc-footer__title--brand{font-family:var(--dwc-font-head);font-size:18px}
.dwc-footer__social{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.dwc-footer__legal{border-top:1px solid #2c4a3b;font-size:14px;color:#b9cfc2;padding:16px 0 32px}
.dwc-footer__legal p{margin:0 0 6px}


/* Quick links, leader message, gallery */
.dwc-subtitle{margin:8px 0 0;font-size:20px;color:var(--dwc-muted)}
.dwc-quick{background:var(--dwc-surface);border-bottom:1px solid var(--dwc-line);padding:32px 0}
.dwc-quick__title{margin:0 0 16px;font-family:var(--dwc-font-head);font-size:22px;font-weight:800}
.dwc-quick__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.dwc-quick__item{display:flex;flex-direction:column;gap:2px;height:100%;box-sizing:border-box;padding:14px 16px;min-height:44px;border:1px solid var(--dwc-line);border-radius:12px;color:var(--dwc-ink);text-decoration:none}
.dwc-quick__item:hover{border-color:var(--dwc-accent);background:var(--dwc-tint);color:var(--dwc-ink)}
.dwc-quick__item span{font-size:15px;color:var(--dwc-muted)}
.dwc-leader{display:grid;gap:32px;align-items:center}
@media (min-width:768px){.dwc-leader:has(.dwc-leader__photo){grid-template-columns:280px minmax(0,1fr)}}
.dwc-leader__photo{width:100%;height:auto;border-radius:20px}
.dwc-leader__body{max-width:46rem}
.dwc-gallery{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.dwc-gallery figure{margin:0}
.dwc-gallery img{display:block;width:100%;height:auto;border-radius:12px}
.dwc-gallery figcaption{margin-top:6px;font-size:14px;color:var(--dwc-muted)}

/* ---- Editorial polish ---- */
:root{--dwc-ease:cubic-bezier(.23,1,.32,1);--dwc-ease-io:cubic-bezier(.77,0,.175,1)}
h1,h2,h3,.dwc-hero__title,.dwc-h2{text-wrap:balance;letter-spacing:-.022em}
p{text-wrap:pretty}
.dwc-section{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,104px)}
.dwc-h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1}
.dwc-brand__logo{height:48px}

/* Hero */
.dwc-hero--dark{position:relative;overflow:hidden}
.dwc-hero__grid{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(56px,8vw,112px)}
@media (min-width:900px){.dwc-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px}}
.dwc-hero__title{font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1.03}
.dwc-hero__media{aspect-ratio:auto;overflow:visible;background:none!important;margin:0;position:relative;display:grid;gap:12px}
.dwc-hero__frame{border-radius:24px;overflow:hidden;aspect-ratio:4/5;background:#24453a}
.dwc-hero__img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.dwc-hero__media--pair{padding-left:0}
.dwc-hero__frame--small{position:absolute;left:-28px;bottom:56px;width:36%;aspect-ratio:3/4;border:5px solid var(--dwc-dark);box-sizing:border-box}
@media (max-width:899px){.dwc-hero__frame{aspect-ratio:1/1}.dwc-hero__frame--small{left:12px;bottom:48px;width:32%;aspect-ratio:3/4}}
.dwc-hero__caption{font-size:14px;color:#b9cfc2;text-align:right}

/* Quick links */
.dwc-quick{padding:clamp(28px,4vw,44px) 0}
.dwc-quick__item{position:relative;padding-right:38px;border-radius:14px}
.dwc-quick__item::after{content:"\2192";position:absolute;right:14px;top:14px;color:var(--dwc-link);transition:transform 200ms var(--dwc-ease)}

/* Cards */
.dwc-card{border-radius:20px}
.dwc-card__media{display:block;margin:-24px -24px 8px;aspect-ratio:16/10;overflow:hidden;border-radius:20px 20px 0 0;background:var(--dwc-tint)}
.dwc-card__img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform 400ms var(--dwc-ease)}
@media (min-width:900px){.dwc-card--feature{grid-row:span 2}.dwc-card--feature .dwc-card__media{aspect-ratio:auto;flex:1 1 240px;min-height:240px}}

/* Reasons with photo */
.dwc-reasons-split{display:grid;gap:40px;align-items:start}
@media (min-width:900px){.dwc-reasons-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}.dwc-reasons__media{position:sticky;top:24px}}
.dwc-reasons__media{border-radius:24px;overflow:hidden;aspect-ratio:4/5}
.dwc-reasons__img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.dwc-reasons-split .dwc-reasons{grid-template-columns:1fr;gap:0;margin-top:20px}
.dwc-reasons-split .dwc-reason{background:none;border:0;border-bottom:1px solid var(--dwc-line);border-radius:0;padding:14px 0}

/* Leader */
.dwc-leader{padding-top:clamp(56px,8vw,104px)}
.dwc-leader__photo{aspect-ratio:3/4;object-fit:cover;object-position:30% 20%;border-radius:24px}
@media (min-width:768px){.dwc-leader:has(.dwc-leader__photo){grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:64px}}
.dwc-leader__body>p:first-of-type{font-size:clamp(19px,2vw,23px);line-height:1.5}

/* Stories: staggered columns */
.dwc-grid--stories{display:block;columns:1;column-gap:20px}
@media (min-width:640px){.dwc-grid--stories{columns:2}}
@media (min-width:1000px){.dwc-grid--stories{columns:3}}
.dwc-story{break-inside:avoid;margin:0 0 20px;border-radius:20px}
.dwc-story__photo,.dwc-story__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 15%;flex:none}
.dwc-story__avatar{display:flex;align-items:center;justify-content:center;background:var(--dwc-tint);color:var(--dwc-link);font-family:var(--dwc-font-head);font-weight:800;font-size:20px}

/* Gallery mosaic */
.dwc-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense}
@media (min-width:640px){.dwc-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dwc-gallery figure{overflow:hidden;border-radius:14px;aspect-ratio:3/4;background:var(--dwc-tint)}
.dwc-gallery li:nth-child(5n+1){grid-column:span 2;grid-row:span 2}
.dwc-gallery li:nth-child(5n+1) figure{aspect-ratio:auto;height:100%}
.dwc-gallery img{height:100%;object-fit:cover;object-position:50% 25%;border-radius:0;transition:transform 400ms var(--dwc-ease)}

/* Motion: fast, ease-out, specific properties, hover only where hover exists */
.dwc-btn,.dwc-quick__item,.dwc-card{transition:transform 160ms var(--dwc-ease),background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease,filter 200ms ease}
.dwc-btn:active,.dwc-quick__item:active,.dwc-card:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){
  .dwc-quick__item:hover::after{transform:translateX(4px)}
  .dwc-card--service:hover{border-color:var(--dwc-accent);box-shadow:0 12px 32px -18px rgba(15,42,29,.35)}
  .dwc-card--service:hover .dwc-card__img,.dwc-gallery li:hover img{transform:scale(1.03)}
}
.js-reveal [data-reveal]{opacity:0;transform:translateY(10px);transition:opacity 320ms var(--dwc-ease),transform 320ms var(--dwc-ease);transition-delay:var(--dwc-delay,0ms)}
.js-reveal [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js-reveal [data-reveal]{opacity:1;transform:none;transition:opacity 200ms ease}
  .dwc-btn:active,.dwc-quick__item:active,.dwc-card:active{transform:none}
  .dwc-card__img,.dwc-gallery img,.dwc-quick__item::after{transition:none}
}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Banner slider: slides share one grid cell, so height never jumps */
.dwc-slider{background:var(--dwc-dark);color:#fff;position:relative;overflow:hidden}
.dwc-slider__track{display:grid}
.dwc-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 500ms var(--dwc-ease),visibility 0s linear 500ms}
.dwc-slide.is-active{opacity:1;visibility:visible;transition:opacity 500ms var(--dwc-ease)}
.dwc-slide .dwc-hero__copy>*{transition:transform 500ms var(--dwc-ease)}
.dwc-slide:not(.is-active) .dwc-hero__copy>*{transform:translateY(10px)}
.dwc-slide .dwc-eyebrow{color:#9fe0bd}
.dwc-slide .dwc-hero__text{color:#d6e6dc}
.dwc-slide .dwc-btn--ghost{color:#fff;border-color:#6f9b83}
.dwc-slide .dwc-btn--ghost:hover{color:#fff;background:rgba(255,255,255,.08)}
.dwc-slide :focus-visible,.dwc-slider__controls :focus-visible{outline-color:#9fe0bd}
.dwc-slide .dwc-hero__grid{padding-bottom:clamp(88px,9vw,120px)}
.dwc-slide .dwc-hero__title{font-size:clamp(2.2rem,4.8vw,4rem)}
.dwc-slider__controls{position:absolute;left:0;right:0;bottom:20px}
.dwc-slider__bar{display:flex;align-items:center;gap:8px}
.dwc-slider__btn{min-height:44px;min-width:44px;padding:0 14px;border:1px solid #6f9b83;border-radius:999px;background:var(--dwc-dark);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform 160ms var(--dwc-ease),background-color 200ms ease}
.dwc-slider__btn:active{transform:scale(.97)}
.dwc-slider__dots{display:flex}
.dwc-slider__dot{width:28px;height:44px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.dwc-slider__dot::before{content:"";position:absolute;left:3px;right:3px;top:20px;height:4px;border-radius:2px;background:#6f9b83;transition:background-color 200ms ease}
.dwc-slider__dot[aria-current="true"]::before{background:#fff}
@media (hover:hover) and (pointer:fine){.dwc-slider__btn:hover{background:#24453a}.dwc-slider__dot:hover::before{background:#d6e6dc}}
@media (prefers-reduced-motion:reduce){.dwc-slide,.dwc-slide.is-active,.dwc-slide .dwc-hero__copy>*{transition:none;transform:none}}

/* Utility bar */
.dwc-utility{background:var(--dwc-dark);color:#d6e6dc;font-size:14px}
.dwc-utility__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;padding-bottom:4px}
.dwc-utility__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 18px}
.dwc-utility a{display:inline-flex;align-items:center;min-height:32px;color:#d6e6dc;text-decoration:none}
.dwc-utility a:hover{color:#fff;text-decoration:underline}
.dwc-utility :focus-visible{outline-color:#9fe0bd}
.dwc-utility__wide{display:none}
@media (min-width:768px){.dwc-utility__wide{display:list-item}}
.dwc-utility .dwc-lang{border-color:#6f9b83;font-size:13px;flex:none}
.dwc-utility .dwc-lang__item{min-height:30px;padding:2px 12px;background:transparent;color:#d6e6dc}
.dwc-utility .dwc-lang__item.is-current{background:#fff;color:var(--dwc-dark)}

/* Main header: stays in view while the bars above scroll away */
.dwc-header{position:sticky;top:0;z-index:50}
.admin-bar .dwc-header{top:32px}
.dwc-nav-panel{max-height:calc(100vh - 80px);overflow-y:auto}
.dwc-nav__sub-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:6px;padding:12px 4px;border:0;border-bottom:1px solid var(--dwc-line);background:none;color:var(--dwc-ink);font:inherit;font-weight:600;cursor:pointer}
.dwc-nav__sub-toggle svg{transition:transform 180ms var(--dwc-ease)}
.dwc-nav__sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.dwc-nav__sub{list-style:none;margin:0;padding:0 0 0 12px}
.js .dwc-nav__sub-toggle[aria-expanded="false"]+.dwc-nav__sub{display:none}
@media (min-width:1000px){
  .dwc-nav-panel{max-height:none;overflow:visible}
  .dwc-nav__has-sub{position:relative}
  .dwc-nav__sub-toggle{width:auto;padding:6px 0;border:0}
  .dwc-nav__sub,.js .dwc-nav__sub-toggle[aria-expanded="false"]+.dwc-nav__sub{display:block;position:absolute;left:-16px;top:100%;min-width:290px;margin-top:8px;padding:8px;background:#fff;border:1px solid var(--dwc-line);border-radius:14px;box-shadow:0 18px 40px -20px rgba(15,42,29,.4);transform-origin:top left;opacity:0;visibility:hidden;transform:scale(.97) translateY(-4px);transition:opacity 150ms var(--dwc-ease),transform 150ms var(--dwc-ease),visibility 0s linear 150ms}
  .dwc-nav__sub::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
  .dwc-nav__sub a{display:block;padding:10px 12px;border-radius:8px;white-space:nowrap}
  .dwc-nav__sub a:hover{background:var(--dwc-tint)}
  .js .dwc-nav__sub-toggle[aria-expanded="true"]+.dwc-nav__sub,.dwc-nav__has-sub:focus-within .dwc-nav__sub,.js .dwc-nav__has-sub:focus-within .dwc-nav__sub-toggle+.dwc-nav__sub{opacity:1;visibility:visible;transform:none;transition:opacity 150ms var(--dwc-ease),transform 150ms var(--dwc-ease)}
}
@media (min-width:1000px) and (hover:hover) and (pointer:fine){
  .dwc-nav__has-sub:hover .dwc-nav__sub,.js .dwc-nav__has-sub:hover .dwc-nav__sub-toggle+.dwc-nav__sub{opacity:1;visibility:visible;transform:none;transition:opacity 150ms var(--dwc-ease),transform 150ms var(--dwc-ease)}
}

/* Banner: fits the screen; slides without a photo use the full width */
@media (min-width:900px){
  .dwc-slide .dwc-hero__grid{padding-top:56px;padding-bottom:88px}
  .dwc-slide .dwc-hero__frame{aspect-ratio:5/4}
  .dwc-slide .dwc-hero__grid:not(:has(.dwc-hero__media)){grid-template-columns:minmax(0,1fr);align-content:center}
  .dwc-slide .dwc-hero__grid:not(:has(.dwc-hero__media)) .dwc-hero__title{max-width:18em}
}

/* Services: feature card plus five, no empty cell */
@media (min-width:900px){
  .dwc-grid:has(>.dwc-card--feature){grid-template-columns:repeat(3,minmax(0,1fr))}
  .dwc-grid>.dwc-card--feature{grid-column:span 2;grid-row:span 2}
}

/* Gallery: true masonry, whole photos in their natural shape */
.dwc-gallery{display:block;columns:2;column-gap:12px}
@media (min-width:640px){.dwc-gallery{columns:3;column-gap:14px}}
@media (min-width:1000px){.dwc-gallery{columns:4;column-gap:16px}}
.dwc-gallery li,.dwc-gallery li:nth-child(5n+1){break-inside:avoid;margin:0 0 12px;grid-column:auto;grid-row:auto}
.dwc-gallery figure,.dwc-gallery li:nth-child(5n+1) figure{aspect-ratio:auto;height:auto}
.dwc-gallery img{width:100%;height:auto;object-fit:initial}

/* Service illustrations */
.dwc-art{background:var(--dwc-tint);border-radius:24px;padding:24px;overflow:hidden}
.dwc-art svg{display:block;width:100%;height:auto;max-height:380px}
.dwc-hero__badge{position:absolute;right:-14px;top:-14px;width:112px;z-index:2}
.dwc-hero__badge .dwc-art{padding:10px;border-radius:50%;background:#fff;box-shadow:0 12px 28px -14px rgba(15,42,29,.5)}
@media (max-width:899px){.dwc-hero__badge{right:8px;top:8px;width:84px}}
.dwc-art__float{animation:dwc-float 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.dwc-art__drift{animation:dwc-drift 9s ease-in-out infinite;transform-box:fill-box}
.dwc-art__pulse{animation:dwc-pulse 3.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.dwc-art__dash{animation:dwc-dash 3s linear infinite}
@keyframes dwc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes dwc-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,10px)}}
@keyframes dwc-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes dwc-dash{to{stroke-dashoffset:-32}}

/* Service page content: a brand mark on headings and a clear rhythm in lists */
.single-dwc_service .dwc-main h2:not(.dwc-hero__title):not(.dwc-cta__title)::after{content:"";display:block;width:48px;height:4px;margin-top:10px;border-radius:2px;background:var(--dwc-accent)}
.single-dwc_service .dwc-main .wp-block-list:not(ol){list-style:none;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.single-dwc_service .dwc-main .wp-block-list:not(ol)>li{position:relative;padding:14px 16px 14px 44px;background:#fff;border:1px solid var(--dwc-line);border-radius:12px;transition:border-color 200ms ease,transform 160ms var(--dwc-ease)}
.single-dwc_service .dwc-main .wp-block-list:not(ol)>li::before{content:"\2713";position:absolute;left:16px;top:14px;color:var(--dwc-accent);font-weight:800}
.single-dwc_service .dwc-main ol.wp-block-list{list-style:none;counter-reset:dwc-step;padding:0;display:grid;gap:10px}
.single-dwc_service .dwc-main ol.wp-block-list>li{counter-increment:dwc-step;display:flex;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--dwc-line)}
.single-dwc_service .dwc-main ol.wp-block-list>li::before{content:counter(dwc-step,decimal-leading-zero);font-family:var(--dwc-font-head);font-weight:800;color:var(--dwc-accent)}
@media (hover:hover) and (pointer:fine){.single-dwc_service .dwc-main .wp-block-list:not(ol)>li:hover{border-color:var(--dwc-accent);transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.dwc-art__float,.dwc-art__drift,.dwc-art__pulse,.dwc-art__dash{animation:none}.single-dwc_service .dwc-main .wp-block-list:not(ol)>li{transition:none}}

/* Key numbers */
.dwc-stats{background:var(--dwc-dark);color:#fff}
.dwc-stats__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;padding-top:32px;padding-bottom:32px}
@media (min-width:768px){.dwc-stats__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dwc-stat{display:flex;flex-direction:column-reverse;gap:4px}
.dwc-stat dd{margin:0;font-family:var(--dwc-font-head);font-weight:800;font-size:clamp(30px,4vw,44px);line-height:1;letter-spacing:-.02em}
.dwc-stat dt{font-size:15px;color:#d6e6dc}

/* Partner schools */
.dwc-partners{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.dwc-partner>*{display:flex;flex-direction:column;gap:6px;height:100%;box-sizing:border-box;padding:18px;background:#fff;border:1px solid var(--dwc-line);border-radius:14px;color:var(--dwc-ink);text-decoration:none}
.dwc-partner img{max-height:56px;width:auto;object-fit:contain;align-self:flex-start}
.dwc-partner span{font-size:15px;color:var(--dwc-muted)}

/* Gallery links and albums */
.dwc-lb{display:block;cursor:zoom-in;border-radius:14px;overflow:hidden}
.dwc-lb[hidden]{display:none}
.dwc-gallery .dwc-lb img{display:block;width:100%;height:auto;transition:transform 400ms var(--dwc-ease)}
.dwc-albums{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.dwc-album .dwc-lb{background:#fff;border:1px solid var(--dwc-line);border-radius:20px;color:var(--dwc-ink);text-decoration:none;transition:transform 160ms var(--dwc-ease),box-shadow 200ms ease}
.dwc-album .dwc-lb:active{transform:scale(.98)}
.dwc-album__cover{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--dwc-tint)}
.dwc-album__cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform 400ms var(--dwc-ease)}
.dwc-album__body{display:flex;flex-direction:column;gap:2px;padding:14px 18px 18px}
.dwc-album__body strong{font-family:var(--dwc-font-head);font-size:19px}
.dwc-album__body span{font-size:15px;color:var(--dwc-muted)}
@media (hover:hover) and (pointer:fine){.dwc-album .dwc-lb:hover{box-shadow:0 14px 32px -18px rgba(15,42,29,.4)}.dwc-album .dwc-lb:hover img,.dwc-gallery .dwc-lb:hover img{transform:scale(1.03)}}

/* Slideshow */
.dwc-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(8,20,14,.95);color:#fff}
.dwc-lightbox[open]{display:flex;flex-direction:column}
.dwc-lightbox::backdrop{background:rgba(8,20,14,.95)}
.dwc-lightbox__stage{flex:1;min-height:0;margin:0;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.dwc-lightbox__stage img{max-width:100%;min-height:0;max-height:100%;object-fit:contain;border-radius:8px;opacity:0;transition:opacity 220ms var(--dwc-ease)}
.dwc-lightbox__stage img.is-in{opacity:1}
.dwc-lightbox__stage figcaption:empty{display:none}
.dwc-lightbox__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:10px 16px 16px}
.dwc-lightbox__count{min-width:64px;text-align:center;font-size:15px}
.dwc-lightbox__bar button{min-height:44px;min-width:44px;padding:0 14px;border:1px solid #6f9b83;border-radius:999px;background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:transform 160ms var(--dwc-ease)}
.dwc-lightbox__bar button:active{transform:scale(.97)}
.dwc-lightbox :focus-visible{outline:2px solid #9fe0bd;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.dwc-lightbox__stage img{transition:none}}
html{scroll-padding-top:90px}

/* Team */
.dwc-team{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.dwc-member h3{margin:12px 0 2px;font-family:var(--dwc-font-head);font-size:20px}
.dwc-member__role{margin:0 0 8px;color:var(--dwc-muted)}
.dwc-member__photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 20%;border-radius:20px;background:var(--dwc-tint)}
.dwc-member__bio summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600;color:var(--dwc-link)}

/* AJAX navigation: a thin bar while the next page loads, and a quick cross-fade. */
.dwc-progress{position:fixed;inset:0 auto auto 0;z-index:9999;width:100%;height:3px;background:var(--dwc-accent,#c8102e);transform:scaleX(0);transform-origin:left;opacity:0;pointer-events:none}
.dwc-progress.is-on{opacity:1;transform:scaleX(.8);transition:transform 1.2s cubic-bezier(.16,1,.3,1) .1s}
main:focus{outline:0}
@media (prefers-reduced-motion:no-preference){.dwc-page-in{animation:dwc-page-in .16s ease-out}}
@keyframes dwc-page-in{from{opacity:0}}
