/* ==========================================================
   BELAJAREDUTECH
   KELILING DAN LUAS - MATEMATIKA KELAS 4
========================================================== */

.perimeter-area-grade-four-page {
    --pa4-accent: #7c3aed;
    --pa4-accent-dark: #6d28d9;
    --pa4-accent-soft: #f5f3ff;
    --pa4-secondary: #2563eb;
    --pa4-green: #0f766e;
    --pa4-orange: #ea580c;
}



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

.perimeter-area-four-hero {
    background:
        radial-gradient(
            circle at 85% 18%,
            rgba(124, 58, 237, 0.13),
            transparent 31%
        ),
        radial-gradient(
            circle at 12% 88%,
            rgba(37, 99, 235, 0.08),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #fbf9ff,
            #ffffff
        );
}


.perimeter-area-four-hero-card {
    min-height: 440px;

    display: flex;
    flex-direction: column;

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

    padding: 38px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--pa4-accent),
            var(--pa4-secondary)
        );

    border-radius:
        var(--radius-extra-large, 28px);

    box-shadow:
        var(
            --shadow-large,
            0 30px 80px rgba(15, 23, 42, 0.18)
        );

    text-align: center;
}


.perimeter-area-hero-label {
    margin-bottom: 20px;

    color:
        rgba(255, 255, 255, 0.7);

    font-size: 0.68rem;

    font-weight: 850;

    text-transform: uppercase;

    letter-spacing: 0.08em;
}


.hero-rectangle-wrapper {
    position: relative;

    width: min(100%, 330px);

    margin-bottom: 26px;

    padding:
        28px 42px;
}


.hero-rectangle-grid {
    display: grid;

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

    gap: 3px;

    min-height: 120px;

    padding: 5px;

    border:
        4px solid #ffffff;

    border-radius: 8px;
}


.hero-rectangle-grid i {
    display: block;

    background:
        rgba(255, 255, 255, 0.18);

    border-radius: 3px;
}


.hero-length-label,
.hero-width-label {
    position: absolute;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 0.57rem;

    font-weight: 750;
}


.hero-length-label {
    top: 0;
    left: 50%;

    transform:
        translateX(-50%);
}


.hero-width-label {
    right: -5px;
    top: 50%;

    transform:
        rotate(90deg)
        translateY(-50%);

    transform-origin:
        center;
}


.hero-measure-results {
    width: 100%;

    display: grid;

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

    gap: 8px;
}


.hero-measure-results > div {
    padding: 14px;

    background:
        rgba(255, 255, 255, 0.1);

    border:
        1px solid
        rgba(255, 255, 255, 0.14);

    border-radius:
        var(--radius-medium, 14px);
}


.hero-measure-results span,
.hero-measure-results strong {
    display: block;
}


.hero-measure-results span {
    margin-bottom: 4px;

    color:
        rgba(255, 255, 255, 0.65);

    font-size: 0.57rem;
}



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

.perimeter-area-intro-visual {
    min-height: 350px;

    display: grid;

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

    align-items: center;

    gap: 12px;

    padding: 32px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--pa4-green),
            #0891b2
        );
}


.intro-perimeter-card,
.intro-area-card {
    min-height: 230px;

    display: flex;
    flex-direction: column;

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

    padding: 18px;

    background:
        rgba(255, 255, 255, 0.08);

    border:
        1px solid
        rgba(255, 255, 255, 0.12);

    border-radius:
        var(--radius-medium, 14px);
}


.intro-perimeter-card > span,
.intro-area-card > span {
    margin-bottom: 14px;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 0.61rem;

    text-transform: uppercase;
}


.intro-perimeter-card > strong,
.intro-area-card > strong {
    margin-top: 13px;

    font-size: 0.68rem;
}


.intro-border-shape {
    width: 130px;
    height: 95px;

    border:
        7px solid #ffffff;

    border-radius: 8px;
}


.intro-area-grid {
    width: 130px;
    height: 95px;

    display: grid;

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

    gap: 3px;
}


.intro-area-grid i {
    display: block;

    background: #ffffff;

    border-radius: 3px;
}



/* ==========================================================
   PERIMETER
========================================================== */

.perimeter-section {
    background:
        var(--color-background, #ffffff);
}


.perimeter-example-card {
    max-width: 900px;

    display: grid;

    grid-template-columns:
        1.25fr 0.75fr;

    align-items: center;

    gap: 30px;

    margin-inline: auto;

    padding: 35px;

    background:
        var(--pa4-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius:
        var(--radius-extra-large, 28px);
}


.perimeter-shape-demo {
    position: relative;

    min-height: 270px;

    display: grid;

    place-items: center;

    padding: 35px;
}


.perimeter-demo-shape {
    width: 280px;
    height: 150px;

    max-width: 90%;

    border:
        7px solid
        var(--pa4-accent);

    border-radius: 9px;

    background: #ffffff;
}


.perimeter-top,
.perimeter-bottom,
.perimeter-left,
.perimeter-right {
    position: absolute;

    color:
        var(--pa4-accent-dark);

    font-size: 0.67rem;

    font-weight: 850;
}


.perimeter-top {
    top: 19px;
    left: 50%;

    transform:
        translateX(-50%);
}


.perimeter-bottom {
    bottom: 18px;
    left: 50%;

    transform:
        translateX(-50%);
}


.perimeter-left {
    left: 15px;
    top: 50%;

    transform:
        rotate(-90deg);
}


.perimeter-right {
    right: 15px;
    top: 50%;

    transform:
        rotate(90deg);
}


.perimeter-calculation {
    padding: 24px;

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.perimeter-calculation span,
.perimeter-calculation strong,
.perimeter-calculation b {
    display: block;
}


.perimeter-calculation span {
    margin-bottom: 8px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.61rem;

    text-transform: uppercase;
}


.perimeter-calculation strong {
    margin-bottom: 7px;

    color:
        var(--pa4-accent-dark);

    font-size: 1.2rem;
}


.perimeter-calculation b {
    color:
        var(--pa4-green);

    font-size: 1.4rem;
}



/* ==========================================================
   TWO COLUMN
========================================================== */

.perimeter-unit-section,
.square-unit-section {
    background:
        var(--color-background-soft, #f8fafc);
}


.measure-two-column {
    display: grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(500px, 1.25fr);

    align-items: center;

    gap: 70px;
}


.measure-two-content h2 {
    margin-bottom: 18px;

    font-size:
        clamp(
            2.2rem,
            4vw,
            3.5rem
        );

    letter-spacing: -0.04em;
}


.measure-two-content p {
    color:
        var(--color-text-muted, #64748b);

    line-height: 1.8;
}



/* ==========================================================
   UNIT CARD
========================================================== */

.measure-unit-card {
    display: grid;

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

    gap: 10px;

    padding: 28px;

    background: #ffffff;

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.measure-unit-card > div {
    padding: 18px;

    background:
        var(--pa4-accent-soft);

    border-radius:
        var(--radius-medium, 14px);

    text-align: center;
}


.measure-unit-card span,
.measure-unit-card strong {
    display: block;
}


.measure-unit-card span {
    margin-bottom: 6px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.58rem;
}


.measure-unit-card strong {
    color:
        var(--pa4-accent-dark);
}


.measure-unit-note {
    grid-column:
        1 / -1;

    background:
        #fff7ed !important;
}


.measure-unit-note strong {
    color:
        var(--pa4-orange);
}


.measure-unit-note p {
    margin:
        5px 0 0;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.68rem;
}



/* ==========================================================
   AREA
========================================================== */

.area-section {
    background:
        var(--color-background, #ffffff);
}


.area-unit-card {
    max-width: 900px;

    display: grid;

    grid-template-columns:
        1.2fr 0.8fr;

    align-items: center;

    gap: 30px;

    margin-inline: auto;

    padding: 35px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-extra-large, 28px);
}


.area-unit-grid {
    display: grid;

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

    gap: 4px;

    aspect-ratio:
        4 / 3;

    padding: 5px;

    background: #ffffff;

    border:
        3px solid
        var(--pa4-accent);

    border-radius: 9px;
}


.area-unit-grid i {
    display: block;

    background:
        var(--pa4-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius: 4px;
}


.area-unit-explanation {
    padding: 22px;

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);
}


.area-unit-explanation span,
.area-unit-explanation strong {
    display: block;
}


.area-unit-explanation span {
    margin-bottom: 7px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.61rem;
}


.area-unit-explanation strong {
    margin-bottom: 8px;

    color:
        var(--pa4-accent-dark);
}


.area-unit-explanation p {
    margin: 0;

    color:
        var(--color-text-muted, #64748b);

    line-height: 1.65;
}



/* ==========================================================
   SQUARE UNIT
========================================================== */

.square-unit-card {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    align-items: center;

    gap: 20px;

    padding: 28px;

    background: #ffffff;

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.one-square-unit {
    display: grid;

    place-items: center;

    gap: 8px;
}


.one-square-unit > div {
    width: 130px;
    height: 130px;

    background:
        var(--pa4-accent-soft);

    border:
        4px solid
        var(--pa4-accent);

    border-radius: 8px;
}


.one-square-unit span,
.one-square-unit strong {
    color:
        var(--color-text-muted, #64748b);

    font-size: 0.67rem;
}


.square-unit-result {
    padding: 20px;

    background:
        var(--pa4-accent-soft);

    border-radius:
        var(--radius-medium, 14px);

    text-align: center;
}


.square-unit-result span,
.square-unit-result strong,
.square-unit-result b {
    display: block;
}


.square-unit-result span {
    margin-bottom: 7px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.59rem;
}


.square-unit-result strong {
    margin-bottom: 7px;

    color:
        var(--pa4-accent-dark);
}


.square-unit-result b {
    color:
        var(--pa4-green);

    font-size: 1.25rem;
}



/* ==========================================================
   SQUARE
========================================================== */

.square-section {
    background:
        var(--color-background, #ffffff);
}


.square-formula-card,
.rectangle-formula-card {
    max-width: 950px;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    align-items: center;

    gap: 35px;

    margin-inline: auto;

    padding: 35px;

    background:
        var(--pa4-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius:
        var(--radius-extra-large, 28px);
}


.square-formula-shape,
.rectangle-formula-shape {
    position: relative;

    padding:
        40px 35px 30px;
}


.square-grid-demo {
    display: grid;

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

    gap: 3px;

    aspect-ratio: 1;

    padding: 5px;

    background: #ffffff;

    border:
        4px solid
        var(--pa4-accent);

    border-radius: 9px;
}


.square-grid-demo i,
.rectangle-grid-demo i {
    display: block;

    background:
        var(--pa4-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius: 3px;
}


.square-side-top,
.square-side-right,
.rectangle-length,
.rectangle-width {
    position: absolute;

    color:
        var(--pa4-accent-dark);

    font-size: 0.61rem;

    font-weight: 850;
}


.square-side-top,
.rectangle-length {
    top: 12px;
    left: 50%;

    transform:
        translateX(-50%);
}


.square-side-right,
.rectangle-width {
    right: 4px;
    top: 50%;

    transform:
        rotate(90deg);
}


.square-formula-results,
.rectangle-formula-results {
    display: grid;

    gap: 10px;
}


.square-formula-results > div,
.rectangle-formula-results > div {
    padding: 20px;

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);
}


.square-formula-results span,
.square-formula-results strong,
.square-formula-results b,
.rectangle-formula-results span,
.rectangle-formula-results strong,
.rectangle-formula-results b {
    display: block;
}


.square-formula-results span,
.rectangle-formula-results span {
    margin-bottom: 5px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.59rem;

    text-transform: uppercase;
}


.square-formula-results strong,
.rectangle-formula-results strong {
    margin-bottom: 6px;

    color:
        var(--pa4-accent-dark);
}


.square-formula-results b,
.rectangle-formula-results b {
    color:
        var(--pa4-green);
}



/* ==========================================================
   RECTANGLE
========================================================== */

.rectangle-section {
    background:
        var(--color-background-soft, #f8fafc);
}


.rectangle-formula-card {
    background: #ffffff;

    border-color:
        var(--color-border, #e2e8f0);
}


.rectangle-grid-demo {
    display: grid;

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

    gap: 2px;

    aspect-ratio:
        2 / 1;

    padding: 5px;

    border:
        4px solid
        var(--pa4-accent);

    border-radius: 9px;
}



/* ==========================================================
   DIFFERENCE
========================================================== */

.perimeter-area-difference-section {
    background:
        var(--color-background, #ffffff);
}


.perimeter-area-difference-grid {
    display: grid;

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

    gap: 16px;

    max-width: 900px;

    margin-inline: auto;
}


.perimeter-area-difference-grid article {
    padding: 26px;

    background:
        var(--color-background-soft, #f8fafc);

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.perimeter-area-difference-grid article > span {
    display: block;

    margin-bottom: 8px;

    color:
        var(--pa4-accent);

    font-size: 0.61rem;

    font-weight: 850;

    text-transform: uppercase;
}


.perimeter-area-difference-grid h3 {
    margin-bottom: 10px;
}


.perimeter-area-difference-grid p {
    color:
        var(--color-text-muted, #64748b);

    line-height: 1.65;
}


.perimeter-area-difference-grid strong {
    color:
        var(--pa4-green);

    font-size: 0.72rem;
}



/* ==========================================================
   CONTEXT
========================================================== */

.measurement-context-section {
    background:
        var(--color-background-soft, #f8fafc);
}


.measurement-context-grid {
    display: grid;

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

    gap: 14px;
}


.measurement-context-grid article {
    padding: 22px;

    background: #ffffff;

    border:
        1px solid
        var(--color-border, #e2e8f0);

    border-radius:
        var(--radius-large, 20px);
}


.measurement-context-grid span {
    display: block;

    margin-bottom: 7px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.61rem;
}


.measurement-context-grid strong {
    display: block;

    margin-bottom: 7px;

    color:
        var(--pa4-accent-dark);

    font-size: 1.05rem;
}


.measurement-context-grid p {
    margin: 0;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.7rem;

    line-height: 1.6;
}



/* ==========================================================
   INTERACTIVE
========================================================== */

.perimeter-area-interactive {
    color: #ffffff;

    background: #0f172a;
}


.perimeter-area-interactive
.section-eyebrow {
    color: #c4b5fd;
}


.perimeter-area-interactive
.section-header p {
    color: #94a3b8;
}


.perimeter-area-lab {
    max-width: 1050px;

    margin-inline: auto;
}


.rectangle-builder-panel,
.square-builder-panel {
    margin-bottom: 18px;

    padding: 30px;

    background:
        rgba(255, 255, 255, 0.06);

    border:
        1px solid
        rgba(255, 255, 255, 0.1);

    border-radius:
        var(--radius-extra-large, 28px);
}


.perimeter-area-lab-heading {
    margin-bottom: 24px;

    text-align: center;
}


.perimeter-area-lab-heading > span {
    display: block;

    margin-bottom: 5px;

    color: #c4b5fd;

    font-size: 0.62rem;

    font-weight: 850;

    text-transform: uppercase;
}


.perimeter-area-lab-heading h3 {
    margin-bottom: 7px;

    color: #ffffff;
}


.perimeter-area-lab-heading p {
    margin: 0;

    color: #94a3b8;

    font-size: 0.74rem;
}



/* ==========================================================
   RECTANGLE CONTROLS
========================================================== */

.rectangle-builder-controls {
    display: grid;

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

    gap: 10px;

    margin-bottom: 14px;
}


.rectangle-builder-control,
.square-builder-control {
    min-height: 190px;

    display: flex;
    flex-direction: column;

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

    padding: 20px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);
}


.rectangle-builder-control > span,
.square-builder-control > span {
    margin-bottom: 8px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.6rem;

    font-weight: 850;

    text-transform: uppercase;
}


.rectangle-builder-control > strong,
.square-builder-control > strong {
    margin-bottom: 14px;

    color:
        var(--pa4-accent);

    font-size: 2.8rem;
}


.rectangle-builder-control > div,
.square-builder-control > div {
    display: flex;

    gap: 8px;
}


.rectangle-builder-control button,
.square-builder-control button {
    width: 44px;
    height: 44px;

    display: grid;

    place-items: center;

    color:
        var(--pa4-accent-dark);

    background:
        var(--pa4-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius: 9px;

    font-size: 1.15rem;

    font-weight: 900;
}


.rectangle-builder-control button:disabled,
.square-builder-control button:disabled {
    opacity: 0.35;

    cursor: not-allowed;
}



/* ==========================================================
   RECTANGLE VISUAL
========================================================== */

.rectangle-builder-visual {
    margin-bottom: 12px;

    padding: 25px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.rectangle-builder-visual > span {
    display: block;

    margin-bottom: 10px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.61rem;

    font-weight: 750;
}


.rectangle-builder-visual > span:last-child {
    margin:
        10px 0 0;
}


.rectangle-dynamic-grid {
    display: grid;

    gap: 3px;

    max-width: 720px;

    margin-inline: auto;

    padding: 5px;

    border:
        4px solid
        var(--pa4-accent);

    border-radius: 8px;

    transition:
        width 0.2s ease;
}


.rectangle-dynamic-cell,
.square-dynamic-cell {
    min-height: 34px;

    display: block;

    background:
        var(--pa4-accent-soft);

    border:
        1px solid #ddd6fe;

    border-radius: 3px;
}


.rectangle-builder-results {
    display: grid;

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

    gap: 10px;

    margin-bottom: 12px;
}


.rectangle-builder-results > div {
    min-height: 125px;

    display: flex;
    flex-direction: column;

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

    padding: 15px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-medium, 14px);

    text-align: center;
}


.rectangle-builder-results span,
.rectangle-builder-results strong,
.rectangle-builder-results small {
    display: block;
}


.rectangle-builder-results span {
    margin-bottom: 5px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.57rem;
}


.rectangle-builder-results strong {
    margin-bottom: 5px;

    color:
        var(--pa4-accent-dark);
}


.rectangle-builder-results small {
    color:
        var(--color-text-muted, #64748b);
}


.rectangle-builder-message,
.square-builder-message {
    margin-bottom: 16px;

    padding: 14px;

    color: #ddd6fe;

    background:
        rgba(124, 58, 237, 0.1);

    border:
        1px solid
        rgba(196, 181, 253, 0.2);

    border-radius: 10px;

    text-align: center;

    font-size: 0.73rem;
}


.perimeter-area-lab-actions {
    text-align: center;
}


.perimeter-area-reset {
    color: #ffffff;

    background:
        rgba(255, 255, 255, 0.07);

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



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

.square-builder-control {
    max-width: 400px;

    margin:
        0 auto 14px;
}


.square-builder-main {
    display: grid;

    grid-template-columns:
        1.2fr 0.8fr;

    gap: 14px;

    margin-bottom: 12px;
}


.square-builder-visual {
    padding: 22px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.square-builder-visual > span {
    display: block;

    margin-bottom: 10px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.61rem;
}


.square-dynamic-grid {
    display: grid;

    gap: 3px;

    max-width: 430px;

    aspect-ratio: 1;

    margin-inline: auto;

    padding: 5px;

    border:
        4px solid
        var(--pa4-accent);

    border-radius: 8px;
}


.square-builder-output {
    display: grid;

    gap: 10px;
}


.square-builder-output > div {
    min-height: 140px;

    display: flex;
    flex-direction: column;

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

    padding: 18px;

    color:
        var(--color-text-secondary, #334155);

    background: #ffffff;

    border-radius:
        var(--radius-large, 20px);

    text-align: center;
}


.square-builder-output span,
.square-builder-output strong,
.square-builder-output small {
    display: block;
}


.square-builder-output span {
    margin-bottom: 6px;

    color:
        var(--color-text-muted, #64748b);

    font-size: 0.58rem;
}


.square-builder-output strong {
    margin-bottom: 5px;

    color:
        var(--pa4-accent-dark);
}


.square-builder-output small {
    color:
        var(--color-text-muted, #64748b);
}



/* ==========================================================
   PRACTICE
========================================================== */

.perimeter-area-practice-equation {
    min-height: 125px;

    display: flex;

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

    margin-bottom: 22px;

    color:
        var(--pa4-accent-dark);

    background:
        var(--color-background-soft, #f8fafc);

    border-radius:
        var(--radius-medium, 14px);

    font-size: 1.55rem;

    font-weight: 900;

    text-align: center;
}



/* ==========================================================
   QUIZ
========================================================== */

.perimeter-area-grade-four-page
.quiz-options button.selected {
    border-color:
        var(--pa4-accent);

    background:
        var(--pa4-accent-soft);
}


.perimeter-area-grade-four-page
.quiz-options button.correct {
    color: #166534;

    background: #dcfce7;

    border-color: #86efac;
}


.perimeter-area-grade-four-page
.quiz-options button.incorrect {
    color: #991b1b;

    background: #fee2e2;

    border-color: #fca5a5;
}



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

@media (max-width: 1024px) {

    .measure-two-column {
        grid-template-columns: 1fr;

        gap: 45px;
    }


    .measurement-context-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}



@media (max-width: 860px) {

    .perimeter-example-card,
    .area-unit-card,
    .square-formula-card,
    .rectangle-formula-card,
    .square-builder-main {
        grid-template-columns: 1fr;
    }


    .rectangle-builder-results {
        grid-template-columns: 1fr;
    }

}



@media (max-width: 600px) {

    .perimeter-area-four-hero-card {
        min-height: 390px;

        padding: 25px;
    }


    .hero-measure-results {
        grid-template-columns: 1fr;
    }


    .perimeter-area-intro-visual {
        grid-template-columns: 1fr;

        padding: 25px;
    }


    .perimeter-example-card,
    .area-unit-card,
    .square-formula-card,
    .rectangle-formula-card {
        padding: 22px;
    }


    .measure-unit-card {
        grid-template-columns: 1fr;
    }


    .measure-unit-note {
        grid-column: auto;
    }


    .square-unit-card {
        grid-template-columns: 1fr;
    }


    .perimeter-area-difference-grid {
        grid-template-columns: 1fr;
    }


    .measurement-context-grid {
        grid-template-columns: 1fr;
    }


    .rectangle-builder-panel,
    .square-builder-panel {
        padding: 18px;
    }


    .rectangle-builder-controls {
        grid-template-columns: 1fr;
    }


    .rectangle-dynamic-cell,
    .square-dynamic-cell {
        min-height: 25px;
    }

}