* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    overflow-x:hidden;
    background:var(--void);
    color:var(--text);
    font-family:"Lexend",sans-serif;
    line-height:1.65
}
body:before {
    position:fixed;
    inset:0;
    z-index:-2;
    content:"";
    background-image:linear-gradient(rgba(59,130,246,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.025) 1px,transparent 1px);
    background-size:58px 58px
}
a {
    color:inherit;
    text-decoration:none
}
img {
    max-width:100%
}
.container {
    width:min(1180px,calc(100% - 40px));
    margin:auto
}
.text-link:hover {
    color:var(--light)
}
.mobile-break {
    display:none
}
.hero {
    min-height:760px;
    display:grid;
    align-items:center;
    position:relative;
    overflow:hidden;
    padding:130px 0 80px
}
.hero-backdrop,.social-backdrop {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(3,7,18,.96),rgba(3,7,18,.63),rgba(3,7,18,.86)),url("../../static/paradisecraft.png") center/cover no-repeat;
    opacity:.48
}
.hero:after {
    position:absolute;
    inset:0;
    content:"";
    background:radial-gradient(circle at 60% 45%,rgba(59,130,246,.2),transparent 48%)
}
.hero-content {
    position:relative;
    z-index:1
}
.hero h1 {
    max-width:1000px;
    margin:14px 0 24px;
    color:#fff;
    font:700 clamp(42px,6vw,80px)/1.03 "Chakra Petch",sans-serif;
    text-transform:uppercase
}
.hero h1 span,h2 span {
    color:var(--light)
}
.hero-content>p:not(.eyebrow) {
    max-width:690px;
    margin:0 0 34px;
    color:#cbd5e1;
    font-size:18px
}
.eyebrow {
    margin:0;
    color:var(--light);
    font:700 13px "Chakra Petch",sans-serif;
    letter-spacing:.2em;
    text-transform:uppercase
}
.section {
    padding:110px 0;
    scroll-margin-top:72px
}
.section-heading {
    max-width:760px;
    margin:0 auto 48px;
    text-align:center
}
.section-heading h2,.platform-copy h2,.contact-copy h2 {
    margin:10px 0 16px;
    color:#fff;
    font:700 clamp(34px,5vw,54px)/1.08 "Chakra Petch",sans-serif;
    text-transform:uppercase
}
.section-heading>p:last-child,.platform-copy>p,.contact-copy>p {
    color:var(--muted)
}
.tabs {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin-bottom:36px
}
.tab-button {
    padding:12px 17px;
    scroll-margin-top:90px;
    border:1px solid var(--border);
    background:var(--surface);
    color:var(--muted);
    cursor:pointer;
    font:700 12px "Chakra Petch",sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase
}
.tab-button:hover,.tab-button.active {
    border-color:var(--primary);
    background:var(--primary);
    color:#fff
}
.team-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}
.person-card {
    min-width:0;
    padding:24px 18px;
    border:1px solid var(--border);
    border-bottom:3px solid var(--primary);
    background:var(--surface);
    text-align:center;
    transition:.3s;
    clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)
}
.person-card:hover {
    transform:translateY(-7px);
    border-color:rgba(96,165,250,.5)
}
.person-card img {
    height:180px;
    margin-bottom:12px;
    filter:drop-shadow(0 12px 10px rgba(0,0,0,.55));
    transition:.3s
}
.person-card:hover img {
    transform:scale(1.06)
}
.person-card h3 {
    margin:0;
    color:#fff;
    font:700 21px "Chakra Petch",sans-serif;
    overflow-wrap:anywhere
}
.person-card .role {
    margin:4px 0 8px;
    color:var(--light);
    font:700 11px "Chakra Petch",sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase
}
.person-card .description {
    margin:0;
    color:var(--muted);
    font-size:13px
}
.social-section {
    position:relative;
    overflow:hidden;
    background:color-mix(in srgb,var(--pc-color-surface-strong) 23%,transparent)
}
.social-backdrop {
    opacity:.18;
    filter:saturate(.7)
}
.social-content {
    position:relative;
    z-index:1
}
.social-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}
.social-tile {
    aspect-ratio:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:24px;
    border:1px solid rgba(59,130,246,.18);
    background:rgba(3,7,18,.5);
    text-align:center;
    backdrop-filter:blur(10px);
    transition:.3s
}
.social-tile:hover {
    transform:translateY(-8px);
    border-color:var(--light);
    background:rgba(37,99,235,.18)
}
.social-icon {
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    border:1px solid var(--light);
    color:var(--light);
    font:700 24px "Chakra Petch",sans-serif
}
.social-tile strong {
    color:#fff;
    font:700 30px "Chakra Petch",sans-serif;
    text-transform:uppercase
}
.social-tile small {
    color:var(--muted)
}
.platform-layout,.contact-layout {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:70px
}
.platform-copy .pc-button {
    margin-top:14px
}
.rating-card,.form-card {
    padding:34px;
    border:1px solid var(--border);
    background:var(--surface);
    clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)
}
.rating-card img {
    width:100%;
    display:block;
    min-height:100px;
    object-fit:contain;
    background:rgba(59,130,246,.04)
}
.rating-card p {
    color:var(--muted);
    font-size:14px
}
.rating-card strong {
    color:#fff
}
.text-link {
    color:var(--light);
    font:700 12px "Chakra Petch",sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase
}
.contact-section {
    background:color-mix(in srgb,var(--pc-color-surface-strong) 30%,transparent)
}
form {
    display:grid;
    gap:9px
}
form .pc-button {
    margin-top:12px
}
.form-message {
    display:none;
    text-align:center
}
.form-message h3 {
    color:#fff;
    font:700 26px "Chakra Petch",sans-serif
}
.form-error,.field-error {
    color:#f87171;
    font-size:12px
}
.reveal {
    opacity:0;
    transform:translateY(24px);
    transition:opacity .7s,transform .7s
}
.reveal.active {
    opacity:1;
    transform:none
}
@media(max-width:1023px) {
    .mobile-break {
        display:none
    }
    .team-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .social-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .platform-layout,.contact-layout {
        grid-template-columns:1fr;
        gap:36px
    }
}
@media(max-width:620px) {
    .container {
        width:auto;
        margin-left:14px;
        margin-right:14px
    }
    .hero {
        min-height:680px
    }
    .hero-content {
        min-width:0
    }
    .mobile-break {
        display:block
    }
    .hero h1 {
        font-size:30px;
        overflow-wrap:anywhere
    }
    .section {
        padding:80px 0
    }
    .team-grid,.social-grid {
        width:100%;
        padding-inline:0;
        grid-template-columns:1fr
    }
    .social-tile {
        aspect-ratio:1.25
    }
    .rating-card,.form-card {
        padding:22px
    }
}
