/* Familiar system typography and a floating translucent navigation capsule. */
:root{--font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-display:var(--font-sans);--glass:rgba(255,253,248,.82);--glass-edge:rgba(255,255,255,.9)}
html.dark{--glass:rgba(30,31,32,.85);--glass-edge:rgba(255,255,255,.14)}
body{font-family:var(--font-sans);font-size:16px}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:700;letter-spacing:-.035em}.eyebrow{letter-spacing:.12em}.showcase-photo h1{letter-spacing:-.045em}input,textarea,select,button{font-family:inherit}
.nav{position:sticky;top:14px;width:min(1180px,calc(100% - 48px));margin:14px auto;z-index:100;background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;box-shadow:0 8px 32px #32211312,inset 0 1px 0 var(--glass-edge);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
.nav__inner{width:100%;height:72px;padding:0 18px 0 24px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.nav__brand{margin:0;justify-self:start}.nav__logo{width:175px}.nav__links{justify-self:center;display:flex;gap:3px;border:1px solid var(--line);border-radius:40px;background:color-mix(in srgb,var(--surface) 48%,transparent);padding:4px}.nav__links>a{padding:9px 15px;min-height:40px;border-radius:30px;font-size:13px;font-weight:500;white-space:nowrap;transition:background .18s,color .18s}.nav__links>a:hover,.nav__links>a:focus-visible{background:var(--soft);color:var(--accent)}.nav__end{justify-self:end;gap:10px}.nav__theme{background:color-mix(in srgb,var(--surface) 45%,transparent)}.nav__cta{min-height:44px;border-radius:30px;padding:10px 17px;font-size:12px;gap:10px}.nav.is-stuck{box-shadow:0 12px 36px #0002,inset 0 1px 0 var(--glass-edge)}
.contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-block:65px 85px;border-top:1px solid var(--line)}.contact-intro h2{font-size:44px;line-height:1.12}.contact-intro>p:not(.eyebrow){max-width:350px;color:var(--muted);font-size:15px;line-height:1.7;margin:25px 0 30px}.contact-direct{display:flex;gap:14px;align-items:center;margin:22px 0;font-size:12px;color:var(--muted)}.contact-direct>.mi{color:var(--accent);font-size:24px;background:var(--soft);padding:12px;border-radius:14px}.contact-direct strong{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-top:3px;overflow-wrap:anywhere}.contact-form{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 12px 32px #36240a06;min-width:0}.contact-form h3{font-size:25px}.form-note{font-size:12px;color:var(--muted);margin:8px 0 25px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;margin-bottom:20px;min-width:0}.contact-form label>span{display:contents;font-weight:400;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input:not([type=hidden]),.contact-form select,.contact-form textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:10px;background:var(--page);padding:12px 14px;color:var(--ink);font-size:14px;font-weight:400;line-height:1.5;box-shadow:none}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.contact-form ::placeholder{color:var(--muted);opacity:.8}.message-count{display:block;text-align:right;color:var(--muted);font-size:11px;margin-top:-12px}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.form-bottom p{font-size:11px;color:var(--muted)}.form-bottom p a{text-decoration:underline;text-underline-offset:3px}.form-bottom .button{white-space:nowrap;border-radius:30px}.contact__flash{padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:13px;margin-top:18px}.contact__flash[hidden]{display:none}.contact__flash.is-err{border-color:#ca5944;color:#a13022;background:#fff0eb}.dark .contact__flash.is-err{color:#ffb5a6;background:#351f1b}.contact__flash.is-ok{border-color:#679977;color:#225c36;background:#edf8ef}.dark .contact__flash.is-ok{color:#a8deb6;background:#193022}.contact-form button:disabled{opacity:.6;cursor:wait}
@supports not (backdrop-filter:blur(1px)){.nav{background:var(--surface)}}
@media(max-width:1100px){.nav{width:calc(100% - 32px)}.nav__inner{gap:12px;padding-inline:18px}.nav__logo{width:148px}.nav__links>a{padding-inline:11px}.nav__cta{padding-inline:13px}.nav__end{gap:7px}.contact-section{gap:35px}}
@media(max-width:980px){.nav__inner{grid-template-columns:1fr auto;height:68px}.nav__links{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;justify-self:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:0 12px 30px #0002}.nav.is-open .nav__links{display:flex;gap:3px}.nav__links>a{padding:13px 18px;border-radius:12px}.nav__logo{width:175px}.nav__end{gap:10px}.nav__toggle{border-radius:50%}.contact-form{padding:27px}.contact-intro h2{font-size:38px}.form-bottom{flex-direction:column;align-items:start}.form-row{gap:12px}}
@media(max-width:700px){.nav{top:10px;width:calc(100% - 24px);margin-block:10px;border-radius:38px}.nav__inner{height:62px;padding:0 11px 0 16px;gap:8px}.nav__logo{width:143px}.nav__end{gap:5px}.nav__theme{min-height:40px}.nav__theme>span{padding:5px 6px}.nav__toggle{width:34px;height:40px}.contact-section{grid-template-columns:1fr;padding-block:45px 55px;gap:25px}.contact-intro h2{font-size:36px}.contact-intro>p:not(.eyebrow){font-size:14px}.contact-form{padding:24px 20px;border-radius:20px}.form-row{grid-template-columns:1fr;gap:0}.contact-form input:not([type=hidden]),.contact-form select,.contact-form textarea{font-size:16px}.form-bottom{gap:18px}.form-bottom .button{width:100%}.contact-direct strong{font-size:13px}}
@media(max-width:360px){.nav__logo{width:117px}.nav__inner{padding-left:12px}.nav__theme>span{padding-inline:4px}.nav__end{gap:2px}.nav__toggle{width:30px}.contact-form{padding:22px 16px}.contact-direct{gap:10px}.contact-direct strong{font-size:12px}}
@media(prefers-reduced-transparency:reduce){.nav{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
