.section-contact.section {
    display: block;
    padding: 0;
    max-width: none;
    min-height: 100svh;
    align-items: stretch;
    background: #ecdfcc;
}
.section-contact > .contact-variant { width: 100%; min-height: 100svh; }

.section-contact {
--display: "Syne", Arial, sans-serif;
            --sans: "Inter", Arial, sans-serif;
            --serif: "Source Serif 4", Georgia, serif;
            --mono: "JetBrains Mono", Consolas, monospace;
            --black: #11110f;
            --black-2: #171715;
            --paper: #f4efe4;
            --paper-2: #e4ddce;
            --paper-3: #dde1d3;
            --cream: #fff6e6;
            --accent: #d97757;
            --muted-light: rgba(255, 246, 230, 0.64);
            --muted-dark: rgba(17, 17, 15, 0.58);
            --line-light: rgba(255, 246, 230, 0.18);
            --line-dark: rgba(17, 17, 15, 0.17);
            --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

        

        .section-contact * {
            box-sizing: border-box;
        }

        

        

        .section-contact main {
            min-height: 100dvh;
            background: #ecdfcc;
        }

        .section-contact a {
            color: inherit;
            text-decoration: none;
        }

        .section-contact .variant-nav {
            position: fixed;
            top: 1.15rem;
            right: clamp(1rem, 2.8vw, 2.5rem);
            z-index: 30;
            display: flex;
            gap: 0.55rem;
        }

        .section-contact .variant-nav a {
            display: grid;
            place-items: center;
            width: 2rem;
            height: 1.7rem;
            color: rgba(142, 136, 122, 0.82);
            font-family: var(--mono);
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            transition: color 180ms ease, transform 220ms var(--ease);
        }

        .section-contact .variant-nav a:hover {
            color: var(--cream);
            transform: translateY(-1px);
        }

        .section-contact .contact-variant {
            position: relative;
            min-height: clamp(31rem, 66dvh, 40rem);
            overflow: hidden;
            isolation: isolate;
            padding: clamp(3.1rem, 5.4vh, 4.7rem) clamp(1.35rem, 5vw, 5rem);
        }

        .section-contact .contact-variant::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            opacity: 0.82;
        }

        .section-contact .shell {
            position: relative;
            z-index: 1;
            width: min(100%, 1240px);
            min-height: clamp(23.5rem, 50dvh, 31rem);
            margin: 0 auto;
        }

        .section-contact .shell::before {
            content: "";
            position: absolute;
            top: -1px;
            left: 0;
            width: min(25rem, 42%);
            height: 1px;
            background: var(--accent);
            opacity: 0;
            transform: scaleX(0);
            transform-origin: left center;
        }

        .section-contact .meta {
            margin: 0;
            width: max-content;
            max-width: 100%;
            padding-top: 0.72rem;
            border-top: 1px solid currentColor;
            color: var(--muted-light);
            font-family: var(--mono);
            font-size: 0.66rem;
            font-weight: 700;
            letter-spacing: 0.22em;
            line-height: 1.28;
            text-transform: uppercase;
        }

        .section-contact .title {
            margin: 0;
            max-width: 11.4ch;
            color: var(--cream);
            font-family: var(--display);
            font-size: 5.7rem;
            font-weight: 800;
            letter-spacing: 0;
            line-height: 0.93;
            text-transform: uppercase;
            text-wrap: balance;
        }

        .section-contact .title > span {
            display: block;
            clip-path: inset(0 0 100% 0);
            opacity: 0;
            transform: translate3d(0, 0.52em, 0);
        }

        .section-contact .title-line {
            overflow: visible;
        }

        .section-contact .title-word {
            display: block;
        }

        .section-contact .lead {
            margin: 0;
            max-width: 43ch;
            color: var(--muted-light);
            font-size: 1.06rem;
            line-height: 1.68;
            overflow-wrap: break-word;
            text-wrap: pretty;
        }

        .section-contact .lead.serif {
            max-width: 34ch;
            font-family: var(--serif);
            font-size: 1.36rem;
            font-style: italic;
            line-height: 1.34;
        }

        .section-contact .links {
            display: grid;
        }

        .section-contact .link {
            position: relative;
            display: grid;
            grid-template-columns: minmax(5.4rem, 7rem) minmax(0, 1fr) 1.4rem;
            align-items: center;
            gap: clamp(0.9rem, 1.8vw, 1.35rem);
            min-height: 4rem;
            border-bottom: 1px solid var(--line-light);
            opacity: 0;
            overflow: hidden;
            padding-right: 0.62rem;
            transform: translateY(0.82rem);
            transition: background-color 220ms ease, border-color 220ms ease, padding-left 360ms var(--ease), padding-right 360ms var(--ease);
        }

        .section-contact .link::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -1px;
            height: 1px;
            background: currentColor;
            opacity: 0.42;
            transform: scaleX(0);
            transform-origin: left center;
        }

        .section-contact .link:first-child {
            border-top: 1px solid var(--line-light);
        }

        .section-contact .link:hover {
            border-color: rgba(255, 246, 230, 0.34);
            background: rgba(255, 246, 230, 0.035);
            padding-left: 0.42rem;
        }

        .section-contact .link:focus-visible {
            outline: 2px solid currentColor;
            outline-offset: 4px;
        }

        .section-contact .label {
            color: rgba(255, 246, 230, 0.45);
            font-family: var(--mono);
            font-size: 0.56rem;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            transition: color 220ms ease, transform 260ms var(--ease);
        }

        .section-contact .value {
            min-width: 0;
            overflow: hidden;
            color: var(--cream);
            font-family: var(--sans);
            font-size: 1.08rem;
            font-weight: 700;
            letter-spacing: 0;
            text-overflow: ellipsis;
            white-space: nowrap;
            transition: transform 260ms var(--ease);
        }

        .section-contact .arrow {
            justify-self: end;
            color: rgba(255, 246, 230, 0.4);
            font-family: var(--mono);
            font-size: 0.9rem;
            transition: color 220ms ease, transform 260ms var(--ease);
        }

        .section-contact .link:hover .value {
            transform: translateX(0.16rem);
        }

        .section-contact .link:hover .arrow {
            color: var(--cream);
            transform: translateX(0.16rem);
        }

        .section-contact .light {
            background: var(--paper);
            color: var(--black);
        }

        .section-contact .light .title, .section-contact .light .value {
            color: var(--black);
        }

        .section-contact .light .meta, .section-contact .light .lead {
            color: var(--muted-dark);
        }

        .section-contact .light .link, .section-contact .light .link:first-child {
            border-color: var(--line-dark);
        }

        .section-contact .light .link:hover {
            border-color: rgba(17, 17, 15, 0.34);
            background: rgba(17, 17, 15, 0.035);
        }

        .section-contact .light .label, .section-contact .light .arrow {
            color: rgba(17, 17, 15, 0.45);
        }

        .section-contact .light .link:hover .arrow {
            color: var(--accent);
        }

        .section-contact .light .link::before {
            background: var(--accent);
            opacity: 0.58;
        }

        .section-contact .is-visible .title > span {
            animation: revealUp 820ms var(--ease) both;
        }

        .section-contact .is-visible .title > span:nth-child(2) {
            animation-delay: 95ms;
        }

        .section-contact .meta, .section-contact .lead {
            opacity: 0;
            transform: translateY(0.82rem);
        }

        .section-contact .is-visible .meta, .section-contact .is-visible .lead, .section-contact .is-visible .link {
            animation: fadeLift 620ms var(--ease) both;
        }

        .section-contact .is-visible .link::before {
            animation: lineSweep 760ms var(--ease) both;
        }

        .section-contact .is-visible .shell::before {
            animation: lineSweep 900ms var(--ease) 90ms both;
            opacity: 0.62;
        }

        .section-contact .is-visible .meta { animation-delay: 40ms; }
        .section-contact .is-visible .lead { animation-delay: 145ms; }
        .section-contact .is-visible .link:nth-child(1) { animation-delay: 220ms; }
        .section-contact .is-visible .link:nth-child(2) { animation-delay: 275ms; }
        .section-contact .is-visible .link:nth-child(3) { animation-delay: 330ms; }
        .section-contact .is-visible .link:nth-child(4) { animation-delay: 385ms; }
        .section-contact .is-visible .link:nth-child(1)::before { animation-delay: 205ms; }
        .section-contact .is-visible .link:nth-child(2)::before { animation-delay: 260ms; }
        .section-contact .is-visible .link:nth-child(3)::before { animation-delay: 315ms; }
        .section-contact .is-visible .link:nth-child(4)::before { animation-delay: 370ms; }

        .section-contact .v1 {
            background: #f0e4d3;
        }

        .section-contact .v1::before {
            background:
                radial-gradient(ellipse at 44% 36%, rgba(217, 119, 87, 0.12), transparent 34%),
                radial-gradient(ellipse at 90% 24%, rgba(255, 246, 230, 0.54), transparent 32%),
                linear-gradient(180deg, rgba(255, 251, 242, 0.5), rgba(232, 218, 196, 0.16));
        }

        .section-contact .v1 .shell {
            display: grid;
            grid-template-columns: minmax(8rem, 0.38fr) minmax(0, 1.2fr) minmax(24rem, 0.82fr);
            grid-template-areas:
                "meta title links"
                ". lead links";
            align-content: center;
            gap: clamp(1.15rem, 2.7vh, 2rem) clamp(1.8rem, 4.4vw, 4.6rem);
            padding: clamp(1.3rem, 2.8vh, 2rem) 0 clamp(1.45rem, 3vh, 2.15rem);
            border-top: 1px solid rgba(17, 17, 15, 0.31);
            border-bottom: 1px solid rgba(17, 17, 15, 0.14);
        }

        .section-contact .v1 .intro, .section-contact .v2 .top, .section-contact .v2 .top > div, .section-contact .v3 .intro, .section-contact .v4 .heading-row {
            display: contents;
        }

        .section-contact .v1 .meta {
            grid-area: meta;
        }

        .section-contact .v1 .title {
            grid-area: title;
            align-self: start;
            max-width: none;
            font-size: 6.05rem;
            line-height: 0.86;
        }

        .section-contact .v1 .title span:first-child {
            white-space: nowrap;
        }

        .section-contact .v1 .lead {
            grid-area: lead;
            align-self: start;
            max-width: 43ch;
            margin-top: -0.18rem;
        }

        .section-contact .v1 .links {
            grid-area: links;
            align-self: center;
        }

        .section-contact .v1 .link {
            grid-template-columns: minmax(4.3rem, 5.1rem) minmax(0, 1fr) 1.35rem;
            min-height: 4.18rem;
        }

        .section-contact .v2 {
            background: #171611;
        }

        .section-contact .v2::before {
            background:
                radial-gradient(ellipse at 12% 40%, rgba(217, 119, 87, 0.12), transparent 34%),
                radial-gradient(ellipse at 74% 26%, rgba(255, 246, 230, 0.035), transparent 38%),
                linear-gradient(180deg, rgba(255, 246, 230, 0.025), transparent 46%);
            opacity: 1;
        }

        .section-contact .v2 .shell::before, .section-contact .v4 .shell::before {
            background: rgba(255, 246, 230, 0.72);
        }

        .section-contact .v2 .shell {
            display: grid;
            grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 0.74fr);
            grid-template-areas:
                "meta links"
                "title links"
                "lead links";
            align-content: center;
            gap: clamp(1.3rem, 3.2vh, 2.2rem) clamp(3rem, 7.5vw, 7rem);
            padding: clamp(1.1rem, 2.4vh, 1.8rem) 0;
            border-top: 1px solid rgba(255, 246, 230, 0.18);
            border-bottom: 1px solid rgba(255, 246, 230, 0.1);
        }

        .section-contact .v2 .meta {
            grid-area: meta;
        }

        .section-contact .v2 .title {
            grid-area: title;
            max-width: 10.5ch;
            font-size: 5.3rem;
        }

        .section-contact .v2 .lead {
            grid-area: lead;
            max-width: 31ch;
        }

        .section-contact .v2 .links {
            grid-area: links;
            align-self: center;
            width: 100%;
        }

        .section-contact .v2 .link {
            min-height: 4.55rem;
        }

        .section-contact .v3 {
            --bg-r: 236;
            --bg-g: 223;
            --bg-b: 204;
            background: rgb(var(--bg-r) var(--bg-g) var(--bg-b));
            --wash-a: 0.105;
            --wash-b: 0.42;
            --wash-c: 0.58;
            --bg-a-pos: 50% 50%;
            --bg-b-pos: 50% 50%;
            --sweep-opacity: 0;
            --sweep-pos: -42%;
            --focus-x: 78%;
            --focus-y: 30%;
            --paper-opacity: 0.025;
            --paper-x: 0%;
        }

        .section-contact .v3::before {
            background:
                repeating-linear-gradient(90deg,
                    rgba(82, 60, 38, var(--paper-opacity)) 0 1px,
                    transparent 1px 72px),
                radial-gradient(ellipse at 72% 28%, rgba(217, 119, 87, var(--wash-a)), transparent 34%),
                radial-gradient(ellipse at 16% 68%, rgba(255, 247, 232, var(--wash-b)), transparent 38%),
                linear-gradient(180deg, rgba(255, 251, 242, var(--wash-c)), rgba(230, 214, 190, 0.18) 64%, transparent);
            background-position: var(--paper-x) center, var(--bg-a-pos), var(--bg-b-pos), center;
            background-repeat: no-repeat;
            background-size: 100% 100%, 118% 118%, 116% 116%, 100% 100%;
            will-change: opacity, transform;
        }

        .section-contact .v3::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            opacity: var(--sweep-opacity);
            background:
                linear-gradient(98deg,
                    transparent 0%,
                    rgba(255, 250, 239, 0.1) 22%,
                    rgba(255, 250, 239, 0.78) 40%,
                    rgba(217, 119, 87, 0.32) 56%,
                    rgba(255, 241, 218, 0.18) 68%,
                    transparent 82%),
                radial-gradient(ellipse at var(--focus-x) var(--focus-y),
                    rgba(217, 119, 87, 0.24),
                    rgba(255, 247, 232, 0.13) 28%,
                    transparent 58%);
            background-position: var(--sweep-pos) center, center;
            background-repeat: no-repeat;
            background-size: 230% 100%, 100% 100%;
            mix-blend-mode: normal;
            will-change: opacity, background-position;
        }

        .section-contact .v3 .shell {
            display: grid;
            grid-template-columns: 1fr;
            grid-template-areas:
                "title"
                "links";
            align-content: center;
            gap: clamp(1.2rem, 3vh, 2.15rem);
            padding-top: clamp(0.2rem, 1.2vh, 0.9rem);
            border-top: 0;
        }

        .section-contact .v3 .shell::before {
            display: none;
        }

        .section-contact .v3 .meta {
            grid-area: meta;
            padding-top: 0;
            border-top: 0;
            color: rgba(76, 63, 48, 0.64);
            letter-spacing: 0.28em;
        }

        .section-contact .v3 .title {
            grid-area: title;
            max-width: 13.6ch;
            color: #13100c;
            font-size: clamp(4.2rem, 6.15vw, 5.35rem);
            line-height: 0.88;
        }

        .section-contact .v3 .lead {
            grid-area: lead;
            align-self: center;
            max-width: 31ch;
            color: rgba(61, 50, 39, 0.68);
            font-size: clamp(1.32rem, 1.72vw, 1.62rem);
            line-height: 1.26;
        }

        .section-contact .v3 .links {
            grid-area: links;
            margin-top: clamp(1.55rem, 4vh, 2.8rem);
        }

        .section-contact .v3 .link {
            grid-template-columns: minmax(9rem, 14.5rem) minmax(0, 1fr) 1.4rem;
            min-height: 4.55rem;
            padding-right: clamp(0.72rem, 1.6vw, 1.12rem);
            border-color: rgba(49, 39, 29, 0.19);
        }

        .section-contact .v3 .link:first-child {
            border-top-color: rgba(49, 39, 29, 0.21);
        }

        .section-contact .v3 .link:hover {
            background: rgba(217, 119, 87, 0.055);
            border-color: rgba(49, 39, 29, 0.3);
            padding-right: clamp(0.9rem, 1.85vw, 1.34rem);
        }

        .section-contact .v3 .label {
            color: rgba(121, 81, 58, 0.58);
        }

        .section-contact .v3 .link:hover .label {
            color: rgba(155, 78, 49, 0.86);
            transform: translateX(0.14rem);
        }

        .section-contact .v3 .value {
            font-size: clamp(1.08rem, 1.32vw, 1.22rem);
        }

        .section-contact .v3 .arrow {
            color: rgba(91, 69, 52, 0.54);
        }

        .section-contact .v3.scroll-ready {
            min-height: 178dvh;
            overflow: visible;
            padding-top: 0;
            padding-bottom: 0;
            --stage: 0;
            --bg-r: 226;
            --bg-g: 216;
            --bg-b: 197;
            --bg-opacity: 0.66;
            --bg-a-pos: 44% 42%;
            --bg-b-pos: 56% 58%;
            --wash-a: 0.095;
            --wash-b: 0.26;
            --wash-c: 0.42;
            --sweep-opacity: 0.18;
            --sweep-pos: -64%;
            --focus-x: 78%;
            --focus-y: 30%;
            --paper-opacity: 0.028;
            --paper-x: -2%;
            --shell-opacity: 0.9;
            --shell-y: 1.25rem;
            --shell-scale: 0.982;
            --title-opacity: 1;
            --title-y: 0;
            --title-blur: 0px;
            --title-scale: 1;
            --title-line1: 0;
            --title-line1-y: 0.95rem;
            --title-line1-scale: 0.988;
            --title-line1-blur: 0px;
            --title-line1-shadow: 22px;
            --title-line1-shadow-opacity: 0.16;
            --title-line2: 0;
            --title-line2-y: 1.08rem;
            --title-line2-scale: 0.986;
            --title-line2-blur: 0px;
            --title-line2-shadow: 24px;
            --title-line2-shadow-opacity: 0.16;
            --links-open: 0;
            --links-opacity: 1;
            --links-y: 0.95rem;
            --row1: 0;
            --row1-y: 1rem;
            --row2: 0;
            --row2-y: 1rem;
            --row3: 0;
            --row3-y: 1rem;
            --row4: 0;
            --row4-y: 1rem;
        }

        .section-contact .v3.scroll-ready::before {
            opacity: var(--bg-opacity);
            transform: none;
            transition: none;
        }

        .section-contact .v3.scroll-ready .shell {
            position: sticky;
            top: 0;
            min-height: 100dvh;
            padding: clamp(4.2rem, 9vh, 5.9rem) 0 clamp(3.2rem, 7vh, 5rem);
            opacity: var(--shell-opacity);
            transform: translate3d(0, var(--shell-y), 0) scale(var(--shell-scale));
            transform-origin: center center;
            will-change: opacity, transform;
        }

        .section-contact .v3.scroll-ready .title > span, .section-contact .v3.scroll-ready .title-word, .section-contact .v3.scroll-ready .link, .section-contact .v3.scroll-ready .link::before {
            animation: none !important;
        }

        .section-contact .v3.scroll-ready .title {
            opacity: var(--title-opacity);
            filter: blur(var(--title-blur));
            transform: translate3d(0, var(--title-y), 0) scale(var(--title-scale));
            transform-origin: left center;
            will-change: opacity, filter, transform;
        }

        .section-contact .v3.scroll-ready .title > span {
            clip-path: inset(0 0 0 0);
            opacity: 1;
            filter: none;
            transform: none;
        }

        .section-contact .v3.scroll-ready .title-word {
            clip-path: none;
            opacity: var(--title-line-open);
            filter: blur(var(--title-line-blur));
            text-shadow: 0 0 var(--title-line-shadow) rgba(17, 16, 12, var(--title-line-shadow-opacity));
            transform: translate3d(0, var(--title-line-y), 0) scale(var(--title-line-scale));
            transform-origin: left bottom;
            will-change: opacity, filter, text-shadow, transform;
        }

        .section-contact .v3.scroll-ready .title-line:first-child .title-word {
            --title-line-open: var(--title-line1);
            --title-line-y: var(--title-line1-y);
            --title-line-scale: var(--title-line1-scale);
            --title-line-blur: var(--title-line1-blur);
            --title-line-shadow: var(--title-line1-shadow);
            --title-line-shadow-opacity: var(--title-line1-shadow-opacity);
        }

        .section-contact .v3.scroll-ready .title-line:nth-child(2) .title-word {
            --title-line-open: var(--title-line2);
            --title-line-y: var(--title-line2-y);
            --title-line-scale: var(--title-line2-scale);
            --title-line-blur: var(--title-line2-blur);
            --title-line-shadow: var(--title-line2-shadow);
            --title-line-shadow-opacity: var(--title-line2-shadow-opacity);
        }

        .section-contact .v3.scroll-ready .links {
            opacity: var(--links-opacity);
            transform: translate3d(0, var(--links-y), 0);
        }

        .section-contact .v3.scroll-ready .link {
            opacity: var(--row-open);
            clip-path: inset(0 0 0 0);
            transform: translate3d(0, var(--row-y), 0);
            will-change: opacity, transform;
        }

        .section-contact .v3.scroll-ready .link::before {
            transform: scaleX(var(--row-open));
        }

        .section-contact .v3.scroll-ready .link:nth-child(1) {
            --row-open: var(--row1);
            --row-y: var(--row1-y);
        }

        .section-contact .v3.scroll-ready .link:nth-child(2) {
            --row-open: var(--row2);
            --row-y: var(--row2-y);
        }

        .section-contact .v3.scroll-ready .link:nth-child(3) {
            --row-open: var(--row3);
            --row-y: var(--row3-y);
        }

        .section-contact .v3.scroll-ready .link:nth-child(4) {
            --row-open: var(--row4);
            --row-y: var(--row4-y);
        }

        .section-contact .v4 {
            background: #12120f;
        }

        .section-contact .v4::before {
            background:
                radial-gradient(ellipse at 36% 48%, rgba(217, 119, 87, 0.13), transparent 32%),
                radial-gradient(ellipse at 84% 20%, rgba(255, 246, 230, 0.045), transparent 32%);
            opacity: 0.9;
        }

        .section-contact .v4 .shell {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            grid-template-rows: auto auto auto;
            align-content: center;
            gap: clamp(1.15rem, 2.8vh, 2rem) clamp(1.6rem, 3.8vw, 3.8rem);
            padding: clamp(1.1rem, 2.4vh, 1.8rem) 0;
            border-top: 1px solid rgba(255, 246, 230, 0.18);
            border-bottom: 1px solid rgba(255, 246, 230, 0.1);
        }

        .section-contact .v4 .meta {
            grid-column: 1 / 6;
            grid-row: 1;
        }

        .section-contact .v4 .title {
            grid-column: 1 / 7;
            grid-row: 2;
            max-width: 9.6ch;
            font-size: 5.1rem;
        }

        .section-contact .v4 .lead {
            grid-column: 1 / 6;
            grid-row: 3;
            max-width: 39ch;
            padding-top: clamp(1rem, 2vh, 1.35rem);
            border-top: 1px solid rgba(255, 246, 230, 0.16);
        }

        .section-contact .v4 .links {
            grid-column: 8 / -1;
            grid-row: 1 / 4;
            align-self: center;
            padding-left: clamp(1.3rem, 3vw, 2.6rem);
            border-left: 1px solid rgba(255, 246, 230, 0.14);
        }

        .section-contact .v4 .link {
            min-height: 4.65rem;
        }

        .section-contact .v5 {
            background: #dce2d4;
        }

        .section-contact .v5::before {
            background:
                radial-gradient(ellipse at 55% 34%, rgba(217, 119, 87, 0.09), transparent 32%),
                radial-gradient(ellipse at 15% 68%, rgba(255, 246, 230, 0.38), transparent 36%),
                linear-gradient(180deg, rgba(250, 249, 240, 0.32), transparent 48%);
        }

        .section-contact .v5 .shell {
            display: grid;
            grid-template-areas:
                "intro"
                "links";
            align-content: center;
            gap: clamp(1.8rem, 4.8vh, 3.4rem);
            padding: clamp(1.1rem, 2.4vh, 1.8rem) 0;
            border-top: 1px solid rgba(17, 17, 15, 0.24);
            border-bottom: 1px solid rgba(17, 17, 15, 0.14);
        }

        .section-contact .v5 .intro {
            grid-area: intro;
            display: grid;
            grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 0.82fr) minmax(18rem, 0.52fr);
            grid-template-areas: "meta title lead";
            align-items: end;
            gap: clamp(1.5rem, 4vw, 4rem);
        }

        .section-contact .v5 .meta {
            grid-area: meta;
        }

        .section-contact .v5 .title {
            grid-area: title;
            max-width: 10ch;
            font-size: 4.8rem;
        }

        .section-contact .v5 .lead {
            grid-area: lead;
            max-width: 31ch;
        }

        .section-contact .v5 .links {
            grid-area: links;
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0;
            border-top: 1px solid rgba(17, 17, 15, 0.18);
        }

        .section-contact .v5 .link {
            grid-template-columns: minmax(0, 1fr) 1.25rem;
            grid-template-areas:
                "label arrow"
                "value value";
            align-content: center;
            min-height: 5.4rem;
            padding-right: clamp(0.8rem, 2vw, 1.35rem);
            border-bottom: 0;
            border-right: 1px solid rgba(17, 17, 15, 0.13);
        }

        .section-contact .v5 .link:first-child {
            border-top: 0;
        }

        .section-contact .v5 .link:last-child {
            border-right: 0;
        }

        .section-contact .v5 .label {
            grid-area: label;
        }

        .section-contact .v5 .value {
            grid-area: value;
            font-size: 1rem;
        }

        .section-contact .v5 .arrow {
            grid-area: arrow;
            align-self: start;
        }

        @keyframes revealUp {
            to {
                clip-path: inset(0 0 0 0);
                opacity: 1;
                transform: translate3d(0, 0, 0);
            }
        }

        @keyframes fadeLift {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes lineSweep {
            from {
                transform: scaleX(0);
            }
            to {
                transform: scaleX(1);
            }
        }

        @media (max-width: 1180px) {
            .section-contact .title {
                font-size: 4.7rem;
            }

            .section-contact .v1 .title, .section-contact .v2 .title, .section-contact .v4 .title, .section-contact .v5 .title {
                font-size: 4.35rem;
            }

            .section-contact .v3 .title {
                font-size: 3.5rem;
            }
        }

        @media (max-width: 920px) {
            .section-contact .variant-nav {
                top: auto;
                right: auto;
                left: 50%;
                bottom: 0.8rem;
                gap: 0.45rem;
                padding: 0.28rem 0.42rem;
                border: 1px solid rgba(255, 246, 230, 0.13);
                background: rgba(17, 17, 15, 0.78);
                backdrop-filter: blur(16px);
                transform: translateX(-50%);
            }

            .section-contact .variant-nav a {
                width: 2rem;
            }

            .section-contact .contact-variant {
                min-height: auto;
                padding: 3.4rem 1.35rem 4.6rem;
            }

            .section-contact .shell {
                min-height: auto;
            }

            .section-contact .v1 .shell, .section-contact .v2 .shell, .section-contact .v3 .shell, .section-contact .v4 .shell, .section-contact .v5 .shell {
                display: grid;
                grid-template-columns: 1fr;
                grid-template-areas:
                    "meta"
                    "title"
                    "lead"
                    "links";
                gap: 1.45rem;
                padding: 1.15rem 0 0;
            }

            .section-contact .v5 .shell {
                grid-template-areas:
                    "intro"
                    "links";
            }

            .section-contact .v3 .shell {
                grid-template-areas:
                    "title"
                    "links";
            }

            .section-contact .v5 .intro {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "meta"
                    "title"
                    "lead";
                gap: 1.35rem;
            }

            .section-contact .v1 .meta, .section-contact .v2 .meta, .section-contact .v3 .meta {
                grid-area: meta;
            }

            .section-contact .v1 .title, .section-contact .v2 .title, .section-contact .v3 .title {
                grid-area: title;
            }

            .section-contact .v1 .lead, .section-contact .v2 .lead, .section-contact .v3 .lead {
                grid-area: lead;
            }

            .section-contact .v1 .links, .section-contact .v2 .links, .section-contact .v3 .links {
                grid-area: links;
            }

            .section-contact .v4 .meta, .section-contact .v4 .title, .section-contact .v4 .lead, .section-contact .v4 .links, .section-contact .v5 .meta, .section-contact .v5 .title, .section-contact .v5 .lead, .section-contact .v5 .links {
                grid-column: auto;
                grid-row: auto;
            }

            .section-contact .title, .section-contact .v1 .title, .section-contact .v2 .title, .section-contact .v3 .title, .section-contact .v4 .title, .section-contact .v5 .title {
                max-width: 100%;
                min-width: 0;
                font-size: 2.72rem;
                line-height: 0.96;
            }

            .section-contact .v3 .title {
                font-size: clamp(2.25rem, 10.1vw, 2.52rem);
            }

            .section-contact .lead, .section-contact .lead.serif {
                min-width: 0;
                max-width: 100%;
                font-size: 1rem;
                line-height: 1.56;
            }

            .section-contact .v4 .lead {
                padding-top: 0;
                border-top: 0;
            }

            .section-contact .v4 .links {
                padding-left: 0;
                border-left: 0;
            }

            .section-contact .v5 .links {
                grid-template-columns: 1fr;
                border-top: 0;
            }

            .section-contact .link, .section-contact .v1 .link, .section-contact .v2 .link, .section-contact .v3 .link, .section-contact .v4 .link, .section-contact .v5 .link {
                grid-template-columns: minmax(0, 1fr) 1.35rem;
                grid-template-areas:
                    "label arrow"
                    "value arrow";
                gap: 0.28rem 0.75rem;
                min-height: 3.9rem;
                padding-right: 0.92rem;
                border-right: 0;
                border-bottom: 1px solid var(--line-light);
            }

            .section-contact .v3 .link:hover {
                padding-right: 1.05rem;
            }

            .section-contact .link:first-child, .section-contact .v5 .link:first-child {
                border-top: 1px solid var(--line-light);
            }

            .section-contact .label {
                grid-area: label;
            }

            .section-contact .value, .section-contact .v5 .value {
                grid-area: value;
                font-size: 0.96rem;
            }

            .section-contact .arrow {
                grid-area: arrow;
                align-self: center;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .section-contact *, .section-contact *::before, .section-contact *::after {
                animation-duration: 1ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: 1ms !important;
            }
        }

/* ─────────────────────────────────────────────────────────────
   FULLBLEED PREMIUM CONTACT — 100vh × 100vw editorial spread
   Overrides v3 standalone layout: 2-col grid, gigant headline
   left, links + bottom signature right.
   ───────────────────────────────────────────────────────────── */

.section-contact { background: #e8d9c1; }

.section-contact .cv-fullbleed.v3 {
    min-height: 100svh;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.section-contact .cv-fullbleed.v3::before {
    background:
        radial-gradient(ellipse 80% 60% at 22% 38%, rgba(217, 119, 87, 0.22), transparent 62%),
        radial-gradient(ellipse 70% 70% at 88% 78%, rgba(255, 246, 230, 0.78), transparent 60%),
        radial-gradient(ellipse 100% 50% at 50% 110%, rgba(31, 22, 14, 0.18), transparent 70%),
        linear-gradient(160deg, #f2e6d1 0%, #ead8bb 48%, #d8c19c 100%);
    opacity: 1;
}

.section-contact .cv-fullbleed.v3 .shell {
    position: relative;
    width: 100%;
    max-width: none;
    min-height: 100svh;
    margin: 0;
    padding: clamp(1.8rem, 3.6vh, 2.8rem) clamp(1.5rem, 5.4vw, 5rem) calc(clamp(1.6rem, 3vh, 2.2rem) + 6.2rem);
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "eyebrow eyebrow"
        "intro   links";
    column-gap: clamp(2rem, 4.4vw, 4.4rem);
    row-gap: clamp(1.2rem, 2.4vh, 2rem);
    align-content: stretch;
    border-top: 0;
}

/* Eyebrow row */
.section-contact .cv-eyebrow {
    grid-area: eyebrow;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding-bottom: clamp(0.4rem, 1vh, 0.9rem);
    border-bottom: 1px solid rgba(49, 39, 29, 0.22);
    color: rgba(76, 63, 48, 0.74);
    font-family: var(--mono);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.32em;
    text-transform: uppercase;
}
.section-contact .cv-eyebrow-num { font-variant-numeric: tabular-nums; opacity: 0.7; }

/* LEFT — intro: title + lead */
.section-contact .cv-fullbleed.v3 .intro {
    grid-area: intro;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(1.4rem, 3.2vh, 2.4rem);
    padding-right: clamp(0.5rem, 2vw, 2rem);
}
.section-contact .cv-fullbleed.v3 .title {
    max-width: none;
    margin: 0;
    color: #13100c;
    font-family: var(--display);
    font-size: clamp(2.8rem, 4.4vw, 4.6rem);
    font-weight: 800;
    line-height: 0.92;
    letter-spacing: -0.014em;
    text-transform: uppercase;
}
.section-contact .cv-fullbleed.v3 .title > span { display: block; white-space: nowrap; }
.section-contact .cv-fullbleed.v3 .title-word { white-space: nowrap; }
.section-contact .cv-lead {
    max-width: 32ch;
    margin: 0;
    color: rgba(61, 50, 39, 0.78);
    font-family: var(--serif);
    font-size: clamp(1.06rem, 1.32vw, 1.32rem);
    font-style: italic;
    line-height: 1.46;
    text-wrap: pretty;
}

/* RIGHT — links column */
.section-contact .cv-fullbleed.v3 .links {
    grid-area: links;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 0;
    padding-left: clamp(0.5rem, 2vw, 2rem);
    border-left: 1px solid rgba(49, 39, 29, 0.16);
}
.section-contact .cv-fullbleed.v3 .link {
    grid-template-columns: minmax(5.8rem, 7rem) minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(0.9rem, 1.8vw, 1.4rem);
    min-height: clamp(3.6rem, 6vh, 4.8rem);
    padding: 0 clamp(0.8rem, 1.6vw, 1.3rem);
    border-bottom: 1px solid rgba(49, 39, 29, 0.16);
    color: #13100c;
}
.section-contact .cv-fullbleed.v3 .link:first-child {
    border-top: 1px solid rgba(49, 39, 29, 0.22);
}
.section-contact .cv-fullbleed.v3 .link:hover {
    background: rgba(217, 119, 87, 0.08);
    border-color: rgba(217, 119, 87, 0.38);
    padding-left: clamp(1.3rem, 2.4vw, 1.95rem);
}
.section-contact .cv-fullbleed.v3 .label {
    color: rgba(121, 81, 58, 0.78);
    font-family: var(--mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
.section-contact .cv-fullbleed.v3 .value {
    color: #13100c;
    font-family: var(--display);
    font-size: clamp(1.06rem, 1.45vw, 1.42rem);
    font-weight: 600;
    letter-spacing: -0.005em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}
.section-contact .cv-fullbleed.v3 .arrow {
    color: rgba(91, 69, 52, 0.62);
    font-family: var(--sans);
    font-size: 1.5rem;
    font-weight: 400;
    transition: color 240ms var(--ease), transform 280ms var(--ease);
}
.section-contact .cv-fullbleed.v3 .link:hover .arrow {
    color: var(--accent);
    transform: translateX(0.45rem);
}

/* FOOT — signature row pinned to bottom */
.section-contact .cv-foot {
    position: absolute;
    left: clamp(1.5rem, 5.4vw, 5rem);
    right: clamp(1.5rem, 5.4vw, 5rem);
    bottom: clamp(1.4rem, 2.8vh, 2rem);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1rem, 2.4vw, 2.4rem);
    padding-top: clamp(0.9rem, 1.8vh, 1.4rem);
    border-top: 1px solid rgba(49, 39, 29, 0.22);
}
.section-contact .cv-foot-col {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.section-contact .cv-foot-label {
    color: rgba(76, 63, 48, 0.62);
    font-family: var(--mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
}
.section-contact .cv-foot-value {
    color: #13100c;
    font-family: var(--display);
    font-size: clamp(0.96rem, 1.18vw, 1.14rem);
    font-weight: 600;
    letter-spacing: 0;
}
.section-contact .cv-foot-mono .cv-foot-value {
    font-family: var(--mono);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.06em;
}

/* Tablet & below — collapse to single column */
@media (max-width: 900px) {
    .section-contact .cv-fullbleed.v3 .shell {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        grid-template-areas:
            "eyebrow"
            "intro"
            "links";
        padding: clamp(1.6rem, 3.6vh, 2.2rem) clamp(1.1rem, 5vw, 1.8rem) calc(clamp(1.2rem, 2.8vh, 1.8rem) + 9rem);
        row-gap: clamp(1.2rem, 2.8vh, 2rem);
    }
    .section-contact .cv-fullbleed.v3 .title {
        /* display face is extra-wide; min must keep "DIALOGUE" inside a 320px phone */
        font-size: clamp(1.9rem, 8.6vw, 4rem);
    }
    .section-contact .cv-fullbleed.v3 .links {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding-left: 0;
        border-left: 0;
    }
    /* keep the eyebrow row inside the viewport on small phones */
    .section-contact .cv-fullbleed.v3 .cv-eyebrow {
        gap: 0.8rem;
        font-size: 0.6rem;
        letter-spacing: 0.16em;
    }
    /* MOBILE LINK FIX: define the named areas the .label/.value/.arrow rules
       reference, so they stop collapsing into one narrow cell, and let the
       value wrap instead of truncating with an ellipsis. */
    .section-contact .cv-fullbleed.v3 .link {
        min-width: 0;
        max-width: 100%;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "label arrow"
            "value arrow";
        align-items: center;
        column-gap: 1rem;
        row-gap: 0.12rem;
        padding-top: 0.7rem;
        padding-bottom: 0.7rem;
    }
    .section-contact .cv-fullbleed.v3 .label {
        align-self: end;
    }
    .section-contact .cv-fullbleed.v3 .value {
        align-self: start;
        font-size: clamp(1rem, 3.6vw, 1.24rem);
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        overflow-wrap: anywhere;
        line-height: 1.22;
    }
    .section-contact .cv-foot {
        left: clamp(1.1rem, 5vw, 1.8rem);
        right: clamp(1.1rem, 5vw, 1.8rem);
        bottom: clamp(1.1rem, 2.4vh, 1.6rem);
        grid-template-columns: repeat(2, 1fr);
        gap: 0.85rem;
    }
}
