:root {
                --bg: #f4f5f3;
                --surface: #fff;
                --text: #171917;
                --muted: #6d716d;
                --line: #d9ddd8;
                --dark: #181b19;
                --accent: #c7a56a;
                --radius: 22px;
                --shadow: 0 18px 55px rgba(20, 25, 21, .08);
                --max: 1240px
            }

            * {
                box-sizing: border-box
            }

            html {
                scroll-behavior: smooth
            }

            body {
                margin: 0;
                color: var(--text);
                font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
                line-height: 1.6;
                -webkit-font-smoothing: antialiased
            }

            a {
                color: inherit;
                text-decoration: none
            }

            button,
            input,
            select,
            textarea {
                font: inherit
            }

            .container {
                width: min(calc(100% - 40px), var(--max));
                margin-inline: auto
            }

            .site-header {
                position: relative;
                z-index: 10;
                background: rgba(244, 245, 243, .94);
                border-bottom: 1px solid rgba(0, 0, 0, .06);
                backdrop-filter: blur(14px)
            }

            .nav {
                min-height: 82px;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 30px
            }

            .logo {
                font-size: 24px;
                font-weight: 800;
                letter-spacing: .14em
            }

            .logo span {
                font-weight: 400;
                opacity: .5
            }

            .nav-links {
                display: flex;
                align-items: center;
                gap: 34px;
                font-size: 13px;
                font-weight: 600;
                letter-spacing: .04em;
                text-transform: uppercase
            }

            .nav-links a {
                position: relative;
                padding: 8px 0
            }

            .nav-links a:after {
                content: "";
                position: absolute;
                left: 0;
                bottom: 0;
                width: 0;
                height: 1px;
                background: var(--text);
                transition: width .25s
            }

            .nav-links a:hover:after,
            .nav-links a.active:after {
                width: 100%
            }

            .menu-toggle {
                display: none;
                width: 44px;
                height: 44px;
                border: 1px solid var(--line);
                background: var(--surface);
                border-radius: 50%;
                cursor: pointer
            }

            .hero {
                padding: clamp(80px, 10vw, 145px) 0 35px;
                position: relative;
                overflow: hidden
            }

            .hero:before {
                content: "";
                position: absolute;
                width: 460px;
                height: 460px;
                border-radius: 50%;
                background: radial-gradient(circle, rgba(199, 165, 106, .13), transparent 68%);
                top: -150px;
                right: -100px;
                pointer-events: none
            }

            .eyebrow {
                display: inline-flex;
                align-items: center;
                gap: 11px;
                margin-bottom: 24px;
                color: var(--muted);
                font-size: 11px;
                font-weight: 700;
                letter-spacing: .18em;
                text-transform: uppercase
            }

            .eyebrow:before {
                content: "";
                width: 32px;
                height: 1px;
                background: var(--accent)
            }

            h1 {
                max-width: 850px;
                margin: 0;
                font-size: clamp(48px, 7vw, 88px);
                line-height: .98;
                letter-spacing: -.055em;
                font-weight: 500
            }

            .hero-copy {
                max-width: 690px;
                margin: 30px 0 0;
                color: var(--muted);
                font-size: clamp(16px, 1.5vw, 19px);
                line-height: 1.8
            }

            .section,
            .location-section {
                padding: 0 0 120px
            }

            .inquiry-grid {
                display: grid;
                grid-template-columns: minmax(0, 1.7fr) minmax(300px, .75fr);
                gap: 24px;
                align-items: stretch
            }

            .card {
                background: var(--surface);
                border: 1px solid var(--line);
                border-radius: var(--radius);
                box-shadow: var(--shadow)
            }

            .form-card {
                padding: clamp(28px, 4vw, 52px)
            }

            .card-heading {
                margin-bottom: 34px
            }

            .card-heading h2 {
                margin: 0 0 9px;
                font-size: clamp(28px, 3vw, 40px);
                line-height: 1.1;
                letter-spacing: -.035em;
                font-weight: 500
            }

            .card-heading p {
                margin: 0;
                color: var(--muted);
                font-size: 14px
            }

            .form-grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 20px
            }

            .field.full {
                grid-column: 1/-1
            }

            .field label {
                display: block;
                margin: 0 0 8px;
                color: #484c48;
                font-size: 12px;
                font-weight: 700;
                letter-spacing: .05em;
                text-transform: uppercase
            }

            .required {
                color: var(--accent)
            }

            .field input,
            .field select,
            .field textarea {
                width: 100%;
                border: 1px solid var(--line);
                border-radius: 12px;
                background: #fafbfa;
                color: var(--text);
                padding: 14px 15px;
                outline: none;
                transition: border-color .2s, box-shadow .2s, background .2s
            }

            .field input,
            .field select {
                height: 50px
            }

            .field textarea {
                min-height: 142px;
                resize: vertical
            }

            .field input:focus,
            .field select:focus,
            .field textarea:focus {
                border-color: #9da39d;
                background: #fff;
                box-shadow: 0 0 0 4px rgba(157, 163, 157, .12)
            }

            .field input::placeholder,
            .field textarea::placeholder {
                color: #a2a6a2
            }

            .file-wrap {
                display: flex;
                align-items: center;
                gap: 12px;
                min-height: 50px;
                padding: 9px 12px;
                border: 1px dashed #c7ccc7;
                border-radius: 12px;
                background: #fafbfa
            }

            .file-wrap input {
                padding: 0;
                border: 0;
                background: transparent;
                box-shadow: none;
                height: auto
            }

            .file-note {
                margin-top: 7px;
                color: #9a9e9a;
                font-size: 11px
            }

            .form-footer {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 20px;
                margin-top: 30px
            }

            .privacy-note {
                max-width: 360px;
                color: #858985;
                font-size: 11px;
                line-height: 1.6
            }

            .submit-btn,
            .direction-btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 12px;
                min-height: 52px;
                padding: 0 25px;
                border: 0;
                border-radius: 999px;
                background: var(--dark);
                color: #fff;
                font-size: 11px;
                font-weight: 800;
                letter-spacing: .12em;
                text-transform: uppercase;
                cursor: pointer;
                transition: transform .2s, background .2s;
                white-space: nowrap
            }

            .submit-btn:hover,
            .direction-btn:hover {
                transform: translateY(-2px);
                background: #303430
            }

            .submit-btn:disabled {
                cursor: not-allowed
            }

            .submit-btn svg,
            .direction-btn svg {
                width: 15px;
                height: 15px
            }

            .info-card {
                position: relative;
                overflow: hidden;
                padding: clamp(28px, 4vw, 44px);
                background: var(--dark);
                color: #fff
            }

            .info-card:after {
                content: "";
                position: absolute;
                width: 300px;
                height: 300px;
                right: -150px;
                bottom: -150px;
                border-radius: 50%;
                border: 1px solid rgba(255, 255, 255, .08);
                box-shadow: 0 0 0 35px rgba(255, 255, 255, .025), 0 0 0 70px rgba(255, 255, 255, .02), 0 0 0 105px rgba(255, 255, 255, .015)
            }

            .info-kicker,
            .location-label {
                color: #aaa;
                font-size: 10px;
                font-weight: 700;
                letter-spacing: .18em;
                text-transform: uppercase
            }

            .info-card h3 {
                max-width: 300px;
                margin: 17px 0 38px;
                font-size: 40px;
                line-height: 1.05;
                letter-spacing: -.045em;
                font-weight: 500
            }

            .benefit {
                display: grid;
                grid-template-columns: 40px 1fr;
                gap: 14px;
                padding: 20px 0;
                border-top: 1px solid rgba(255, 255, 255, .12)
            }

            .benefit-icon {
                width: 34px;
                height: 34px;
                display: grid;
                place-items: center;
                border: 1px solid rgba(255, 255, 255, .18);
                border-radius: 50%;
                color: #d9c49a
            }

            .benefit-icon svg {
                width: 15px;
                height: 15px
            }

            .benefit h4 {
                margin: 1px 0 4px;
                font-size: 14px;
                font-weight: 700
            }

            .benefit p {
                margin: 0;
                color: #9fa39f;
                font-size: 12px;
                line-height: 1.6
            }

            .location-card {
                display: grid;
                grid-template-columns: .8fr 1.2fr;
                min-height: 560px;
                overflow: hidden;
                background: var(--surface);
                border: 1px solid var(--line);
                border-radius: var(--radius);
                box-shadow: var(--shadow)
            }

            .location-info {
                padding: clamp(32px, 5vw, 62px);
                display: flex;
                flex-direction: column;
                justify-content: space-between
            }

            .location-info h2 {
                max-width: 430px;
                margin: 17px 0 30px;
                font-size: clamp(34px, 4vw, 54px);
                line-height: 1;
                letter-spacing: -.045em;
                font-weight: 500
            }

            .address {
                max-width: 390px;
                color: #555a55;
                font-size: 15px;
                line-height: 1.9
            }

            .address strong {
                display: block;
                margin-bottom: 13px;
                color: var(--text);
                font-size: 15px
            }

            .location-bottom {
                display: flex;
                align-items: flex-end;
                justify-content: space-between;
                gap: 20px;
                margin-top: 45px
            }

            .coordinates {
                color: #999e99;
                font-size: 10px;
                line-height: 1.7;
                letter-spacing: .06em;
                text-transform: uppercase
            }

            .map {
                position: relative;
                min-height: 560px;
                background: #e4e7e3
            }

            .map iframe {
                width: 100%;
                height: 100%;
                min-height: 560px;
                display: block;
                border: 0;
                filter: grayscale(1) contrast(.92)
            }

            .map-badge {
                position: absolute;
                top: 24px;
                left: 24px;
                z-index: 2;
                padding: 10px 14px;
                border-radius: 999px;
                background: rgba(255, 255, 255, .92);
                border: 1px solid rgba(0, 0, 0, .08);
                box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
                font-size: 10px;
                font-weight: 800;
                letter-spacing: .08em;
                text-transform: uppercase;
                backdrop-filter: blur(10px)
            }

            footer {
                padding: 35px 0;
                border-top: 1px solid var(--line);
                color: #858a85;
                font-size: 11px
            }

            .footer-inner {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 20px
            }

            .form-status {
                display: none;
                margin-top: 18px;
                padding: 12px 15px;
                border-radius: 10px;
                font-size: 12px
            }

            .form-status.show {
                display: block
            }

            .form-status.success {
                background: #eef4ed;
                color: #496049
            }

            .form-status.error {
                background: #f8eeee;
                color: #874848
            }

            @media(max-width:900px) {
                .nav-links {
                    display: none;
                    position: absolute;
                    left: 20px;
                    right: 20px;
                    top: 76px;
                    padding: 15px;
                    flex-direction: column;
                    align-items: stretch;
                    gap: 0;
                    background: rgba(255, 255, 255, .97);
                    border: 1px solid var(--line);
                    border-radius: 16px;
                    box-shadow: var(--shadow)
                }

                .nav-links.open {
                    display: flex
                }

                .nav-links a {
                    padding: 14px
                }

                .menu-toggle {
                    display: grid;
                    place-items: center
                }

                .inquiry-grid,
                .location-card {
                    grid-template-columns: 1fr
                }

                .location-card {
                    min-height: auto
                }

                .map,
                .map iframe {
                    min-height: 420px
                }
            }

            @media(max-width:640px) {
                .container {
                    width: min(calc(100% - 28px), var(--max))
                }

                .nav {
                    min-height: 72px
                }

                .hero {
                    padding: 70px 0 72px
                }

                .section,
                .location-section {
                    padding-bottom: 75px
                }

                .form-grid {
                    grid-template-columns: 1fr;
                    gap: 17px
                }

                .field.full {
                    grid-column: auto
                }

                .form-footer,
                .location-bottom,
                .footer-inner {
                    align-items: stretch;
                    flex-direction: column
                }

                .submit-btn,
                .direction-btn {
                    width: 100%
                }

                .privacy-note {
                    max-width: none
                }

                .location-info {
                    padding: 32px 26px
                }

                .map,
                .map iframe {
                    min-height: 360px
                }

                .map-badge {
                    top: 14px;
                    left: 14px
                }
            }