/* licence.broker -- cottagecore split-screen */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --burgundy:#6B1D2A;
    --wine:#8B3A4A;
    --linen:#F5EEE4;
    --butter:#FAF4EC;
    --gold:#C4973A;
    --espresso:#2A1F18;
    --walnut:#6B5A48;
    --sepia:#D4A874;
    --sage:#8B9A78;
    --divider:#C4A0A8;
}

html{scroll-behavior:smooth;font-size:16px}

body{
    background:var(--linen);
    color:var(--espresso);
    font-family:'Nunito',sans-serif;
    font-weight:400;
    font-size:clamp(0.95rem,1.1vw,1.05rem);
    line-height:1.75;
    overflow-x:hidden;
    letter-spacing:0.01em;
}

/* Seam navigation */
.seam-nav{
    position:fixed;
    left:48%;
    top:0;bottom:0;
    width:2px;
    z-index:100;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3rem;
    pointer-events:none;
}

.seam-line{
    position:absolute;
    inset:0;
    width:1px;
    left:50%;
    transform:translateX(-50%);
    background:var(--burgundy);
    opacity:0.15;
}

.seam-marker{
    width:10px;height:10px;
    border-radius:50%;
    border:1.5px solid var(--burgundy);
    background:var(--linen);
    cursor:pointer;
    pointer-events:auto;
    z-index:1;
    transition:background 0.3s ease;
}

.seam-marker.active{
    background:var(--burgundy);
}

/* Sections */
.broker-section{
    min-height:100vh;
    display:grid;
    grid-template-columns:48% 52%;
    position:relative;
}

.split-atmosphere{
    position:relative;
    overflow:hidden;
}

.split-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(2rem,4vw,4rem) clamp(2rem,5vw,5rem);
}

.linen-texture{
    position:absolute;
    inset:0;
    background:
        repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(107,29,42,0.015) 3px,rgba(107,29,42,0.015) 4px),
        repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(107,29,42,0.015) 3px,rgba(107,29,42,0.015) 4px);
    pointer-events:none;
}

.linen-texture.warm{
    background:
        repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(196,151,58,0.02) 3px,rgba(196,151,58,0.02) 4px),
        repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(196,151,58,0.02) 3px,rgba(196,151,58,0.02) 4px);
}

/* Leaf floats */
.leaf-float{
    position:absolute;
    opacity:0.6;
    pointer-events:none;
}

.leaf-1{top:20%;right:15%}
.leaf-2{bottom:15%;left:20%}
.leaf-3{top:30%;right:20%}

/* Hero */
.hero-domain{
    font-family:'Josefin Sans',sans-serif;
    font-weight:300;
    font-size:clamp(2.5rem,6vw,6rem);
    color:var(--espresso);
    letter-spacing:0.04em;
    line-height:1.1;
}

.hero-dot{color:var(--burgundy)}

.hero-subtitle{
    font-family:'Playfair Display',serif;
    font-weight:400;
    font-style:italic;
    font-size:clamp(1.1rem,1.5vw,1.4rem);
    color:var(--walnut);
    margin-top:1.5rem;
    line-height:1.5;
    opacity:0;
    transform:translateY(15px);
    transition:opacity 0.6s ease,transform 0.6s ease;
}

.hero-subtitle.visible{
    opacity:1;
    transform:translateY(0);
}

/* Exchange items */
.exchange-item{
    margin-bottom:3rem;
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.5s ease,transform 0.5s ease;
}

.exchange-item.visible{
    opacity:1;
    transform:translateY(0);
}

.exchange-rule{
    width:60px;
    height:1px;
    background:var(--burgundy);
    margin-bottom:1rem;
}

.exchange-heading{
    font-family:'Josefin Sans',sans-serif;
    font-weight:400;
    font-size:clamp(1.4rem,2vw,2.2rem);
    color:var(--espresso);
    letter-spacing:0.02em;
    line-height:1.3;
    margin-bottom:0.75rem;
}

.exchange-text{
    font-family:'Nunito',sans-serif;
    line-height:1.75;
    color:var(--espresso);
}

/* Mediation (merged) */
.mediation-section{
    display:block;
}

.mediation-full{
    min-height:100vh;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--linen);
}

.mediation-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent 0%,transparent 48%,rgba(107,29,42,0.03) 48%,rgba(107,29,42,0.03) 52%,transparent 52%);
    pointer-events:none;
}

.mediation-content{
    max-width:min(700px,80%);
    text-align:center;
    z-index:2;
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.7s ease,transform 0.7s ease;
}

.mediation-content.visible{
    opacity:1;
    transform:translateY(0);
}

.mediation-heading{
    font-family:'Josefin Sans',sans-serif;
    font-weight:400;
    font-size:clamp(1.6rem,3vw,3rem);
    color:var(--espresso);
    letter-spacing:0.03em;
    margin-bottom:1.5rem;
}

.mediation-text{
    font-family:'Nunito',sans-serif;
    line-height:1.75;
    color:var(--espresso);
}

/* Seal */
.seal-content{
    text-align:center;
    opacity:0;
    transform:translateY(20px);
    transition:opacity 0.7s ease,transform 0.7s ease;
}

.seal-content.visible{
    opacity:1;
    transform:translateY(0);
}

.seal-statement{
    font-family:'Playfair Display',serif;
    font-weight:400;
    font-style:italic;
    font-size:clamp(1.1rem,1.5vw,1.4rem);
    color:var(--walnut);
    line-height:1.6;
    margin-bottom:2rem;
}

.leaf-divider{
    display:flex;
    justify-content:center;
    margin-bottom:1.5rem;
}

.seal-domain{
    font-family:'Josefin Sans',sans-serif;
    font-weight:600;
    font-size:clamp(1.5rem,3vw,2.5rem);
    color:var(--burgundy);
    letter-spacing:0.04em;
}

/* Responsive */
@media(max-width:768px){
    .broker-section{
        grid-template-columns:1fr;
    }
    .split-atmosphere{
        min-height:30vh;
    }
    .seam-nav{display:none}
}

@media(prefers-reduced-motion:reduce){
    .hero-subtitle,.exchange-item,.mediation-content,.seal-content{
        opacity:1;transform:none;transition:none;
    }
}
