/* =========================================================
   TRAVEL09 — PRIVACY POLICY
   ========================================================= */

.pp-page,
.pp-page *{
    box-sizing:border-box;
}

.pp-page{
    --pp-deep:#03131F;
    --pp-navy:#071E32;
    --pp-navy-2:#0B2D46;
    --pp-teal:#087E8B;
    --pp-aqua:#16B8C4;
    --pp-gold:#D6AD60;
    --pp-bg:#F5F8FA;
    --pp-soft:#EEF7F8;
    --pp-text:#173447;
    --pp-muted:#718391;
    --pp-border:#DFE8ED;
    --pp-warn:#9A5A25;

    color:var(--pp-text);
    background:#FFFFFF;

    font-size:16px;
    line-height:1.72;

    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

.pp-shell{
    width:min(
        calc(100% - 80px),
        1440px
    );

    margin:0 auto;
}

.pp-page a{
    text-underline-offset:3px;
}

.pp-section-head{
    display:grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(300px,.72fr);

    gap:56px;

    align-items:end;
}

.pp-section-head > div > span,
.pp-final span{
    color:var(--pp-teal);

    font-size:12px;
    font-weight:850;

    letter-spacing:.10em;
    text-transform:uppercase;
}

.pp-section-head h2,
.pp-final h2{
    margin:8px 0 0;

    color:var(--pp-navy);

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            4vw,
            56px
        );

    font-weight:600;

    line-height:1.06;
    letter-spacing:-.03em;
}

.pp-section-head > p{
    margin:0;

    color:var(--pp-muted);

    font-size:15px;
    line-height:1.8;
}


/* =========================================================
   HERO
   ========================================================= */

.pp-hero{
    position:relative;
    overflow:hidden;

    padding:
        80px 0 72px;

    color:#FFFFFF;

    background:
        radial-gradient(
            circle at 87% 11%,
            rgba(22,184,196,.22),
            transparent 28%
        ),
        radial-gradient(
            circle at 8% 92%,
            rgba(214,173,96,.10),
            transparent 24%
        ),
        linear-gradient(
            145deg,
            var(--pp-deep),
            var(--pp-navy) 58%,
            var(--pp-navy-2)
        );
}

.pp-hero::before{
    content:"";

    position:absolute;
    inset:0;

    opacity:.15;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size:48px 48px;

    pointer-events:none;
}

.pp-hero .pp-shell{
    position:relative;
    z-index:2;
}

.pp-hero__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        390px;

    gap:66px;

    align-items:end;
}

.pp-kicker{
    color:#86E0E6;

    font-size:12px;
    font-weight:850;

    letter-spacing:.11em;
    text-transform:uppercase;
}

.pp-hero h1{
    max-width:960px;

    margin:17px 0 0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            54px,
            5.8vw,
            86px
        );

    font-weight:600;

    line-height:.98;
    letter-spacing:-.05em;
}

.pp-hero h1 span{
    display:block;

    margin-top:7px;

    background:
        linear-gradient(
            90deg,
            #A1EEF1,
            #72DCE3,
            #D7B66D
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}

.pp-hero__grid > div > p{
    max-width:780px;

    margin-top:22px;

    color:#BDD0DA;

    font-size:17px;
    line-height:1.82;
}

.pp-hero__meta{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:24px;
}

.pp-hero__meta > div{
    min-width:165px;

    padding:12px 14px;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius:10px;

    background:
        rgba(255,255,255,.035);
}

.pp-hero__meta span{
    display:block;

    color:#8FA7B5;

    font-size:9px;
    font-weight:800;

    text-transform:uppercase;
}

.pp-hero__meta strong{
    display:block;

    margin-top:3px;

    color:#FFFFFF;

    font-size:12px;
}

.pp-hero__actions{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:24px;
}

.pp-hero__actions a{
    min-height:45px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 16px;

    border:
        1px solid
        rgba(255,255,255,.15);

    border-radius:9px;

    color:#D8E5EB;

    text-decoration:none;

    font-size:12px;
    font-weight:800;
}

.pp-hero__actions .primary{
    border-color:transparent;

    background:
        linear-gradient(
            135deg,
            var(--pp-teal),
            var(--pp-aqua)
        );

    color:#FFFFFF;
}

.pp-hero aside{
    padding:25px;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius:20px;

    background:
        rgba(255,255,255,.05);

    backdrop-filter:blur(13px);
}

.pp-hero aside > span{
    color:#79DDE4;

    font-size:11px;
    font-weight:850;

    text-transform:uppercase;
}

.pp-hero aside strong{
    display:block;

    margin:10px 0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:24px;
    font-weight:600;

    line-height:1.25;
}

.pp-hero aside p{
    margin-bottom:0;

    color:#A9BDC8;

    font-size:13px;
}


/* =========================================================
   PRINCIPLES
   ========================================================= */

.pp-principles{
    padding:80px 0;
}

.pp-principles__grid{
    display:grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap:12px;

    margin-top:30px;
}

.pp-principles article{
    min-height:190px;

    padding:21px;

    border:
        1px solid
        var(--pp-border);

    border-radius:16px;

    background:
        linear-gradient(
            180deg,
            #FFFFFF,
            #FAFCFD
        );
}

.pp-principles article > span{
    color:var(--pp-teal);

    font-size:10px;
    font-weight:900;
}

.pp-principles strong{
    display:block;

    margin-top:24px;

    color:var(--pp-navy);

    font-size:16px;
}

.pp-principles p{
    color:var(--pp-muted);

    font-size:12px;
}


/* =========================================================
   POLICY
   ========================================================= */

.pp-policy{
    padding:72px 0;

    background:var(--pp-bg);
}

.pp-policy__layout{
    display:grid;

    grid-template-columns:
        255px
        minmax(0,1fr);

    gap:42px;

    align-items:start;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.pp-sidebar{
    position:sticky;

    top:105px;
}

.pp-sidebar > span{
    color:var(--pp-teal);

    font-size:11px;
    font-weight:850;

    text-transform:uppercase;
}

.pp-sidebar nav{
    max-height:
        calc(100vh - 245px);

    overflow:auto;

    display:grid;

    gap:2px;

    margin-top:12px;

    padding-right:4px;
}

.pp-sidebar nav a{
    padding:8px 10px;

    border-radius:7px;

    color:#627B89;

    text-decoration:none;

    font-size:11px;
    font-weight:730;

    transition:.2s ease;
}

.pp-sidebar nav a:hover,
.pp-sidebar nav a.active{
    background:#E5F3F4;

    color:var(--pp-teal);
}

.pp-sidebar__contact{
    margin-top:17px;

    padding:16px;

    border-radius:13px;

    background:var(--pp-navy);

    color:#FFFFFF;
}

.pp-sidebar__contact strong{
    font-size:12px;
}

.pp-sidebar__contact p{
    margin:5px 0;

    color:#A8BDC9;

    font-size:10px;
}

.pp-sidebar__contact a{
    color:#82E0E6;

    text-decoration:none;

    font-size:10px;
    font-weight:800;
}


/* =========================================================
   ARTICLE SECTIONS
   ========================================================= */

.pp-article{
    min-width:0;
}

.pp-section{
    scroll-margin-top:105px;

    display:grid;

    grid-template-columns:
        42px
        minmax(0,1fr);

    gap:22px;

    padding:32px;

    margin-bottom:14px;

    border:
        1px solid
        var(--pp-border);

    border-radius:20px;

    background:#FFFFFF;
}

.pp-section__number{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border-radius:12px;

    background:#EDF7F8;

    color:var(--pp-teal);

    font-size:10px;
    font-weight:900;
}

.pp-label{
    color:var(--pp-teal);

    font-size:10px;
    font-weight:850;

    letter-spacing:.08em;
    text-transform:uppercase;
}

.pp-section h2{
    margin:5px 0 14px;

    color:var(--pp-navy);

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            30px,
            3vw,
            41px
        );

    font-weight:600;

    line-height:1.09;
}

.pp-section p{
    color:#5E7786;

    font-size:14px;
    line-height:1.85;
}

.pp-section a{
    color:var(--pp-teal);
}


/* =========================================================
   DATA CARDS
   ========================================================= */

.pp-data-grid{
    display:grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:9px;

    margin:22px 0;
}

.pp-data-grid article{
    padding:17px;

    border:
        1px solid
        #E2EAEE;

    border-radius:12px;

    background:#FBFCFD;
}

.pp-data-grid strong{
    color:var(--pp-navy);

    font-size:13px;
}

.pp-data-grid p{
    margin:5px 0 0;

    color:#718491;

    font-size:11px;
    line-height:1.7;
}


/* =========================================================
   NOTES / WARNINGS
   ========================================================= */

.pp-note,
.pp-warning{
    margin:20px 0;

    padding:18px;

    border-radius:13px;
}

.pp-note{
    border:
        1px solid
        #CFE5E8;

    background:#F1F9FA;
}

.pp-note strong{
    color:#276A75;

    font-size:13px;
}

.pp-note p{
    margin:5px 0 0;

    color:#607E88;

    font-size:12px;
}

.pp-warning{
    border:
        1px solid
        #EAD7B6;

    background:#FFF9EF;
}

.pp-warning strong{
    color:#805621;

    font-size:13px;
}

.pp-warning p{
    margin:5px 0 0;

    color:#816B4B;

    font-size:12px;
}


/* =========================================================
   LIST
   ========================================================= */

.pp-list{
    display:grid;

    gap:8px;

    padding:0;

    margin:20px 0;

    list-style:none;
}

.pp-list li{
    position:relative;

    padding:
        11px 12px 11px 38px;

    border:
        1px solid
        #E5ECEF;

    border-radius:10px;

    background:#FCFDFD;

    color:#617A88;

    font-size:12px;
}

.pp-list li::before{
    content:"✓";

    position:absolute;

    left:13px;
    top:10px;

    color:var(--pp-teal);

    font-weight:900;
}


/* =========================================================
   CHIPS
   ========================================================= */

.pp-chip-grid{
    display:flex;
    flex-wrap:wrap;

    gap:7px;

    margin:18px 0;
}

.pp-chip-grid span{
    padding:7px 10px;

    border:
        1px solid
        #DFE8EC;

    border-radius:999px;

    background:#F8FBFC;

    color:#5E7887;

    font-size:10px;
    font-weight:760;
}


/* =========================================================
   RETENTION TABLE
   ========================================================= */

.pp-table-wrap{
    overflow:auto;

    margin:20px 0;

    border:
        1px solid
        var(--pp-border);

    border-radius:13px;
}

.pp-retention-table{
    width:100%;

    min-width:650px;

    border-collapse:collapse;

    background:#FFFFFF;
}

.pp-retention-table th,
.pp-retention-table td{
    padding:13px 15px;

    border-bottom:
        1px solid
        #E8EEF1;

    text-align:left;

    vertical-align:top;
}

.pp-retention-table th{
    background:#F7FAFB;

    color:#607987;

    font-size:10px;
    font-weight:850;

    text-transform:uppercase;
}

.pp-retention-table td{
    color:#637A88;

    font-size:11px;
    line-height:1.7;
}

.pp-retention-table td:first-child{
    width:31%;

    color:var(--pp-navy);

    font-weight:800;
}

.pp-retention-table tr:last-child td{
    border-bottom:0;
}


/* =========================================================
   SECURITY
   ========================================================= */

.pp-security-grid{
    display:grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:9px;

    margin:20px 0;
}

.pp-security-grid article{
    min-height:145px;

    padding:16px;

    border:
        1px solid
        #E1EAED;

    border-radius:11px;

    background:#FBFCFD;
}

.pp-security-grid strong{
    color:var(--pp-navy);

    font-size:12px;
}

.pp-security-grid p{
    margin:5px 0 0;

    color:#718591;

    font-size:10px;
    line-height:1.65;
}


/* =========================================================
   BUTTON
   ========================================================= */

.pp-inline-button{
    min-height:42px;

    display:inline-flex;
    align-items:center;

    margin-top:5px;

    padding:0 14px;

    border-radius:9px;

    background:var(--pp-navy);

    color:#FFFFFF !important;

    text-decoration:none;

    font-size:11px;
    font-weight:800;
}


/* =========================================================
   CONTACT
   ========================================================= */

.pp-contact-card{
    display:flex;

    justify-content:space-between;
    align-items:center;

    gap:25px;

    margin-top:20px;

    padding:20px;

    border:
        1px solid
        #D5E5E9;

    border-radius:14px;

    background:#F8FBFC;
}

.pp-contact-card > div > span{
    color:var(--pp-teal);

    font-size:9px;
    font-weight:850;

    text-transform:uppercase;
}

.pp-contact-card strong{
    display:block;

    margin-top:4px;

    color:var(--pp-navy);

    font-size:16px;
}

.pp-contact-card p{
    max-width:680px;

    margin:5px 0 0;

    font-size:11px;
}

.pp-contact-card > a{
    flex:none;

    min-height:42px;

    display:inline-flex;
    align-items:center;

    padding:0 14px;

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            var(--pp-teal),
            var(--pp-aqua)
        );

    color:#FFFFFF;

    text-decoration:none;

    font-size:11px;
    font-weight:850;
}


/* =========================================================
   TRAVEL SUMMARY
   ========================================================= */

.pp-travel{
    padding:80px 0;
}

.pp-travel__grid{
    display:grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:12px;

    margin-top:30px;
}

.pp-travel article{
    min-height:210px;

    padding:22px;

    border:
        1px solid
        var(--pp-border);

    border-radius:16px;

    background:
        linear-gradient(
            180deg,
            #FFFFFF,
            #FAFCFD
        );
}

.pp-travel article > span{
    color:var(--pp-teal);

    font-size:10px;
    font-weight:850;

    text-transform:uppercase;
}

.pp-travel strong{
    display:block;

    margin-top:24px;

    color:var(--pp-navy);

    font-size:16px;
}

.pp-travel p{
    color:var(--pp-muted);

    font-size:12px;
}


/* =========================================================
   RELATED
   ========================================================= */

.pp-related{
    padding:80px 0;

    background:var(--pp-bg);
}

.pp-related__grid{
    display:grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap:12px;

    margin-top:30px;
}

.pp-related__grid a{
    min-height:160px;

    display:grid;

    grid-template-columns:
        auto
        minmax(0,1fr)
        auto;

    gap:14px;

    padding:21px;

    border:
        1px solid
        var(--pp-border);

    border-radius:15px;

    background:#FFFFFF;

    color:var(--pp-text);

    text-decoration:none;
}

.pp-related__grid a > span{
    color:#93A5AF;

    font-size:10px;
}

.pp-related__grid strong{
    color:var(--pp-navy);

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:21px;
    font-weight:600;
}

.pp-related__grid p{
    color:var(--pp-muted);

    font-size:11px;
}

.pp-related__grid b{
    color:var(--pp-teal);
}


/* =========================================================
   FINAL
   ========================================================= */

.pp-final{
    padding:80px 0;
}

.pp-final > .pp-shell > div{
    padding:42px;

    border-radius:24px;

    color:#FFFFFF;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(22,184,196,.18),
            transparent 28%
        ),
        linear-gradient(
            145deg,
            var(--pp-deep),
            var(--pp-navy)
        );
}

.pp-final span{
    color:#86E0E6;
}

.pp-final h2{
    max-width:800px;

    color:#FFFFFF;
}

.pp-final p{
    max-width:760px;

    color:#A8BDC9;
}

.pp-final a{
    min-height:44px;

    display:inline-flex;
    align-items:center;

    margin-top:10px;

    padding:0 16px;

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            var(--pp-teal),
            var(--pp-aqua)
        );

    color:#FFFFFF;

    text-decoration:none;

    font-size:12px;
    font-weight:850;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1180px){

    .pp-shell{
        width:
            calc(100% - 40px);
    }

    .pp-hero__grid{
        grid-template-columns:1fr;

        gap:30px;
    }

    .pp-hero aside{
        max-width:700px;
    }

    .pp-principles__grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }

    .pp-policy__layout{
        grid-template-columns:
            220px
            minmax(0,1fr);

        gap:25px;
    }

    .pp-security-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }
}


@media(max-width:900px){

    .pp-section-head{
        grid-template-columns:1fr;

        gap:14px;
    }

    .pp-policy__layout{
        grid-template-columns:1fr;
    }

    .pp-sidebar{
        position:static;
    }

    .pp-sidebar > span,
    .pp-sidebar__contact{
        display:none;
    }

    .pp-sidebar nav{
        max-height:none;

        display:flex;

        overflow-x:auto;

        gap:6px;

        margin-top:0;

        padding-bottom:8px;
    }

    .pp-sidebar nav a{
        flex:none;

        border:
            1px solid
            #DDE7EB;

        background:#FFFFFF;
    }

    .pp-data-grid{
        grid-template-columns:1fr;
    }

    .pp-travel__grid,
    .pp-related__grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }
}


@media(max-width:720px){

    .pp-shell{
        width:
            calc(100% - 24px);
    }

    .pp-hero{
        padding:
            52px 0;
    }

    .pp-hero h1{
        font-size:
            clamp(
                43px,
                12vw,
                58px
            );
    }

    .pp-hero__actions{
        flex-direction:column;
    }

    .pp-hero__actions a{
        width:100%;
    }

    .pp-principles,
    .pp-policy,
    .pp-travel,
    .pp-related,
    .pp-final{
        padding:
            56px 0;
    }

    .pp-principles__grid,
    .pp-security-grid,
    .pp-travel__grid,
    .pp-related__grid{
        grid-template-columns:1fr;
    }

    .pp-section{
        grid-template-columns:1fr;

        gap:12px;

        padding:22px 16px;

        border-radius:16px;
    }

    .pp-section__number{
        width:36px;
        height:36px;
    }

    .pp-section h2{
        font-size:
            clamp(
                28px,
                8vw,
                36px
            );
    }

    .pp-section p{
        font-size:13px;
    }

    .pp-contact-card{
        align-items:flex-start;

        flex-direction:column;
    }

    .pp-contact-card > a{
        width:100%;

        justify-content:center;
    }

    .pp-final > .pp-shell > div{
        padding:30px 22px;
    }
}


@media(max-width:460px){

    .pp-shell{
        width:
            calc(100% - 18px);
    }

    .pp-hero__meta{
        flex-direction:column;
    }

    .pp-hero__meta > div{
        width:100%;
    }
}


/* =========================================================
   PRINT
   ========================================================= */

@media print{

    .pp-hero,
    .pp-principles,
    .pp-sidebar,
    .pp-travel,
    .pp-related,
    .pp-final,
    .t09-header,
    .t09-topbar,
    footer{
        display:none !important;
    }

    .pp-policy{
        padding:0;

        background:#FFFFFF;
    }

    .pp-shell{
        width:100%;
    }

    .pp-policy__layout{
        display:block;
    }

    .pp-section{
        break-inside:avoid;

        border:0;

        padding:12px 0;

        margin:0;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    .pp-page *,
    .pp-page *::before,
    .pp-page *::after{
        scroll-behavior:auto !important;
        transition:none !important;
        animation:none !important;
    }
}
