.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.theme-olive { --demo-focus: var(--olive-200); }.theme-current { --demo-focus: var(--yellow-300); }.theme-form { --demo-focus: var(--plum-900); }
.demo-shell :focus-visible { outline: 3px solid var(--demo-focus); outline-offset: 5px; }
.demo-body .demo-banner { position: sticky; top: 0; }
.electrical-services article { display: flex; flex-direction: column; align-items: flex-start; }
.electrical-services article .demo-text-link { margin-top: auto; padding-top: 1.5rem; }
.class-grid article { display: flex; flex-direction: column; align-items: center; }
.class-grid article > p:not(.demo-kicker) { flex: 1; }
.theme-current h1 { letter-spacing: -.05em; }
.demo-banner { position: relative; z-index: 40; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem 2rem; color: var(--ink-950); background: var(--paper-50); font-size: .7rem; border-bottom: 1px solid var(--paper-200); }.demo-banner > div { display: flex; align-items: center; gap: 1.1rem; }.demo-banner a { display: inline-flex; align-items: center; gap: .5rem; min-height: 32px; }.demo-banner a:hover { text-decoration: underline; }.demo-banner svg { width: 14px; height: 14px; }.demo-pill { border: 1px solid var(--ink-700); padding: .17rem .4rem; border-radius: 2px; font-size: .56rem; font-weight: 600; letter-spacing: .07em; white-space: nowrap; }
.demo-container { width: min(1200px,calc(100% - 8rem)); margin-inline: auto; }.demo-section { padding-block: clamp(4rem,8vw,7rem); }.demo-header { display: flex; justify-content: space-between; align-items: center; gap: 2rem; min-height: 105px; }.demo-brand { display: flex; align-items: center; gap: .5rem; font-size: 2rem; line-height: 1; letter-spacing: -.03em; font-family: var(--font-serif); font-weight: 600; }.demo-brand svg { width: 30px; height: 30px; }.demo-nav { display: flex; align-items: center; gap: 2rem; font-size: .8rem; }.demo-nav a[aria-current] { text-decoration: underline; text-underline-offset: 6px; }.demo-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }.demo-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; background: var(--demo-button); color: var(--demo-button-text); padding: .9rem 1.4rem; border: 1px solid transparent; border-radius: 0; min-height: 48px; font-size: .82rem; font-family: var(--font-sans); font-weight: 550; transition: transform 180ms,opacity 180ms; }.demo-button:hover { transform: translateY(-2px); opacity: .85; }.demo-button svg { width: 17px; height: 17px; }.demo-text-link { display: inline-flex; gap: 1.6rem; align-items: center; border-bottom: 1px solid currentColor; padding-bottom: .5rem; font-size: .86rem; min-height: 44px; margin-top: 1.5rem; }.demo-text-link svg { width: 18px; height: 18px; }.demo-kicker { font-size: .64rem; letter-spacing: .17em; text-transform: uppercase; margin-bottom: 1.5rem; font-family: var(--font-sans); }.demo-shell h1,.demo-shell h2 { font-family: var(--font-serif); font-weight: 450; line-height: .97; letter-spacing: -.04em; }.demo-shell h1 { font-size: clamp(4rem,7.5vw,7rem); }.demo-shell h2 { font-size: clamp(3rem,5vw,4.8rem); }.demo-shell p { color: inherit; }.demo-shell h3 { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 550; }.demo-section-head { margin-bottom: 3rem; }.demo-section-head.split { display: flex; justify-content: space-between; gap: 3rem; align-items: end; }.demo-section-head.split > p { font-size: .94rem; }.demo-mobile { display: none; }.demo-footer { padding-block: 3rem 1.5rem; }.demo-footer-top { display: flex; justify-content: space-between; gap: 3rem; padding-bottom: 3rem; }.demo-footer-top p { font-size: .8rem; margin-top: 1rem; max-width: 290px; opacity: .85; }.demo-footer-top nav { display: flex; gap: 2rem; align-items: start; font-size: .78rem; flex-wrap: wrap; }.demo-footer-top nav a { padding-block: .6rem; }.demo-footer-bottom { border-top: 1px solid currentColor; padding-top: 1.2rem; display: flex; gap: 1rem; justify-content: space-between; font-size: .68rem; }.demo-footer-bottom a { display: inline-flex; gap: .5rem; align-items: center; }.demo-footer-bottom svg { width: 15px; height: 15px; }.demo-closing { text-align: center; padding: 5rem 0; }.demo-closing .demo-button { margin-top: 2.4rem; }.demo-page-hero { padding-block: 4rem; }.demo-page-hero > p:last-child:not(.demo-kicker) { margin-top: 2rem; font-size: 1.07rem; line-height: 1.8; }.demo-fine { font-size: .76rem; opacity: .85; }.demo-shell .faq-item { border-color: currentColor; }.demo-shell .faq-item summary { font-weight: 500; }.demo-shell .faq-item p { opacity: .85; }
.theme-olive { --demo-button: var(--olive-200); --demo-button-text: var(--olive-950); background: var(--olive-950); color: var(--olive-200); }.theme-olive em { font-weight: 400; }.theme-olive .demo-kicker { color: var(--olive-200); }.olive-hero { position: relative; height: 640px; min-height: 550px; display: flex; justify-content: center; align-items: center; }.olive-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.4); }.olive-hero-copy { position: relative; text-align: center; color: #fff9e8; padding: 3rem 1rem; }.olive-hero h1 { font-size: clamp(5rem,9vw,8.5rem); }.olive-hero-copy .demo-kicker { color: #fff9e8; }.olive-hero-copy > p:not(.demo-kicker) { margin-block: 1.7rem; font-size: .95rem; }.olive-hero-foot { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); font-size: .55rem; letter-spacing: .2em; white-space: nowrap; }.demo-ribbon { display: flex; justify-content: center; gap: 6rem; padding: 1.5rem; border-bottom: 1px solid #58614b; font-size: .77rem; }.olive-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }.olive-intro > div:last-child { padding-top: 1rem; }.olive-intro p:not(.demo-kicker) { max-width: 510px; font-size: 1.04rem; line-height: 1.85; }.olive-feature { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 5rem; }.olive-feature img { aspect-ratio: 1.1; width: 100%; object-fit: cover; }.olive-feature p:not(.demo-kicker) { margin-top: 2rem; line-height: 1.8; }.dish-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 3rem; margin-bottom: 2rem; }.dish-grid article { border-top: 1px solid #58614b; padding-top: 1.5rem; }.dish-grid article > span { font-size: .6rem; letter-spacing: .12em; }.dish-grid h3 { margin: 1rem 0; font-size: 1.9rem; }.dish-grid p { font-size: .87rem; opacity: .85; }.theme-olive .demo-closing { background: #dfe1ce; color: #252d23; }.theme-olive .demo-closing .demo-kicker { color: #252d23; }.theme-olive .demo-closing .demo-button { background: #252d23; color: #e4e4ce; }.menu-layout { display: grid; grid-template-columns: .6fr 1.4fr; gap: 5rem; padding-bottom: 5rem; }.menu-index a { display: block; padding: 1rem 0; border-top: 1px solid #58614b; max-width: 220px; font-size: .88rem; }.menu-category { margin-bottom: 3.5rem; }.menu-category h2 { font-size: 2.5rem; padding-bottom: 1.3rem; border-bottom: 1px solid #58614b; }.menu-dish { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; }.menu-dish p { font-size: .85rem; margin-top: .3rem; opacity: .85; }.menu-dish > span { font-size: .85rem; }.demo-wide-image img { max-height: 600px; width: 100%; object-fit: cover; }.story-values { padding-bottom: 4rem; }
.theme-current { --demo-button: var(--yellow-300); --demo-button-text: var(--navy-950); background: var(--navy-950); color: #f5f5ed; }.theme-current h1,.theme-current h2,.theme-current h3,.theme-current .demo-brand { font-family: var(--font-sans); font-weight: 600; }.theme-current .demo-brand { font-size: 1.45rem; letter-spacing: -.05em; }.theme-current .demo-brand svg { color: var(--yellow-300); }.theme-current h1 { font-size: clamp(3.5rem,6.4vw,6rem); line-height: 1.06; letter-spacing: -.06em; }.theme-current h1 span { color: var(--yellow-300); }.theme-current h2 { font-size: clamp(2.5rem,4.2vw,4rem); line-height: 1.1; letter-spacing: -.055em; }.theme-current h3 { font-size: 1.3rem; }.theme-current .demo-kicker { color: var(--yellow-300); }.current-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: center; padding-block: 3rem 5rem; }.current-hero > div > p:not(.demo-kicker) { font-size: 1.05rem; max-width: 440px; line-height: 1.8; color: #d0dbe0; margin-top: 1.8rem; }.current-hero .demo-button { margin-top: 2rem; }.current-hero > div > .current-hero-note { font-size: .71rem !important; }.current-hero-image { position: relative; }.current-hero-image img { width: 100%; height: 470px; object-fit: cover; border-radius: 45% 45% 0 0; }.current-hero-image > span { position: absolute; bottom: -20px; left: -25px; background: var(--yellow-300); color: var(--navy-950); padding: 1.3rem 1.5rem; font-size: .78rem; display: flex; gap: 1rem; align-items: center; }.current-hero-image svg { width: 22px; height: 22px; }.current-strip { background: var(--yellow-300); color: var(--navy-950); padding: 1.5rem 0; }.current-strip > div { display: flex; justify-content: space-between; gap: 2rem; font-size: .8rem; font-weight: 500; }.current-strip span { display: inline-flex; align-items: center; gap: .8rem; }.current-strip svg { width: 20px; height: 20px; }.electrical-services { display: grid; grid-template-columns: repeat(3,1fr); gap: 2.5rem; }.electrical-services article { border-top: 1px solid #5e7280; padding-top: 1.5rem; }.electrical-services article > span { color: var(--yellow-300); font-size: .7rem; }.electrical-services h3 { margin: 1.5rem 0 1rem; }.electrical-services p { font-size: .9rem; color: #d0dbe0; line-height: 1.8; }.electrical-services .demo-text-link { color: var(--yellow-300); }.current-process { background: #f0f1e9; color: var(--navy-950); }.current-process > div { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }.current-process .demo-kicker { color: var(--navy-950); }.current-process ol { list-style: none; margin: 0; padding: 0; }.current-process li { display: flex; gap: 1.5rem; padding-bottom: 1.7rem; border-bottom: 1px solid #c5cdd0; margin-bottom: 1.7rem; }.current-process li > span { font-size: .72rem; padding-top: .2rem; }.current-process h3 { margin-bottom: .6rem; }.current-process p { font-size: .9rem; }.current-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }.theme-current .demo-closing { background: var(--yellow-300); color: var(--navy-950); }.theme-current .demo-closing .demo-button { background: var(--navy-950); color: #f3f3ec; }.electrical-service-list { padding-bottom: 2rem; }.electrical-service-list > article { display: grid; grid-template-columns: 50px 1fr 1.1fr; gap: 2rem; padding-block: 3rem; border-top: 1px solid #5e7280; }.electrical-service-list > article > span { font-size: .75rem; color: var(--yellow-300); }.electrical-service-list h2 { font-size: 2rem; }.electrical-service-list .demo-text-link { color: var(--yellow-300); }.current-lighting { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }.current-lighting img { width: 100%; height: 480px; object-fit: cover; }.current-lighting p { margin: 1.5rem 0; }.current-lighting ul { font-size: .9rem; margin-bottom: 2rem; }
.theme-form { --demo-button: var(--plum-900); --demo-button-text: var(--lilac-100); background: var(--lilac-100); color: var(--plum-900); }.theme-form .demo-brand { font-family: var(--font-sans); font-weight: 500; letter-spacing: -.065em; }.theme-form .demo-brand sup { font-size: .7rem; align-self: start; margin-top: -.1rem; }.form-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: center; padding-block: 3rem 5rem; }.form-hero h1 { font-size: clamp(4rem,6.7vw,6.5rem); }.form-hero p:not(.demo-kicker) { font-size: 1rem; line-height: 1.9; margin-top: 1.8rem; }.form-hero .demo-button { margin-top: 2rem; }.form-hero-caption { display: block; font-size: .56rem; letter-spacing: .14em; margin-top: 2.4rem; }.form-hero-image { position: relative; }.form-hero-image img { border-radius: 48% 48% 2px 2px; height: 510px; object-fit: cover; width: 100%; }.form-hero-image > span { position: absolute; left: -45px; bottom: 20px; border-radius: 50%; width: 145px; height: 145px; background: #f3eddd; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(-12deg); font-family: var(--font-serif); font-size: 1.8rem; line-height: 1; }.form-ribbon { border-block: 1px solid #bfb1c8; display: flex; justify-content: space-evenly; padding: 1.5rem; font-size: .8rem; }.form-intro { text-align: center; max-width: 770px; }.form-intro p:not(.demo-kicker) { max-width: 580px; margin: 1.8rem auto 0; font-size: 1.05rem; line-height: 1.8; }.class-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }.class-grid article { padding: 2rem; background: #f2edf5; border: 1px solid #c9bdcf; border-radius: 100px 100px 5px 5px; text-align: center; }.class-symbol { font-size: 4rem; height: 105px; display: flex; justify-content: center; align-items: center; font-family: Georgia,serif; }.class-grid .demo-kicker { margin-top: 1rem; margin-bottom: 1rem; font-size: .57rem; }.class-grid h3,.class-grid h2 { font-family: var(--font-serif); font-size: 2rem; font-weight: 500; line-height: 1.1; }.class-grid p:not(.demo-kicker) { margin-top: 1rem; font-size: .86rem; line-height: 1.8; }.class-meta { display: flex; justify-content: center; gap: .8rem; padding-top: 1rem; border-top: 1px solid #c9bdcf; margin-top: 1.5rem; font-size: .63rem; }.theme-form .demo-closing { background: #d5cadf; }.schedule-filters { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.5rem; }.schedule-filters button { color: var(--plum-900); border: 1px solid #a99ab5; border-radius: 25px; background: transparent; padding: .7rem 1.1rem; min-height: 44px; font-size: .82rem; }.schedule-filters button[aria-pressed='true'] { background: var(--plum-900); color: var(--lilac-100); }.schedule-list article { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 2rem; padding-block: 1.5rem; border-bottom: 1px solid #bfb1c8; align-items: center; }.schedule-list article[hidden] { display: none; }.schedule-list article > span { font-size: .75rem; }.schedule-list strong { display: block; font-size: 1.1rem; font-weight: 500; }.schedule-list h3 { font-size: 1.5rem; }.schedule-list h3 small { display: block; font-size: .7rem; font-family: var(--font-sans); margin-top: .4rem; letter-spacing: 0; }.schedule-list .demo-text-link { justify-self: end; margin-top: 0; }.studio-story { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }.studio-story img { height: 500px; width: 100%; object-fit: cover; border-radius: 45% 45% 0 0; }.studio-story p { margin-top: 1.6rem; line-height: 1.85; }.studio-story .demo-button { margin-top: 2rem; }
.demo-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; padding-bottom: 5rem; }.demo-contact h2 { font-size: 2.7rem; }.demo-contact > div > p { margin-top: 1.5rem; max-width: 480px; font-size: 1rem; line-height: 1.8; }.demo-disclosure { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid currentColor; }.demo-disclosure strong { font-size: .85rem; }.demo-disclosure p { font-size: .78rem; margin-top: .5rem; opacity: .9; }.demo-request-form { padding: 2rem; border: 1px solid currentColor; }.demo-request-form .form-intro { text-align: left; font-size: .78rem; }.demo-request-form .demo-button { margin-top: 1.5rem; }.demo-request-form .form-feedback { color: inherit; padding: 1rem; border: 1px solid currentColor; }.demo-request-form .field input,.demo-request-form .field select,.demo-request-form .field textarea { color: var(--ink-950); background: var(--paper-50); border-color: transparent; }
@media(max-width:1100px) { .demo-container { width: calc(100% - 5rem); }.demo-nav { gap: 1.2rem; }.demo-brand { font-size: 1.7rem; }.current-hero,.olive-feature,.olive-intro,.current-process > div,.current-faq,.current-lighting,.studio-story,.demo-contact { gap: 3rem; }.form-hero { gap: 2rem; }.form-hero-image img { height: 440px; }.class-grid article { padding: 2rem 1.2rem; }.form-hero h1 { font-size: 5rem; } }
@media(max-width:760px) { .demo-container { width: calc(100% - 2.5rem); }.demo-banner { padding: .5rem 1.25rem; font-size: .64rem; }.demo-banner > div:first-child > span:last-child { display: none; }.demo-banner > div:last-child { gap: 1rem; }.demo-banner > div:last-child > a:last-child { display: none; }.demo-header { min-height: 82px; position: relative; }.demo-nav { display: none; }.demo-mobile { display: block; }.demo-mobile summary { padding: .6rem .9rem; min-height: 44px; font-size: .8rem; border: 1px solid currentColor; cursor: pointer; list-style: none; }.demo-mobile summary::-webkit-details-marker { display: none; }.demo-mobile nav { position: absolute; z-index: 20; left: 0; right: 0; top: 75px; border: 1px solid currentColor; background: var(--demo-button-text); color: var(--demo-button); padding: 1.2rem; }.theme-form .demo-mobile nav { background: var(--lilac-100); color: var(--plum-900); }.demo-mobile nav > a { display: block; padding: .8rem; border-bottom: 1px solid currentColor; font-size: .9rem; }.demo-mobile nav .demo-button { margin-top: 1rem; }.demo-mobile nav svg { display: none; }.olive-hero { height: 600px; min-height: auto; }.olive-hero h1 { font-size: clamp(4.9rem,14vw,7rem); }.demo-ribbon { gap: 1.5rem; font-size: .64rem; padding: 1.2rem; }.demo-ribbon span:last-child { display: none; }.olive-intro,.olive-feature,.current-hero,.current-process > div,.current-faq,.current-lighting,.form-hero,.studio-story,.demo-contact { grid-template-columns: 1fr; gap: 2.5rem; }.olive-feature { gap: 2rem; }.olive-feature img { aspect-ratio: 1.2; }.dish-grid,.electrical-services { grid-template-columns: 1fr; gap: 2rem; }.dish-grid h3 { margin-top: .6rem; }.demo-closing { padding-block: 4rem; }.demo-footer-top { display: block; }.demo-footer-top nav { margin-top: 2rem; gap: 1.5rem; }.demo-footer-bottom { flex-wrap: wrap; }.demo-page-hero { padding-block: 3rem; }.demo-page-hero h1 { font-size: clamp(3.4rem,10.5vw,5rem); }.menu-layout { grid-template-columns: 1fr; gap: 2rem; }.menu-index { display: flex; gap: 1rem; }.menu-index a { font-size: .73rem; }.menu-dish h3 { font-size: 1.55rem; }.current-hero { padding-top: 2rem; }.theme-current h1 { font-size: clamp(3.5rem,10.5vw,5rem); }.current-hero-image { margin: 1rem 1rem 0; }.current-hero-image img { height: 390px; }.current-hero-image > span { left: -10px; }.current-strip > div { flex-wrap: wrap; justify-content: center; gap: 1.2rem; font-size: .69rem; }.current-strip span:last-child { display: none; }.demo-section-head.split { display: block; }.demo-section-head.split > p { margin-top: 1.5rem; }.electrical-services .demo-text-link { margin-top: 1rem; }.electrical-service-list > article { grid-template-columns: 30px 1fr; gap: 1rem; padding-block: 2rem; }.electrical-service-list > article > div { grid-column: 2; }.current-lighting img { height: 380px; }.form-hero { padding-top: 2rem; }.form-hero h1 { font-size: clamp(3.7rem,10vw,5rem); }.form-hero p:not(.demo-kicker) { font-size: .93rem; }.form-hero-image { max-width: 430px; margin: 0 1.5rem; }.form-hero-image img { height: 440px; }.form-hero-image > span { left: -18px; width: 120px; height: 120px; font-size: 1.5rem; }.form-ribbon { gap: 1rem; font-size: .65rem; }.form-ribbon span:last-child { display: none; }.class-grid { grid-template-columns: 1fr; gap: 1.5rem; }.class-grid article { padding: 2rem; border-radius: 80px 80px 5px 5px; }.class-grid article p { max-width: 330px; margin-inline: auto; }.schedule-list article { grid-template-columns: .7fr 1.2fr; gap: 1rem; }.schedule-list article > a { grid-column: 2; justify-self: start !important; font-size: .8rem; }.studio-story img { height: 420px; }.demo-contact { padding-bottom: 3rem; }.demo-request-form { padding: 1.3rem; } }
