.wa-page { overflow-x: clip; }
.wa-page h1, .wa-page h2, .wa-page h3 { font-family: "Playfair Display", serif; font-weight: 600; }
.wa-page a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
.wa-skip-link { position: fixed; top: -90px; left: 20px; z-index: 30; padding: 12px 20px; background: var(--gold); color: var(--bg); border-radius: 8px; }
.wa-skip-link:focus { top: 16px; }
.wa-hero { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(35px, 5vw, 80px); align-items: center; min-height: min(940px, 100svh); padding: 160px clamp(20px, 7vw, 110px) 90px; max-width: 1600px; margin: auto; }
.wa-hero-copy { max-width: 670px; }
.wa-hero h1 { font-size: clamp(80px, 8.9vw, 142px); letter-spacing: -.05em; line-height: .95; margin: 0 0 32px; }
.wa-hero h1 em { color: var(--gold); }
.wa-lead { font-size: clamp(20px, 2vw, 25px); line-height: 1.5; margin: 0 0 18px; max-width: 580px; }
.wa-intro { color: var(--muted); max-width: 570px; margin: 0; font-size: 17px; }
.wa-hero .hero-actions { margin-top: 30px; }
.wa-visual { position: relative; height: 500px; min-width: 0; isolation: isolate; overflow: clip; }
.wa-visual::before { content: ""; position: absolute; inset: -80px -40px; background: radial-gradient(ellipse, #d2ad6415, transparent 65%); z-index: -1; }
.wa-orbit { position: absolute; border: 1px solid #d2ad6420; border-radius: 50%; inset: 20px 0; transform: rotate(-18deg); }
.wa-orbit-two { inset: 85px -25px; transform: rotate(35deg); }
.wa-visual-top { position: absolute; top: 0; left: 16px; display: flex; align-items: center; gap: 10px; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.wa-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); }
.wa-window { position: absolute; top: 68px; left: 0; right: 28px; background: linear-gradient(145deg, #1c1a16, #101010 75%); border: 1px solid #d2ad6450; border-radius: 18px; overflow: hidden; box-shadow: 0 25px 80px #0008; transform: rotate(-3deg); }
.wa-window-bar { display: flex; align-items: center; gap: 6px; height: 39px; padding: 0 16px; border-bottom: 1px solid var(--line); }
.wa-window-bar>span { width: 5px; height: 5px; border-radius: 50%; background: #756750; }
.wa-window-bar i { font-size: 9px; font-style: normal; color: #aaa49a; margin-left: auto; letter-spacing: .08em; }
.wa-window-body { padding: 30px; }
.wa-mini-label { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .2em; color: var(--gold); }
.wa-window-title { display: block; font-family: "Playfair Display", serif; font-size: clamp(24px, 2.6vw, 39px); line-height: 1.13; margin: 16px 0 22px; }
.wa-interface-line { width: 52%; height: 4px; border-radius: 4px; background: #ffffff17; margin-top: 8px; }
.wa-interface-short { width: 37%; }
.wa-interface-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 26px; }
.wa-interface-grid span { height: 57px; border-radius: 7px; border: 1px solid #d2ad6423; background: linear-gradient(135deg, #d2ad6412, #d2ad6403); }
.wa-phone { position: absolute; top: 202px; right: 0; width: 132px; height: 253px; display: flex; align-items: center; flex-direction: column; border: 1px solid #d2ad6460; background: linear-gradient(160deg, #262116, #101010 68%); border-radius: 24px; transform: rotate(7deg); box-shadow: 0 22px 50px #0008; padding: 13px 16px; }
.wa-phone-speaker { width: 28px; height: 4px; border-radius: 8px; background: #ffffff25; }
.wa-phone-icon { font-family: "Playfair Display", serif; font-style: italic; color: var(--gold); font-size: 64px; line-height: 1.3; margin: 27px 0 8px; }
.wa-phone-label { font-size: 10px; margin-bottom: 14px; }
.wa-phone-line { width: 80%; height: 3px; border-radius: 8px; background: #ffffff20; margin-bottom: 7px; }
.wa-phone-line + .wa-phone-line { width: 50%; }
.wa-phone-button { width: 60px; height: 13px; border-radius: 8px; background: var(--gold); margin-top: 12px; }
.wa-visual-bottom { position: absolute; bottom: 0; left: 16px; display: flex; gap: 24px; font-size: 11px; color: var(--muted); letter-spacing: .07em; }
.wa-visual-bottom span { padding-bottom: 8px; border-bottom: 1px solid #d2ad6440; }
.wa-services { max-width: 1600px; margin: auto; padding: 85px clamp(20px, 7vw, 110px) 100px; border-top: 1px solid var(--line); scroll-margin-top: 95px; }
.wa-section-heading { display: grid; grid-template-columns: 1.3fr 1fr; gap: 70px; align-items: end; margin-bottom: 45px; }
.wa-section-heading h2, .wa-manifesto h2, .wa-contact h2 { font-size: clamp(40px, 4.6vw, 66px); line-height: 1.08; margin: 0; letter-spacing: -.025em; }
.wa-section-heading>p { color: var(--muted); max-width: 400px; margin: 0 0 5px; }
.wa-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.wa-service-card { background: var(--panel); border: 1px solid var(--line); border-radius: 22px; padding: 28px; }
.wa-service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 34px; color: var(--gold); }
.wa-service-index { font-size: 12px; letter-spacing: .15em; }
.wa-service-top svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.wa-service-card h3 { font-size: clamp(25px, 2.3vw, 34px); line-height: 1.2; margin: 0 0 16px; }
.wa-service-card>p { color: var(--muted); margin: 0 0 24px; font-size: 14px; }
.wa-service-card ul { list-style: none; padding: 0; margin: 0; }
.wa-service-card li { border-top: 1px solid var(--line); padding: 15px 0 15px 18px; position: relative; font-size: 14px; line-height: 1.6; }
.wa-service-card li::before { content: ""; position: absolute; left: 0; top: 24px; width: 4px; height: 4px; background: var(--gold); border-radius: 50%; }
.wa-service-card li:last-child { padding-bottom: 0; }
.wa-manifesto { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 70px; padding: 68px clamp(20px, 7vw, 110px); background: linear-gradient(110deg, #d2ad6410, transparent 80%); border-top: 1px solid #d2ad6430; border-bottom: 1px solid #d2ad6430; }
.wa-manifesto h2 { font-size: clamp(32px, 3.5vw, 50px); }
.wa-manifesto>p { max-width: 460px; font-size: 20px; line-height: 1.6; margin: 0; color: #ded8ce; }
.wa-contact { padding: 110px 20px 120px; max-width: 820px; text-align: center; margin: auto; }
.wa-contact>p:not(.eyebrow) { max-width: 590px; color: var(--muted); margin: 25px auto 30px; }
.wa-contact .button { display: inline-flex; gap: 20px; align-items: center; }
.wa-contact-email { display: block; margin-top: 24px; font-size: 14px; color: var(--muted); text-decoration: underline; text-underline-offset: 5px; }
@media (min-width: 1600px) { .wa-manifesto { padding-left: calc((100vw - 1380px) / 2); padding-right: calc((100vw - 1380px) / 2); } }
@media (max-width: 1100px) { .wa-service-card { padding: 24px; } .wa-hero { gap: 32px; } .wa-window-body { padding: 24px; } }
@media (max-width: 900px) { .wa-hero { grid-template-columns: 1fr; padding-top: 130px; padding-bottom: 70px; gap: 50px; } .wa-hero-copy { max-width: 700px; } .wa-hero h1 { font-size: clamp(82px, 14vw, 125px); } .wa-visual { width: min(100%, 460px); height: 470px; margin: auto; } .wa-window-title { font-size: 38px; } .wa-service-grid { grid-template-columns: 1fr; } .wa-service-card { padding: 28px; } .wa-service-top { margin-bottom: 24px; } .wa-service-card h3 { font-size: 34px; } .wa-section-heading { grid-template-columns: 1fr; gap: 24px; } .wa-section-heading>p { max-width: 580px; } .wa-manifesto { grid-template-columns: 1fr; gap: 28px; } .wa-manifesto>p { max-width: 650px; } }
@media (max-width: 520px) { .wa-hero { padding-top: 115px; gap: 40px; } .wa-hero h1 { font-size: 84px; margin-bottom: 26px; } .wa-hero .eyebrow { font-size: 10px; letter-spacing: .16em; } .wa-lead { font-size: 21px; } .wa-intro { font-size: 16px; } .wa-hero .hero-actions { gap: 12px; } .wa-hero .button { padding: 12px 18px; font-size: 13px; } .wa-visual { height: 414px; } .wa-visual-top { font-size: 9px; left: 0; letter-spacing: .08em; } .wa-window { top: 52px; right: 18px; left: 3px; } .wa-window-body { padding: 24px 19px; } .wa-window-title { font-size: 30px; } .wa-interface-grid span { height: 45px; } .wa-phone { width: 105px; height: 205px; top: 170px; border-radius: 19px; padding: 11px 12px; } .wa-phone-icon { font-size: 48px; margin-top: 22px; } .wa-phone-label { font-size: 9px; margin-bottom: 12px; } .wa-phone-button { height: 11px; width: 51px; margin-top: 8px; } .wa-visual-bottom { left: 0; gap: 20px; } .wa-services { padding-top: 65px; padding-bottom: 65px; } .wa-service-card { padding: 24px; } .wa-service-card h3 { font-size: 30px; } .wa-manifesto { padding-top: 50px; padding-bottom: 50px; } .wa-manifesto>p { font-size: 18px; } .wa-contact { padding-top: 75px; padding-bottom: 85px; } }
