:root{--sg-bg:#fbfaf8;--sg-fg:#242135;--sg-panel:#fff;--sg-line:#d8d3dc;--sg-accent:#655785;--sg-header:76px;color-scheme:light}
:root[data-theme=dark]{--sg-bg:#111113;--sg-fg:#f3f0f5;--sg-panel:#19191d;--sg-line:#45424c;--sg-accent:#c5b3e7;color-scheme:dark}
body{background:var(--sg-bg)!important;color:var(--sg-fg)!important;padding-top:var(--sg-header)!important}
.et-l--header{display:none!important}
.site-controls{position:fixed;inset:0 0 auto;z-index:100000;height:var(--sg-header);display:flex;align-items:center;gap:24px;padding:12px 3vw;background:var(--sg-bg);color:var(--sg-fg);border-bottom:1px solid var(--sg-line);font:600 13px/1.2 Poppins,Arial,sans-serif}
.site-controls a,.site-controls button{color:inherit;background:none;border:0;font:inherit;display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;cursor:pointer;padding:0 10px}
.site-controls .site-brand{font-size:15px;margin-right:auto;letter-spacing:-.04em;padding-left:0}.site-controls .view-switch,.site-controls .language-switch{display:flex;align-items:center;gap:2px}
.site-controls [aria-current=page]{box-shadow:inset 0 -2px currentColor}.site-controls [data-theme-toggle]{font-size:25px;width:44px}.site-controls [data-menu-toggle]{width:48px;font-size:22px}
.site-controls a:focus-visible,.site-controls button:focus-visible,.site-menu a:focus-visible{outline:2px solid var(--sg-accent);outline-offset:3px}
.site-menu{position:fixed;right:3vw;top:calc(var(--sg-header) + 8px);z-index:100001;background:var(--sg-panel);color:var(--sg-fg);padding:20px;box-shadow:0 10px 40px #0003;min-width:240px;border:1px solid var(--sg-line)}.site-menu a{display:block;padding:14px;color:inherit;font-weight:600}.site-menu[hidden]{display:none}
:root[data-theme=dark] :is(#page-container,#et-main-area,#main-content,.et_pb_section,.et_pb_row,.et_pb_column,.et-l--footer,.et_pb_post,.geo-intro,.service-page,.project-context){background-color:var(--sg-bg)!important;color:var(--sg-fg)!important}
:root[data-theme=dark] :is(main,footer) :is(h1,h2,h3,h4,h5,h6,p,span,strong,em,li,label,a,.et_pb_text,.et_pb_text_inner,.df-post-title){color:var(--sg-fg)!important}
:root[data-theme=dark] :is(main,footer) a{text-decoration-color:var(--sg-accent)}
:root[data-theme=dark] :is(input,textarea,select,.video-preview,.video-notice,.video-remove){color:var(--sg-fg)!important;background-color:var(--sg-panel)!important;border-color:var(--sg-line)!important}
:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#bdb7c6!important}
:root[data-theme=dark] .et_pb_contact_submit{color:var(--sg-fg)!important;border-color:var(--sg-fg)!important;background:var(--sg-panel)!important}
:root[data-theme=dark] .et-l--footer img[src$='.svg']{background:#f8f7fa;padding:8px}
:root[data-theme=dark] .service-page .service-cta{border-color:var(--sg-line)}
.experience-home{overflow:hidden;height:100dvh}.experience-home main{padding:0!important;margin:0!important}
.project-landscape{position:fixed;inset:var(--sg-header) 0 0;overflow:hidden;background:var(--sg-bg);touch-action:none;cursor:grab;overscroll-behavior:none;isolation:isolate}
.project-landscape.is-dragging{cursor:grabbing}.landscape-tile{position:absolute;display:block;left:0;top:0;background:var(--sg-panel);overflow:hidden;user-select:none;-webkit-user-select:none;will-change:transform;color:#fff!important}
.landscape-tile img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.landscape-caption{position:absolute;inset:auto 0 0;padding:70px 22px 24px;background:linear-gradient(transparent,#000b);color:#fff!important;display:flex;align-items:end;justify-content:space-between;gap:16px;font-size:clamp(13px,1.3vw,19px);line-height:1.3;font-weight:600;pointer-events:none}
.landscape-caption small{font-size:11px;letter-spacing:.09em;text-transform:uppercase}.landscape-tile:focus-visible{outline:4px solid #b7a2e5;outline-offset:-5px;z-index:4}.landscape-tile:hover img{opacity:.9}.is-dragging .landscape-tile{cursor:grabbing}
.landscape-instructions{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;background:#111c;color:#fff;border-radius:30px;padding:8px 16px;font-size:10px;letter-spacing:.04em;pointer-events:none;white-space:nowrap}
:root[data-theme=dark] .landscape-caption,:root[data-theme=dark] .landscape-caption span,:root[data-theme=dark] .landscape-caption small{color:white!important}
html:not(.js) .project-landscape{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,1fr);touch-action:auto;overflow:visible}html:not(.js) .landscape-tile{position:relative;min-height:280px}html:not(.js) .experience-home{overflow:auto;height:auto}html:not(.js) .landscape-instructions{display:none}
@media(max-width:700px){:root{--sg-header:104px}.site-controls{flex-wrap:wrap;gap:0 10px;padding:8px 14px;align-content:center}.site-controls .site-brand{width:calc(100% - 60px);height:32px;min-height:32px;order:0}.site-controls [data-menu-toggle]{order:1;min-height:32px;height:32px}.site-controls .view-switch{order:2;margin-right:auto}.site-controls .language-switch{order:3}.site-controls [data-theme-toggle]{order:4}.site-controls a,.site-controls button{padding:0 8px;font-size:12px}.site-controls [data-theme-toggle]{font-size:23px}.landscape-caption{padding:60px 16px 20px;align-items:start;flex-direction:column;gap:5px}.geo-intro,.service-page{padding-top:38px!important}.site-menu{left:14px;right:14px}.landscape-instructions{font-size:9px}.project-context{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.landscape-tile,.landscape-tile img{transition:none!important;scroll-behavior:auto}}

/* Full-bleed project view; navigation floats above the photographs. */
body.experience-home{padding-top:0!important}
.experience-home .project-landscape{inset:0}
.experience-home .site-controls{background:transparent;border:0;color:#fff;pointer-events:none;text-shadow:0 1px 6px #0008}
.experience-home .site-controls a,.experience-home .site-controls button{pointer-events:auto}
.experience-home .site-controls [aria-current=page]{box-shadow:none;text-decoration:underline;text-underline-offset:7px}
.experience-home .landscape-instructions{display:none}
.experience-home .landscape-tile:hover img{opacity:1}
.experience-home .landscape-caption{inset:0 auto auto 0;transform:translate(var(--caption-x,24px),var(--caption-y,120px));width:max-content;max-width:calc(100% - 32px);padding:0;background:none;opacity:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-shadow:0 1px 6px #000b;font-size:clamp(14px,1.3vw,20px);transition:opacity .12s ease}
@media(hover:hover) and (pointer:fine){.experience-home .landscape-tile:hover .landscape-caption{opacity:1}}
.experience-home .landscape-tile:focus-visible .landscape-caption{opacity:1;transform:translate(24px,120px)}
.experience-home .is-dragging .landscape-caption{opacity:0!important}
@media(hover:none),(pointer:coarse){.experience-home .landscape-caption{inset:auto 0 0;transform:none;max-width:none;width:auto;padding:55px 18px 20px;background:linear-gradient(transparent,#0009);opacity:1}}
@media(prefers-reduced-motion:reduce){.experience-home .landscape-caption{transition:none}}
