/* =====================================================
   AKEELA DENTAL CARE
   FULL MOUTH REHABILITATION
===================================================== */

:root {

    --full-teal: #009DA5;
    --full-teal-dark: #007F86;
    --full-orange: #F3754B;

    --full-ink: #173B3D;
    --full-text: #627778;
    --full-muted: #7B9091;

    --full-soft: #EAF8F8;
    --full-offwhite: #F7FAFA;

    --full-line: #DCEBEC;
    --full-white: #FFFFFF;

    --full-ease: cubic-bezier(.16,1,.3,1);
}


.full-container {

    width:
        min(1180px, calc(100% - 80px));

    margin:
        0 auto;
}


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

.full-hero {

    position:
        relative;

    min-height:
        690px;

    overflow:
        hidden;

    background:
        #10383A;

    color:
        #fff;
}


.full-hero-bg,
.full-hero-overlay {

    position:
        absolute;

    inset:
        0;
}


.full-hero-bg img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    transform:
        scale(1.03);

    transition:
        transform 1.3s var(--full-ease);
}


.full-hero:hover
.full-hero-bg img {

    transform:
        scale(1.055);
}


.full-hero-overlay {

    background:
        linear-gradient(
            90deg,
            rgba(7,39,41,.94) 0%,
            rgba(7,39,41,.76) 38%,
            rgba(7,39,41,.38) 72%,
            rgba(7,39,41,.10) 100%
        );
}


.full-hero-inner {

    position:
        relative;

    z-index:
        2;

    min-height:
        690px;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;
}


.full-hero-kicker {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    margin-bottom:
        28px;

    color:
        var(--full-orange);

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        3px;
}


.full-hero-kicker span {

    width:
        38px;

    height:
        1px;

    background:
        var(--full-orange);
}


.full-hero h1 {

    max-width:
        900px;

    margin:
        0;

    font-family:
        Georgia, serif;

    font-size:
        clamp(55px, 7vw, 94px);

    font-weight:
        400;

    line-height:
        .93;

    letter-spacing:
        -2.5px;
}


.full-hero h1 em {

    display:
        block;

    color:
        var(--full-orange);

    font-style:
        italic;
}


.full-hero-inner > p {

    max-width:
        580px;

    margin:
        31px 0 0;

    color:
        rgba(255,255,255,.77);

    font-size:
        15px;

    line-height:
        1.85;
}


.full-hero-actions {

    display:
        flex;

    gap:
        11px;

    margin-top:
        32px;
}


.full-btn-primary,
.full-btn-secondary {

    min-height:
        49px;

    padding:
        0 23px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    font-size:
        10px;

    font-weight:
        800;

    transition:
        transform .3s ease;
}


.full-btn-primary {

    color:
        #fff;

    background:
        var(--full-orange);
}


.full-btn-secondary {

    color:
        #fff;

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


.full-btn-primary:hover,
.full-btn-secondary:hover {

    transform:
        translateY(-3px);
}


.full-btn-secondary span {

    color:
        var(--full-orange);

    font-size:
        15px;
}


.full-hero-meta {

    position:
        absolute;

    left:
        0;

    right:
        0;

    bottom:
        28px;

    padding-top:
        18px;

    border-top:
        1px solid
        rgba(255,255,255,.22);

    display:
        flex;

    align-items:
        center;

    gap:
        15px;

    color:
        rgba(255,255,255,.54);

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        2px;
}


.full-hero-meta i {

    width:
        4px;

    height:
        4px;

    border-radius:
        50%;

    background:
        var(--full-orange);
}


/* =====================================================
   LABEL
===================================================== */

.full-label {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    color:
        var(--full-teal);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        2.4px;
}


.full-label span {

    width:
        34px;

    height:
        1px;

    background:
        var(--full-orange);

    flex-shrink:
        0;
}


/* =====================================================
   INTRO
===================================================== */

.full-intro {

    padding:
        140px 0;

    background:
        #fff;
}


.full-intro-grid {

    display:
        grid;

    grid-template-columns:
        .88fr 1.12fr;

    gap:
        95px;

    align-items:
        center;
}


.full-intro-visual {

    position:
        relative;
}


.full-intro-image {

    position:
        relative;

    width:
        100%;

    aspect-ratio:
        4 / 4.9;

    overflow:
        hidden;

    background:
        var(--full-soft);

    border-radius:
        8px;

    box-shadow:
        0 30px 75px
        rgba(16,45,47,.13);
}


.full-intro-image img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    transition:
        transform .8s var(--full-ease);
}


.full-intro-image:hover img {

    transform:
        scale(1.045);
}


.full-image-caption {

    position:
        absolute;

    left:
        20px;

    right:
        20px;

    bottom:
        20px;

    padding-top:
        17px;

    border-top:
        1px solid
        rgba(255,255,255,.4);

    display:
        flex;

    justify-content:
        space-between;

    gap:
        15px;

    color:
        #fff;

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        1.5px;
}


.full-intro-content h2 {

    margin:
        28px 0 25px;

    font-family:
        Georgia, serif;

    font-size:
        clamp(38px, 4.6vw, 57px);

    font-weight:
        400;

    line-height:
        .99;

    letter-spacing:
        -1.5px;
}


.full-intro-content h2 em {

    display:
        block;

    color:
        var(--full-orange);

    font-style:
        italic;
}


.full-intro-content p {

    max-width:
        630px;

    margin:
        0 0 18px;

    color:
        var(--full-text);

    font-size:
        14px;

    line-height:
        1.9;
}


.full-intro-content .full-lead {

    color:
        #364D4E;

    font-size:
        18px;

    line-height:
        1.7;
}


.full-divider {

    width:
        100%;

    height:
        1px;

    margin:
        35px 0 22px;

    background:
        var(--full-line);
}


.full-focus-list {

    display:
        flex;

    flex-direction:
        column;
}


.full-focus-row {

    display:
        grid;

    grid-template-columns:
        42px 1fr;

    gap:
        16px;

    padding:
        18px 0;

    border-bottom:
        1px solid
        var(--full-line);
}


.full-focus-row > span {

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-size:
        19px;
}


.full-focus-row strong {

    display:
        block;

    margin-bottom:
        5px;

    color:
        var(--full-ink);

    font-size:
        13px;
}


.full-focus-row p {

    margin:
        0;

    font-size:
        12px;
}


/* =====================================================
   PLAN
===================================================== */

.full-plan {

    padding:
        125px 0;

    background:
        var(--full-soft);
}


.full-plan-header {

    display:
        grid;

    grid-template-columns:
        1fr .72fr;

    gap:
        100px;

    align-items:
        end;

    margin-bottom:
        58px;
}


.full-plan-header h2 {

    margin:
        27px 0 0;

    font-size:
        clamp(38px, 4.8vw, 58px);

    line-height:
        .97;

    font-weight:
        500;

    letter-spacing:
        -1.5px;
}


.full-plan-header h2 em {

    display:
        block;

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-weight:
        400;
}


.full-plan-header > p {

    margin:
        0;

    color:
        var(--full-text);

    font-size:
        13px;

    line-height:
        1.85;
}


.full-plan-grid {

    display:
        grid;

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


.full-plan-grid article {

    min-height:
        315px;

    padding:
        32px 28px;

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

    border-top:
        1px solid
        rgba(0,157,165,.18);

    border-right:
        1px solid
        rgba(0,157,165,.18);

    transition:
        transform .4s var(--full-ease),
        background-color .3s ease,
        box-shadow .3s ease;
}


.full-plan-grid article:first-child {

    border-left:
        1px solid
        rgba(0,157,165,.18);
}


.full-plan-grid article:hover {

    transform:
        translateY(-8px);

    background:
        #fff;

    box-shadow:
        0 25px 55px
        rgba(18,56,56,.11);
}


.full-plan-number {

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-size:
        21px;
}


.full-plan-symbol {

    margin-top:
        36px;

    color:
        var(--full-teal);

    font-family:
        Georgia, serif;

    font-size:
        33px;
}


.full-plan-grid h3 {

    margin:
        24px 0 12px;

    color:
        var(--full-ink);

    font-size:
        19px;
}


.full-plan-grid p {

    margin:
        0;

    color:
        var(--full-text);

    font-size:
        12px;

    line-height:
        1.8;
}


/* =====================================================
   MATERIALS
===================================================== */

.full-materials {

    padding:
        135px 0;

    background:
        #fff;
}


.full-materials-grid {

    display:
        grid;

    grid-template-columns:
        1fr .9fr;

    gap:
        100px;

    align-items:
        center;
}


.full-materials-content h2 {

    margin:
        26px 0 23px;

    font-size:
        clamp(38px, 4.5vw, 54px);

    font-weight:
        500;

    line-height:
        .98;

    letter-spacing:
        -1.5px;
}


.full-materials-content h2 em {

    display:
        block;

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-weight:
        400;
}


.full-materials-content > p {

    max-width:
        620px;

    margin:
        0 0 17px;

    color:
        var(--full-text);

    font-size:
        14px;

    line-height:
        1.9;
}


.full-materials-content .full-large {

    color:
        #364D4E;

    font-size:
        18px;

    line-height:
        1.7;
}


.full-material-options {

    margin-top:
        36px;

    border-top:
        1px solid
        var(--full-line);
}


.full-material-row {

    display:
        grid;

    grid-template-columns:
        53px 1fr;

    gap:
        20px;

    padding:
        24px 0;

    border-bottom:
        1px solid
        var(--full-line);
}


.full-material-number {

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-size:
        22px;
}


.full-material-row strong {

    display:
        block;

    color:
        var(--full-ink);

    font-size:
        14px;
}


.full-material-row span {

    display:
        block;

    margin-top:
        7px;

    color:
        var(--full-text);

    font-size:
        11px;

    line-height:
        1.7;
}


.full-materials-visual {

    position:
        relative;
}


.full-material-main {

    width:
        100%;

    aspect-ratio:
        4 / 4.35;

    overflow:
        hidden;

    border-radius:
        8px;

    background:
        var(--full-soft);
}


.full-material-main img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    transition:
        transform .8s var(--full-ease);
}


.full-materials-visual:hover
.full-material-main img {

    transform:
        scale(1.045);
}


.full-material-float {

    position:
        absolute;

    right:
        -24px;

    bottom:
        30px;

    width:
        190px;

    padding:
        22px;

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

    border-left:
        3px solid
        var(--full-orange);

    box-shadow:
        0 24px 60px
        rgba(16,43,45,.17);
}


.full-material-float span {

    display:
        block;

    color:
        var(--full-teal);

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        2px;
}


.full-material-float strong {

    display:
        block;

    margin-top:
        5px;

    color:
        var(--full-ink);

    font-family:
        Georgia, serif;

    font-size:
        25px;

    font-weight:
        400;
}


.full-material-float small {

    display:
        block;

    margin-top:
        8px;

    color:
        var(--full-muted);

    font-size:
        9px;

    line-height:
        1.5;
}


/* =====================================================
   LAB
===================================================== */

.full-lab {

    padding:
        135px 0;

    background:
        var(--full-offwhite);
}


.full-lab-grid {

    display:
        grid;

    grid-template-columns:
        .95fr 1.05fr;

    gap:
        100px;

    align-items:
        center;
}


.full-lab-image {

    position:
        relative;

    height:
        560px;

    overflow:
        hidden;

    border-radius:
        8px;

    background:
        var(--full-soft);
}


.full-lab-image img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;
}


.full-lab-badge {

    position:
        absolute;

    left:
        24px;

    bottom:
        24px;

    padding:
        16px 19px;

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

    border-left:
        3px solid
        var(--full-orange);

    box-shadow:
        0 18px 45px
        rgba(18,56,56,.15);
}


.full-lab-badge strong {

    display:
        block;

    color:
        var(--full-ink);

    font-size:
        11px;
}


.full-lab-badge span {

    display:
        block;

    margin-top:
        5px;

    color:
        var(--full-muted);

    font-size:
        8px;

    letter-spacing:
        1.5px;
}


.full-lab-content h2 {

    margin:
        26px 0 23px;

    font-size:
        clamp(39px, 4.6vw, 56px);

    font-weight:
        500;

    line-height:
        .98;

    letter-spacing:
        -1.5px;
}


.full-lab-content h2 em {

    display:
        block;

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-weight:
        400;
}


.full-lab-content > p {

    max-width:
        620px;

    margin:
        0 0 17px;

    color:
        var(--full-text);

    font-size:
        14px;

    line-height:
        1.9;
}


.full-lab-content .full-large {

    color:
        #364D4E;

    font-size:
        18px;

    line-height:
        1.7;
}


.full-lab-list {

    margin-top:
        38px;

    border-top:
        1px solid
        var(--full-line);
}


.full-lab-list > div {

    display:
        grid;

    grid-template-columns:
        45px 1fr;

    gap:
        18px;

    padding:
        20px 0;

    border-bottom:
        1px solid
        var(--full-line);
}


.full-lab-list span {

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-size:
        19px;
}


.full-lab-list strong {

    color:
        var(--full-ink);

    font-size:
        13px;
}


/* =====================================================
   PROCESS
===================================================== */

.full-process {

    padding:
        130px 0;

    background:
        #fff;
}


.full-process-heading {

    max-width:
        860px;
}


.full-process-heading h2 {

    margin:
        27px 0 60px;

    font-size:
        clamp(39px, 5vw, 58px);

    font-weight:
        500;

    line-height:
        .98;

    letter-spacing:
        -1.5px;
}


.full-process-heading h2 em {

    display:
        block;

    color:
        var(--full-teal);

    font-family:
        Georgia, serif;

    font-weight:
        400;
}


.full-process-track {

    display:
        grid;

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

    gap:
        0;
}


.full-process-track article {

    padding-right:
        28px;
}


.full-process-track article:not(:last-child) {

    margin-right:
        28px;
}


.full-process-number {

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-size:
        27px;
}


.full-process-rule {

    width:
        100%;

    height:
        1px;

    margin:
        23px 0 28px;

    background:
        var(--full-line);
}


.full-process-track h3 {

    margin:
        0 0 12px;

    color:
        var(--full-ink);

    font-size:
        19px;
}


.full-process-track p {

    max-width:
        240px;

    margin:
        0;

    color:
        var(--full-text);

    font-size:
        12px;

    line-height:
        1.8;
}


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

.full-contact {

    padding:
        120px 0;

    background:
        var(--full-soft);
}


.full-contact-heading h2 {

    margin:
        26px 0 52px;

    font-size:
        clamp(39px, 4.7vw, 57px);

    font-weight:
        500;

    line-height:
        .98;

    letter-spacing:
        -1.5px;
}


.full-contact-heading h2 em {

    color:
        var(--full-orange);

    font-family:
        Georgia, serif;

    font-weight:
        400;
}


.full-contact-grid {

    display:
        grid;

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


.full-contact-card {

    min-height:
        245px;

    padding:
        31px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    background:
        #fff;

    border:
        1px solid
        var(--full-line);

    transition:
        transform .4s var(--full-ease),
        box-shadow .4s ease;
}


.full-contact-card:hover {

    transform:
        translateY(-7px);

    box-shadow:
        0 25px 55px
        rgba(18,56,56,.1);
}


.full-contact-icon {

    width:
        43px;

    height:
        43px;

    display:
        grid;

    place-items:
        center;

    margin-bottom:
        28px;

    border-radius:
        50%;

    background:
        var(--full-soft);

    color:
        var(--full-orange);

    font-size:
        15px;
}


.full-contact-card small {

    color:
        var(--full-orange);

    font-size:
        8px;

    font-weight:
        800;

    letter-spacing:
        2px;
}


.full-contact-card strong {

    margin-top:
        11px;

    color:
        var(--full-ink);

    font-size:
        15px;

    line-height:
        1.5;
}


.full-contact-card > span:last-child {

    margin-top:
        7px;

    color:
        var(--full-text);

    font-size:
        11px;

    line-height:
        1.65;
}


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

.full-final {

    position:
        relative;

    min-height:
        510px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    overflow:
        hidden;

    color:
        #fff;
}


.full-final-bg,
.full-final-overlay {

    position:
        absolute;

    inset:
        0;
}


.full-final-bg img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;
}


.full-final-overlay {

    background:
        linear-gradient(
            90deg,
            rgba(4,44,47,.96),
            rgba(4,44,47,.76)
        );
}


.full-final-content {

    position:
        relative;

    z-index:
        2;

    width:
        min(820px, calc(100% - 40px));

    text-align:
        center;
}


.full-final-content > span {

    color:
        var(--full-orange);

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        3px;
}


.full-final-content h2 {

    margin:
        23px 0 20px;

    font-family:
        Georgia, serif;

    font-size:
        clamp(41px, 5.8vw, 62px);

    font-weight:
        400;

    line-height:
        .95;

    letter-spacing:
        -2px;
}


.full-final-content h2 em {

    display:
        block;

    color:
        var(--full-orange);

    font-style:
        italic;
}


.full-final-content p {

    max-width:
        570px;

    margin:
        0 auto;

    color:
        rgba(255,255,255,.7);

    font-size:
        13px;

    line-height:
        1.8;
}


.full-final-actions {

    display:
        flex;

    justify-content:
        center;

    gap:
        11px;

    margin-top:
        31px;
}


.full-final-primary,
.full-final-secondary {

    min-height:
        49px;

    padding:
        0 25px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        11px;

    font-size:
        10px;

    font-weight:
        800;
}


.full-final-primary {

    color:
        #fff;

    background:
        var(--full-orange);
}


.full-final-secondary {

    color:
        #fff;

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


/* =====================================================
   APPOINTMENT POPUP
===================================================== */

.ak-appt-popup {

    position:
        fixed;

    right:
        24px;

    bottom:
        24px;

    z-index:
        9999;

    width:
        350px;

    max-width:
        calc(100vw - 32px);

    padding:
        25px 25px 23px;

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

    border:
        1px solid
        var(--full-line);

    border-radius:
        22px;

    box-shadow:
        0 25px 70px rgba(16,43,45,.2),
        0 5px 20px rgba(16,43,45,.08);

    backdrop-filter:
        blur(18px);

    opacity:
        0;

    visibility:
        hidden;

    transform:
        translateY(30px) scale(.96);

    transition:
        opacity .45s ease,
        visibility .45s ease,
        transform .45s var(--full-ease);
}


.ak-appt-popup.ak-appt-visible {

    opacity:
        1;

    visibility:
        visible;

    transform:
        translateY(0) scale(1);
}


.ak-appt-accent {

    position:
        absolute;

    top:
        0;

    left:
        24px;

    width:
        42px;

    height:
        3px;

    background:
        var(--full-orange);

    border-radius:
        0 0 5px 5px;
}


.ak-appt-close {

    position:
        absolute;

    top:
        13px;

    right:
        14px;

    width:
        28px;

    height:
        28px;

    border:
        0;

    border-radius:
        50%;

    background:
        var(--full-offwhite);

    color:
        var(--full-ink);

    font-size:
        18px;

    cursor:
        pointer;

    transition:
        transform .25s ease,
        background-color .25s ease,
        color .25s ease;
}


.ak-appt-close:hover {

    transform:
        rotate(90deg);

    background:
        var(--full-teal);

    color:
        #fff;
}


.ak-appt-kicker {

    display:
        block;

    margin-bottom:
        10px;

    font-size:
        9px;

    font-weight:
        800;

    letter-spacing:
        .17em;

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


.ak-appt-content h3 {

    margin:
        0;

    font-family:
        Georgia, serif;

    font-size:
        27px;

    font-weight:
        400;

    line-height:
        1.05;

    color:
        var(--full-ink);
}


.ak-appt-content h3 em {

    color:
        var(--full-orange);

    font-style:
        italic;
}


.ak-appt-content > p {

    margin:
        11px 0 17px;

    font-size:
        12px;

    line-height:
        1.5;

    color:
        var(--full-muted);
}


.ak-appt-special {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    padding:
        12px;

    border-radius:
        13px;

    background:
        var(--full-offwhite);
}


.ak-appt-special > span {

    width:
        30px;

    height:
        30px;

    flex-shrink:
        0;

    display:
        grid;

    place-items:
        center;

    border-radius:
        50%;

    background:
        var(--full-orange);

    color:
        #fff;

    font-size:
        12px;
}


.ak-appt-special strong {

    display:
        block;

    font-size:
        11px;

    color:
        var(--full-ink);
}


.ak-appt-special small {

    display:
        block;

    margin-top:
        3px;

    font-size:
        9px;

    line-height:
        1.4;

    color:
        var(--full-muted);
}


.ak-appt-actions {

    display:
        flex;

    gap:
        8px;

    margin-top:
        15px;
}


.ak-appt-call,
.ak-appt-wa {

    min-height:
        40px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        9px;

    font-size:
        10px;

    font-weight:
        800;

    transition:
        transform .25s ease,
        background-color .25s ease;
}


.ak-appt-call {

    flex:
        1;

    gap:
        8px;

    background:
        var(--full-teal-dark);

    color:
        #fff;
}


.ak-appt-wa {

    padding:
        0 15px;

    border:
        1px solid
        var(--full-line);

    color:
        var(--full-ink);
}


.ak-appt-call:hover,
.ak-appt-wa:hover {

    transform:
        translateY(-2px);
}


/* =====================================================
   REVEAL
===================================================== */

.full-reveal {

    opacity:
        0;

    transform:
        translateY(30px);

    transition:
        opacity .85s ease,
        transform 1s var(--full-ease);
}


.full-reveal.full-visible {

    opacity:
        1;

    transform:
        translateY(0);
}


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

@media (max-width: 1000px) {

    .full-container {
        width:
            calc(100% - 50px);
    }

    .full-intro-grid,
    .full-materials-grid,
    .full-lab-grid {
        gap:
            60px;
    }

    .full-plan-header {
        gap:
            55px;
    }

    .full-plan-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .full-process-track {
        grid-template-columns:
            1fr 1fr;

        gap:
            55px 30px;
    }

    .full-process-track article:not(:last-child) {
        margin-right:
            0;
    }

    .full-contact-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .full-contact-card:last-child {
        grid-column:
            1 / -1;
    }

}


@media (max-width: 700px) {

    .full-container {
        width:
            calc(100% - 36px);
    }


    .full-hero,
    .full-hero-inner {
        min-height:
            600px;
    }


    .full-hero h1 {
        font-size:
            48px;
    }


    .full-hero-actions {
        flex-direction:
            column;

        align-items:
            flex-start;
    }


    .full-intro,
    .full-plan,
    .full-materials,
    .full-lab,
    .full-process,
    .full-contact {
        padding:
            85px 0;
    }


    .full-intro-grid,
    .full-materials-grid,
    .full-lab-grid,
    .full-plan-header {
        display:
            block;
    }


    .full-intro-visual,
    .full-materials-visual,
    .full-lab-image {
        margin-bottom:
            60px;
    }


    .full-intro-content h2,
    .full-plan-header h2,
    .full-materials-content h2,
    .full-lab-content h2,
    .full-process-heading h2,
    .full-contact-heading h2 {
        font-size:
            40px;
    }


    .full-plan-header > p {
        margin-top:
            28px;
    }


    .full-plan-grid {
        grid-template-columns:
            1fr;
    }


    .full-plan-grid article {
        min-height:
            280px;
    }


    .full-material-float {
        right:
            12px;
    }


    .full-lab-image {
        height:
            400px;
    }


    .full-process-track {
        grid-template-columns:
            1fr;

        gap:
            40px;
    }


    .full-process-track p {
        max-width:
            none;
    }


    .full-contact-grid {
        grid-template-columns:
            1fr;
    }


    .full-contact-card:last-child {
        grid-column:
            auto;
    }


    .full-final {
        min-height:
            470px;
    }


    .full-final-content h2 {
        font-size:
            42px;
    }


    .full-final-actions {
        flex-direction:
            column;

        align-items:
            center;
    }


    .ak-appt-popup {

        right:
            12px;

        bottom:
            12px;

        width:
            calc(100vw - 24px);

        padding:
            21px;

        border-radius:
            18px;
    }


    .ak-appt-content h3 {
        font-size:
            24px;
    }

}