/* Owner-selected Services typography, shared across the public website. */
:root{--om-type:Georgia,'Times New Roman',serif}
body{font-family:var(--om-type)}
body :is(.site-header,.site-header *,main,main *,.site-footer,.site-footer *,.quote-dialog,.quote-dialog *,.quote-float,.om-global-motion,.preview-banner,.preview-banner *){font-family:var(--om-type)!important}
.om-opening h1,.om-sections h2,.om-sections h3,.om-project-heading h1{text-transform:none;line-height:1.1;font-weight:400}
.om-opening-monogram{font-weight:400;letter-spacing:-.105em;line-height:.78}
.om-opening-company{font-weight:400;letter-spacing:.015em}
.site-header .brand-mark{font-weight:400;font-size:43px}
/* Sliding illuminated underline and warm reflected light from the supplied clip. */
.site-header .site-nav{position:relative;isolation:isolate;gap:6px;padding:6px 0 10px;--nav-light-opacity:0}
.site-header .site-nav>a{position:relative;z-index:1;display:flex;align-items:center;min-height:44px;padding:10px 13px;border-radius:10px;color:#dfd1bd;text-decoration:none;background:linear-gradient(180deg,#ffedd708,#ffedd703);transition:color 220ms ease,background-color 220ms ease;white-space:nowrap}
.site-header .site-nav>a::after{display:none}
.site-header .site-nav>a:hover,.site-header .site-nav>a:focus-visible,.site-header .site-nav>a[aria-current=page]{color:#fff0d4}
.site-header .site-nav::before,.site-header .site-nav::after{content:'';position:absolute;pointer-events:none;left:0;top:0;opacity:var(--nav-light-opacity);transition:transform 440ms cubic-bezier(.22,.68,0,1),width 440ms cubic-bezier(.22,.68,0,1),height 440ms cubic-bezier(.22,.68,0,1),opacity 180ms ease}
.site-header .site-nav::before{z-index:0;transform:translate(var(--nav-light-x,0px),var(--nav-light-y,0px));width:var(--nav-light-w,0px);height:var(--nav-light-h,44px);border-radius:10px;background:radial-gradient(ellipse at 50% 110%,#d7ae6852,transparent 73%),linear-gradient(180deg,#ffefd711,#c5a47208);box-shadow:inset 0 1px #e8cf9c25,inset 0 -1px #ffe5ad52}
.site-header .site-nav::after{z-index:2;transform:translate(var(--nav-light-x,0px),calc(var(--nav-light-y,0px) + var(--nav-light-h,44px) + 5px));width:var(--nav-light-w,0px);height:2px;border-radius:999px;background:#ffdf9d;box-shadow:0 0 5px #ffe6b5,0 6px 15px 2px #d9ad696b,0 16px 28px 8px #d9ad692b}
.site-header .site-nav:not(.om-nav-lit)>a[aria-current=page]{box-shadow:inset 0 -2px #e6c280}
.site-header .site-nav>a:focus-visible{outline:2px solid #e9cb90;outline-offset:4px}
@media(max-width:1100px) and (min-width:951px){.site-header .site-nav{gap:3px}.site-header .site-nav>a{padding-inline:9px;font-size:12px}}
@media(max-width:950px){.site-header .site-nav{position:absolute;left:0;right:0;top:100%;padding:16px 6% 24px;gap:11px}.site-header .site-nav.open{padding:16px 6% 24px;gap:11px}.site-header .site-nav>a{padding:12px 16px;min-height:48px;white-space:normal}.site-header .site-nav::after{box-shadow:0 0 5px #ffe6b5,0 5px 12px #d9ad6970}}
@media(max-width:760px){.om-opening-identity{gap:16px}.om-opening-monogram{font-size:100px}.om-opening-company{font-size:18px}.om-opening h1{font-size:35px;line-height:1.1}.om-film-label{font-size:8px}.om-opening-edge{font-size:7px}}
@media(max-width:370px){.om-opening-monogram{font-size:86px}.om-opening-company{font-size:16px}.om-opening-identity{gap:13px}.om-opening h1{font-size:32px}}
/* One shared logo plaque keeps OM and its full name together. */
.om-opening-identity{flex-direction:column;align-items:center;gap:17px;background:#100904ad;border:1px solid #ffedd721;border-radius:10px;padding:24px 28px 20px;top:90px;text-shadow:none}
.om-opening-monogram{font-size:clamp(115px,11vw,170px);padding-right:.08em}
.om-opening-company{background:none;border-radius:0;padding:0;text-align:center;font-size:clamp(18px,1.6vw,24px);line-height:1.2;letter-spacing:.04em}
.om-hero-motion{position:absolute;right:5.2%;bottom:88px;background:#100904c9;border:1px solid #ceb88f55;border-radius:28px;padding:8px 17px}
/* The video frame turns in perspective with ordinary scrolling; no pinned intro. */
.om-scroll-study{perspective:1400px;margin-top:45px}
.om-scroll-film-frame{width:min(820px,100%);margin:auto;transform-style:preserve-3d;transform-origin:center;will-change:transform;border:1px solid #ad8b5559;border-radius:12px;background:#100904;box-shadow:0 28px 60px #0005;overflow:hidden}
.om-scroll-film{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#100904}
.om-film-caption{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:30px;border-top:1px dashed #ceb88f45;margin-top:36px}
.om-film-caption p{margin:0;font-size:16px;color:#e3d2ba}.om-film-caption .om-kicker{display:block;margin-bottom:8px}.om-film-note{font-size:12px;color:#cdbfae}.om-scroll-resume{background:none;cursor:pointer;color:#ffedd7;flex-shrink:0}.om-scroll-resume[hidden]{display:none}
.om-local-projects{padding-top:55px}.om-local-projects .om-work-composition{align-items:start}.om-local-projects figcaption{color:#554636;border-color:#c3b193}.om-local-projects .om-work-detail{padding-top:55px}
@media(max-height:760px) and (min-width:761px){.om-opening-identity{top:85px;padding:18px 25px 16px;gap:12px}.om-opening-monogram{font-size:115px}.om-opening-company{font-size:18px}}
@media(max-width:760px){.om-opening-identity{left:6%;right:auto;top:80px;padding:18px 23px;gap:13px}.om-opening-monogram{font-size:98px}.om-opening-company{font-size:17px}.om-opening-copy{bottom:128px}.om-hero-motion{bottom:62px;right:6%;font-size:11px;padding:4px 14px}.om-scroll-study{margin-top:30px;perspective:1000px}.om-film-caption{align-items:flex-start;flex-direction:column;gap:14px;padding-top:22px;margin-top:25px}.om-film-caption p{font-size:15px}.om-local-projects{padding-top:35px}.om-local-projects .om-work-detail{padding-top:0}.om-scroll-film-frame{border-radius:7px}}
html[data-motion=off] .om-scroll-film-frame{transform:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){.om-scroll-film-frame{transform:none!important;will-change:auto}}
/* Wide architectural cinema, with restrained depth instead of a floating player. */
.om-work-feature{overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#59482b33,transparent 65%),#191711}
.om-scroll-study{margin-top:55px;perspective:1800px}
.om-scroll-film-frame{width:100%;max-width:none;border:0;border-radius:0;box-shadow:0 35px 75px #0007;position:relative;transform-origin:center}
.om-scroll-film{aspect-ratio:2/1;object-fit:cover;object-position:center 58%;height:auto}
.om-scroll-film-frame::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #f5dca626;background:linear-gradient(0deg,#15120d35,transparent 23%,transparent 85%,#15120d20)}
.om-film-caption{border-top:1px solid #ceb88f38;padding-top:22px;margin-top:26px;gap:20px}
.om-film-toggle{border:1px solid #b99c6755;border-radius:999px;background:#fff0d509;color:#f2dfbd;padding:12px 20px;cursor:pointer;white-space:nowrap;font:inherit;transition:background 200ms}
.om-film-toggle:hover{background:#d0aa5b26}.om-film-toggle:focus-visible{outline:2px solid #edcf91;outline-offset:4px}.om-film-toggle[hidden]{display:none}
@media(max-width:760px){.om-scroll-study{margin-top:32px}.om-scroll-film{aspect-ratio:4/3}.om-film-caption{display:grid;grid-template-columns:1fr auto;gap:16px}.om-film-caption p{grid-column:1/-1}.om-film-note{max-width:170px}.om-film-toggle{grid-column:2;grid-row:2;font-size:13px;padding:10px 13px}}
/* Supplier gallery: generous ivory space, original marks, two slow seamless rails. */
.om-brands{background:linear-gradient(135deg,#f8f5ec,#ede6d9);color:#2a251d;overflow:hidden;padding-block:95px}
.om-brands .om-section-head{align-items:end;margin-bottom:45px}.om-brands h2{font-size:clamp(38px,4.5vw,64px)}
.om-brand-intro{max-width:370px}.om-brand-intro p{color:#665b4c;font-size:17px;line-height:1.7}
.om-brand-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.om-brand-actions button{font:inherit;font-size:13px;border:1px solid #ac916b70;background:transparent;border-radius:30px;padding:10px 17px;color:#493b28;cursor:pointer;min-height:44px}.om-brand-actions button:hover{background:#d9c4a44a}.om-brand-actions button[hidden]{display:none}
.om-brand-actions button:focus-visible,.om-brand-card:focus-visible{outline:2px solid #8d652f;outline-offset:4px}
.om-brand-lane{margin-top:30px}.om-brand-category{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:14px}.om-brand-category h3{font-size:23px;margin:0}.om-brand-category p{font-size:13px;color:#6d6051;margin:0}
.om-brand-window{padding:8px 0 15px;overflow:hidden}
.om-brand-list{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;padding:0 5%;margin:0;list-style:none}
.om-brand-list li{flex:0 0 205px;list-style:none;margin:0}.om-brand-card{display:block;text-decoration:none;color:#534431;transition:transform 220ms ease}.om-brand-card{cursor:default}
.om-brand-art{height:115px;border:1px solid #c5b29355;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 5px 15px #604c2610;padding:18px 20px}
.om-brand-art-dark{background:#29251f}.om-brand-art img{width:100%;height:76px;object-fit:contain;display:block;max-width:170px}
.om-brand-name{display:block;text-align:center;font-size:12px;line-height:1.35;margin-top:12px;min-height:32px}
.om-brands-ready:not(.om-brands-static) .om-brand-window{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.om-brands-ready:not(.om-brands-static) .om-brand-track{display:flex;width:max-content;animation:om-brand-drift var(--brand-duration,60s) linear infinite;animation-play-state:paused}
.om-brands-ready:not(.om-brands-static) .om-brand-list{flex-wrap:nowrap;justify-content:flex-start;padding:0 18px 0 0;gap:18px;flex-shrink:0}
.om-brands-ready.om-brands-visible:not(.om-brands-static):not(.om-brands-paused) .om-brand-track{animation-play-state:running}
.om-brands-ready .om-brand-window:hover .om-brand-track,.om-brands-ready .om-brand-window:focus-within .om-brand-track{animation-play-state:paused!important}
.om-brand-copy{display:none}.om-brands-ready:not(.om-brands-static) .om-brand-copy{display:flex}
.om-brand-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:24px;margin-top:25px;border-top:1px solid #b69a713d}.om-brand-foot p{max-width:620px;color:#6d6051;font-size:15px;margin:0}
@keyframes om-brand-drift{to{transform:translateX(-50%)}}
html[data-motion=off] .om-brands .om-brand-copy{display:none}html[data-motion=off] .om-brands .om-brand-track{animation:none;transform:none;width:auto}
@media(max-width:760px){.om-brands{padding-block:60px}.om-brands .om-section-head{display:block;margin-bottom:30px}.om-brand-intro{margin-top:24px;max-width:100%}.om-brand-category{display:block}.om-brand-category p{margin-top:8px;line-height:1.5}.om-brand-list li{flex-basis:170px}.om-brand-art{height:104px;padding:15px}.om-brand-name{font-size:11px}.om-brand-foot{display:block}.om-brand-foot a{margin-top:18px}.om-brands-static .om-brand-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-inline:6%}.om-brands-static .om-brand-art img{max-width:100%}}
@media(prefers-reduced-motion:reduce){.om-brands .om-brand-track{animation:none!important;transform:none!important}.om-brands .om-brand-copy{display:none!important}.om-brand-card{transition:none}}

/* Alternating homepage backgrounds requested by the owner. */
.om-local-section.om-dark .om-local-projects figcaption{color:#e3d2ba;border-color:#77664c}
.om-local-section.om-dark .om-contact-links a{color:#f2e5cf}
.om-sections.om-closing:not(.om-dark){background:linear-gradient(135deg,#f8f5ec,#ede6d9);color:#2a251d;--om-secondary:#665b4c;--om-rule:#c3b193}
.om-sections.om-closing:not(.om-dark) .om-kicker{color:#725732}
.om-brands.om-dark .om-brand-intro p,.om-brands.om-dark .om-brand-category p,.om-brands.om-dark .om-brand-foot p{color:#cfc2af}
.om-brands.om-dark .om-brand-name{color:#e3d2ba}
.om-brands.om-dark .om-brand-actions button{color:#eedcba;border-color:#ad916c80;background:#fff0d508}
.om-brands.om-dark .om-brand-actions button:hover{background:#d9c4a41c}
.om-brands.om-dark .om-brand-art{border-color:#bca47755}
.om-brands.om-dark .om-brand-foot{border-color:#b69a7155}

/* Preserve the service grid when WordPress wraps images in paragraphs. */
.service-row > p{display:contents}
.service-row > br,.service-row > p > br{display:none}
.service-row > img,.service-row > p > img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;grid-column:1;grid-row:1;order:0}
.service-row > div{grid-column:2;grid-row:1;align-self:center}
@media(max-width:700px){.service-row > img,.service-row > p > img{grid-column:1;grid-row:1}.service-row > div{grid-column:1;grid-row:2}}
@media(max-width:760px){.om-button-arrow{display:none!important}}

.om-photo-retouch{font-size:12px!important;opacity:.8}.om-photo-retouch a{text-decoration:underline;text-underline-offset:3px}

.om-gallery-film{padding-bottom:65px}.om-gallery-film video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#171511;border:1px solid #a88b5855}.om-gallery-film>p:last-child{font-size:12px;margin-top:14px}.om-gallery-film h2{font-size:clamp(32px,4vw,55px)}

.om-portrait-films{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);max-width:880px;margin:40px auto 0}.om-portrait-film .om-scroll-study{margin-top:20px}.om-portrait-film .om-scroll-film{aspect-ratio:9/16;object-fit:contain}.om-portrait-film h3{font-size:28px}.om-portrait-film .om-film-caption{flex-wrap:wrap}.om-portrait-film .om-film-caption p{flex-basis:100%}@media(max-width:650px){.om-portrait-films{grid-template-columns:1fr;max-width:420px;gap:50px}}

.om-gallery-more{display:flex;margin:48px auto 0;cursor:pointer}.om-gallery-more[hidden]{display:none!important}


.om-context-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;margin:40px 0}.om-context-photo-grid figure{margin:0;min-width:0}.om-context-photo-grid .om-photo{display:block;aspect-ratio:4/3;overflow:hidden}.om-context-photo-grid img{width:100%;height:100%;object-fit:cover}.om-context-photo-grid figcaption{padding-top:22px}.om-context-photo-grid h3{font-size:30px;margin:12px 0}.om-context-photo-grid p{max-width:55ch}.om-context-film-layout{display:grid;grid-template-columns:1fr minmax(260px,420px);gap:9%;align-items:center}.om-context-film-layout>div>p:not(.om-kicker){max-width:38ch;margin:25px 0}.om-context-film .om-portrait-film{width:100%}.om-context-film .om-scroll-film-frame{aspect-ratio:9/16}.om-context-film .om-scroll-film{object-fit:contain}
@media(max-width:760px){.om-context-photo-grid,.om-context-film-layout{grid-template-columns:1fr;gap:36px}.om-context-film .om-portrait-film{max-width:420px;margin:0 auto}.om-context-photo-grid h3{font-size:27px}}

@media(max-width:760px){.om-project-collection.is-enhanced .om-gallery-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.om-gallery-filters button{font-size:10px!important}}


.om-gallery-filters::after{top:var(--om-edge-y,5px);height:var(--om-edge-h,52px);bottom:auto;box-sizing:border-box}


.om-gallery-toolbar{flex-wrap:wrap}.om-gallery-filters{flex-wrap:wrap}.om-gallery-count{white-space:normal}@media(max-width:760px){.om-project-collection.is-enhanced .om-gallery-filters{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}}


/* Blend the project breadcrumb into the dark film introduction. */
.breadcrumbs.wrap:has(~ #om-gallery-film){
 width:100%;max-width:none;margin:0;box-sizing:border-box;
 padding:22px max(6vw,calc((100% - 1280px)/2)) 22px;
 background:linear-gradient(120deg,#25211c,#191715 72%);color:#c6bdaf;
}
.breadcrumbs.wrap:has(~ #om-gallery-film) a{color:#f2e5cf}
.breadcrumbs.wrap:has(~ #om-gallery-film) a:hover{color:#e2c997}

.om-project-closing-description{max-width:48ch;margin-top:24px;color:#c6bdaf;font-size:16px;line-height:1.65}
#om-gallery-film-title{font-size:clamp(48px,6.5vw,100px);line-height:1.04;font-weight:400;letter-spacing:-.045em;margin:0}

.timeline-range{grid-column:1/-1;width:100%;box-sizing:border-box}
.timeline-range[hidden]{display:none}
.timeline-range .calendar-day.in-range{background:#e7d9bc;color:#30271b;border-radius:0}
.timeline-range .calendar-day.range-endpoint{background:#98753c;color:#fff;border-color:#98753c}
.timeline-range .calendar-day:disabled{opacity:.3}
input[name="timeline"],input[name="timeline_end"]{cursor:pointer}

/* Change only the date numbers; leave calendar headings and labels unchanged. */
.om-inquiry-form .timeline-range button.calendar-day{
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:14px!important;font-weight:400!important;font-style:normal!important;
 font-variant-numeric:lining-nums tabular-nums!important;
 letter-spacing:0!important;line-height:1.4;
}
.om-inquiry-form .timeline-range button.calendar-day[aria-pressed="true"]{font-weight:700!important}

/* Match the displayed range values to the calendar numerals. */
.om-inquiry-form input[name="timeline"],
.om-inquiry-form input[name="timeline_end"],
.om-inquiry-form input[name="timeline"]::-webkit-datetime-edit,
.om-inquiry-form input[name="timeline_end"]::-webkit-datetime-edit{
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:14px!important;font-weight:400!important;font-style:normal!important;
 font-variant-numeric:lining-nums tabular-nums!important;letter-spacing:0!important;
}

#om-gallery-film{padding-top:16px}
#om-gallery-film-title.om-gallery-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* The estimate is now a single form, without step navigation. */
.om-inquiry-form .quote-progress{display:none!important}

.om-film-playlist{position:relative;background:#191715;border:1px solid #b4945b55;overflow:hidden;isolation:isolate}
.om-film-playlist:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#19171588,#191715bb),var(--film-poster);background-size:cover;background-position:center;filter:blur(25px);z-index:-1;transform:scale(1.1)}
.om-film-playlist>video{display:block;width:100%;height:min(72vh,760px);object-fit:contain}
.om-playlist-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;background:#191715;color:#f3eadb}
.om-playlist-bar p{margin:0;font-size:17px}.om-playlist-controls{display:flex;gap:8px}
.om-playlist-controls button{background:transparent;border:1px solid #b4945b;color:#f3eadb;padding:10px 16px;cursor:pointer}
.om-playlist-controls button:hover{background:#b4945b33}
@media(max-width:700px){.om-playlist-bar{flex-direction:column;align-items:flex-start;padding:18px}.om-film-playlist>video{height:62vh}}

/* Keep portrait footage at a restrained viewing size. */
.om-film-playlist>video{height:min(62vh,600px)}
.om-film-playlist.is-low-resolution>video{height:min(48vh,400px)}

/* Give project films a larger presentation without cropping the work. */
.om-film-playlist>video,
.om-film-playlist.is-low-resolution>video{height:min(86vh,960px);min-height:520px;object-fit:contain}
@media(max-width:700px){
 .om-film-playlist>video,
 .om-film-playlist.is-low-resolution>video{height:76svh;min-height:380px;max-height:820px}
}
