/* Scoped to the editable homepage blocks; no configurator styles. */
.de-home{--de-ink:#171717;--de-cream:#F4EFE8;--de-white:#FCFAF7;--de-brass:#B8945B;--de-gray:#817B74;--de-line:#DDD7CF;background:var(--de-white);color:var(--de-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
.de-home *, .de-home *::before, .de-home *::after{box-sizing:border-box}
body.de-home-page #main>.ct-container,body.de-home-page #main>.ct-container-full{width:100%;max-width:none;padding:0}
body.de-home-page .entry-content>.de-home{width:100%;max-width:none;margin:0}
.de-home .wp-block-group{margin-block:0}
.de-home .de-container{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.de-home .de-section{padding:100px 0}
.de-home p{margin:0 0 24px}
.de-home h1,.de-home h2,.de-home h3{color:inherit;font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:0 0 28px}
.de-home h1{font-size:clamp(48px,4.5vw,76px)}
.de-home h2{font-size:clamp(36px,3.7vw,58px)}
.de-home h3{font-size:30px;letter-spacing:-.03em}
.de-home .de-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600;color:#71604a;margin-bottom:28px}
.de-home .de-lead{font-size:18px;line-height:1.65}
.de-home .de-small{font-size:13px;color:#6b655f}
.de-home .wp-block-buttons{margin:30px 0}
.de-home .wp-block-button__link{background:var(--de-ink);color:var(--de-white);font-size:14px;font-weight:500;letter-spacing:.025em;padding:17px 29px;border:1px solid var(--de-ink);border-radius:3px;box-shadow:none;transition:background .2s,color .2s}
.de-home .wp-block-button__link:hover{background:#39332c;border-color:#39332c;color:#fff}
.de-home a:focus-visible,.de-home button:focus-visible{outline:2px solid #8c682f;outline-offset:5px}
.de-home .de-hero{background:var(--de-cream);padding:76px 0 66px}
.de-home .de-hero-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}
.de-home .de-hero-copy .de-small{margin-top:24px;margin-bottom:0}
.de-home .de-hero-gallery{min-width:0;position:relative}
.de-home .de-slides{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:#e7e1d8}
.de-home .de-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}
.de-home .de-slide:first-child:not([aria-hidden]),.de-home .de-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.de-home .de-slide>.de-placeholder,.de-home .de-slide>.wp-block-image{height:100%;width:100%;margin:0}
.de-home .de-slide img{display:block;height:100%;width:100%;object-fit:cover}
.de-home .de-placeholder{min-height:240px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#e8e2d9;border:1px solid var(--de-line);padding:32px;aspect-ratio:4 / 5}
.de-home .de-placeholder::after{content:"";position:absolute;inset:18px;border:1px solid rgba(129,123,116,.2);pointer-events:none}
.de-home .de-placeholder-number{font-family:Georgia,serif;font-size:clamp(48px,7vw,110px);line-height:1;color:#aaa093;letter-spacing:-.05em;margin:0 0 26px}
.de-home .de-placeholder-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#6b655f;margin:0}
.de-home .de-slide:nth-child(2) .de-placeholder{background:#ddd8d0}
.de-home .de-slide:nth-child(3) .de-placeholder{background:#e5dfd5}
.de-home .de-slide:nth-child(4) .de-placeholder{background:#d9d6d0}
.de-home .de-slide:nth-child(5) .de-placeholder{background:#ece5da}
.de-home .de-gallery-caption{font-size:12px;color:#6b655f;margin:18px 0 0}
.de-home .de-slide-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px}
.de-home .de-slide-controls button{appearance:none;background:transparent;border:0;border-radius:0;color:var(--de-ink);min-width:44px;min-height:44px;padding:10px;cursor:pointer;font:inherit;flex-shrink:0}
.de-home .de-slide-dot::before{content:"";display:block;width:10px;height:10px;border:1px solid #817B74;border-radius:50%;margin:auto}
.de-home .de-slide-dot[aria-current="true"]::before{background:var(--de-ink);border-color:var(--de-ink)}
.de-home .de-slide-controls .de-slide-pause{margin-left:auto;font-size:12px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.de-home .de-intro{border-bottom:1px solid var(--de-line)}
.de-home .de-intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.de-home .de-intro-layout h2{margin-bottom:0}
.de-home .de-intro-layout>p{max-width:450px;margin-top:8px;font-size:18px}
.de-home .de-section-heading{max-width:620px;margin-bottom:52px}
.de-home .de-custom-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.de-home .de-custom-layout>.de-placeholder{aspect-ratio:4/5}
.de-home .de-feature{display:grid;grid-template-columns:36px 1fr;gap:16px;border-top:1px solid var(--de-line);padding:22px 0}
.de-home .de-feature-number{color:#817B74;font-size:11px;padding-top:7px}
.de-home .de-feature h3{font-size:25px;margin:0 0 8px}
.de-home .de-feature p{font-size:14px;margin-bottom:0}
.de-home .de-features .wp-block-buttons{margin-bottom:0}
.de-home .de-work{background:var(--de-cream)}
.de-home .de-work-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:25px;margin-top:44px}
.de-home .de-work-item:nth-child(2){padding-top:55px}
.de-home .de-work-item .de-small{margin:15px 0 0}
.de-home .de-work-item .de-placeholder-number{font-size:64px}
.de-home .de-final{background:var(--de-ink);color:var(--de-cream)}
.de-home .de-final .de-eyebrow{color:#c8ac80}
.de-home .de-final{text-align:center;padding:105px 0}
.de-home .de-final h2{font-size:clamp(48px,5.6vw,84px)}
.de-home .de-final .wp-block-buttons{justify-content:center;margin-bottom:0}
.de-home .de-final .wp-block-button__link{background:var(--de-cream);border-color:var(--de-cream);color:var(--de-ink)}
.de-home .de-final .wp-block-button__link:hover{background:#e2d5c2}
/* Show every slide in the editor so photographs can be replaced in List View. */
.editor-styles-wrapper .de-home .de-slides{aspect-ratio:auto;overflow:visible}
.editor-styles-wrapper .de-home .de-slide{position:relative;opacity:1;visibility:visible;pointer-events:auto;margin-bottom:20px}
@media(max-width:1000px){.de-home .de-container{width:calc(100% - 64px)}.de-home .de-hero-layout{gap:35px}.de-home .de-custom-layout,.de-home .de-intro-layout{gap:44px}.de-home .de-work-grid{gap:18px}}
@media(max-width:700px){.de-home .de-container{width:calc(100% - 40px)}.de-home .de-section{padding:64px 0}.de-home .de-hero{padding-top:48px}.de-home .de-hero-layout,.de-home .de-intro-layout,.de-home .de-custom-layout{grid-template-columns:1fr;gap:32px}.de-home h1{font-size:clamp(44px,10vw,64px)}.de-home .de-slides{aspect-ratio:1/1}.de-home .de-custom-layout>.de-placeholder{aspect-ratio:4/3}.de-home .de-work-grid{grid-template-columns:1fr;gap:30px}.de-home .de-work-item:nth-child(2){padding-top:0}.de-home .de-work-item .de-placeholder{aspect-ratio:4/3}.de-home .de-final{padding:75px 0}}
@media(prefers-reduced-motion:reduce){.de-home .de-slide,.de-home .wp-block-button__link{transition:none}}

/* Keep the intended two-line hero on the narrowest phones. */
@media(max-width:360px){.de-home h1{font-size:36px}}
/* Enlarge the hit area without changing Blocksy's icon artwork. */
body.de-home-page .ct-header .ct-header-trigger,
body.de-home-page .ct-header [data-id="search"],
body.de-home-page .ct-toggle-close{min-width:44px;min-height:44px;justify-content:center}


/* Customization recording: preserve the complete 4:5 picture on every screen. */
.de-home .de-custom-layout > .de-custom-video {
    width: 100%;
    min-width: 0;
    margin: 0;
    aspect-ratio: 4 / 5;
    background: var(--de-white);
    align-self: center;
}
.de-home .de-custom-video video {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 5;
    object-fit: contain;
}

/* Story-led finished sets: retain the existing open, staggered composition. */
.de-home .de-work > .de-container > .de-eyebrow { text-align: center; margin-bottom: 18px; }
.de-home .de-work-grid { gap: clamp(20px, 3vw, 42px); align-items: start; margin-top: 56px; }
.de-home .de-work-item { min-width: 0; }
.de-home .de-work-item > p:first-child {
    color: var(--de-ink); font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(26px, 2.5vw, 30px); font-weight: 400; line-height: 1.15;
    letter-spacing: -.03em; margin: 0 0 10px;
}
.de-home .de-work-item > p:nth-child(2) {
    font-family: Arial, Helvetica, sans-serif; font-size: 14px;
    font-weight: 500; line-height: 1.5; letter-spacing: .015em; color: #625d57; margin: 0 0 22px;
}
.de-home .de-work-item > p:nth-child(2) strong { font-weight: inherit; }
.de-home .de-work-item > .wp-block-video {
    position: relative; width: 100%; aspect-ratio: 4 / 5; margin: 0;
    background: #e8e2d9;
}
.de-home .de-work-item > .wp-block-video video {
    display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: contain;
}
.de-home .de-work-item .de-small {
    border-top: 1px solid var(--de-line); margin: 22px 0 0; padding-top: 18px;
    font-size: 14px; line-height: 1.75; color: #625d57;
}
.de-home .de-story-toggle {
    position: absolute; right: 12px; bottom: 12px; z-index: 1;
    width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border: 1px solid #ddd7cf;
    border-radius: 3px; background: #fcfaf7; color: #171717;
    font: 500 12px/1.5 Arial, Helvetica, sans-serif; cursor: pointer;
    box-shadow: 0 2px 12px rgb(0 0 0 / 8%);
    transition: background .2s, border-color .2s;
}
.de-home .de-story-toggle:hover { background: #f4efe8; border-color: #817b74; }
.de-home .de-story-toggle:focus-visible { outline-offset: 3px; }
.de-home .de-work-item.is-playing .de-story-toggle { border-color: #b8945b; }
.de-home .de-story-status { font-size: 12px; color: #625d57; margin: 8px 0 0; }
@media (max-width: 700px) {
    .de-home .de-work-grid { gap: 48px; margin-top: 36px; }
    .de-home .de-work-item { width: 100%; max-width: 480px; margin-inline: auto; }
    .de-home .de-work-item:nth-child(2) { padding-top: 0; }
    .de-home .de-work-item > p:nth-child(2) { margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .de-home .de-story-toggle { transition: none; }
}

/* Decorative icons; the button retains its descriptive accessible name. */
.de-home .de-story-icon {
    display: block; width: 0; height: 0; margin-left: 3px;
    border-top: 6px solid transparent; border-bottom: 6px solid transparent;
    border-left: 9px solid currentColor;
}
.de-home .is-playing .de-story-icon {
    width: 10px; height: 12px; margin-left: 0;
    border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor;
}
