@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');:root{--navy:#14232a;--cream:#f6f4ee;--sand:#e9e4d9;--gold:#b99b6a;--ink:#202b2c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#faf9f5}.brand{display:flex;gap:15px;align-items:center;font-size:15px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2.8px;margin-top:5px;font-weight:500}.mark{border:1px solid var(--navy);height:46px;width:46px;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px;letter-spacing:0}.header nav{display:flex;align-items:center;gap:38px;font-size:12px;font-weight:600}.nav-cta{border-bottom:1px solid var(--gold);padding-bottom:8px}.hero{background:var(--navy);color:#fff;min-height:630px;display:flex;justify-content:space-between;padding:115px 6% 65px}.hero-inner{max-width:850px}.eyebrow{font-size:11px;letter-spacing:2.7px;color:#d3b68a;font-weight:700}.eyebrow.dark{color:#a28458}.hero h1,h2,.statement blockquote{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-2px}.hero h1{font-size:clamp(56px,7vw,106px);line-height:1.12;margin:33px 0}.hero h1 em,h2 em,.statement em{color:#c3a678;font-weight:400}.hero-copy{max-width:460px;color:#cbd1cf;line-height:1.9;font-size:15px;margin-bottom:36px}.button{display:inline-flex;gap:55px;align-items:center;padding:18px 22px;font-size:12px;font-weight:700}.button.light{background:#f4f0e8;color:var(--navy)}.hero-side{align-self:end;width:185px;font-size:9px;letter-spacing:1.6px;color:#c0c9c8;line-height:1.8}.line{height:1px;background:#647274;margin:20px 0}.section{padding:110px 8%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.section h2{font-size:clamp(43px,5vw,69px);line-height:1.19;margin:25px 0}.intro>div:last-child{padding-top:70px}.intro p:not(.eyebrow),.contact-info>p:not(.eyebrow):not(.disclaimer){font-size:15px;line-height:2;color:#66706d}.text-link{display:inline-block;margin-top:15px;font-size:12px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:10px}.practice{background:#ece9e1}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:50px}.section-heading p{max-width:280px;color:#67716e;font-size:14px;line-height:1.8}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.practice article{background:#faf9f5;padding:38px 34px;min-height:270px;position:relative}.practice article>span:first-child{font-size:12px;color:#ac9166}.practice h3{font-family:'Playfair Display',serif;font-size:27px;font-weight:400;margin:38px 0 14px}.practice article p{font-size:13px;color:#707975;line-height:1.9;max-width:260px}.arrow{position:absolute;bottom:28px;right:30px;color:#b99b6a}.fine{font-size:11px;color:#79807c;margin-top:25px}.statement{background:#20343b;color:white;text-align:center;padding:100px 15%}.statement blockquote{font-size:clamp(35px,4.5vw,65px);line-height:1.35;margin:35px auto;max-width:1000px}.statement>p:last-child{color:#c1cbca;font-size:13px}.contact{display:grid;grid-template-columns:0.9fr 1.1fr;gap:9%;background:#faf9f5}.contact-info h2{margin-bottom:25px}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:36px;font-size:14px;font-weight:700}.contact-links a{border-bottom:1px solid #c6bba9;padding-bottom:8px}.disclaimer{margin-top:65px;font-size:11px;color:#79807c;line-height:1.8;max-width:390px}.form-panel{background:#f0ede6;padding:38px}.form-panel h3{font-family:'Playfair Display',serif;font-weight:400;font-size:29px;margin:0 0 30px}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;font-weight:700;margin-bottom:22px;letter-spacing:.2px}label>span{color:#b18753}input:not([type=checkbox]),textarea{width:100%;display:block;margin-top:9px;border:1px solid #d7d4cc;background:#faf9f5;padding:14px;font:14px 'DM Sans',sans-serif;outline-offset:2px;border-radius:0}textarea{resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.7;color:#59625f}.consent input{margin-top:3px}.consent span{color:inherit}.cf-turnstile{margin:22px 0}.form-panel button{border:0;background:var(--navy);color:#fff;padding:18px 22px;width:100%;display:flex;justify-content:space-between;font-size:12px;font-weight:700;cursor:pointer}.form-panel button:disabled{opacity:.55;cursor:wait}.status{font-size:13px;line-height:1.5}footer{background:#122128;color:#d9dfdc;padding:38px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:10px}footer div{display:flex;flex-direction:column;gap:6px;letter-spacing:2px}footer div span{font-size:9px}footer p{max-width:260px;line-height:1.7}@media(max-width:800px){.header{padding:0 5%}.header nav{gap:14px}.header nav a:not(.nav-cta){display:none}.hero{padding:90px 7%;min-height:580px}.hero-side{display:none}.intro,.contact{grid-template-columns:1fr;gap:30px}.intro>div:last-child{padding-top:0}.section{padding:75px 7%}.practice-grid{grid-template-columns:1fr}.practice article{min-height:220px}.section-heading{display:block}.two{grid-template-columns:1fr;gap:0}.form-panel{padding:25px}.statement{padding:75px 8%}footer{flex-wrap:wrap}}
/* Portrait hero — retains the original typography and navy / gold / ivory palette. */

.hero.hero-portrait {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 610px;
    padding: 100px 6% 85px;
    align-items: center;
    background: var(--navy);
}

.hero-portrait .hero-inner {
    position: relative;
    z-index: 2;
    max-width: 680px;
    width: 61%;
}

.hero-portrait h1 {
    font-size: clamp(64px, 7.5vw, 112px);
    line-height: 1.05;
    margin: 26px 0 16px;
}

.hero-portrait .hero-subtitle {
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #e2d0b4;
    margin: 0 0 22px;
}

.hero-portrait .hero-copy {
    max-width: 410px;
    margin-bottom: 30px;
}

.hero-portrait-image {
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 35%;
    background-image:
        linear-gradient(
            90deg,
            var(--navy) 0%,
            rgba(20,35,42,.12) 38%,
            rgba(20,35,42,0) 75%
        ),
        url('timothy-boyko.png');
    background-size: cover;
    background-position: 65% 10%;
    filter: saturate(.85);
}

.hero-portrait::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(20,35,42,.45) 0%,
        transparent 62%
    );
    pointer-events: none;
}

.hero-portrait .hero-side {
    position: absolute;
    z-index: 2;
    right: 5%;
    bottom: 32px;
    text-align: right;
    width: auto;
    max-width: 300px;
    text-shadow: 0 1px 5px #14232a;
}

.hero-portrait .hero-side .line {
    margin: 9px 0;
}

.hero-portrait .hero-eyebrow {
    display: block;
    font-size: 1.50rem;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color:#d3b68a;
}

/* Tablet and mobile */
@media (max-width: 800px) {
    .hero.hero-portrait {
        min-height: 700px;
        padding: 62px 7% 70px;
        align-items: flex-start;
    }

    .hero-portrait .hero-inner {
        width: 100%;
        max-width: 580px;
    }

    .hero-portrait h1 {
        font-size: clamp(58px, 11vw, 86px);
    }

    .hero-portrait-image {
        top: auto;
        left: 17%;
        right: 0;
        bottom: 0;
        width: 83%;
        height: 58%;
        background-position: center 23%;
        background-image:
            linear-gradient(
                180deg,
                var(--navy) 0%,
                rgba(20,35,42,.35) 36%,
                rgba(20,35,42,.05) 100%
            ),
            url('timothy-boyko.png');
    }

    .hero-portrait::after {
        background: linear-gradient(
            180deg,
            rgba(20,35,42,.2) 0%,
            rgba(20,35,42,.12) 65%,
            rgba(20,35,42,.4) 100%
        );
    }

    .hero-portrait .hero-copy {
        max-width: 340px;
    }

    .hero-portrait .hero-side {
        display: none;
    }
}

/* Smaller phones */
@media (max-width: 480px) {
    .hero.hero-portrait {
        min-height: 750px;
    }

    .hero-portrait h1 {
        font-size: clamp(56px, 13vw, 72px);
    }

    .hero-portrait .hero-subtitle {
        font-size: 11px;
    }

    .hero-portrait-image {
        height: 54%;
        width: 100%;
        left: 0;
        background-position: center 17%;
    }
}

