.elementor-kit-7{--e-global-color-primary:#1F1E1C;--e-global-color-secondary:#6B7A4F;--e-global-color-text:#2B2A27;--e-global-color-accent:#A7B08C;--e-global-color-ddsand:#F2EEE6;--e-global-color-ddsand2:#E7E1D5;--e-global-color-ddmuted:#7D776C;--e-global-color-ddink2:#2B2A27;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;background-color:#F2EEE6;color:#2B2A27;font-family:"Inter", Sans-serif;font-weight:300;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#1F1E1C;}.elementor-kit-7 a:hover{color:#6B7A4F;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */:root{--ink:#1F1E1C;--ink-2:#2B2A27;--sand:#F2EEE6;--sand-2:#E7E1D5;--olive:#6B7A4F;--olive-2:#A7B08C;--muted:#7D776C;--line:rgba(31,30,28,.14);--ease:cubic-bezier(.65,.05,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--dd-h:84px}
html{scroll-behavior:smooth}
body{background:var(--sand);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--olive);color:#fff}
img{-webkit-user-drag:none}

/* ---------- page curtain ---------- */
.dd-curtain{position:fixed;inset:0;background:var(--ink);z-index:99999;pointer-events:none;animation:ddUp 1s var(--ease) .25s forwards}
.dd-curtain span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:300 28px/1 Fraunces,serif;color:var(--sand);letter-spacing:-.5px;opacity:0;animation:ddFade .4s ease forwards}
.dd-curtain span i{font-style:normal;color:var(--olive-2)}
.dd-curtain.is-leaving{animation:ddDown .6s var(--ease) forwards}
.dd-curtain.is-leaving span{opacity:0;animation:none}
@keyframes ddUp{from{transform:translateY(0)}to{transform:translateY(-100%)}}
@keyframes ddDown{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes ddFade{to{opacity:1}}
.elementor-editor-active .dd-curtain,.elementor-editor-preview .dd-curtain{display:none}

/* ---------- reveal ---------- */
.dd-reveal{opacity:0;transform:translate3d(0,46px,0);transition:opacity 1.1s var(--ease-out),transform 1.1s var(--ease-out)}
.dd-reveal.is-in{opacity:1;transform:none}
.dd-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.dd-split .w>span{display:inline-block;transform:translate3d(0,110%,0);transition:transform 1.15s var(--ease-out)}
.dd-split.is-in .w>span{transform:none}
.elementor-editor-active .dd-reveal{opacity:1;transform:none}
.elementor-editor-active .dd-split .w>span{transform:none}
@media (prefers-reduced-motion:reduce){.dd-reveal,.dd-split .w>span{opacity:1!important;transform:none!important;transition:none!important}.dd-curtain{display:none}}

/* ---------- header ---------- */
.dd-header{transition:box-shadow .4s,background-color .4s;z-index:999!important}
body.dd-scrolled .dd-header{background-color:rgba(242,238,230,.88)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.dd-logo .elementor-heading-title span{color:var(--olive)}
.dd-nav .elementor-icon-list-text{position:relative}
.dd-nav .elementor-icon-list-text:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.dd-nav a:hover .elementor-icon-list-text:after{transform:scaleX(1);transform-origin:left}

/* ---------- buttons ---------- */
.dd-btn .elementor-button{position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease)}
.dd-btn .elementor-button:before{content:"";position:absolute;inset:-1px;background:var(--olive);transform:translateY(102%);border-radius:inherit;transition:transform .55s var(--ease);z-index:-1}
.dd-btn .elementor-button:hover:before{transform:none}
.dd-btn .elementor-button:hover{color:#fff!important;border-color:var(--olive)!important}
.dd-btn-ghost .elementor-button{background:transparent!important}

/* ---------- hero ---------- */
.dd-hero-photo img{border-radius:999px 999px 8px 8px;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;filter:grayscale(.15) contrast(1.02)}
.dd-hero-photo{overflow:hidden}
.dd-scrollcue{display:inline-flex;align-items:center;gap:12px;font:500 12px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.dd-scrollcue b{display:block;width:1px;height:46px;background:var(--line);position:relative;overflow:hidden}
.dd-scrollcue b:after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--ink);animation:ddCue 1.8s var(--ease) infinite}
@keyframes ddCue{to{top:100%}}

/* ---------- marquee ---------- */
.dd-marquee{overflow:hidden;white-space:nowrap;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.dd-marquee .track{display:inline-flex;animation:ddMarquee 38s linear infinite}
.dd-marquee:hover .track{animation-play-state:paused}
.dd-marquee .track span{font:300 clamp(30px,4.4vw,64px)/1.1 Fraunces,serif;color:var(--sand);padding:0 .45em;letter-spacing:-.02em}
.dd-marquee .track i{font-style:normal;color:var(--olive-2);padding:0 .1em}
@keyframes ddMarquee{to{transform:translateX(-50%)}}

/* ---------- about ---------- */
.dd-about-img{overflow:hidden;border-radius:8px}
.dd-about-img img{aspect-ratio:4/5;object-fit:cover;transform:scale(1.12);transition:transform 1.6s var(--ease-out)}
.dd-about-img.is-in img{transform:scale(1)}
.dd-quote .elementor-heading-title:before{content:"“";color:var(--olive)}
.dd-quote .elementor-heading-title:after{content:"”";color:var(--olive)}

/* ---------- services ---------- */
.dd-svc{border-top:1px solid var(--line);transition:background-color .6s var(--ease),padding .6s var(--ease)}
.dd-svc:last-child{border-bottom:1px solid var(--line)}
.dd-svc:hover{background-color:var(--sand-2)}
.dd-svc .dd-svc-arrow .elementor-heading-title{display:inline-block;transition:transform .6s var(--ease)}
.dd-svc:hover .dd-svc-arrow .elementor-heading-title{transform:rotate(-45deg)}
.dd-svc .dd-svc-num .elementor-heading-title{transition:color .5s}
.dd-svc:hover .dd-svc-num .elementor-heading-title{color:var(--olive)!important}

/* ---------- cards (loop) ---------- */
.dd-card{cursor:pointer}
.dd-card .dd-card-media{overflow:hidden}
.dd-card .dd-card-media img{transition:transform 1.3s var(--ease-out)}
.dd-card:hover .dd-card-media img{transform:scale(1.05) translateY(-6px)}
.dd-card .dd-card-title .elementor-heading-title{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .7s var(--ease)}
.dd-card:hover .dd-card-title .elementor-heading-title{background-size:100% 1px}
.dd-card .dd-card-arrow .elementor-heading-title{display:inline-block;transition:transform .6s var(--ease)}
.dd-card:hover .dd-card-arrow .elementor-heading-title{transform:rotate(-45deg)}
.dd-grid .e-loop-item{opacity:0;transform:translateY(50px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.dd-grid .e-loop-item.is-in{opacity:1;transform:none}
.elementor-editor-active .dd-grid .e-loop-item{opacity:1;transform:none}

/* ---------- chips / education ---------- */
.dd-chips{display:flex;flex-wrap:wrap;gap:10px}
.dd-chips span{border:1px solid var(--line);border-radius:999px;padding:11px 20px;font:400 15px/1 Inter,sans-serif;color:var(--ink);transition:background .35s,color .35s,border-color .35s}
.dd-chips span:hover{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.dd-edu{border-top:1px solid var(--line);padding:22px 0}
.dd-edu:last-child{border-bottom:1px solid var(--line)}

/* ---------- dark sections ---------- */
.dd-dark .dd-chips span{border-color:rgba(242,238,230,.2);color:var(--sand)}
.dd-stat{border-top:1px solid rgba(242,238,230,.18);padding-top:26px}

/* ---------- footer ---------- */
.dd-footer a{transition:color .3s}
.dd-footer .dd-mail .elementor-heading-title a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .7s var(--ease),color .3s}
.dd-footer .dd-mail .elementor-heading-title a:hover{background-size:100% 2px;color:var(--olive-2)!important}
.dd-footer .elementor-icon-list-item a:hover .elementor-icon-list-text{color:var(--olive-2)!important}

/* ---------- cursor ---------- */
.dd-cursor{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);pointer-events:none;z-index:99998;display:flex;align-items:center;justify-content:center;transition:width .45s var(--ease),height .45s var(--ease),margin .45s var(--ease),background-color .45s,opacity .3s;opacity:0}
.dd-cursor.on{opacity:1}
.dd-cursor b{font:500 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .25s;white-space:nowrap}
.dd-cursor.is-view{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--olive)}
.dd-cursor.is-view b{opacity:1}
.dd-cursor.is-link{width:44px;height:44px;margin:-22px 0 0 -22px;background:rgba(107,122,79,.25)}
@media (hover:none),(pointer:coarse){.dd-cursor{display:none!important}}

/* ---------- portfolio (gaia-style split) ---------- */
.dd-work{align-items:flex-start!important}
.dd-stage-col{position:sticky!important;top:var(--dd-h);height:calc(100vh - var(--dd-h));align-self:flex-start;overflow:hidden}
.dd-stage{position:absolute;inset:0;background:var(--ink);cursor:none}
.dd-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--slide-bg,#2B2A27);clip-path:inset(100% 0 0 0);transition:clip-path 1.05s var(--ease);z-index:0}
.dd-slide:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 10%,rgba(255,255,255,.10),transparent 60%),linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.28));pointer-events:none}
.dd-slide.is-prev{clip-path:inset(0 0 0 0);z-index:1}
.dd-slide.is-active{clip-path:inset(0 0 0 0);z-index:2}
.dd-slide .lap{width:74%;max-width:820px;height:auto;transform:scale(1.1) translateY(30px);transition:transform 1.5s var(--ease-out);filter:drop-shadow(0 40px 50px rgba(0,0,0,.35));position:relative;z-index:1}
.dd-slide .ph{position:absolute;right:9%;bottom:9%;width:15%;max-width:170px;height:auto;transform:translateY(80px);opacity:0;transition:transform 1.3s var(--ease-out) .25s,opacity .8s .25s;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45));z-index:2}
.dd-slide .lg{position:absolute;left:44px;top:40px;max-width:170px;max-height:70px;width:auto;height:auto;object-fit:contain;opacity:0;transform:translateY(-12px);transition:opacity .8s .35s,transform .9s var(--ease-out) .35s;z-index:2}
.dd-slide.is-active .lap{transform:none}
.dd-slide.is-active .ph{transform:none;opacity:1}
.dd-slide.is-active .lg{opacity:1;transform:none}
.dd-stage-meta{position:absolute;left:44px;right:44px;bottom:34px;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;color:var(--sand);font:500 12px/1.5 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.dd-stage-meta .c{font:300 15px/1 Inter,sans-serif;letter-spacing:.1em}
.dd-stage-meta .c b{font:400 40px/1 Fraunces,serif;letter-spacing:-1px;margin-right:6px}
.dd-stage-bar{position:absolute;left:0;bottom:0;height:3px;background:var(--olive-2);z-index:6;transition:width .9s var(--ease)}
.dd-list .elementor-loop-container{gap:0!important}
.dd-list{padding:34vh 0 40vh}
.dd-pf-item{cursor:pointer}
.dd-pf-title .elementor-heading-title{color:#BDB6A9;transition:color .5s var(--ease)}
.dd-pf-title .elementor-heading-title:before{content:"";display:inline-block;width:0;height:2px;background:var(--olive);vertical-align:middle;margin-right:0;transform:translateY(-4px);transition:width .6s var(--ease),margin .6s var(--ease)}
.dd-pf-item:hover .dd-pf-title .elementor-heading-title{color:var(--muted)}
.e-loop-item.is-active .dd-pf-title .elementor-heading-title{color:var(--ink)}
.e-loop-item.is-active .dd-pf-title .elementor-heading-title:before{width:34px;margin-right:16px}
.dd-pf-meta{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--ease),opacity .5s,margin .6s var(--ease)}
.e-loop-item.is-active .dd-pf-meta{max-height:40px;opacity:1}
.dd-pf-accent{display:none!important}
@media (min-width:1025px){.dd-pf-media{display:none!important}}
@media (max-width:1024px){
 .dd-stage-col{display:none!important}
 .dd-list{padding:10px 0 40px}
 .dd-pf-title .elementor-heading-title{color:var(--ink)}
 .dd-pf-title .elementor-heading-title:before{display:none}
 .dd-pf-meta{max-height:none;opacity:1}
 .dd-pf-ph,.dd-pf-logo{display:none!important}
 .dd-list .e-loop-item{padding-bottom:42px}
}

/* ---------- single ---------- */
.dd-single-hero .dd-meta-col{border-top:1px solid rgba(242,238,230,.2);padding-top:18px}
.dd-showcase{overflow:hidden}
.dd-showcase .dd-sc-phone{filter:drop-shadow(0 30px 40px rgba(0,0,0,.3))}
.dd-showcase .dd-sc-lap{filter:drop-shadow(0 40px 60px rgba(0,0,0,.25))}
.dd-postnav .elementor-post-navigation{border:0!important;padding:0!important}
.dd-postnav .post-navigation__next--title,.dd-postnav .post-navigation__prev--title{font:300 clamp(28px,4vw,56px)/1.05 Fraunces,serif;letter-spacing:-1px;color:var(--ink);transition:color .35s}
.dd-postnav a:hover .post-navigation__next--title,.dd-postnav a:hover .post-navigation__prev--title{color:var(--olive)}
.dd-postnav .post-navigation__next--label,.dd-postnav .post-navigation__prev--label{font:500 12px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:block}
.dd-logo-box img{max-height:90px;width:auto!important;object-fit:contain}

/* ---------- fixes ---------- */
.dd-w40{width:40%!important;max-width:40%!important;flex:0 0 40%!important}
.dd-w30{width:32%!important;max-width:32%!important;flex:0 0 32%!important}
@media (max-width:1024px){.dd-w40,.dd-w30{width:100%!important;max-width:100%!important;flex:1 1 100%!important}}
.dd-btn .elementor-button{white-space:nowrap}
.dd-btn-sm .elementor-button{padding:14px 26px!important}
.dd-stage-col>.elementor-widget-html,.dd-stage-col>.elementor-element{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important}
.dd-list .dd-pf-title .elementor-heading-title{color:#BDB6A9!important}
.dd-list .dd-pf-item:hover .dd-pf-title .elementor-heading-title{color:var(--muted)!important}
.dd-list .e-loop-item.is-active .dd-pf-title .elementor-heading-title{color:var(--ink)!important}
@media (max-width:1024px){.dd-list .dd-pf-title .elementor-heading-title{color:var(--ink)!important}}
.dd-card-media{background:var(--sand-2)}
.dd-card-media .elementor-widget-image,.dd-card-media .elementor-widget-image img{width:100%}
.dd-card-media img{max-height:340px!important;width:auto!important;max-width:100%!important;object-fit:contain;margin:0 auto;display:block}
.dd-pf-media img{max-height:300px;width:auto!important;object-fit:contain;margin:0 auto;display:block}
.dd-header .dd-nav{margin:0!important}
/* astra: full-width single project */
.single-portfolio .site-content>.ast-container{max-width:100%!important;padding:0!important;display:block!important}
.single-portfolio #primary{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;border:0!important}
.single-portfolio .ast-article-single,.single-portfolio #primary>article,.single-portfolio .site-main>article{padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.single-portfolio #secondary{display:none!important}
.dd-postnav .post-navigation__next--title,.dd-postnav .post-navigation__prev--title{font:400 clamp(28px,4vw,56px)/1.05 Fraunces,serif!important;letter-spacing:-1px!important;color:var(--ink)!important;text-transform:none!important}
.dd-postnav a:hover .post-navigation__next--title,.dd-postnav a:hover .post-navigation__prev--title{color:var(--olive)!important}
.dd-postnav .post-navigation__next--label,.dd-postnav .post-navigation__prev--label{font:500 12px/1 Inter,sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--muted)!important;margin-bottom:14px!important;display:block}
#ast-scroll-top{background:var(--ink)!important;color:var(--sand)!important;border-radius:999px!important}/* End custom CSS */