:root{--dann-paper:#faf9f5;--dann-ink:#111;--dann-aqua:#16aeb9;--dann-sun:#ffbf2f;--dann-blue:#071e3d;--dann-border:rgba(17,17,17,.15);--dann-max:min(1440px,calc(100vw - 2rem));--dann-shadow:0 28px 80px rgba(11,25,35,.18)}
body[data-theme="dark"]{--dann-paper:#0e1113;--dann-ink:#f6f4ef;--dann-border:rgba(255,255,255,.15)}
.dann-kicker{font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--dann-aqua)}
.dann-button{display:inline-flex;align-items:center;gap:.7rem;background:var(--dann-ink);color:var(--dann-paper)!important;padding:.9rem 1.2rem;border-radius:999px;text-decoration:none;font-weight:750;font-size:.9rem;transition:transform .2s ease}.dann-button:hover{transform:translateY(-2px)}
.dann-text-link{font-weight:700;text-decoration:none}
.dann-lang{display:flex;gap:.12rem;border:1px solid var(--dann-border);border-radius:999px;padding:.18rem}.dann-lang a{display:grid;place-items:center;text-decoration:none;font-size:.67rem;font-weight:800;width:2rem;height:1.7rem;border-radius:999px}.dann-lang a[aria-current="page"]{background:var(--dann-ink);color:var(--dann-paper)}
.dann-home{max-width:var(--dann-max);margin:auto}.dann-home-hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center;max-width:1100px;padding:clamp(4rem,10vw,10rem) 0}.dann-home-hero h1{font-size:clamp(3.3rem,8vw,8.8rem);margin:.7rem 0 1.4rem;max-width:12ch}.dann-home-hero>p{font-size:clamp(1.05rem,2vw,1.5rem);max-width:740px;opacity:.75}.dann-home-actions{display:flex;gap:1.2rem;align-items:center;margin-top:1rem}.dann-portals{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.dann-portal{min-height:280px;padding:1.2rem;border:1px solid var(--dann-border);border-radius:1.5rem;display:grid;grid-template-rows:auto 1fr auto;position:relative;text-decoration:none;overflow:hidden}.dann-portal:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--dann-aqua);opacity:.08;right:-70px;bottom:-90px;transform:scale(.7);transition:.3s}.dann-portal:hover:after{transform:scale(1.3)}.dann-portal strong{align-self:center;font-size:clamp(1.7rem,3vw,3.5rem);letter-spacing:-.05em}.dann-portal small{opacity:.65}.dann-portal i{position:absolute;right:1.2rem;top:1rem;font-style:normal}.dann-home-featured{padding:clamp(5rem,10vw,10rem) 0}.dann-section-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--dann-border);padding-bottom:.7rem;margin-bottom:1.5rem;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.dann-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.dann-project-card{border-radius:1.5rem;overflow:hidden;background:color-mix(in srgb,var(--card-accent) 7%,var(--dann-paper));border:1px solid var(--dann-border);min-height:320px}.dann-project-card a{text-decoration:none;color:inherit;display:block;height:100%}.dann-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.dann-project-card-copy{padding:1.2rem}.dann-project-card h3{font-size:1.5rem;margin:0 0 .45rem}.dann-project-card p{opacity:.7;margin:.2rem 0 1rem}.dann-project-card span{font-size:.8rem;font-weight:800}.dann-empty{padding:2rem;border:1px dashed var(--dann-border);border-radius:1rem;opacity:.65}
/* Kids landing */
.dann-kids{background:var(--dann-paper);color:var(--dann-ink);overflow-x:clip}.dann-kids-hero{max-width:var(--dann-max);min-height:calc(100dvh - var(--dann-sticky-offset,72px));margin:auto;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(2rem,6vw,7rem);position:relative;padding:clamp(4rem,8vw,8rem) 0}.dann-kids-hero-copy{position:relative;z-index:2}.dann-kids-hero h1{font-size:clamp(4rem,8vw,9rem);max-width:8.8ch;margin:.55rem 0 1.4rem}.dann-kids-hero p{max-width:600px;font-size:clamp(1rem,1.5vw,1.25rem);opacity:.72}.dann-kids-index{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.dann-kids-index a{border:1px solid var(--dann-border);padding:.6rem .85rem;border-radius:999px;text-decoration:none;font-size:.78rem;font-weight:760}.dann-kids-hero-art{height:min(68vh,720px);position:relative}.dann-kids-hero-art img{position:absolute;max-width:70%;max-height:58%;object-fit:contain;filter:drop-shadow(0 28px 35px rgba(15,38,50,.2))}.dann-kids-hero-art img:nth-child(1){width:72%;left:8%;top:13%;transform:rotate(-6deg)}.dann-kids-hero-art img:nth-child(2){width:38%;right:2%;top:5%;transform:rotate(8deg)}.dann-kids-hero-art img:nth-child(3){width:28%;right:13%;bottom:5%;transform:rotate(-8deg)}.dann-scroll-cue{position:absolute;left:0;bottom:1.5rem;font-size:.68rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;opacity:.55}
.dann-story{height:var(--dann-story-length,250vh);position:relative}.dann-story-stage{position:sticky;top:var(--dann-sticky-offset,72px);height:calc(100dvh - var(--dann-sticky-offset,72px));width:100%;box-sizing:border-box;overflow:hidden;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:center;gap:3vw;padding:clamp(1.2rem,3vw,3rem) max(1rem,calc((100vw - 1440px)/2));isolation:isolate}.dann-story-copy{position:relative;z-index:20;max-width:480px}.dann-story-no{font-size:.7rem;font-weight:850;letter-spacing:.2em;opacity:.55}.dann-story-copy h2{font-size:clamp(3rem,6.5vw,7rem);margin:.5rem 0 1.3rem}.dann-story-copy p{font-size:clamp(.96rem,1.25vw,1.14rem);line-height:1.55;opacity:.75}.dann-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.3rem}.dann-tags span{font-size:.67rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em;border:1px solid currentColor;border-radius:999px;padding:.42rem .62rem;opacity:.75}.dann-story-progress{position:absolute;right:clamp(1rem,2.5vw,2.8rem);bottom:1.5rem;display:flex;align-items:center;gap:.6rem;font-size:.58rem;font-weight:850;letter-spacing:.15em;z-index:30}.dann-story-progress i{display:block;width:88px;height:2px;background:currentColor;opacity:.25;position:relative}.dann-story-progress i:after{content:"";position:absolute;left:0;top:0;height:2px;width:calc(var(--story-progress,0)*100%);background:currentColor;opacity:1}
.dann-bible-composition{position:relative;height:82vh;max-height:850px;perspective:1400px}.dann-zoomable{border:0;padding:0;background:none;cursor:zoom-in;color:inherit}.dann-zoomable:focus-visible{outline:3px solid var(--dann-aqua);outline-offset:5px}.dann-zoomable img{display:block;width:100%;height:100%;object-fit:contain}.dann-bible-main{position:absolute;width:72%;height:72%;left:12%;top:13%;filter:drop-shadow(0 30px 40px rgba(0,0,0,.20));z-index:4}.dann-float{position:absolute;width:34%;height:34%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.17));z-index:6}.dann-float--a{left:-4%;top:4%}.dann-float--b{right:-2%;top:8%}.dann-float--c{right:0;bottom:3%;height:38%;width:27%}.dann-float--d{left:0;bottom:2%;width:31%}
.dann-story--advent{background:#1b315f;color:#fff}.dann-advent-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,28,58,.9) 0%,rgba(14,28,58,.45) 38%,transparent 66%);z-index:2;pointer-events:none}.dann-story-copy--light{color:#fff}.dann-advent-scene{position:absolute;inset:0;z-index:1}.dann-advent-bg{width:100%;height:100%;object-fit:cover}.advent-piece{position:absolute;z-index:5;filter:drop-shadow(0 20px 20px rgba(0,0,0,.35));}.advent-piece img{object-fit:contain}.advent-piece--family{width:30%;left:44%;bottom:4%}.advent-piece--angel{width:12%;right:10%;top:9%}.advent-piece--wise{width:27%;right:3%;bottom:8%}.advent-piece--camels{width:24%;left:51%;top:25%}
.dann-story--sytci{background:#061a32;color:#f5fbff}.dann-sytci-stage{background:radial-gradient(circle at 72% 20%,#0d6592 0%,#073d63 28%,#061a32 68%)}.dann-sytci-water{position:absolute;left:0;right:0;top:0;height:55%;opacity:.46;z-index:0}.dann-sytci-water img{width:100%;height:100%;object-fit:cover;object-position:top}.dann-sytci-composition{height:88vh;max-height:900px;position:relative;z-index:5}.dann-sytci-logo{width:min(280px,65%);height:auto;margin:1rem 0}.dann-sytci-box{position:absolute;width:75%;height:68%;left:8%;top:15%;filter:drop-shadow(0 35px 38px rgba(0,0,0,.4));z-index:4}.sytci-piece{position:absolute;z-index:8;filter:drop-shadow(0 18px 24px rgba(0,0,0,.35))}.sytci-piece--fish{width:23%;left:-2%;top:7%}.sytci-piece--serpent{width:26%;right:0;top:4%}.sytci-piece--components{width:40%;right:-3%;bottom:-2%}.sytci-piece--top{width:35%;left:-2%;bottom:0}.dann-kids-end{max-width:var(--dann-max);min-height:65vh;margin:auto;display:grid;place-content:center;text-align:center;padding:5rem 1rem}.dann-kids-end p{font-size:clamp(2.4rem,6vw,6rem);font-weight:800;line-height:.98;letter-spacing:-.045em;max-width:15ch;margin:0 auto 2rem}.dann-kids-end .dann-button{justify-self:center}
.dann-lightbox{border:0;padding:0;background:rgba(8,10,12,.92);width:100vw;height:100vh;max-width:none;max-height:none}.dann-lightbox::backdrop{background:rgba(8,10,12,.92)}.dann-lightbox img{width:100%;height:100%;object-fit:contain;padding:4vw}.dann-lightbox>button{position:fixed;z-index:4;right:1.25rem;top:1.25rem;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;width:3rem;height:3rem;border-radius:50%;font-size:1.8rem;cursor:pointer}
/* Contact */
.dann-contact-shell{max-width:var(--dann-max);margin:auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,6vw,7rem);padding:clamp(5rem,10vw,10rem) 0;align-items:start}.dann-contact-copy h1{font-size:clamp(3.5rem,8vw,8rem);margin:.5rem 0}.dann-contact-copy p{max-width:420px;opacity:.68}.dann-mail-window{border:1px solid var(--dann-border);box-shadow:var(--dann-shadow);background:color-mix(in srgb,var(--dann-paper) 94%,#fff);border-radius:.7rem;overflow:hidden}.dann-mail-titlebar{display:flex;align-items:center;gap:.4rem;padding:.7rem;border-bottom:1px solid var(--dann-border);font-size:.66rem;letter-spacing:.08em}.dann-mail-titlebar span{width:.72rem;height:.72rem;border-radius:50%;background:#ddd}.dann-mail-titlebar span:nth-child(1){background:#ff605c}.dann-mail-titlebar span:nth-child(2){background:#ffbd44}.dann-mail-titlebar span:nth-child(3){background:#00ca4e}.dann-mail-titlebar strong{margin-left:.7rem}.dann-mail-row{display:grid;grid-template-columns:90px 1fr;align-items:center;border-bottom:1px solid var(--dann-border);min-height:44px}.dann-mail-row>span,.dann-mail-body>span{font-size:.65rem;font-weight:850;letter-spacing:.13em;padding-left:1rem}.dann-mail-row input,.dann-mail-row select,.dann-mail-body textarea{width:100%;border:0;background:transparent;color:inherit;padding:.8rem;font:inherit;outline:0}.dann-mail-body{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--dann-border)}.dann-mail-body>span{padding-top:1rem}.dann-consent{display:flex;gap:.6rem;padding:1rem;font-size:.75rem;opacity:.75}.dann-transmit{margin:1rem;border:0;border-radius:999px;padding:.9rem 1.1rem;background:var(--dann-ink);color:var(--dann-paper);font-weight:850;letter-spacing:.05em;cursor:pointer}.dann-transmit span{margin-left:1rem}.dann-honeypot{position:absolute!important;left:-9999px!important}.dann-form-status{padding:0 1rem;font-size:.78rem}.dann-form-notice{margin:1rem;padding:.75rem 1rem;border-radius:.5rem}.dann-form-notice.is-success{background:#d7f5df;color:#164b25}.dann-marginalia-grid{columns:3 260px;column-gap:1rem}.dann-marginalia-grid article{break-inside:avoid;margin-bottom:1rem}.dann-marginalia-grid img{width:100%;height:auto;border-radius:.8rem}
@media(max-width:900px){.dann-portals{grid-template-columns:1fr}.dann-project-grid{grid-template-columns:1fr}.dann-kids-hero{grid-template-columns:1fr;min-height:auto;padding-top:5rem}.dann-kids-hero-art{height:50vh}.dann-story{height:auto;min-height:auto}.dann-story-stage{position:relative;top:auto;height:auto;min-height:100svh;display:block;padding:5rem 1rem}.dann-story-copy{max-width:680px;margin-bottom:2rem}.dann-bible-composition,.dann-sytci-composition{height:70vw;min-height:420px;max-height:680px}.dann-advent-stage{min-height:100svh}.dann-advent-scene{position:absolute;inset:0}.dann-advent-stage .dann-story-copy{position:relative;z-index:10;max-width:560px}.dann-story-progress{display:none}.dann-contact-shell{grid-template-columns:1fr}.dann-sytci-stage{min-height:900px}.dann-sytci-composition{height:520px}.dann-sytci-stage .dann-story-copy{position:relative;z-index:12}}
@media(max-width:600px){.dann-kids-hero h1{font-size:clamp(3.2rem,16vw,5.5rem)}.dann-kids-hero-art{height:350px}.dann-bible-composition{height:500px}.dann-bible-main{width:88%;left:6%}.dann-float{width:42%}.dann-float--c{width:35%}.dann-float--d{width:38%}.dann-story-copy h2{font-size:clamp(3rem,14vw,5rem)}.advent-piece--family{width:55%;left:18%;bottom:3%}.advent-piece--angel{width:24%;right:5%;top:27%}.advent-piece--wise{width:47%;right:-7%;bottom:11%}.advent-piece--camels{width:42%;left:18%;top:42%}.dann-sytci-stage{min-height:820px}.dann-sytci-composition{height:480px}.dann-sytci-box{width:95%;left:2%}.sytci-piece--fish{width:34%}.sytci-piece--serpent{width:38%}.sytci-piece--components{width:55%}.sytci-piece--top{width:48%}.dann-mail-row,.dann-mail-body{grid-template-columns:70px 1fr}.dann-home-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){[data-motion]{transform:none!important;opacity:1!important}.dann-story{height:auto}.dann-story-stage{position:relative;top:auto}}
.dann-random-fragments{position:relative;min-height:220px}.dann-random-fragments img{position:absolute;max-width:220px;height:auto;border-radius:1rem;box-shadow:var(--dann-shadow)}.dann-random-fragments img:nth-child(1){left:5%;top:0;transform:rotate(-5deg)}.dann-random-fragments img:nth-child(2){right:8%;top:12%;transform:rotate(7deg)}.dann-random-fragments img:nth-child(3){left:42%;bottom:0;transform:rotate(2deg)}
.dann-mobile-hint{display:none}@keyframes dannTapHint{0%,100%{box-shadow:0 0 0 0 rgba(22,174,185,0)}35%{box-shadow:0 0 0 5px rgba(22,174,185,.42)}65%{box-shadow:0 0 0 11px rgba(22,174,185,0)}}
@media(max-width:900px){.dann-mobile-hint{display:block;position:absolute;right:0;bottom:1rem;max-width:230px;font-size:.66rem;line-height:1.35;text-align:right;letter-spacing:.05em;opacity:.6}.dann-zoomable{animation:dannTapHint 3.6s ease 1 1.2s}}
@media(prefers-reduced-motion:reduce){.dann-zoomable{animation:none!important}}
.dann-case{max-width:var(--dann-max);margin:auto;padding:clamp(4rem,8vw,8rem) 0}.dann-case-hero{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,5vw,6rem);align-items:center}.dann-case-hero h1{font-size:clamp(3.2rem,7vw,8rem);margin:.5rem 0 1.2rem}.dann-case-hero p{font-size:clamp(1rem,1.7vw,1.3rem);opacity:.68;max-width:560px}.dann-case-hero figure{margin:0}.dann-case-hero img{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain;border-radius:1.5rem}.dann-case-meta{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;padding:2rem 0;margin:3rem 0;border-top:1px solid var(--dann-border);border-bottom:1px solid var(--dann-border)}.dann-case-meta div{display:grid;gap:.3rem}.dann-case-meta span{font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.5}.dann-case-meta strong{font-size:.9rem}.dann-case-copy{max-width:780px;margin:clamp(4rem,8vw,8rem) auto;font-size:1.08rem;line-height:1.7}.dann-case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dann-case-gallery .dann-zoomable{border-radius:1.2rem;overflow:hidden}.dann-case-gallery img{display:block;width:100%;height:auto}.dann-case-nav{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid var(--dann-border);margin-top:5rem;padding-top:1.5rem}.dann-case-nav div:last-child{text-align:right}.dann-case-nav small{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;opacity:.5}.dann-case-nav a{font-size:1.2rem;font-weight:800;text-decoration:none}@media(max-width:800px){.dann-case-hero{grid-template-columns:1fr}.dann-case-meta{grid-template-columns:repeat(2,1fr)}.dann-case-gallery{grid-template-columns:1fr}}
/* Elementor visual-authoring helpers */
.elementor-widget-dann-kids-hero .elementor-widget-container,
.elementor-widget-dann-kids-bible-story .elementor-widget-container,
.elementor-widget-dann-kids-advent-story .elementor-widget-container,
.elementor-widget-dann-kids-sytci-story .elementor-widget-container,
.elementor-widget-dann-kids-cta .elementor-widget-container{overflow:visible}
.elementor-widget-dann-kids-bible-story,.elementor-widget-dann-kids-advent-story,.elementor-widget-dann-kids-sytci-story{overflow:visible!important;contain:none!important}
.elementor-widget-dann-kids-hero .dann-kids,
.elementor-widget-dann-kids-bible-story .dann-kids,
.elementor-widget-dann-kids-advent-story .dann-kids,
.elementor-widget-dann-kids-sytci-story .dann-kids,
.elementor-widget-dann-kids-cta .dann-kids{width:100%;max-width:none}
.dann-featured-project{display:flex;gap:clamp(1.5rem,4vw,5rem);align-items:center;padding:clamp(1.2rem,3vw,2.5rem);border:1px solid var(--dann-border);border-radius:1.5rem;background:color-mix(in srgb,var(--dann-paper) 94%,var(--project-accent) 6%)}
.dann-featured-project__media{flex:0 0 58%;min-width:0}.dann-featured-project__media img{display:block;width:100%;height:auto;border-radius:1rem}.dann-featured-project__copy{flex:1;min-width:0}.dann-featured-project h2{font-size:clamp(2.4rem,5vw,5.5rem);line-height:.94;letter-spacing:-.05em;margin:.55rem 0 1rem}.dann-featured-project p{line-height:1.55;opacity:.7;margin:0 0 1.5rem}
.dann-project-hero-widget{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,6vw,7rem);max-width:var(--dann-max);margin:auto;padding:clamp(3rem,7vw,8rem) 0}.dann-project-hero-widget h1{font-size:clamp(3.2rem,7vw,8rem);line-height:.92;letter-spacing:-.055em;margin:.5rem 0 1rem}.dann-project-hero-widget__copy>p{font-size:clamp(1rem,1.7vw,1.3rem);line-height:1.55;opacity:.68}.dann-project-hero-widget figure{margin:0}.dann-project-hero-widget figure img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:1.5rem}.dann-project-hero-widget__meta{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--dann-border)}.dann-project-hero-widget__meta span{display:grid;gap:.2rem;font-weight:750}.dann-project-hero-widget__meta small{text-transform:uppercase;font-size:.62rem;letter-spacing:.12em;opacity:.5}
.dann-project-gallery-widget{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.dann-project-gallery-widget .dann-zoomable{border-radius:1rem;overflow:hidden}.dann-project-gallery-widget img{display:block;width:100%;height:auto}
.elementor-editor-active .dann-story{height:240vh}.elementor-editor-active .dann-story-stage{pointer-events:auto}
@media(max-width:800px){.dann-featured-project{flex-direction:column;align-items:stretch}.dann-featured-project__media{flex-basis:auto!important}.dann-project-hero-widget{grid-template-columns:1fr}.dann-project-gallery-widget{grid-template-columns:1fr}}

/* Portfolio artwork protection — layered deterrence, not DRM. */
body.dann-protection-standard img[data-dann-protected-art],
body.dann-protection-strong img[data-dann-protected-art],
body.dann-protection-standard .dann-kids img,
body.dann-protection-strong .dann-kids img,
body.dann-protection-standard .dann-case img,
body.dann-protection-strong .dann-case img,
body.dann-protection-standard .dann-project-card img,
body.dann-protection-strong .dann-project-card img,
body.dann-protection-standard .dann-marginalia-grid img,
body.dann-protection-strong .dann-marginalia-grid img{
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
body.dann-protection-strong .dann-zoomable img,
body.dann-protection-strong .dann-project-card img,
body.dann-protection-strong .dann-featured-project__media img,
body.dann-protection-strong .dann-project-hero-widget figure img,
body.dann-protection-strong .dann-case-gallery img,
body.dann-protection-strong .dann-marginalia-grid img{pointer-events:none}


.dann-protection-toast{
  position:fixed;left:50%;bottom:1.25rem;z-index:2147483000;transform:translate(-50%,20px);
  opacity:0;pointer-events:none;background:rgba(10,10,12,.92);color:#fff;border:1px solid rgba(255,255,255,.18);
  border-radius:999px;padding:.65rem .9rem;font-size:.7rem;letter-spacing:.06em;transition:opacity .18s ease,transform .18s ease;
}
.dann-protection-toast.is-visible{opacity:1;transform:translate(-50%,0)}

.dann-print-shield{display:none}
html.dann-capture-shield::after{
  content:"Protected portfolio preview";position:fixed;inset:0;z-index:2147483647;background:#000;color:#fff;
  display:grid;place-items:center;font:700 12px/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;
}

@media print{
  html,body{background:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body *{visibility:hidden!important}
  body .dann-print-shield,body .dann-print-shield *{visibility:visible!important}
  body .dann-print-shield{
    display:flex!important;position:fixed!important;inset:0!important;z-index:2147483647!important;
    background:#000!important;color:#fff!important;align-items:center!important;justify-content:center!important;text-align:center!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
  .dann-print-shield>div{display:grid;gap:1rem;max-width:34rem;padding:3rem}
  .dann-print-shield strong{font-size:2rem;letter-spacing:.02em}
  .dann-print-shield span{font-size:1rem;line-height:1.5}
  .dann-print-shield small{opacity:.6}
  .dann-protection-toast{display:none!important}
}


/* ─────────────────────────────────────────────────────────────
   Elementor portfolio widgets: process loop + horizontal timeline
   ───────────────────────────────────────────────────────────── */
.dann-widget-empty{padding:1rem;border:1px dashed currentColor;border-radius:.5rem;opacity:.65;font:500 13px/1.4 system-ui,sans-serif}

.dann-process-loop{width:100%;margin-inline:auto;position:relative}
.dann-process-stage{position:relative;width:100%;overflow:hidden;isolation:isolate;background:transparent}
.dann-process-layer{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity var(--dann-process-transition,500ms) cubic-bezier(.2,.7,.2,1);will-change:opacity}
.dann-process-layer img{width:100%;height:100%;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none}
.dann-process-loop[data-mode="replace"] .dann-process-layer.is-current{opacity:1;z-index:2}
.dann-process-loop[data-mode="build"] .dann-process-layer.is-visible{opacity:1}
.dann-process-loop[data-mode="build"] .dann-process-layer.is-current{z-index:2}
.dann-process-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.65rem;font:600 12px/1.35 system-ui,sans-serif;letter-spacing:.04em}
.dann-process-counter{opacity:.55;font-variant-numeric:tabular-nums;white-space:nowrap}
.dann-process-dots{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.7rem}
.dann-process-dot{appearance:none;width:8px;height:8px;padding:0;border:0;border-radius:999px;background:var(--dot-color,currentColor);opacity:.28;cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.dann-process-dot.is-active{opacity:1;transform:scale(1.28)}
.dann-process-dot:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.dann-timeline-strip{position:relative;width:100%;--dann-timeline-cursor:grab}
.dann-timeline-viewport{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:none;cursor:var(--dann-timeline-cursor);touch-action:pan-x pan-y;outline:none}
.dann-timeline-viewport::-webkit-scrollbar{display:none}
.dann-timeline-viewport.is-dragging{cursor:grabbing;scroll-behavior:auto!important;user-select:none}
.dann-timeline-track{display:flex;align-items:center;width:max-content;min-width:100%;box-sizing:border-box}
.dann-timeline-item{position:relative;flex:0 0 auto;margin:0;display:flex;align-items:stretch;box-sizing:border-box;scroll-snap-align:none}
.dann-timeline-strip.is-natural .dann-timeline-item{width:auto}
.dann-timeline-item>a{height:100%;display:block;color:inherit;text-decoration:none}
.dann-timeline-item img{display:block;height:100%;width:auto;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.dann-timeline-strip.is-fixed .dann-timeline-item img{width:100%}
.dann-timeline-label{position:absolute;left:.65rem;bottom:.55rem;z-index:2;max-width:calc(100% - 1.3rem);padding:.3rem .5rem;border-radius:.35rem;background:rgba(0,0,0,.58);color:#fff;font:600 11px/1.25 system-ui,sans-serif;backdrop-filter:blur(7px)}
.dann-timeline-strip[data-snap="start"] .dann-timeline-viewport,.dann-timeline-strip[data-snap="center"] .dann-timeline-viewport{scroll-snap-type:x proximity}
.dann-timeline-strip[data-snap="start"] .dann-timeline-item{scroll-snap-align:start}
.dann-timeline-strip[data-snap="center"] .dann-timeline-item{scroll-snap-align:center}
.dann-timeline-arrows{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.65rem}
.dann-timeline-arrow{appearance:none;border:1px solid currentColor;background:transparent;color:inherit;width:2.35rem;height:2.35rem;border-radius:999px;display:grid;place-items:center;cursor:pointer;font:500 1rem/1 system-ui,sans-serif;transition:opacity .18s ease,transform .18s ease}
.dann-timeline-arrow:hover{transform:translateY(-1px)}
.dann-timeline-arrow:disabled{opacity:.25;cursor:default;transform:none}
.dann-timeline-progress{position:relative;height:2px;margin-top:.7rem;background:rgba(127,127,127,.25);overflow:hidden}
.dann-timeline-progress-bar{position:absolute;inset:0 auto 0 0;width:100%;background:currentColor;transform-origin:left center;transform:scaleX(0);will-change:transform}

@media (prefers-reduced-motion: reduce){
  .dann-process-layer,.dann-process-dot,.dann-timeline-arrow{transition:none!important}
  .dann-timeline-viewport{scroll-behavior:auto!important}
}

/* 1.3.1 scroll-sync hardening */
@supports not (height: 100dvh){
  .dann-kids-hero{min-height:calc(100vh - var(--dann-sticky-offset,72px))}
  .dann-story-stage{height:calc(100vh - var(--dann-sticky-offset,72px))}
}
.elementor-editor-active .dann-story-stage[data-dann-sticky-blocked="1"]::before{
  content:"Sticky scroll is being clipped by an ancestor with overflow. Set the parent Container > Layout > Overflow to Default/Visible.";
  position:absolute;left:1rem;right:1rem;top:1rem;z-index:9999;padding:.65rem .8rem;border-radius:.5rem;
  background:#fff3cd;color:#664d03;border:1px solid #ffecb5;font:600 12px/1.35 system-ui,sans-serif;
}


/* 1.4.1 — Elementor wrapper hardening for existing Kids layouts.
   :has() is supported by current Chrome/Safari/Firefox and prevents an old Elementor
   wrapper from clipping/redefining the custom sticky scroll context. */
@supports selector(.e-con:has(.elementor-widget-dann-kids-bible-story)) {
  .e-con:has(.elementor-widget-dann-kids-bible-story),
  .e-con:has(.elementor-widget-dann-kids-advent-story),
  .e-con:has(.elementor-widget-dann-kids-sytci-story){
    overflow:visible!important;
    contain:none!important;
  }
  .e-con:has(> .elementor-widget-dann-kids-bible-story),
  .e-con:has(> .elementor-widget-dann-kids-advent-story),
  .e-con:has(> .elementor-widget-dann-kids-sytci-story){
    width:100%!important;
    max-width:none!important;
    margin-block:0!important;
    padding-block:0!important;
  }
}


/* Random Image widget */
.dann-random-image{margin:0;position:relative;width:100%}.dann-random-image__link{display:block;color:inherit;text-decoration:none}.dann-random-image__frame{display:block;overflow:hidden;width:100%;background:#e9e5dc}.dann-random-image img{display:block;width:100%;height:100%;transition:opacity .36s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.dann-random-image.is-loading img{opacity:.12;transform:scale(.995)}

/* 2.0.1 — Elementor Pro rebuild using the original 1.x visual system. */
.e-con.dann-home,
.e-con.dann-kids,
.e-con.dann-contact-shell{max-width:var(--dann-max);margin-inline:auto;width:100%}

.e-con.dann-home-hero--elementor{
  position:relative;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;
  gap:clamp(2rem,5vw,6rem);align-items:center;min-height:72vh;padding:clamp(4rem,10vw,10rem) 0!important;max-width:none;
}
.dann-home-hero--elementor .dann-home-copy-native{position:relative;z-index:2;max-width:820px}
.dann-home-hero--elementor .dann-home-random-wrap{position:relative;z-index:1;min-width:0}
.dann-home-hero--elementor .dann-random-image__frame{background:transparent}
.dann-home-hero--elementor .dann-random-image img{filter:drop-shadow(0 28px 38px rgba(11,25,35,.17))}
.dann-home-intro-native{max-width:740px;font-size:clamp(1.05rem,2vw,1.5rem);opacity:.75}
.dann-text-link-button-native .elementor-button{background:transparent!important;color:inherit!important;padding:.4rem 0!important;border-radius:0!important;font-weight:700!important}

.e-con.dann-portals-native{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important}
.e-con.dann-portals-native>.e-con.dann-portal-native{width:auto!important;min-height:280px!important;position:relative!important;display:grid!important;grid-template-rows:auto 1fr auto!important;gap:.35rem!important}
.dann-portal-native .dann-portal-title-native{align-self:center}
.dann-portal-native .dann-portal-title-native .elementor-heading-title{font-size:clamp(1.7rem,3vw,3.5rem);letter-spacing:-.05em;line-height:.98}
.dann-portal-native .dann-portal-meta-native{opacity:.65;align-self:end}
.dann-portal-native .dann-portal-link-native{position:absolute;right:1rem;top:.7rem;width:auto!important}
.dann-portal-native .dann-portal-link-native .elementor-button{background:transparent!important;color:inherit!important;padding:.25rem!important;min-width:0!important}

.e-con.dann-kids-hero--elementor{display:grid!important;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important}
.dann-kids-hero-art--elementor>.elementor-element{position:absolute!important;margin:0!important}
.dann-kids-hero-art--elementor .dann-kids-hero-img--1{width:72%!important;left:8%!important;top:13%!important;transform:rotate(-6deg)}
.dann-kids-hero-art--elementor .dann-kids-hero-img--2{width:38%!important;right:2%!important;top:5%!important;transform:rotate(8deg)}
.dann-kids-hero-art--elementor .dann-kids-hero-img--3{width:28%!important;right:13%!important;bottom:5%!important;transform:rotate(-8deg)}
.dann-kids-hero-art--elementor .elementor-widget-image img{position:static!important;width:100%!important;max-width:100%!important;max-height:none!important;height:auto!important;object-fit:contain;filter:drop-shadow(0 28px 35px rgba(15,38,50,.2))}
.e-con.dann-story-elementor-wrapper{overflow:visible!important;contain:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

/* Elementor Pro Form presented with the original transmission/mail-window language. */
.e-con.dann-pro-mail-window{padding:0!important;overflow:hidden}
.dann-pro-mail-window>.elementor-element:first-child{margin:0!important}
.dann-pro-mail-window .dann-mail-titlebar{margin:0}
.dann-pro-contact-form{padding:1rem 1.1rem 1.25rem}
.dann-pro-contact-form .elementor-form-fields-wrapper{gap:0!important}
.dann-pro-contact-form .elementor-field-group{margin:0!important;padding:.75rem 0!important;border-bottom:1px solid var(--dann-border);display:grid!important;grid-template-columns:100px 1fr;align-items:center}
.dann-pro-contact-form .elementor-field-group>label{grid-column:1;font-size:.62rem!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase;opacity:.55;margin:0!important}
.dann-pro-contact-form .elementor-field-group>.elementor-field{grid-column:2;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:.25rem 0!important;color:inherit!important;font:inherit!important}
.dann-pro-contact-form .elementor-field-type-textarea{align-items:start}
.dann-pro-contact-form .elementor-field-type-textarea textarea{min-height:180px}
.dann-pro-contact-form .elementor-field-group.elementor-field-type-submit{display:block!important;border-bottom:0;padding-top:1rem!important}
.dann-pro-contact-form .elementor-button{width:100%;border:0;border-radius:.7rem;background:var(--dann-ink);color:var(--dann-paper);font-weight:850;letter-spacing:.07em;padding:1rem 1.2rem}

@media (max-width:1024px){
  .e-con.dann-home-hero--elementor{grid-template-columns:1fr!important;padding-inline:0!important}
  .dann-home-hero--elementor .dann-home-random-wrap{width:min(100%,680px)!important}
  .e-con.dann-portals-native{grid-template-columns:1fr!important}
  .e-con.dann-portals-native>.e-con.dann-portal-native{width:100%!important}
  .e-con.dann-kids-hero--elementor{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  .dann-pro-contact-form .elementor-field-group{grid-template-columns:1fr!important;gap:.35rem}
  .dann-pro-contact-form .elementor-field-group>label,.dann-pro-contact-form .elementor-field-group>.elementor-field{grid-column:1}
}
