@font-face{font-family:'Source Serif 4';src:url('/shared-assets/fonts/SourceSerif4Variable-Roman.otf.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:Manrope;src:url('/shared-assets/fonts/manrope-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--bg:#fafaf9;--ink:#151515;--muted:#6b6b6b;--line:#dededc;--serif:'Source Serif 4',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}.container{width:min(1390px,calc(100% - 112px));margin:auto}.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font:400 32px/1 var(--serif);letter-spacing:-.04em}.brand img{display:block;width:42px;height:42px;object-fit:contain}.navigation{display:flex;gap:36px;align-items:center;font-size:12px;font-weight:700}.navigation a:hover,.footer-links a:hover{opacity:.58}.nav-cta,.submit{background:#151515;color:white;display:inline-flex;justify-content:space-between;align-items:center;gap:34px;padding:16px 23px;border:1px solid #151515;border-radius:5px;font:800 12px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.nav-cta:hover,.submit:hover{transform:translateY(-2px);background:#303030}.intro{padding:115px 0 55px;max-width:790px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.20em;color:#878787}.intro h1{font:400 clamp(58px,7vw,104px)/.99 var(--serif);letter-spacing:-.05em;margin:19px 0 25px}.intro p{color:#666;max-width:620px;font-size:15px;line-height:1.95}.contact-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.5fr);gap:42px;align-items:start;padding-bottom:130px}.contact-aside{display:flex;flex-direction:column;gap:20px}.contact-tile,.notice,.location{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px}.contact-tile{display:flex;align-items:flex-start;gap:17px}.tile-icon{font-size:22px;flex:none}.contact-tile span:last-child{min-width:0}.contact-tile small{font-size:10px;color:#898989;font-weight:800;letter-spacing:.13em;display:block;margin:4px 0 9px}.contact-tile strong{display:block;font-size:14px;overflow-wrap:anywhere}.contact-tile em{display:block;font-size:12px;color:#888;font-style:normal;margin-top:9px}.notice{background:#f5f5f3}.notice strong{font-size:14px}.notice p{font-size:12px;line-height:1.9;color:#777;margin:10px 0 0}.location strong{display:block;margin-top:10px;font-size:14px}.form-panel{background:#fff;border:1px solid #d3d3d0;border-radius:6px;padding:32px 36px 38px}.form-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:23px;margin-bottom:26px;gap:10px}.form-top h2{font:400 32px/1.15 var(--serif);margin:0}.form-top span{font-size:9px;font-weight:800;color:#898989;letter-spacing:.15em}.form-panel form{display:grid;gap:21px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:9px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.09em;color:#5e5e5e}input,select,textarea{min-width:0;display:block;width:100%;border:1px solid #d7d7d4;border-radius:3px;background:#fff;padding:15px 14px;font:400 13px/1.5 var(--sans);color:#151515;outline:none}input:focus,select:focus,textarea:focus{border-color:#777;box-shadow:0 0 0 2px #00000010}textarea{resize:vertical;min-height:180px}.submit{justify-self:start;margin-top:4px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.feedback{padding:20px;border-radius:4px;margin-bottom:20px}.feedback strong{font-size:15px}.feedback p,.feedback li{font-size:13px;line-height:1.7}.feedback.success{background:#eef6f0;border:1px solid #d1e6d6}.feedback.error{background:#fff5f3;border:1px solid #edc7bf}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:45px 0;gap:28px}.footer-links{display:flex;gap:26px;font-size:12px;color:#666}.footnote{padding:0 0 45px;color:#999;font-size:11px}@media(max-width:1000px){.navigation{gap:18px}.container{width:calc(100% - 64px)}.contact-layout{gap:24px}}@media(max-width:700px){.container{width:calc(100% - 38px)}.topbar{min-height:74px}.brand{font-size:26px}.brand img{width:35px;height:35px}.navigation{display:none}.nav-cta{padding:12px 15px;gap:12px;font-size:11px}.intro{padding:74px 0 34px}.intro h1{font-size:clamp(52px,12vw,72px)}.contact-layout{grid-template-columns:1fr;padding-bottom:80px}.form-panel{padding:25px 19px}.two-fields{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap}}


/* Accessible responsive contact navigation; integrated 2026-10-10 */
.contact-nav-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.contact-menu-button{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #d5d5d3;border-radius:5px;background:#fafaf9;color:#151515;font:400 23px/1 Arial,sans-serif;cursor:pointer}
.contact-menu-button:focus-visible,.navigation a:focus-visible{outline:2px solid #151515;outline-offset:3px}
@media(max-width:850px){
 .topbar{position:relative;z-index:50}
 .topbar .navigation{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;z-index:60;flex-direction:column;align-items:stretch;gap:0;background:#fafaf9;border:1px solid #ddd;box-shadow:0 18px 35px #0002;padding:10px 18px}
 .topbar .navigation.open{display:flex}
 .topbar .navigation a{display:block;padding:13px 5px;font-size:14px;color:#151515}
 .topbar .navigation a+a{border-top:1px solid #ececea}
 .contact-menu-button{display:inline-flex}
 .contact-nav-actions .nav-cta{display:none}
}

/* Bigheim premium navigation hover */

.topbar .nav a,
.topbar .navigation a,
.bh404-nav a {
    position: relative;
    display: inline-block;
    padding: 8px 0;
    transition: color .25s ease;
}

.topbar .nav a::after,
.topbar .navigation a::after,
.bh404-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .32s cubic-bezier(.22, 1, .36, 1);
}

.topbar .nav a:hover::after,
.topbar .nav a:focus-visible::after,
.topbar .navigation a:hover::after,
.topbar .navigation a:focus-visible::after,
.bh404-nav a:hover::after,
.bh404-nav a:focus-visible::after {
    transform: scaleX(1);
}

@media (max-width: 850px) {
    .topbar .nav a::after,
    .topbar .navigation a::after,
    .bh404-nav a::after {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .topbar .nav a,
    .topbar .navigation a,
    .bh404-nav a,
    .topbar .nav a::after,
    .topbar .navigation a::after,
    .bh404-nav a::after {
        transition: none;
    }
}

/* Accessibility — show skip link only on keyboard focus */

.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 99999;

    padding: 12px 18px;
    background: #151515;
    color: #fff;

    border: 0;
    border-radius: 5px;
    font: 700 13px "Manrope", sans-serif;
    text-decoration: none;

    transform: translateY(calc(-100% - 24px));
    visibility: hidden;
}

.skip-link:focus,
.skip-link:focus-visible {
    transform: translateY(0);
    visibility: visible;
    outline: 2px solid #151515;
    outline-offset: 3px;
}


/* Bigheim Contact — refined form controls */

.contact-layout input:not([type="hidden"]),
.contact-layout select,
.contact-layout textarea {
    width: 100%;
    min-height: 40px;
    padding: 10px 14px;

    background: #fafafa;
    color: #151515;

    border: 1px solid #e7e7e7;
    border-radius: 7px;

    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;

    outline: none;
    box-shadow: none;

    transition: border-color .2s ease, background-color .2s ease;
}

.contact-layout textarea {
    min-height: 180px;
    resize: vertical;
}

.contact-layout select {
    padding-right: 36px;
    cursor: pointer;
}

.contact-layout input:not([type="hidden"]):hover,
.contact-layout select:hover,
.contact-layout textarea:hover {
    border-color: #bdbdbd;
}

.contact-layout input:not([type="hidden"]):focus,
.contact-layout select:focus,
.contact-layout textarea:focus {
    background: #fff;
    border-color: #151515;
    outline: 2px solid #151515;
    outline-offset: 1px;
    box-shadow: none;
}
/* Accessibility — readable secondary text */

.contact-layout .eyebrow,
.intro .eyebrow,
.intro p,
.contact-tile small,
.contact-tile em,
.notice p,
.form-top span,
.footnote,
.contact-layout label,
.contact-layout input::placeholder,
.contact-layout textarea::placeholder {
    color: #595959;
}
