*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{
--brown:#9f481b;
--brown-dark:#783711;
--orange:#df7628;
--orange-light:#f5a044;
--green:#075f49;
--green-dark:#004d3a;
--cream:#fbf3e2;
--cream-dark:#f1e4cc;
--text:#4b2718;
--gold:#e7bd65;
}

html{
scroll-behavior:smooth;
}

body{
font-family:"DM Sans",sans-serif;
background:#fffaf0;
color:var(--text);
overflow-x:hidden;
}

a{
text-decoration:none;
color:inherit;
}

button,
input{
font-family:inherit;
}


/* NAVBAR*/
.navbar{
height:58px;
background:linear-gradient(90deg,#a94d1d,#a8491b);
color:white;
position:relative;
z-index:20;
}

.nav-container{
max-width:none;
width:100%;
height:100%;
margin:0;
padding:0 80px;
display:flex;
align-items:center;
justify-content:space-between;
}

.brand{
display:flex;
align-items:center;
gap:10px;
}

.brand img{
width:45px;
height:45px;
object-fit:contain;
}

.brand-text{
line-height:1;
}

.brand-text h1{
font-family:"Libre Baskerville",serif;
font-size:19px;
font-weight:700;
letter-spacing:.2px;
}

.brand-text span{
font-size:9px;
letter-spacing:.3px;
display:block;
margin-top:3px;
}

.nav-links{
height:100%;
display:flex;
align-items:center;
gap:31px;
font-size:12px;
font-weight:500;
}

.nav-links a{
height:100%;
display:flex;
align-items:center;
position:relative;
white-space:nowrap;
}

.nav-links a.active{
color:#fff0a6;
}

.nav-links a.active::after{
content:"";
position:absolute;
bottom:11px;
left:0;
right:0;
height:2px;
background:#e4c86d;
}

.search-btn{
border:1px solid #f3d67b;
background:transparent;
color:white;
border-radius:30px;
height:33px;
padding:0 18px;
display:flex;
align-items:center;
gap:9px;
font-size:12px;
}

.search-icon{
width:16px;
height:16px;
stroke-width:2;
}


/*HERO*/
.hero{
height:380px;
position:relative;
background-image:url("images/homepage-HERO-BG.png");
background-position:center center;
background-size:cover;
overflow:hidden;
}

.hero-overlay{
position:absolute;
inset:0;
background:
linear-gradient(
90deg,
rgba(255,248,230,.98) 0%,
rgba(255,248,230,.94) 23%,
rgba(255,248,230,.68) 36%,
rgba(255,248,230,.08) 55%,
rgba(70,30,10,.02) 100%
);
}

.hero::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:-1px;
height:25px;
background:#fffaf0;
clip-path:ellipse(58% 100% at 50% 100%);
}

.hero-content{
position:relative;
z-index:3;
width:540px;
margin-left:max(calc((100vw - 1320px)/2),40px);
padding-top:45px;
}

.hero-small-title{
font-family:"Libre Baskerville",serif;
font-size:20px !important;
font-weight:700;
letter-spacing:1.2px;
color:#c87004;
}

.hero-content h2{
font-family:"Libre Baskerville",serif;
font-size:60px;
line-height:.92;
letter-spacing:1px;
color:#163f04;
margin:3px 0 10px;
}

.hero-content p{
font-size:11.5px;
line-height:1.45;
max-width:480px;
margin-bottom:10px;
color:#4a2200;
}

.hero-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:4px;
    padding:11px 13px 11px 22px;
    min-width:156px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:30px;
    background:linear-gradient(135deg,#f58a18,#d66209);
    color:#fffdf7;
    font-size:12px;
    font-weight:700;
    letter-spacing:.2px;
    box-shadow:
        0 5px 12px rgba(159,72,27,.20),
        0 2px 4px rgba(159,72,27,.12);
    position:relative;
    overflow:hidden;
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        background .35s ease;
}

.hero-button::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:70%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );
    transform:skewX(-20deg);
    transition:left .55s ease;
}

.hero-button span{
    width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.28);
    font-size:20px;
    line-height:1;
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        background .3s ease;
    position:relative;
    z-index:1;
}

.hero-button:hover{
    transform:translateY(-3px);
    background:linear-gradient(135deg,#ff9b29,#2e6503);
    box-shadow:
        0 9px 20px rgba(159,72,27,.25),
        0 3px 7px rgba(159,72,27,.16);
}

.hero-button:hover::before{
    left:130%;
}

.hero-button:hover span{
    transform:translateX(4px);
    background:rgba(255,255,255,.25);
}

.hero-slogan{
position:absolute;
z-index:5;
right:6%;
top:52px;
width:145px;
color:#fff6e5;
font-family:"Libre Baskerville",serif;
font-size:20px;
line-height:1.25;
text-align:center;
}

.hero-slogan span{
display:block;
}

.book-icon{
font-family:Arial,sans-serif;
font-size:45px;
color:#f1c55f;
margin-top:8px;
}

.left-decoration{
position:absolute;
z-index:2;
left:-80px;
bottom:-80px;
width:260px;
height:210px;
border:18px solid #e77729;
border-radius:50%;
transform:rotate(15deg);
opacity:.95;
}

.left-decoration::before{
content:"";
position:absolute;
inset:12px;
border:10px solid #f7a346;
border-radius:50%;
}


/*CATALOG*/
.catalog-wrapper{
position:relative;
z-index:10;
margin-top:-17px;
}

.catalog{
max-width:1050px;
height:72px;
margin:auto;
border-radius:16px;
background:linear-gradient(100deg,#a94b1c,#bd5b20);
display:flex;
align-items:center;
padding:0 27px;
box-shadow:0 6px 20px rgba(77,42,17,.15);
color:white;
}

.catalog-title{
display:flex;
align-items:center;
gap:14px;
width:310px;
}

.catalog-icon{
display:flex;
align-items:center;
justify-content:center;
color:#f5d678;
}

.catalog-icon svg{
width:34px;
height:34px;
stroke-width:1.8;
}

.catalog-search button{
width:42px;
height:30px;
border:none;
margin-right:3px;
border-radius:50%;
background:#0b674f;
color:white;
display:flex;
align-items:center;
justify-content:center;
}

.catalog-search button svg{
width:16px;
height:16px;
stroke-width:2.2;
}

.catalog-title h3{
font-family:"Libre Baskerville",serif;
font-size:14px;
margin-bottom:2px;
}

.catalog-title p{
font-size:10px;
color:#fff3df;
}

.catalog-search{
height:35px;
background:white;
border-radius:30px;
display:flex;
align-items:center;
flex:1;
overflow:hidden;
}

.catalog-search input{
border:none;
outline:none;
height:100%;
padding:0 18px;
flex:1;
font-size:11px;
}

.advanced-search{
height:34px;
border-left:1px solid rgba(255,255,255,.6);
margin-left:28px;
padding-left:28px;
display:flex;
align-items:center;
gap:10px;
font-size:11px;
white-space:nowrap;
}


/*GENERAL SECTION*/
.section{
max-width:1320px;
margin:auto;
padding:27px 25px;
}

.section-heading{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:15px;
}

.heading-left{
display:flex;
align-items:center;
gap:17px;
}

.heading-icon{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
color:var(--green);
}

.heading-icon svg{
width:39px;
height:39px;
stroke-width:1.8;
}

.heading-left h2{
font-family:"Libre Baskerville",serif;
font-size:25px;
color:#a64c20;
line-height:1;
}

.heading-left h2 span{
color:var(--green);
}

.heading-left p{
font-size:11px;
margin-top:4px;
color:#5c3323;
}

.view-all{
font-size:11px;
font-weight:700;
color:#064f3c;
display:flex;
align-items:center;
gap:12px;
}

.view-all span{
font-size:19px;
}


/*ACQUISITION*/
.acquisition-section{
padding-top:50px;
padding-bottom:50px;
}

.book-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:19px;
}

.book-card{
height:235px;
background:#fffaf0;
border:1px solid #eadfcb;
border-radius:6px;
padding:13px;
box-shadow:0 2px 7px rgba(80,49,25,.04);
position:relative;
}

.book-image{
height:147px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:7px;
}

.book-image img{
height:147px;
width:108px;
object-fit:cover;
border-radius:4px;
box-shadow:0 3px 8px rgba(0,0,0,.12);
}

.book-info{
position:relative;
height:58px;
}

.book-info h3{
font-size:14px;
line-height:1.15;
color:#075943;
font-weight:700;
}

.book-info span{
display:inline-block;
font-size:10px;
background:#e9dfbd;
color:#31513e;
padding:3px 7px;
border-radius:10px;
margin-top:5px;
}

.book-info button{
position:absolute;
right:0;
bottom:0;
border:none;
width:27px;
height:27px;
border-radius:50%;
background:#f4e6c9;
color:#075943;
display:flex;
align-items:center;
justify-content:center;
}

.book-info button svg{
width:14px;
height:14px;
stroke-width:2.2;
}


/*BRANCHES*/
.branches{
background:#f6ecd9;
}

.branch-section{
padding-top:50px;
padding-bottom:50px;
}

.location-heading{
font-size:32px;
}

.location-heading svg{
width:40px;
height:40px;
stroke-width:1.9;
}

.branch-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
}

.branch-card{
background:#fffaf1;
border:1px solid #e7dac3;
border-radius:7px;
overflow:hidden;
box-shadow:0 2px 6px rgba(50,30,10,.04);
}

.branch-image{
height:92px;
overflow:hidden;
}

.branch-image img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.branch-info{
height:69px;
padding:7px 11px;
position:relative;
}

.branch-info h3{
font-size:13px;
color:#aa4c1e;
margin-bottom:3px;
padding-right:38px;
}

.branch-subtitle{
font-size:11px;
color:#5a3020;
}

.location{
font-size:9px;
margin-top:5px;
padding-right:25px;
line-height:1.2;
display:flex;
align-items:flex-start;
gap:5px;
}

.location svg{
width:11px;
height:11px;
min-width:11px;
color:#056149;
stroke-width:2.3;
}

.location span{
color:#056149;
font-size:10px;
}

.round-arrow{
position:absolute;
right:11px;
bottom:12px;
width:28px;
height:28px;
border:none;
border-radius:50%;
background:#087057;
color:white;
display:flex;
align-items:center;
justify-content:center;
}

.round-arrow svg{
width:15px;
height:15px;
stroke-width:2.2;
}

/*SERVICES + ACTIVITIES*/
.feature-section{
max-width:1320px;
margin:auto;
padding:30px 25px 40px;
}

.feature-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.feature-card{
height:115px;
border-radius:10px;
position:relative;
overflow:hidden;
display:flex;
align-items:center;
padding:19px 24px;
}

.feature-card.services{
background:
linear-gradient(90deg,rgba(180,81,27,.95),rgba(198,95,32,.55)),
url("images/LIBRARY-SERVICS.jpg");
background-size:cover;
background-position:center;
color:white;
}

.feature-card.activities{
background:
linear-gradient(90deg,rgba(255,249,235,.98),rgba(255,249,235,.5)),
url("images/LIBRARY-ACTIVITIES.jpg");
background-size:cover;
background-position:center;
color:#4d2818;
}

.feature-icon{
width:70px;
display:flex;
align-items:center;
justify-content:center;
color:#f4db76;
}

.feature-icon svg{
width:43px;
height:43px;
stroke-width:1.7;
}

.activities .feature-icon{
color:#08634d;
}

.feature-content{
position:relative;
z-index:2;
}

.feature-content h2{
font-family:"Libre Baskerville",serif;
font-size:18px;
margin-bottom:5px;
}

.feature-content p{
font-size:11px;
line-height:1.35;
max-width:260px;
margin-bottom:9px;
}

.feature-content a{
display:inline-flex;
align-items:center;
gap:13px;
padding:5px 16px;
background:#dce79b;
border-radius:20px;
color:#17553d;
font-size:10px;
font-weight:700;
}

.activities .feature-content a{
background:#08634d;
color:white;
}

.feature-decoration{
position:absolute;
right:20px;
bottom:-15px;
font-size:130px;
opacity:.08;
}


/* FOOTER*/
footer{
height:73px;
background:linear-gradient(100deg,#a23a05,#ed7a32);
color:white;
}

.footer-container{
max-width:none;
width:100%;
margin:0;
height:100%;
margin:auto;
padding:0 80px;
display:flex;
align-items:center;
}

.footer-brand{
display:flex;
align-items:center;
gap:11px;
width:290px;
}

.footer-brand img{
width:43px;
height:43px;
object-fit:contain;
}

.footer-brand h3{
font-family:"Libre Baskerville",serif;
font-size:14px;
}

.footer-brand p{
font-size:8px;
margin-top:2px;
}

.footer-divider{
height:31px;
width:1px;
background:rgba(255,255,255,.7);
}

.footer-contact{
display:flex;
align-items:center;
gap:12px;
padding:0 55px;
flex:1;
}

.footer-contact p{
font-size:10px;
line-height:1.35;
max-width:300px;
}

.footer-icon{
color:#ffe1a1;
font-size:19px;
}

.footer-email{
display:flex;
align-items:center;
gap:12px;
padding:0 28px;
font-size:10px;
}

.footer-email span{
font-size:18px;
color:#ffe1a1;
}

.footer-line{
width:55px;
height:1px;
background:#f0c96c;
transform:rotate(-20deg);
margin-left:auto;
}


/*RESPONSIVE*/
@media(max-width:1000px){
.nav-links{
gap:15px;
}
.catalog{
margin-left:20px;
margin-right:20px;
}
.hero-content{
margin-left:35px;
}
.book-grid{
grid-template-columns:repeat(2,1fr);
}
.branch-grid{
grid-template-columns:1fr;
}
.footer-contact{
padding:0 20px;
}
}

@media(max-width:700px){
.navbar{
height:auto;
padding:10px 0;
}
.nav-container{
flex-direction:column;
gap:12px;
}
.nav-links{
flex-wrap:wrap;
justify-content:center;
height:auto;
}
.nav-links a{
height:30px;
}
.nav-links a.active::after{
bottom:0;
}
.hero{
height:520px;
background-position:center;
}
.hero-content{
margin:0;
padding:35px 25px;
width:auto;
}
.hero-small-title{
font-size:18px;
}
.hero-content h2{
font-size:48px;
}
.hero-content p{
max-width:100%;
}
.hero-slogan{
display:none;
}
.catalog-wrapper{
margin-top:-25px;
padding:0 15px;
}
.catalog{
height:auto;
padding:18px;
flex-direction:column;
align-items:stretch;
gap:15px;
}
.catalog-title{
width:auto;
}
.catalog-search{
height:40px;
}
.advanced-search{
border-left:none;
border-top:1px solid rgba(255,255,255,.4);
margin-left:0;
padding-left:0;
padding-top:12px;
}
.section{
padding-left:18px;
padding-right:18px;
}
.section-heading{
align-items:flex-start;
}
.heading-left{
align-items:flex-start;
}
.heading-left h2{
font-size:21px;
}
.book-grid{
grid-template-columns:1fr;
}
.feature-section{
padding-left:18px;
padding-right:18px;
}
.feature-grid{
grid-template-columns:1fr;
}
.footer{
height:auto;
}
footer{
height:auto;
padding:20px 0;
}
.footer-container{
flex-direction:column;
align-items:flex-start;
gap:15px;
}
.footer-divider{
display:none;
}
.footer-contact,
.footer-email{
padding:0;
}
.footer-line{
display:none;
}
}

/*PREMIUM BOOK CARDS*/
.book-card{
    height:235px;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(145deg,#fffdf8,#f9f0df);
    border:1px solid rgba(159,72,27,.12);
    border-radius:12px;
    padding:13px;
    box-shadow:
        0 2px 5px rgba(72,40,18,.05),
        0 10px 25px rgba(72,40,18,.06);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        border-color .35s ease;
}

/* subtle premium shine */
.book-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.7),
            transparent 35%
        );
    opacity:.55;
}

/* HOVER */
.book-card:hover{
    transform:translateY(-8px);
    border-color:rgba(159,72,27,.28);
   box-shadow:
        0 5px 12px rgba(72,40,18,.08),
        0 18px 40px rgba(72,40,18,.14);
}

/* BOOK IMAGE */
.book-image{
    height:147px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:7px;
    position:relative;
    overflow:hidden;
    border-radius:7px;
}

/* image itself */
.book-image img{
    height:147px;
    width:108px;
    object-fit:cover;
    border-radius:5px;
    box-shadow:
        0 4px 10px rgba(0,0,0,.14),
        0 1px 2px rgba(0,0,0,.08);
    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        filter .4s ease;
}

/* IMAGE HOVER */
.book-card:hover .book-image img{
    transform:scale(1.055);
    box-shadow:
        0 8px 18px rgba(0,0,0,.20);
    filter:saturate(1.05);
}

/* INFO */
.book-info{
    position:relative;
    height:58px;
    z-index:2;
}

.book-info h3{
    font-size:14px;
    line-height:1.15;
    color:#075943;
    font-weight:700;
    transition:
        color .3s ease,
        transform .3s ease;
}

.book-card:hover .book-info h3{
    color:#9f481b;
    transform:translateX(2px);
}

/* CATEGORY */
.book-info span{
    display:inline-block;
    font-size:10px;
    font-weight:600;
    background:#eee4c8;
    color:#31513e;
    padding:4px 8px;
    border-radius:20px;
    margin-top:5px;
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.book-card:hover .book-info span{
    background:#f5dfb7;
    color:#8b451c;
    transform:translateX(2px);
}

/* ARROW */
.book-info button{
    position:absolute;
    right:0;
    bottom:0;
    border:1px solid rgba(7,89,67,.08);
    width:29px;
    height:29px;
    border-radius:50%;
    background:#f3e7ce;
    color:#075943;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:
        background .3s ease,
        color .3s ease,
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .3s ease;
}

.book-info button svg{
    width:14px;
    height:14px;
    stroke-width:2.3;
    transition:transform .3s ease;
}

.book-card:hover .book-info button{
    background:#075943;
    color:#fff;
    transform:translateY(-2px) scale(1.08);
    box-shadow:
        0 5px 12px rgba(7,89,67,.25);
}

.book-card:hover .book-info button svg{
    transform:translateX(2px);
}


/*PREMIUM BRANCH CARDS*/
.branch-card{
    position:relative;
    overflow:hidden;
    background:#fffdf8;
    border:1px solid rgba(159,72,27,.12);
    border-radius:12px;
    box-shadow:
        0 2px 6px rgba(50,30,10,.05),
        0 10px 25px rgba(50,30,10,.05);
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        border-color .35s ease;
}

.branch-card:hover{
    transform:translateY(-7px);
    border-color:rgba(159,72,27,.25);
    box-shadow:
        0 6px 15px rgba(50,30,10,.09),
        0 18px 35px rgba(50,30,10,.13);
}


/* IMAGE */
.branch-image{
    height:92px;
    overflow:hidden;
    position:relative;
}

.branch-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.12));
    opacity:.5;
    transition:opacity .35s ease;
}

.branch-card:hover .branch-image::after{
    opacity:.2;
}

.branch-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:
        transform .6s cubic-bezier(.2,.8,.2,1),
        filter .4s ease;
}

.branch-card:hover .branch-image img{
    transform:scale(1.08);
    filter:saturate(1.08);
}


/* INFO */
.branch-info{
    height:69px;
    padding:7px 11px;
    position:relative;
}

.branch-info h3{
    font-size:13px;
    color:#aa4c1e;
    margin-bottom:3px;
    padding-right:38px
    transition:
        color .3s ease,
        transform .3s ease;
}

.branch-card:hover .branch-info h3{
    color:#075943;
    transform:translateX(2px);
}

.branch-subtitle{
    font-size:11px;
    color:#5a3020;
}

.location{
    transition:color .3s ease;
}

.branch-card:hover .location{
    color:#075943;
}

/* BRANCH ARROW */
.round-arrow{
    position:absolute;
    right:11px;
    bottom:12px;
    width:28px;
    height:28px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    background:#087057;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        background .3s ease,
        box-shadow .3s ease;
}

.round-arrow svg{
    width:15px;
    height:15px;
    stroke-width:2.2;
    transition:transform .3s ease;
}

.branch-card:hover .round-arrow{
    background:#9f481b;
    transform:scale(1.12);
    box-shadow:
        0 5px 12px rgba(159,72,27,.25);
}

.branch-card:hover .round-arrow svg{
    transform:translateX(2px);
}


/* PREMIUM CARDS*/
.feature-card{
    height:115px;
    border-radius:14px;
    position:relative;
    overflow:hidden;
    box-shadow:
        0 4px 10px rgba(60,30,10,.07),
        0 12px 30px rgba(60,30,10,.06);

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        border-radius .4s ease;
}

.feature-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 7px 16px rgba(60,30,10,.10),
        0 20px 40px rgba(60,30,10,.14);

    border-radius:16px;
}


/* SERVICES */
.feature-card.services{
    border:1px solid rgba(255,255,255,.15);
    background:
        linear-gradient(
            90deg,
            rgba(180,81,27,.97),
            rgba(198,95,32,.60)
        ),
        url("images/LIBRARY-SERVICS.jpg");

    background-size:cover;
    background-position:center;

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        background-position .7s ease;
}

.feature-card.services:hover{
    background-position:center 45%;
}


/* ACTIVITIES */
.feature-card.activities{
    border:1px solid rgba(159,72,27,.12);

    background:
        linear-gradient(
            90deg,
            rgba(255,249,235,.98),
            rgba(255,249,235,.55)
        ),
        url("images/LIBRARY-ACTIVITIES.jpg");

    background-size:cover;
    background-position:center;

    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        box-shadow .4s ease,
        background-position .7s ease;
}

.feature-card.activities:hover{
    background-position:center 45%;
}


/* ICON */
.feature-icon{
    transition:
        transform .4s cubic-bezier(.2,.8,.2,1),
        filter .3s ease;
}

.feature-card:hover .feature-icon{
    transform:scale(1.08) translateX(2px);
    filter:drop-shadow(0 3px 5px rgba(0,0,0,.12));
}


/* LINK BUTTON */
.feature-content a{
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.feature-content a span{
    transition:transform .3s ease;
}

.feature-card:hover .feature-content a{
    transform:translateY(-2px);
    box-shadow:0 4px 10px rgba(0,0,0,.10);
}

.feature-card:hover .feature-content a span{
    transform:translateX(4px);
}

.services:hover .feature-content a{
    background:#f4e4a5;
}

.activities:hover .feature-content a{
    background:#075943;
}


@media (prefers-reduced-motion:reduce){

    .book-card,
    .book-image img,
    .book-info button,
    .branch-card,
    .branch-image img,
    .round-arrow,
    .feature-card,
    .feature-icon{
        transition:none;
    }
}










/*ABOUT PAGE*/
.about-page{
background:#fffaf0;
color:var(--text);
}

/*ABOUT HERO*/
.about-hero{
height:205px;
position:relative;
background-image:url("images/homepage-HERO-BG.png");
background-size:cover;
background-position:center center;
overflow:hidden;
display:flex;
align-items:center;
}

.about-hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(116,45,11,.96) 0%,rgba(142,58,15,.88) 35%,rgba(119,46,11,.48) 58%,rgba(72,30,10,.15) 100%);
}

.about-hero::before{
content:"";
position:absolute;
left:-100px;
bottom:-130px;
width:390px;
height:290px;
border:16px solid rgba(231,119,41,.9);
border-radius:50%;
transform:rotate(15deg);
}

.about-hero::after{
content:"";
position:absolute;
left:-80px;
bottom:-110px;
width:350px;
height:255px;
border:9px solid rgba(247,163,70,.85);
border-radius:50%;
transform:rotate(15deg);
}

.about-hero-content{
position:relative;
z-index:3;
margin-left:max(calc((100vw - 1320px)/2 + 65px),100px);
margin-top:0;
text-align:center;
width:320px;
}

.about-hero-content h1{
font-family:"Libre Baskerville",serif;
font-size:57px;
line-height:1;
letter-spacing:1px;
color:#fffaf0;
margin:0;
}

.about-hero-line{
width:320px;
height:3px;
margin:12px auto 8px;
background:linear-gradient(90deg,#f0bd4e,#df7628,#5c987d);
}

.about-hero-icon{
width:34px;
height:34px;
color:#f1bd51;
stroke-width:1.5;
}

/*ABOUT CONTENT*/
.about-content{
position:relative;
background:#fffaf0;
padding:30px 0 45px;
}

.about-content::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:100%;
pointer-events:none;
background-image:radial-gradient(rgba(155,109,57,.07) .7px,transparent .7px);
background-size:8px 8px;
opacity:.35;
}

.about-layout{
position:relative;
z-index:2;
max-width:1320px;
margin:auto;
padding:0 25px;
display:grid;
grid-template-columns:175px 1fr;
gap:45px;
}

/*SIDE NAVIGATION*/
.about-sidebar{
position:relative;
height:765px;
background:rgba(255,250,240,.68);
border:1px solid #eadfcb;
border-radius:7px;
box-shadow:0 2px 8px rgba(80,49,25,.04);
padding:18px 15px;
overflow:hidden;
}

.side-item{
position:relative;
display:flex;
align-items:center;
gap:15px;
height:83px;
color:#075f49;
font-family:"Libre Baskerville",serif;
font-size:14px;
font-weight:700;
letter-spacing:.2px;
}

.side-item::after{
content:"";
position:absolute;
left:48px;
bottom:17px;
width:37px;
height:1px;
background:#cfc6af;
}

.side-item:first-child::after{
background:#d98b2f;
}

.side-dot{
width:13px;
height:13px;
min-width:13px;
border-radius:50%;
background:#e86f25;
}

.side-item.active{
color:#075f49;
}

.sidebar-decoration{
position:absolute;
left:-65px;
bottom:-105px;
width:250px;
height:220px;
border:12px solid rgba(230,118,42,.85);
border-radius:50%;
transform:rotate(20deg);
}

.sidebar-decoration::before{
content:"";
position:absolute;
inset:13px;
border:7px solid rgba(247,163,70,.8);
border-radius:50%;
}

/*MAIN CONTENT*/
.about-main{
min-width:0;
}

.about-block{
margin-bottom:24px;
}

.about-title{
display:flex;
align-items:center;
gap:14px;
margin-bottom:9px;
}

.about-title>span{
width:4px;
height:29px;
background:#ed762b;
display:block;
}

.about-title h2{
font-family:"Libre Baskerville",serif;
font-size:25px;
line-height:1;
color:#075f49;
margin:0;
}

/*VISION + MISSION*/
.quote-box{
position:relative;
min-height:92px;
background:linear-gradient(105deg,#075f49,#096b54);
border-radius:6px;
padding:14px 58px;
display:flex;
align-items:center;
box-shadow:0 2px 5px rgba(24,65,49,.08);
}

.quote-box p{
font-family:"Libre Baskerville",serif;
font-size:12px;
line-height:1.45;
font-style:italic;
color:#fff9ed;
margin:0;
}

.quote-mark{
position:absolute;
font-family:Georgia,serif;
font-size:47px;
line-height:1;
font-weight:700;
color:#efac3d;
}

.quote-left{
left:17px;
top:9px;
}

.quote-right{
right:17px;
bottom:-1px;
}

/*GOALS*/
.goals-block{
border-top:1px solid #ddcfb8;
padding-top:19px;
margin-top:3px;
}

.goals-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:9px 17px;
}

.goal-card{
min-height:95px;
background:rgba(255,250,240,.65);
border:1px solid #e7ddca;
border-radius:6px;
padding:12px;
display:grid;
grid-template-columns:25px 1fr;
gap:10px;
box-shadow:0 1px 4px rgba(80,49,25,.03);
}

.goal-number{
width:25px;
height:25px;
border-radius:3px;
background:#bc5b1d;
color:white;
font-size:13px;
font-weight:700;
display:flex;
align-items:center;
justify-content:center;
}

.goal-card p{
font-size:11px;
line-height:1.35;
color:#285344;
margin:0;
}

.goal-card strong{
font-weight:700;
}

/*LIBRARIANS*/
.people-block{
border-top:1px solid #ddcfb8;
padding-top:19px;
margin-top:18px;
margin-bottom:22px;
}

.librarian-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:9px;
}

.person-card{
height:166px;
border:1px solid #e6dcc9;
border-radius:6px;
background:rgba(255,250,240,.62);
padding:10px 5px 7px;
text-align:center;
display:flex;
flex-direction:column;
align-items:center;
box-shadow:0 1px 4px rgba(80,49,25,.03);
}

.person-photo{
width:80px;
height:80px;
border-radius:50%;
background:#e9dfd0;
overflow:hidden;
margin-bottom:8px;
display:flex;
align-items:center;
justify-content:center;
}

.person-photo img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.person-card h3{
font-size:11px;
line-height:1.25;
color:#075f49;
font-weight:700;
margin-bottom:5px;
}

.person-card p{
font-size:9px;
line-height:1.25;
color:#4e3b2f;
margin:0;
}

.person-card small{
font-size:8px;
line-height:1.2;
color:#62554b;
margin-top:3px;
}

/*SUPPORT STAFF*/
.support-staff{
min-height:78px;
background:#f2ecdc;
border-radius:8px;
display:flex;
align-items:center;
padding:10px 22px;
box-shadow:0 1px 5px rgba(80,49,25,.04);
}

.support-heading{
display:flex;
align-items:center;
gap:10px;
min-width:365px;
}

.support-heading svg{
width:38px;
height:38px;
color:#075f49;
stroke-width:1.8;
}

.support-heading>span{
height:25px;
width:4px;
background:#e77829;
display:block;
}

.support-heading h2{
font-family:"Libre Baskerville",serif;
font-size:15px;
color:#075f49;
white-space:nowrap;
}

.support-list{
display:flex;
align-items:center;
flex:1;
height:100%;
}

.support-person{
height:58px;
flex:1;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
border-left:1px solid #d8ccb6;
}

.support-photo{
width:60px;
height:60px;
border-radius:50%;
overflow:hidden;
background:#e5dbcc;
display:flex;
align-items:center;
justify-content:center;
}

.support-photo img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.support-person h3{
font-size:11px;
color:#075f49;
font-weight:700;
}

/*BOTTOM DECORATION*/
.about-bottom-decoration{
display:flex;
align-items:center;
justify-content:center;
gap:14px;
margin-top:27px;
}

.about-bottom-decoration span{
height:1px;
width:140px;
background:#cbb98f;
}

.about-bottom-decoration svg{
width:31px;
height:31px;
color:#e5ad45;
stroke-width:1.4;
}








/* SERVICES PAGE */
.services-page{
    background:#fffaf0;
    color:var(--text);
}
/*SERVICES HERO*/
.services-hero{
    height:260px;
    position:relative;
    background-image:url("images/homepage-HERO-BG.png");
    background-size:cover;
    background-position:center center;
    overflow:hidden;
    display:flex;
    align-items:center;
}
.services-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(116,45,11,.97) 0%,
            rgba(142,58,15,.91) 32%,
            rgba(119,46,11,.58) 58%,
            rgba(72,30,10,.18) 100%
        );
}
.services-hero-content{
    position:relative;
    z-index:3;
    width:560px;
    margin-left:max(
        calc((100vw - 1320px)/2 + 40px),
        80px
    );
    text-align:center;
    margin-top:0;
}
.services-label{
    display:block;
    font-family:"Libre Baskerville",serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:1.8px;
    color:#f2c66b;
    margin-bottom:5px;
    border-top:none;
    padding-top:0;
}
.services-hero-content h1{
    font-family:"Libre Baskerville",serif;
    font-size:49px;
    line-height:1;
    letter-spacing:1px;
    color:#fffaf0;
    margin:0;
}
.services-hero-content h1::after{
    content:"";
    display:block;
    width:400px;
    height:3px;
    margin:12px auto 9px;
    background:
        linear-gradient(
            90deg,
            #f0bd4e 0%,
            #df7628 50%,
            #5c987d 100%
        );
}
.services-hero-content h2{
    font-family:"Libre Baskerville",serif;
    font-size:18px;
    font-style:italic;
    font-weight:400;
    color:#f8e8c7;
    margin:0 0 7px;
}
.services-hero-content p{
    max-width:520px;
    margin:0 auto;
    font-size:12px;
    line-height:1.4;
    color:#fff0dc;
}
.services-hero-decoration{
    position:absolute;
    z-index:2;
    left:-100px;
    bottom:-130px;
    width:390px;
    height:290px;
    border:16px solid rgba(231,119,41,.9);
    border-radius:50%;
    transform:rotate(15deg);
}
.services-hero-decoration::before{
    content:"";
    position:absolute;
    inset:13px;
    border:9px solid rgba(247,163,70,.85);
    border-radius:50%;
}

@media(max-width:1000px){
    .services-hero-content{
        margin-left:35px;
        width:500px;
    }
    .services-hero-content h1{
        font-size:43px;
    }
    .services-hero-content h1::after{
        width:340px;
    }
}
@media(max-width:700px){
    .services-hero{
        height:390px;
        background-position:center;
    }
    .services-hero-content{
        width:auto;
        margin:0;
        padding:30px 25px;
        text-align:center;
    }
    .services-label{
        font-size:11px;
        letter-spacing:1.2px;
    }
    .services-hero-content h1{
        font-size:36px;
    }
    .services-hero-content h1::after{
        width:260px;
        height:2px;
        margin:10px auto 8px;
    }
    .services-hero-content h2{
        font-size:16px;
    }
    .services-hero-content p{
        max-width:100%;
        font-size:10px;
        line-height:1.45;
    }
    .services-hero-decoration{
        left:-130px;
        bottom:-125px;
        width:350px;
        height:260px;
    }
}

/* LIBRARY HOURS */
.library-hours{
	height:72px;
	max-width:1000px;
	margin:-17px auto 0;
	position:relative;
	z-index:10;
	overflow:hidden;
	border-radius:16px;
	background:linear-gradient(100deg,#ffd1ba,#fc873e);
	box-shadow:0 6px 20px rgba(77,42,17,.15);
	color:white;
}
.hours-container{
	width:100%;
	height:100%;
	margin:auto;
	padding:0 27px;
	display:flex;
	align-items:center;
	position:relative;
	z-index:2;
}
.hours-icon{
	width:55px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#075f49;
	flex-shrink:0;
}
.hours-icon svg{
	width:34px;
	height:34px;
	stroke-width:1.8;
}
.hours-divider{
	width:2px;
	height:42px;
	background:rgba(23, 92, 2, 0.35);
	margin:0 20px 0 10px;
	flex-shrink:0;
}
.hours-content{
	flex:1;
	min-width:0;
}
.hours-content h2{
	font-family:"Libre Baskerville",serif;
	font-size:14px;
	color:#024635;
	margin:0 0 3px;
}
.hours-content p{
	font-size:11px;
	line-height:1.4;
	color:#0d2801;
	margin:0;
}
.hours-decoration{
	position:absolute;
	width:110px;
	height:110px;
	opacity:.16;
	border:8px solid #ffffff;
	border-radius:50%;
	z-index:1;
}
.hours-decoration-left{
	left:-55px;
	bottom:-70px;
	transform:rotate(25deg);
}
.hours-decoration-right{
	right:-55px;
	top:-70px;
	transform:rotate(205deg);
}

/* SERVICES CONTENT */
.services-content{
	max-width:1320px;
	margin:auto;
	padding:42px 47px 45px;
}
.services-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.service-card{
	min-height:390px;
	position:relative;
	overflow:hidden;
	background:
		radial-gradient(circle at 100% 0%,rgba(226,184,91,.12) 0%,rgba(226,184,91,0) 34%),
		linear-gradient(145deg,#fffdf8 0%,#fbf5e8 55%,#f5ead5 100%);
	border:1px solid rgba(180,143,78,.28);
	border-radius:16px;
	padding:20px 20px 23px;
	box-shadow:
		0 2px 4px rgba(73,43,19,.04),
		0 8px 22px rgba(73,43,19,.07),
		0 18px 38px rgba(73,43,19,.035);
	transform:translateY(0);
	transition:
		transform .45s cubic-bezier(.2,.8,.2,1),
		box-shadow .45s cubic-bezier(.2,.8,.2,1),
		border-color .35s ease,
		background .45s ease;
}
.service-card::before{
	content:"";
	position:absolute;
	top:0;
	left:20px;
	right:20px;
	height:2px;
	background:linear-gradient(90deg,#075f49 0%,#dcae4d 50%,#c75b20 100%);
	opacity:.65;
	transition:
		left .45s ease,
		right .45s ease,
		opacity .35s ease;
}
.service-card::after{
	content:"";
	position:absolute;
	width:180px;
	height:180px;
	right:-95px;
	bottom:-95px;
	border:1px solid rgba(211,166,76,.18);
	border-radius:50%;
	box-shadow:
		0 0 0 18px rgba(211,166,76,.035),
		0 0 0 36px rgba(211,166,76,.02);
	pointer-events:none;
	transition:
		transform .55s ease,
		border-color .35s ease;
}
.service-card:hover{
	transform:translateY(-9px);
	border-color:rgba(184,143,66,.65);
	background:
		radial-gradient(circle at 100% 0%,rgba(229,188,93,.19) 0%,rgba(229,188,93,0) 38%),
		linear-gradient(145deg,#fffefb 0%,#fcf6e9 52%,#f4e6ce 100%);
	box-shadow:
		0 5px 10px rgba(73,43,19,.05),
		0 16px 32px rgba(73,43,19,.12),
		0 28px 55px rgba(73,43,19,.08),
		0 0 0 1px rgba(218,177,82,.08);
}
.service-card:hover::before{
	left:10px;
	right:10px;
	opacity:1;
}
.service-card:hover::after{
	transform:scale(1.2) rotate(12deg);
	border-color:rgba(211,166,76,.28);
}
.service-card-heading{
	min-height:46px;
	display:flex;
	align-items:center;
	gap:13px;
	margin-bottom:15px;
	position:relative;
	z-index:2;
}
.service-card-heading svg{
	width:39px;
	height:39px;
	min-width:39px;
	padding:8px;
	color:#075f49;
	background:linear-gradient(145deg,#f7edcf,#eee0b9);
	border:1px solid rgba(193,153,77,.3);
	border-radius:9px;
	stroke-width:1.7;
	box-shadow:
		0 3px 8px rgba(76,54,24,.07),
		inset 0 1px 0 rgba(255,255,255,.75);
	transition:
		color .35s ease,
		background .35s ease,
		transform .4s ease,
		box-shadow .4s ease;
}
.service-card:hover .service-card-heading svg{
	color:#fff8e8;
	background:linear-gradient(145deg,#075f49,#08745a);
	transform:translateY(-2px) rotate(-2deg);
	box-shadow:
		0 6px 14px rgba(7,95,73,.2),
		0 0 0 4px rgba(7,95,73,.06);
}
.service-card-heading h2{
	font-family:"Libre Baskerville",serif;
	font-size:14px;
	line-height:1.25;
	color:#075f49;
	letter-spacing:.15px;
	transition:
		color .3s ease,
		transform .35s ease;
}
.service-card:hover .service-card-heading h2{
	color:#9f481b;
	transform:translateX(2px);
}
.service-image{
	width:100%;
	height:155px;
	overflow:hidden;
	position:relative;
	border-radius:11px;
	margin-bottom:16px;
	background:#eadfcd;
	border:1px solid rgba(151,112,58,.2);
	box-shadow:
		0 4px 12px rgba(63,39,19,.08),
		0 1px 2px rgba(63,39,19,.06);
}
.service-image::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(
			135deg,
			rgba(255,255,255,.14) 0%,
			transparent 35%,
			transparent 65%,
			rgba(61,35,15,.08) 100%
		);
	pointer-events:none;
	transition:opacity .4s ease;
}
.service-image img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	transform:scale(1);
	filter:saturate(.92) contrast(.98);
	transition:
		transform .7s cubic-bezier(.2,.8,.2,1),
		filter .5s ease;
}
.service-card:hover .service-image img{
	transform:scale(1.075);
	filter:saturate(1.05) contrast(1.03);
}
.service-card:hover .service-image::after{
	opacity:.45;
}
.service-card>p{
	position:relative;
	z-index:2;
	max-width:94%;
	font-size:10.5px;
	line-height:1.55;
	color:#573a2c;
	margin:0;
	transition:
		color .3s ease,
		transform .35s ease;
}
.service-card:hover>p{
	color:#493024;
}
.service-leaf{
	position:absolute;
	right:7px;
	bottom:-7px;
	color:#d6aa57;
	opacity:.2;
	transform:rotate(-18deg) scale(.92);
	transition:
		opacity .4s ease,
		transform .5s cubic-bezier(.2,.8,.2,1),
		color .35s ease;
}
.service-leaf svg{
	width:52px;
	height:52px;
	stroke-width:1.25;
}
.service-card:hover .service-leaf{
	color:#075f49;
	opacity:.34;
	transform:rotate(-8deg) scale(1.08);
}

/*SERVICE REQUEST LINKS*/
.service-request-link{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    width:100%;
    margin-top:12px;
    padding-right:2px;
    color:#075f49;
    font-size:10.5px;
    font-weight:700;
    text-decoration:none;
    transition:
        color .3s ease,
        transform .3s ease;
}

.service-request-link span{
    font-size:17px;
    line-height:2;
    transition:
        transform .3s ease;
}

.service-request-link:hover{
    color:#9f481b;
    transform:translateX(-2px);
}

.service-request-link:hover span{
    transform:translateX(4px);
}

.service-request-link:focus-visible{
    outline:none;
    color:#9f481b;
    text-decoration:underline;
}

@media(max-width:700px){
    .service-request-link{
        font-size:10px;
        margin-top:11px;
    }
}

/*PREMIUM LONG CARDS*/
.service-card:nth-child(4),
.service-card:nth-child(7),
.service-card:nth-child(9){
	min-height:410px;
}
/*CARD FOCUS EFFECT*/
.service-card:focus-within{
	transform:translateY(-6px);
	border-color:#c99c4c;
	box-shadow:
	0 12px 30px rgba(73,43,19,.12),
	0 0 0 3px rgba(7,95,73,.08);
}
/*TABLET*/
@media(max-width:1000px){
	.services-grid{
		grid-template-columns:repeat(2,1fr);
		gap:20px;
	}
	.service-card{
		min-height:390px;
	}
	.service-card:nth-child(4),
	.service-card:nth-child(7),
	.service-card:nth-child(9){
		min-height:410px;
	}
}
/* MOBILE*/
@media(max-width:700px){
	.services-content{
		padding:30px 18px 35px;
	}
	.services-grid{
		grid-template-columns:1fr;
		gap:20px;
	}
	.service-card{
		min-height:390px;
		padding:19px 18px 22px;
		border-radius:15px;
	}
	.service-card:nth-child(4),
	.service-card:nth-child(7),
	.service-card:nth-child(9){
		min-height:410px;
	}
	.service-image{
		height:165px;
	}
	.service-card:hover{
		transform:translateY(-5px);
	}
}










/* ACTIVITIES PAGE */
.activities-page{
    background:#fffaf0;
    color:var(--text);
}
.activities-hero{
    height:205px;
    position:relative;
    background-image:url("images/homepage-HERO-BG.png");
    background-size:cover;
    background-position:center center;
    overflow:hidden;
    display:flex;
    align-items:center;
}
.activities-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(116,45,11,.97) 0%,rgba(142,58,15,.91) 32%,rgba(119,46,11,.58) 58%,rgba(72,30,10,.18) 100%);
}
.activities-hero-content{
    position:relative;
    z-index:3;
    width:560px;
    margin-left:max(calc((100vw - 1320px)/2 + 40px),80px);
    text-align:center;
}
.activities-hero-content h1{
    font-family:"Libre Baskerville",serif;
    font-size:58px;
    line-height:1;
    letter-spacing:1px;
    color:#fffaf0;
    margin:0;
}
.activities-hero-line{
    width:400px;
    height:3px;
    margin:13px auto 9px;
    background:linear-gradient(90deg,#f0bd4e 0%,#df7628 50%,#5c987d 100%);
}
.activities-hero-icon{
    width:35px;
    height:35px;
    color:#f1bd51;
    stroke-width:1.5;
}
.activities-hero-decoration{
    position:absolute;
    z-index:2;
    left:-100px;
    bottom:-130px;
    width:390px;
    height:290px;
    border:16px solid rgba(231,119,41,.9);
    border-radius:50%;
    transform:rotate(15deg);
}
.activities-hero-decoration::before{
    content:"";
    position:absolute;
    inset:13px;
    border:9px solid rgba(247,163,70,.85);
    border-radius:50%;
}

/* ACTIVITIES SECTION */
.activities-section{
    max-width:1220px;
    margin:auto;
    padding:30px 25px 42px;
}
.activities-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;
}
.activities-heading-left{
    display:flex;
    align-items:center;
    gap:14px;
}
.activities-heading-icon{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#075f49;
}
.activities-heading-icon svg{
    width:36px;
    height:36px;
    stroke-width:1.8;
}
.activities-heading-left h2{
    font-family:"Libre Baskerville",serif;
    font-size:23px;
    color:#075f49;
    letter-spacing:.2px;
}
.activities-heading-note{
    display:flex;
    align-items:center;
    gap:7px;
    color:#704025;
    position:relative;
    padding-right:29px;
}
.activities-heading-note strong{
    font-family:"Libre Baskerville",serif;
    font-size:17px;
    font-style:italic;
    color:#a44c20;
    font-weight:400;
}
.activities-heading-note span{
    font-size:12px;
    color:#76503c;
}
.activities-heading-note svg{
    position:absolute;
    right:0;
    top:1px;
    width:22px;
    height:22px;
    color:#d4a25b;
    transform:rotate(12deg);
}

/* CALENDAR */
.calendar-card{
    background:#fffaf0;
    border:1px solid #eadfcb;
    border-radius:15px;
    box-shadow:0 4px 16px rgba(79,45,19,.08);
    overflow:hidden;
}
.calendar-top{
    height:52px;
    display:flex;
    align-items:center;
    padding:0 15px;
    gap:18px;
}
.calendar-top h3{
    font-family:"Libre Baskerville",serif;
    font-size:14px;
    color:#315344;
    white-space:nowrap;
}
.calendar-controls{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:5px;
}
.calendar-controls button{
    border:0;
    background:#f5f0e7;
    color:#6d6257;
    border-radius:5px;
    height:28px;
    padding:0 10px;
    font-size:11px;
    cursor:pointer;
}
.calendar-controls .calendar-arrow{
    width:27px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
}
.calendar-arrow svg{
    width:13px;
    height:13px;
}
.calendar-month{
    font-size:12px;
    color:#01462a;
    margin:0 14px 0 10px;
    white-space:nowrap;
}
.calendar-views{
    display:flex;
    align-items:center;
    background:#f4efe5;
    border-radius:7px;
    padding:2px;
}
.calendar-views button{
    height:26px;
    background:transparent;
    padding:0 10px;
    color:#756c63;
}
.calendar-views button.selected{
    background:#075f49;
    color:white;
    border-radius:6px;
}
.calendar-weekdays{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    margin:0 10px;
    background:#f0e6d4;
    border-radius:7px 7px 0 0;
    overflow:hidden;
}
.calendar-weekdays div{
    height:27px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    color:#514a43;
    font-weight:600;
}
.calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    margin:0 10px 12px;
    border-left:1px solid #eee4d4;
    border-top:1px solid #eee4d4;
}
.calendar-day{
    min-height:63px;
    position:relative;
    padding:6px 7px;
    border-right:1px solid #eee4d4;
    border-bottom:1px solid #eee4d4;
    background:#fffdf8;
}
.calendar-day>span{
    display:block;
    font-size:13px;
    color:#534b43;
    margin-bottom:4px;
}
.calendar-day.muted{
    background:#fbf8f1;
}
.calendar-day.muted>span{
    color:#c3b9aa;
}
.calendar-day.highlighted{
    background:#f7ead5;
}
.event{
    display:flex;
    align-items:center;
    gap:4px;
    font-size:11px;
    line-height:1.2;
    color:#5e5147;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
}
.event b{
    width:5px;
    height:5px;
    min-width:5px;
    border-radius:50%;
    display:block;
}
.event.green b{
    background:#14735b;
}
.event.orange b{
    background:#c75d23;
}

/* INFORMATION LITERACY */
.literacy-card{
    margin-top:60px;
    display:grid;
    grid-template-columns:48% 52%;
    min-height:211px;
    border:1px solid #eadfcb;
    border-radius:13px;
    overflow:hidden;
    background:#fffaf0;
    box-shadow:0 3px 12px rgba(79,45,19,.06);
}
.literacy-image{
    position:relative;
    min-height:211px;
    overflow:hidden;
}
.literacy-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(86,35,12,.05),rgba(255,247,225,.04));
}
.literacy-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.literacy-content{
    position:relative;
    padding:22px 35px 20px 27px;
    background:linear-gradient(110deg,#fffaf0,#fff7e9);
    overflow:hidden;
}
.literacy-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
}
.literacy-icon{
    width:43px;
    height:43px;
    min-width:43px;
    border-radius:50%;
    background:#a94b1c;
    color:#fff8e8;
    display:flex;
    align-items:center;
    justify-content:center;
}
.literacy-icon svg{
    width:24px;
    height:24px;
    stroke-width:1.5;
}
.literacy-title h2{
    font-family:"Libre Baskerville",serif;
    font-size:17px;
    line-height:1.25;
    color:#075f49;
}
.literacy-content>p{
    position:relative;
    z-index:2;
    max-width:440px;
    font-size:11px;
    line-height:1.55;
    color:#5c493c;
    margin-bottom:30px;
}
.literacy-button{
    position:relative;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:20px;
    background:#a94b1c;
    color:white;
    font-size:9px;
    font-weight:700;
    transition:background .3s ease,transform .3s ease,box-shadow .3s ease;
}
.literacy-button:hover{
    background:#075f49;
    transform:translateY(-2px);
    box-shadow:0 4px 10px rgba(7,95,73,.18);
}
.literacy-button>svg{
    width:14px;
    height:14px;
}
.literacy-button-icon{
    display:flex;
    align-items:center;
}
.literacy-button-icon svg{
    width:13px;
    height:13px;
}
.literacy-decoration{
    position:absolute;
    right:-8px;
    bottom:-17px;
    color:#d6ad68;
    opacity:.28;
}
.literacy-decoration svg{
    width:115px;
    height:115px;
    stroke-width:1;
    transform:rotate(-18deg);
}

/* ACTIVITIES RESPONSIVE */
@media(max-width:1000px){
    .activities-hero-content{
        margin-left:35px;
        width:500px;
    }
    .activities-hero-content h1{
        font-size:50px;
    }
    .activities-section{
        padding-left:20px;
        padding-right:20px;
    }
    .calendar-top{
        gap:10px;
    }
    .calendar-controls{
        flex-wrap:wrap;
    }
    .literacy-card{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:700px){
    .activities-hero{
        height:390px;
        background-position:center;
    }
    .activities-hero-content{
        width:auto;
        margin:0;
        padding:30px 25px;
    }
    .activities-hero-content h1{
        font-size:38px;
    }
    .activities-hero-line{
        width:270px;
        height:2px;
    }
    .activities-hero-decoration{
        left:-130px;
        bottom:-125px;
        width:350px;
        height:260px;
    }
    .activities-section{
        padding:25px 15px 35px;
    }
    .activities-heading{
        align-items:flex-start;
        gap:10px;
    }
    .activities-heading-left{
        gap:9px;
    }
    .activities-heading-left h2{
        font-size:17px;
    }
    .activities-heading-icon{
        width:32px;
        height:32px;
    }
    .activities-heading-icon svg{
        width:30px;
        height:30px;
    }
    .activities-heading-note{
        display:none;
    }
    .calendar-card{
        overflow-x:auto;
    }
    .calendar-top{
        min-width:700px;
    }
    .calendar-weekdays,
    .calendar-grid{
        min-width:700px;
    }
    .literacy-card{
        grid-template-columns:1fr;
    }
    .literacy-image{
        height:220px;
    }
    .literacy-content{
        padding:22px;
    }
}

/*MONTH-WEEK-DAY*/
.week-view{
    grid-template-columns:repeat(7,1fr);
}

.week-day{
    min-height:280px;
    padding:10px;
}

.week-day-header{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    padding-bottom:10px;
    margin-bottom:8px;
    border-bottom:1px solid #eadfcb;
}

.week-day-header strong{
    font-size:10px;
    color:#075f49;
    text-transform:uppercase;
}

.week-day-header span{
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f2e5cc;
    color:#a94b1c;
    font-size:14px;
    font-weight:700;
}

.week-empty{
    text-align:center;
    color:#a89582;
    font-size:9px;
    margin-top:25px;
}

.day-view{
    display:block;
    min-height:350px;
}

.day-view-container{
    width:100%;
    min-height:350px;
    padding:25px;
    background:#fffaf0;
}

.day-view-heading{
    display:flex;
    align-items:center;
    gap:20px;
    padding-bottom:20px;
    border-bottom:1px solid #eadfcb;
    margin-bottom:18px;
}

.day-view-date{
    width:65px;
    height:65px;
    border-radius:12px;
    background:#075f49;
    color:white;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.day-view-date span{
    font-size:8px;
    text-transform:uppercase;
}

.day-view-date strong{
    font-family:"Libre Baskerville",serif;
    font-size:25px;
    line-height:1;
}

.day-view-heading h3{
    font-family:"Libre Baskerville",serif;
    color:#a94b1c;
    font-size:18px;
}

.day-view-heading p{
    color:#6b5141;
    font-size:11px;
    margin-top:3px;
}

.day-event-card{
    display:flex;
    align-items:center;
    gap:20px;
    padding:15px 18px;
    margin-bottom:10px;
    border-radius:10px;
    background:#f7eddd;
    border-left:5px solid #075f49;
    cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease;
}

.day-event-card:hover{
    transform:translateX(4px);
    box-shadow:0 5px 15px rgba(70,40,15,.1);
}

.day-event-card.orange{
    border-left-color:#df7628;
}

.day-event-time{
    width:145px;
    color:#765440;
    font-size:10px;
    font-weight:700;
}

.day-event-info h3{
    color:#075f49;
    font-family:"Libre Baskerville",serif;
    font-size:13px;
    margin-bottom:5px;
}

.day-event-info p{
    display:flex;
    align-items:center;
    gap:5px;
    color:#806b5b;
    font-size:9px;
}

.day-event-info svg{
    width:12px;
    height:12px;
    color:#df7628;
}

.day-empty{
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:#9a8978;
}

.day-empty svg{
    width:38px;
    height:38px;
    color:#d3b77c;
}

.day-empty strong{
    font-family:"Libre Baskerville",serif;
    font-size:14px;
    color:#765440;
}

.day-empty span{
    font-size:10px;
}












/* POLICY PAGE */
.policy-page{
    background:#fffaf0;
    color:var(--text);
    position:relative;
    padding:0 0 50px;
}
.policy-hero{
    height:205px;
    position:relative;
    background-image:url("images/homepage-HERO-BG.png");
    background-size:cover;
    background-position:center center;
    overflow:hidden;
    display:flex;
    align-items:center;
}
.policy-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(116,45,11,.97) 0%,rgba(142,58,15,.91) 32%,rgba(119,46,11,.58) 58%,rgba(72,30,10,.18) 100%);
}
.policy-hero-content{
    position:relative;
    z-index:3;
    width:560px;
    margin-left:max(calc((100vw - 1320px)/2 + 40px),80px);
    text-align:center;
}
.policy-hero-content h1{
    font-family:"Libre Baskerville",serif;
    font-size:51px;
    line-height:1;
    letter-spacing:1px;
    color:#fffaf0;
    margin:0;
}
.policy-hero-line{
    width:400px;
    height:3px;
    margin:13px auto 9px;
    background:linear-gradient(90deg,#f0bd4e 0%,#df7628 50%,#5c987d 100%);
}
.policy-hero-icon{
    width:35px;
    height:35px;
    color:#f1bd51;
    stroke-width:1.5;
}
.policy-hero-decoration{
    position:absolute;
    z-index:2;
    left:-100px;
    bottom:-130px;
    width:390px;
    height:290px;
    border:16px solid rgba(231,119,41,.9);
    border-radius:50%;
    transform:rotate(15deg);
}
.policy-hero-decoration::before{
    content:"";
    position:absolute;
    inset:13px;
    border:9px solid rgba(247,163,70,.85);
    border-radius:50%;
}
.policy-container{
    max-width:1120px;
    margin:-1px auto 0;
    padding:0 25px;
    position:relative;
    z-index:5;
}
.policy-intro{
    min-height:86px;
    margin-top:25px;
    margin-bottom:17px;
    padding:14px 25px;
    display:flex;
    align-items:center;
    gap:17px;
    border:1px solid #eadfcb;
    border-radius:11px;
    background:linear-gradient(105deg,#fffdf7,#f7efdf);
    box-shadow:0 3px 12px rgba(80,49,25,.06);
}
.policy-intro-icon{
    width:48px;
    height:48px;
    min-width:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#075f49;
    border:1px solid rgba(7,95,73,.16);
    border-radius:50%;
    background:#f2e7ce;
}
.policy-intro-icon svg{
    width:27px;
    height:27px;
    stroke-width:1.7;
}
.policy-intro h2{
    font-family:"Libre Baskerville",serif;
    font-size:20px;
    color:#075f49;
    margin-bottom:4px;
}
.policy-intro p{
    font-family:"Libre Baskerville",serif;
    font-size:11px;
    font-style:italic;
    color:#8a4a25;
}

/*PREMIUM POLICY CARDS*/
.policy-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

/* CARD */
.policy-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(171,139,91,.24);
    border-radius:16px;
    background:
        linear-gradient(135deg,
            rgba(255,255,255,.96) 0%,
            rgba(255,252,244,.98) 48%,
            rgba(247,239,222,.96) 100%);
    box-shadow:
        0 2px 4px rgba(70,45,20,.035),
        0 8px 24px rgba(70,45,20,.055);
    transition:
        transform .35s cubic-bezier(.22,.61,.36,1),
        box-shadow .35s ease,
        border-color .35s ease,
        background .35s ease;
}

/* subtle top highlight */
.policy-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:2px;
    opacity:0;
    background:linear-gradient(
        90deg,
        #075f49,
        #d6a13b,
        #075f49
    );
    transition:opacity .35s ease;
}

/* soft decorative glow */
.policy-card::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-100px;
    top:-100px;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(214,161,59,.10) 0%,
        rgba(214,161,59,0) 70%
    );
    pointer-events:none;
    transition:transform .5s ease;
}

.policy-card:hover{
    transform:translateY(-2px);
    border-color:rgba(7,95,73,.28);
    box-shadow:
        0 5px 10px rgba(70,45,20,.045),
        0 14px 32px rgba(70,45,20,.10);
}

.policy-card:hover::before{
    opacity:.8;
}

.policy-card:hover::after{
    transform:scale(1.35);
}

/* OPEN CARD */
.policy-card[open]{
    border-color:rgba(7,95,73,.26);
    background:
        linear-gradient(
            135deg,
            #fffdf8 0%,
            #faf4e7 55%,
            #f4ead5 100%
        );
    box-shadow:
        0 5px 12px rgba(70,45,20,.055),
        0 16px 34px rgba(70,45,20,.09);
}

.policy-card[open]::before{
    opacity:1;
}

.policy-card[open]::after{
    transform:scale(1.25);
}

.policy-card summary{
    position:relative;
    z-index:2;
    min-height:76px;
    padding:0 22px 0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
    list-style:none;
    user-select:none;
    transition:
        background .3s ease,
        padding .3s ease;
}

.policy-card summary::-webkit-details-marker{
    display:none;
}

.policy-card summary::marker{
    display:none;
}

.policy-card summary:hover{
    background:rgba(255,255,255,.30);
}


/* TITLE GROUP */
.policy-card-title{
    display:flex;
    align-items:center;
    gap:15px;
    min-width:0;
}

.policy-card-icon{
    position:relative;
    width:46px;
    height:46px;
    min-width:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    color:#075f49;
    background:
        linear-gradient(
            145deg,
            #fffaf0 0%,
            #efe3c8 100%
        );
    border:1px solid rgba(171,139,91,.27);
    box-shadow:
        0 3px 8px rgba(70,45,20,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
    transition:
        color .35s ease,
        background .35s ease,
        border-color .35s ease,
        transform .35s cubic-bezier(.22,.61,.36,1),
        box-shadow .35s ease;
}

/* tiny inner highlight */
.policy-card-icon::after{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.45);
    pointer-events:none;
}

.policy-card-icon svg{
    position:relative;
    z-index:2;
    width:22px;
    height:22px;
    stroke-width:1.7;
}

.policy-card:hover .policy-card-icon{
    transform:translateY(-1px);
    border-color:rgba(7,95,73,.25);
    box-shadow:
        0 5px 12px rgba(70,45,20,.10),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.policy-card[open] .policy-card-icon{
    color:#fffaf0;
    background:
        linear-gradient(
            145deg,
            #08735a 0%,
            #07523f 100%
        );
    border-color:#075f49;
    box-shadow:
        0 5px 12px rgba(7,95,73,.22),
        inset 0 1px 0 rgba(255,255,255,.18);
}

.policy-card-title h2{
    font-family:"Libre Baskerville",serif;
    font-size:14px;
    line-height:1.3;
    color:#075f49;
    letter-spacing:.25px;
    transition:
        color .3s ease,
        letter-spacing .3s ease;
}

.policy-card:hover .policy-card-title h2{
    letter-spacing:.35px;
}

.policy-card[open] .policy-card-title h2{
    color:#075f49;
}

.policy-chevron{
    width:34px;
    height:34px;
    min-width:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#527064;
    border:1px solid rgba(82,112,100,.13);
    border-radius:50%;
    background:rgba(255,255,255,.42);
    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .35s ease;
}

.policy-chevron svg{
    width:17px;
    height:17px;
    stroke-width:1.8;
    transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

.policy-card:not([open]) .policy-chevron svg{
    transform:rotate(0deg);
}

.policy-card[open] .policy-chevron svg{
    transform:rotate(180deg);
}

.policy-card:hover .policy-chevron{
    color:#075f49;
    background:#fffaf0;
    border-color:rgba(7,95,73,.20);
}

.policy-card[open] .policy-chevron{
    color:#fffaf0;
    background:#075f49;
    border-color:#075f49;
}

.policy-card-content{
    position:relative;
    z-index:2;
    margin:0 10px 10px;
    padding:20px 48px 21px 58px;
    border-radius:11px;
    background:
        linear-gradient(
            135deg,
            rgba(247,239,222,.78),
            rgba(241,230,207,.52)
        );
    border:1px solid rgba(202,180,139,.18);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.65),
        0 2px 6px rgba(70,45,20,.025);
    animation:policyReveal .35s ease both;
}

/* decorative mark */
.policy-card-content::after{
    content:"";
    position:absolute;
    right:20px;
    bottom:14px;
    width:56px;
    height:56px;
    border:1px solid rgba(7,95,73,.16);
    border-radius:50%;
    box-sizing:border-box;
    opacity:.55;
    pointer-events:none;
}

.policy-card-content::before{
    content:"";
    position:absolute;
    right:25px;
    bottom:19px;
    width:46px;
    height:46px;
    border:1px solid rgba(134, 117, 83, 0.589);
    border-radius:50%;
    box-sizing:border-box;
    opacity:.55;
    pointer-events:none;
}



@keyframes policyReveal{
    from{
        opacity:0;
        transform:translateY(-5px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/*CONTENT TYPOGRAPHY*/
.policy-card-content p{
    position:relative;
    z-index:2;
    margin:0 0 12px;
    color:#59483b;
    font-size:12px;
    line-height:1.7;
    letter-spacing:.05px;
}

.policy-card-content p:last-child{
    margin-bottom:0;
}

.policy-card-content ol{
    position:relative;
    z-index:2;
    margin:7px 0 0;
    padding-left:21px;
}

.policy-card-content li{
    padding-left:5px;
    margin-bottom:7px;
    color:#496052;
    font-size:11px;
    line-height:1.65;
}

.policy-card-content li:last-child{
    margin-bottom:0;
}

.policy-card-content li::marker{
    color:#b4873d;
    font-weight:700;
}

.policy-card-content strong{
    color:#075f49;
    font-weight:700;
}


/*OPEN/CLOSED VISUAL DIFFERENCE=*/
.policy-card:not([open]) summary{
    background:rgba(255,255,255,.18);
}

.policy-card[open] summary{
    background:
        linear-gradient(
            90deg,
            rgba(7,95,73,.025),
            rgba(214,161,59,.035)
        );
}

/* MOBILE */
@media(max-width:700px){
    .policy-list{
        gap:11px;
    }
    .policy-card{
        border-radius:13px;
    }
    .policy-card summary{
        min-height:68px;
        padding:0 13px 0 11px;
    }
    .policy-card-title{
        gap:11px;
    }
    .policy-card-icon{
        width:39px;
        height:39px;
        min-width:39px;
        border-radius:11px;
    }
    .policy-card-icon svg{
        width:19px;
        height:19px;
    }
    .policy-card-title h2{
        font-size:11.5px;
        line-height:1.35;
    }
    .policy-chevron{
        width:29px;
        height:29px;
        min-width:29px;
    }
    .policy-chevron svg{
        width:15px;
        height:15px;
    }
    .policy-card-content{
        margin:0 7px 7px;
        padding:
            16px
            18px
            18px
            38px;
    }
    .policy-card-content::before{
        left:19px;
        top:17px;
        bottom:17px;
    }
    .policy-card-content p,
    .policy-card-content li{
        font-size:9.5px;
        line-height:1.65;
    }
    .policy-card-content ol{
        padding-left:18px;
    }
    .policy-card-content li{
        padding-left:3px;
        margin-bottom:6px;
    }
    .policy-card-content::after{
        right:7px;
        opacity:.18;
    }
}

/*ACCESSIBILITY / REDUCED MOTION*/
.policy-card summary:focus-visible{
    outline:2px solid #d6a13b;
    outline-offset:-3px;
    border-radius:13px;
}

@media(prefers-reduced-motion:reduce){

    .policy-card,
    .policy-card-icon,
    .policy-card-title h2,
    .policy-chevron,
    .policy-chevron svg{
        transition:none;
    }
    .policy-card-content{
        animation:none;
    }
}











/* LIBRARY GUIDES PAGE */
.libguides-hero{
    height:250px;
    position:relative;
    background-image:url("images/homepage-HERO-BG.png");
    background-size:cover;
    background-position:center center;
    overflow:hidden;
    display:flex;
    align-items:center;
}

.libguides-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(116,45,11,.97) 0%,
            rgba(142,58,15,.91) 25%,
            rgba(119,46,11,.64) 48%,
            rgba(72,30,10,.18) 78%,
            rgba(72,30,10,.05) 100%
        );
}

.libguides-hero-content{
    position:relative;
    z-index:4;
    width:520px;
    margin-left:max(calc((100vw - 1320px)/2 + 55px),80px);
    text-align:left;
    color:#fffaf0;
}

.libguides-hero-label{
    font-family:"Libre Baskerville",serif;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    color:#f4c96c;
    margin-bottom:2px;
}

.libguides-hero-content h1{
    font-family:"Libre Baskerville",serif;
    font-size:55px;
    line-height:.98;
    letter-spacing:1px;
    color:#fffaf0;
    margin:0;
}

.libguides-hero-line{
    width:365px;
    height:3px;
    margin:12px 0 8px;
    background:
        linear-gradient(
            90deg,
            #f0bd4e 0%,
            #df7628 50%,
            #5c987d 100%
        );
}

.libguides-hero-content h2{
    font-family:"Libre Baskerville",serif;
    font-size:18px;
    font-style:italic;
    font-weight:400;
    color:#f8e7c7;
    margin:0 0 8px;
}

.libguides-hero-content p{
    max-width:500px;
    font-size:10.5px;
    line-height:1.45;
    color:#fff1df;
    margin:0;
}

.libguides-hero-decoration{
    position:absolute;
    z-index:3;
    left:-125px;
    bottom:-175px;
    width:470px;
    height:350px;
    border:18px solid rgba(231,119,41,.92);
    border-radius:50%;
    transform:rotate(15deg);
}

.libguides-hero-decoration::before{
    content:"";
    position:absolute;
    inset:15px;
    border:10px solid rgba(247,163,70,.88);
    border-radius:50%;
}

.libguides-hero-decoration::after{
    content:"";
    position:absolute;
    inset:31px;
    border:5px solid rgba(11,101,76,.85);
    border-radius:50%;
}

/* LIBRARY GUIDES INTRODUCTION */
.libguides-intro{
    position:relative;
    background:#fffaf0;
    padding:38px 0 36px;
}

.libguides-intro-grid{
    display:grid;
    grid-template-columns:330px 1fr;
    align-items:center;
    gap:70px;
    max-width:1050px;
    margin:0 auto;
}

.libguides-intro-image{
    display:flex;
    align-items:center;
    justify-content:center;
}

.libguides-intro-image img{
    display:block;
    width:100%;
    max-width:300px;
    height:auto;
    object-fit:contain;
}

.libguides-intro-content{
    max-width:700px;
    padding-right:20px;
}

.libguides-intro-content p{
    margin:0;
    color:#5f4b3d;
    font-size:13px;
    line-height:1.8;
    text-align:left;
}

/* LIBGUIDES CONTAINER */
.libguides-container{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding:0 42px;
}

/* PROGRAM AREAS */
.program-section{
    position:relative;
    background:#fffaf0;
    padding:25px 0 27px;
}

.libguides-section-heading{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:17px;
}

.libguides-heading-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#075f49;
}

.libguides-heading-icon svg{
    width:35px;
    height:35px;
    stroke-width:1.7;
}

.libguides-section-heading h2{
    font-family:"Libre Baskerville",serif;
    font-size:19px;
    line-height:1;
    color:#075f49;
    white-space:nowrap;
}

.libguides-section-heading h2 span{
    color:#a64c20;
}

.heading-line{
    height:1px;
    width:180px;
    background:#c89b68;
    margin-left:2px;
}

.heading-leaf{
    margin-left:auto;
    width:38px;
    height:38px;
    color:#d6ae69;
    opacity:.7;
    transform:rotate(-18deg);
    stroke-width:1;
}

.program-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.program-card{
    min-height:155px;
    position:relative;
    overflow:hidden;
    border:1px solid #e6dcc8;
    border-radius:9px;
    background:
        linear-gradient(
            145deg,
            #fffdf8,
            #f7efdf
        );
    padding:12px;
    box-shadow:
        0 2px 6px rgba(70,45,20,.05),
        0 7px 16px rgba(70,45,20,.035);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.program-card:hover{
    transform:translateY(-5px);
    border-color:rgba(159,72,27,.25);
    box-shadow:
        0 5px 12px rgba(70,45,20,.08),
        0 15px 28px rgba(70,45,20,.10);
}

.program-icon{
    position:absolute;
    top:10px;
    left:12px;
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#a94b1c;
    color:#fff8e7;
    box-shadow:0 3px 7px rgba(120,50,15,.18);
    z-index:3;
}

.program-icon svg{
    width:19px;
    height:19px;
    stroke-width:1.8;
}

.program-card h3{
    position:relative;
    z-index:2;
    min-height:39px;
    margin:3px 0 7px 47px;
    font-family:"Libre Baskerville",serif;
    font-size:12px;
    line-height:1.25;
    color:#075f49;
}

.program-image{
    width:100%;
    height:82px;
    border-radius:6px;
    overflow:hidden;
    position:relative;
    background-size:cover;
    background-position:center;
}

.computer-image{
    background-image:url("images/LibGuides/BSCE.png");
    background-position:center;
}

.industrial-image{
    background-image:url("images/LibGuides/BSIE.png");
    background-position:center;
}

.electrical-image{
    background-image:url("images/LibGuides/BSEE.png");
    background-position:center;
}

.electronics-image{
    background-image:url("images/LibGuides/BSEE2.png");
    background-position:center;
}

/* EXPLORE SECTION */
.guides-section{
    position:relative;
    background:#f5eddd;
    padding:20px 0 42px;
}

.guides-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:13px;
}

.guides-heading-left{
    display:flex;
    align-items:center;
    gap:13px;
}

.guides-heading-icon{
    width:39px;
    height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#075f49;
}

.guides-heading-icon svg{
    width:35px;
    height:35px;
    stroke-width:1.8;
}

.guides-heading h2{
    font-family:"Libre Baskerville",serif;
    font-size:20px;
    color:#075f49;
}

.guides-decoration{
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#d6ae69;
    opacity:.65;
}

.guides-decoration svg{
    width:39px;
    height:39px;
    stroke-width:1;
    transform:rotate(-20deg);
}


/* SEARCH / FILTER */
.guide-controls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-bottom:8px;
}

.guide-search{
    width:250px;
    height:31px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    background:#fffdf8;
    border:1px solid #e2d7c2;
    border-radius:20px;
}

.guide-search svg{
    width:13px;
    height:13px;
    color:#765b45;
    stroke-width:1.8;
}

.guide-search input{
    width:100%;
    height:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#4b3528;
    font-size:12px;
}

.guide-search input::placeholder{
    color:#9c8d7c;
}

.filter-button{
    height:31px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 12px;
    border:1px solid #dfd1b9;
    border-radius:20px;
    background:#fffdf8;
    color:#72543c;
    font-size:12px !important;
    cursor:pointer;
}

.filter-button svg{
    width:13px;
    height:13px;
}

.guide-filters{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:14px;
    min-height:27px;
}

.filter-chip{
    height:27px;
    padding:0 15px;
    border:1px solid #e0d6c3;
    border-radius:20px;
    background:#fdf9ef;
    color:#35251a;
    font-size:12px;
    cursor:pointer;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}

.filter-chip:hover{
    border-color:#c99461;
    color:#075f49;
}

.filter-chip.active{
    background:#075f49;
    border-color:#075f49;
    color:white;
}


/* GUIDE ACCORDION */
.guide-grid{
    display:flex;
    flex-direction:column;
    gap:13px;
}

.guide-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(190,166,129,.38);
    border-radius:16px;
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.92) 0%,
            rgba(255,252,245,.96) 45%,
            rgba(247,238,221,.92) 100%
        );
    box-shadow:
        0 2px 4px rgba(68,43,20,.025),
        0 7px 18px rgba(68,43,20,.045),
        inset 0 1px 0 rgba(255,255,255,.8);
    transition:
        transform .35s cubic-bezier(.2,.75,.25,1),
        border-color .35s ease,
        box-shadow .35s ease,
        background .35s ease;
}

/* subtle premium highlight across the top */
.guide-card::before{
    content:"";
    position:absolute;
    top:0;
    left:28px;
    right:28px;
    height:1px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(200,155,104,.55),
            transparent
        );
    opacity:.45;
    transition:
        opacity .35s ease,
        left .35s ease,
        right .35s ease;
}

/* tiny accent on the left */
.guide-card::after{
    content:"";
    position:absolute;
    left:0;
    top:20px;
    bottom:20px;
    width:3px;
    border-radius:0 4px 4px 0;
    background:
        linear-gradient(
            180deg,
            #c07131,
            #075f49
        );
    opacity:0;
    transform:scaleY(.55);
    transition:
        opacity .35s ease,
        transform .35s ease;
}

.guide-card:hover{
    transform:translateY(-3px);
    border-color:rgba(164,101,55,.35);
    background:
        linear-gradient(
            135deg,
            #fffefb 0%,
            #fffaf0 52%,
            #f7eddb 100%
        );
    box-shadow:
        0 5px 10px rgba(68,43,20,.045),
        0 14px 30px rgba(68,43,20,.085),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.guide-card:hover::before{
    left:18px;
    right:18px;
    opacity:.9;
}

.guide-card:hover::after{
    opacity:.55;
    transform:scaleY(.75);
}

.guide-card.open{
    border-color:rgba(7,95,73,.28);
    background:
        linear-gradient(
            135deg,
            #fffefa 0%,
            #fffaf0 42%,
            #f5ead6 100%
        );
    box-shadow:
        0 4px 10px rgba(68,43,20,.055),
        0 18px 38px rgba(68,43,20,.105),
        0 0 0 1px rgba(7,95,73,.035),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.guide-card.open::before{
    left:18px;
    right:18px;
    opacity:1;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(7,95,73,.35),
            rgba(192,113,49,.45),
            transparent
        );
}

.guide-card.open::after{
    opacity:1;
    transform:scaleY(1);
}

.guide-card.hidden{
    display:none;
}

.guide-card-header{
    width:100%;
    width:100%;
    min-height:78px;
    display:flex;
    align-items:center;
    position:relative;
    padding:13px 65px 13px 80px;
    border:0;
    background:transparent;
    color:inherit;
    text-align:left;
    cursor:pointer;
    font-family:inherit;
    transition: background .3s ease;
}

.guide-card-header:hover{
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.25),
            transparent 65%
        );
}

.guide-card-header:focus-visible{
    outline:2px solid #075f49;
    outline-offset:-3px;
    border-radius:16px;
}

.guide-card-icon{
    width:49px;
    height:49px;
    min-width:49px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    border-radius:15px;
    background:
        linear-gradient(
            145deg,
            #b85825,
            #923d17
        );
    color:#fff8e9;
    box-shadow:
        0 4px 8px rgba(120,50,15,.14),
        0 8px 16px rgba(120,50,15,.08),
        inset 0 1px 0 rgba(255,255,255,.22);
    transition:
        transform .35s cubic-bezier(.2,.75,.25,1),
        border-radius .35s ease,
        box-shadow .35s ease,
        background .35s ease;
}

.guide-card:hover .guide-card-icon{
    transform:translateY(-50%) scale(1.045);
    box-shadow:
        0 5px 10px rgba(120,50,15,.18),
        0 9px 18px rgba(120,50,15,.09),
        inset 0 1px 0 rgba(255,255,255,.25);
}

.guide-card.open .guide-card-icon{
    transform:translateY(-50%) scale(1.04);
    border-radius:13px;
    background:
        linear-gradient(
            145deg,
            #0b7258,
            #07533f
        );
    box-shadow:
        0 5px 12px rgba(7,95,73,.20),
        0 10px 22px rgba(7,95,73,.10),
        inset 0 1px 0 rgba(255,255,255,.22);
}

.guide-card-icon svg{
    width:21px;
    height:21px;
    stroke-width:1.7;
}

.guide-card-icon span{
    font-family:Georgia,serif;
    font-size:23px;
    font-weight:700;
    line-height:1;
}

.guide-card-icon small{
    font-family:Arial,sans-serif;
    font-size:10px;
    position:absolute;
    bottom:9px;
    right:7px;
    opacity:.9;
}

.chemistry-icon{
    font-size:24px;
}

.physics-icon{
    font-size:22px;
}

.guide-card-title{
    display:flex;
    flex-direction:column;
    justify-content:center;
    position:relative;
    z-index:2;
}

.guide-card-title h3{
    margin:0;
    color:#075f49;
    font-family:"Libre Baskerville",serif;
    font-size:15px;
    line-height:1.35;
    letter-spacing:-.15px;
    transition:color .3s ease, transform .3s ease;
}

.guide-card:hover .guide-card-title h3{
    color:#064e3d;
    transform:translateX(2px);
}

.guide-card.open .guide-card-title h3{
    color:#064f3d;
}

.guide-card-title p{
    margin:4px 0 0;
    color:#9a4a20;
    font-size:10px;
    font-weight:600;
    letter-spacing:.15px;
    transition: color .3s ease;
}

.guide-card.open .guide-card-title p{
    color:#a65b2c;
}

/*CHEVRON BUTTON*/
.guide-card-toggle{
    width:37px;
    height:37px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    border:1px solid rgba(205,190,166,.65);
    border-radius:50%;
    background:
        linear-gradient(
            145deg,
            #fffefa,
            #f6eddd
        );
    color:#075f49;
    box-shadow:
        0 2px 5px rgba(68,43,20,.055),
        inset 0 1px 0 rgba(255,255,255,.9);
    transition:
        background .35s ease,
        color .35s ease,
        transform .4s cubic-bezier(.2,.75,.25,1),
        border-color .35s ease,
        box-shadow .35s ease;
}

.guide-card-toggle svg{
    width:17px;
    height:17px;
    stroke-width:1.7;
    transition:transform .3s ease;
}

.guide-card:hover .guide-card-toggle{
    border-color:rgba(7,95,73,.25);
    box-shadow:
        0 3px 7px rgba(68,43,20,.08),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.guide-card.open .guide-card-toggle{
    background:
        linear-gradient(
            145deg,
            #0a7257,
            #07533f
        );
    border-color:#075f49;
    color:#fff;
    transform:
        translateY(-50%)
        rotate(180deg);
  box-shadow:
        0 4px 10px rgba(7,95,73,.20),
        inset 0 1px 0 rgba(255,255,255,.18);
}

/*ACCORDION CONTENT */
.guide-card-description{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .5s cubic-bezier(.2,.75,.25,1);
}

.guide-card.open .guide-card-description{
    grid-template-rows:1fr;
}

.guide-card-description > .guide-card-content{
    min-height:0;
    overflow:hidden;
    padding:0 80px;
    opacity:0;
    transform:translateY(-5px);
    transition:
        padding .45s cubic-bezier(.2,.75,.25,1),
        opacity .3s ease,
        transform .4s ease;
}

.guide-card.open .guide-card-description > .guide-card-content{
    padding:0 80px 24px;
    opacity:1;
    transform:translateY(0);
}

/*CONTENT DIVIDER*/
.guide-card-content h4{
    position:relative;
    margin:0 0 12px;
    padding-top:16px;
    color:#315344;
    font-size:10px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
    border-top:1px solid rgba(205,190,166,.48);
}

.guide-card-content h4::before{
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    width:42px;
    height:2px;
    border-radius:2px;
    background:
        linear-gradient(
            90deg,
            #c07131,
            #075f49
        );
}

/*RESOURCE LIST*/
.guide-card-content ul{
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.guide-card-content li{
    position:relative;
    margin:0;
    padding:8px 11px 8px 22px;
    color:#625043;
    font-size:11px;
    line-height:1.5;
    border:1px solid rgba(222,210,190,.42);
    border-radius:7px;
    background:rgba(255,255,255,.30);
    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.guide-card-content li:hover{
    background:rgba(255,255,255,.62);
    border-color:rgba(192,113,49,.20);
    transform:translateX(2px);
}

.guide-card-content li::before{
    content:"";
    position:absolute;
    left:10px;
    top:13px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#c07131;
    box-shadow:0 0 0 3px rgba(192,113,49,.08);
}

.guide-resource-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:8px;
    color:#9f481b;
    font-size:8px;
    font-weight:700;
    text-decoration:none;
    transition:color .25s ease;
}

.guide-resource-link span{
    font-size:14px;
    line-height:1;
    transition:transform .25s ease;
}

.guide-resource-link:hover{
    color:#075f49;
}

.guide-resource-link:hover span{
    transform:translateX(3px);
}

.guide-card.hidden{
    display:none;
}

@media(prefers-reduced-motion:reduce){
    .guide-card,
    .guide-card::before,
    .guide-card::after,
    .guide-card-icon,
    .guide-card-toggle,
    .guide-card-description,
    .guide-card-description > .guide-card-content,
    .guide-card-content li{
        transition:none !important;
    }
}


.no-results{
    display:none;
    text-align:center;
    padding:55px 20px;
    color:#806c5b;
}

.no-results.show{
    display:block;
}

.no-results svg{
    width:40px;
    height:40px;
    color:#c8a36a;
    margin-bottom:10px;
}

.no-results h3{
    font-family:"Libre Baskerville",serif;
    color:#075f49;
    font-size:16px;
    margin-bottom:4px;
}

.no-results p{
    font-size:10px;
}

@media(max-width:1100px){
    .libguides-container{
        padding:0 25px;
    }
    .libguides-hero-content{
        margin-left:55px;
    }
    .program-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:700px){
    .libguides-hero{
        height:520px;
        align-items:flex-start;
    }
    .libguides-hero-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(116,45,11,.96),
                rgba(116,45,11,.78)
            );
    }
    .libguides-hero-content{
        width:auto;
        margin:0;
        padding:65px 25px 30px;
        text-align:center;
    }
    .libguides-hero-label{
        font-size:11px;
    }
    .libguides-hero-content h1{
        font-size:48px;
    }
    .libguides-hero-line{
        width:260px;
        height:2px;
        margin:10px auto 8px;
    }
    .libguides-hero-content h2{
        font-size:16px;
    }
    .libguides-hero-content p{
        max-width:100%;
        font-size:9.5px;
        line-height:1.5;
    }
    .libguides-hero-decoration{
        left:-155px;
        bottom:-140px;
        width:390px;
        height:290px;
    }
    .libguides-container{
        padding:0 17px;
    }
    .program-section{
        padding-top:22px;
    }
    .libguides-section-heading{
        gap:8px;
    }
    .libguides-section-heading h2{
        font-size:14px;
    }
    .heading-line{
        display:none;
    }
    .heading-leaf{
        width:30px;
        height:30px;
    }
    .program-grid{
        grid-template-columns:1fr;
        gap:11px;
    }
    .program-card{
        min-height:145px;
    }
    .program-image{
        height:78px;
    }
    .guides-section{
        padding-top:22px;
    }
    .guides-heading h2{
        font-size:15px;
    }
    .guide-controls{
        justify-content:stretch;
    }
    .guide-search{
        flex:1;
        width:auto;
    }
    .guide-filters{
        display:none;
        flex-wrap:wrap;
    }
    .guide-filters.show{
        display:flex;
    }
    .guide-grid{
        gap:10px;
    }
    .guide-card-header{
        min-height:68px;
        padding:11px 52px 11px 67px;
    }
    .guide-card-icon{
        width:42px;
        height:42px;
        min-width:42px;
        left:13px;
    }
    .guide-card-title h3{
        font-size:12px;
    }
    .guide-card-title p{
        font-size:8px;
    }
    .guide-card-toggle{
        width:32px;
        height:32px;
        right:12px;
    }
    .guide-card-toggle svg{
        width:15px;
        height:15px;
    }
    .guide-card-description > .guide-card-content{
        padding-left:67px;
        padding-right:52px;
    }
    .guide-card.open .guide-card-description > .guide-card-content{
        padding:0 52px 18px 67px;
    }
    .guide-card-content li{
        font-size:7.8px;
    }

        .libguides-intro{
        padding:30px 0 32px;
    }
    .libguides-intro-grid{
        grid-template-columns:1fr;
        gap:22px;
        text-align:center;
    }
    .libguides-intro-image img{
        max-width:250px;
    }
    .libguides-intro-content{
        max-width:100%;
    }
    .libguides-intro-content p{
        font-size:10.5px;
        line-height:1.65;
        text-align:center;
    }
}







/* CONTACT PAGE */
.contact-page{
    position:relative;
    background:#fffaf0;
    overflow:hidden;
    color:var(--text);
}
.contact-hero{
    height:210px;
    position:relative;
    background-image:url("images/homepage-HERO-BG.png");
    background-size:cover;
    background-position:center 52%;
    overflow:hidden;
    display:flex;
    align-items:center;
}
.contact-hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(111,43,10,.94) 0%,rgba(139,54,13,.82) 30%,rgba(126,51,15,.42) 57%,rgba(66,28,10,.10) 100%);
}
.contact-hero-decoration{
    position:absolute;
    left:-100px;
    bottom:-150px;
    width:390px;
    height:300px;
    border:17px solid rgba(226,116,40,.92);
    border-radius:50%;
    transform:rotate(14deg);
    z-index:2;
}
.contact-hero-decoration::before{
    content:"";
    position:absolute;
    inset:13px;
    border:9px solid rgba(249,177,76,.92);
    border-radius:50%;
}
.contact-hero-content{
    position:relative;
    z-index:4;
    width:520px;
    margin-left:max(calc((100vw - 1320px)/2 + 55px),100px);
    text-align:center;
}
.contact-hero-content h1{
    font-family:"Libre Baskerville",serif;
    font-size:52px;
    line-height:1;
    letter-spacing:1px;
    color:#fffaf0;
    margin:0;
}
.contact-hero-line{
    width:320px;
    height:3px;
    margin:13px auto 8px;
    background:linear-gradient(90deg,#f0bd4e,#df7628,#e9bd61);
}
.contact-hero-icon{
    width:37px;
    height:37px;
    color:#f1c45d;
    stroke-width:1.6;
}
.contact-container{
    position:relative;
    z-index:5;
    max-width:1400px;
    margin:0 auto;
    padding:28px 38px 30px;
}
.contact-container::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:radial-gradient(rgba(155,109,57,.07) .7px,transparent .7px);
    background-size:8px 8px;
    opacity:.45;
}
.contact-heading{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:20px;
}
.contact-heading-icon{
    width:47px;
    height:47px;
    border-radius:50%;
    background:#075f49;
    color:#fffaf0;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 5px 14px rgba(7,95,73,.18);
}
.contact-heading-icon svg{
    width:27px;
    height:27px;
    stroke-width:1.8;
}
.contact-heading h2{
    font-family:"Libre Baskerville",serif;
    font-size:31px;
    color:#075f49;
    white-space:nowrap;
}
.contact-heading>span{
    flex:1;
    height:1px;
    background:linear-gradient(90deg,#d78232,#dbcdb7);
    margin-left:2px;
}
.contact-layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:350px 1fr;
    gap:22px;
    align-items:stretch;
}
.contact-info-card{
    min-height:410px;
    position:relative;
    overflow:hidden;
    padding:28px 22px 25px;
    border:1px solid rgba(181,145,82,.22);
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf8,#f7f0df);
    box-shadow:0 5px 18px rgba(74,43,19,.08),0 18px 35px rgba(74,43,19,.05);
}
.contact-card-decoration{
    position:absolute;
    left:-52px;
    bottom:-65px;
    width:180px;
    height:125px;
    border:2px solid rgba(181,119,44,.5);
    border-radius:50%;
    transform:rotate(20deg);
}
.contact-card-decoration::before{
    content:"";
    position:absolute;
    inset:13px;
    border:2px solid rgba(181,119,44,.32);
    border-radius:50%;
}
.contact-intro{
    position:relative;
    z-index:2;
    text-align:center;
    margin-bottom:25px;
}
.contact-intro h2{
    font-family:"Libre Baskerville",serif;
    font-size:25px;
    color:#075f49;
    margin-bottom:9px;
}
.contact-intro p{
    max-width:270px;
    margin:auto;
    font-size:12px;
    line-height:1.5;
    color:#32685b;
}
.contact-method{
    position:relative;
    z-index:3;
    min-height:78px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:11px 12px;
    margin-bottom:18px;
    border:1px solid rgba(180,145,80,.18);
    border-radius:12px;
    background:rgba(255,252,244,.82);
    box-shadow:0 3px 9px rgba(70,40,15,.05);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.contact-method:hover{
    transform:translateY(-4px);
    border-color:rgba(159,72,27,.25);
    box-shadow:0 8px 18px rgba(70,40,15,.10);
}
.contact-method-icon{
    width:55px;
    height:55px;
    flex-shrink:0;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#a94d1d;
    color:white;
}
.contact-method-icon svg{
    width:27px;
    height:27px;
    stroke-width:1.8;
}
.facebook-icon{
    background:#a94d1d;
}
.contact-method-text{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.contact-method-text strong{
    font-family:"Libre Baskerville",serif;
    font-size:13px;
    color:#075f49;
}
.contact-method-text span{
    font-size:10px;
    line-height:1.3;
    color:#52786e;
    word-break:break-word;
}
.contact-method-arrow{
    width:18px;
    height:18px;
    color:#64766e;
    flex-shrink:0;
}
.contact-card-bottom{
    position:absolute;
    right:25px;
    bottom:15px;
    color:#b79a67;
    opacity:.48;
}
.contact-card-bottom svg{
    width:75px;
    height:75px;
    stroke-width:1;
}
.campus-library-card{
    min-height:410px;
    position:relative;
    padding:18px 20px 20px;
    border:1px solid rgba(181,145,82,.22);
    border-radius:16px;
    background:linear-gradient(145deg,#fffdf8,#f8f1df);
    box-shadow:0 5px 18px rgba(74,43,19,.07),0 18px 35px rgba(74,43,19,.04);
}
.campus-heading{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:18px;
}
.campus-heading-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:#075f49;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.campus-heading-icon svg{
    width:27px;
    height:27px;
    stroke-width:1.9;
}
.campus-heading>div:nth-child(2){
    min-width:280px;
}
.campus-heading h2{
    font-family:"Libre Baskerville",serif;
    font-size:21px;
    color:#075f49;
    margin-bottom:3px;
}
.campus-heading p{
    font-size:11px;
    color:#347063;
}
.campus-heading>span{
    flex:1;
    height:1px;
    background:linear-gradient(90deg,#d78232,#ddd0b8);
    margin-left:5px;
}
.campus-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.campus-card{
    position:relative;
    min-height:130px;
    display:grid;
    grid-template-columns:125px 1fr;
    gap:16px;
    padding:12px;
    overflow:hidden;
    border:1px solid rgba(181,145,82,.18);
    border-radius:13px;
    background:rgba(255,252,244,.83);
    box-shadow:0 3px 10px rgba(70,40,15,.05);
    transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .3s ease;
}
.campus-card:hover{
    transform:translateY(-5px);
    border-color:rgba(159,72,27,.28);
    box-shadow:0 10px 24px rgba(70,40,15,.10);
}
.campus-image{
    position:relative;
    height:105px;
    overflow:hidden;
    border-radius:10px;
}
.campus-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .5s ease;
}
.campus-card:hover .campus-image img{
    transform:scale(1.07);
}
.campus-pin{
    position:absolute;
    left:8px;
    bottom:7px;
    width:35px;
    height:35px;
    border-radius:50%;
    background:#075f49;
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    border:3px solid rgba(255,250,240,.9);
}
.campus-pin svg{
    width:18px;
    height:18px;
    stroke-width:2;
}
.campus-details{
    min-width:0;
    padding:5px 4px 4px 0;
}
.campus-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
}
.campus-title-row h3{
    font-family:"Libre Baskerville",serif;
    font-size:13px;
    line-height:1.3;
    color:#075f49;
}
.campus-title-row>svg{
    width:22px;
    height:22px;
    flex-shrink:0;
    color:#b24e1b;
    stroke-width:1.8;
}
.campus-address{
    display:flex;
    align-items:flex-start;
    gap:7px;
    margin-top:11px;
}
.campus-address>svg{
    width:16px;
    height:16px;
    flex-shrink:0;
    color:#65736d;
    stroke-width:2.3;
}
.campus-address span{
    font-size:10px;
    line-height:1.5;
    color:#397064;
}
.campus-center-decoration{
    position:absolute;
    left:50%;
    top:54%;
    width:76px;
    height:76px;
    transform:translate(-50%,-50%);
    pointer-events:none;
    z-index:4;
}
.campus-center-decoration::before,
.campus-center-decoration::after{
    content:"";
    position:absolute;
    width:65px;
    height:65px;
    border:1px dashed rgba(221,150,42,.75);
    border-radius:50%;
}
.campus-center-decoration::before{
    left:-47px;
    top:-30px;
    border-right-color:transparent;
    border-bottom-color:transparent;
}
.campus-center-decoration::after{
    right:-47px;
    bottom:-30px;
    border-left-color:transparent;
    border-top-color:transparent;
}
.campus-center-icon{
    position:absolute;
    left:50%;
    top:50%;
    width:52px;
    height:52px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#a94d1d;
    color:#fff8e8;
    display:flex;
    align-items:center;
    justify-content:center;
    border:4px solid #fffaf0;
    box-shadow:0 5px 12px rgba(95,45,15,.18);
}
.campus-center-icon svg{
    width:25px;
    height:25px;
    stroke-width:1.7;
}
@media(max-width:1100px){
    .contact-layout{
        grid-template-columns:300px 1fr;
    }
    .campus-card{
        grid-template-columns:105px 1fr;
    }
    .campus-image{
        height:100px;
    }
}
@media(max-width:900px){
    .contact-hero-content{
        margin-left:45px;
    }
    .contact-container{
        padding:25px 20px 30px;
    }
    .contact-layout{
        grid-template-columns:1fr;
    }
    .contact-info-card{
        min-height:330px;
    }
    .campus-library-card{
        min-height:auto;
    }
    .campus-center-decoration{
        display:none;
    }
}
@media(max-width:700px){
    .contact-hero{
        height:330px;
        background-position:center;
    }
    .contact-hero-content{
        width:auto;
        margin:0;
        padding:25px;
    }
    .contact-hero-content h1{
        font-size:40px;
    }
    .contact-hero-line{
        width:250px;
    }
    .contact-heading h2{
        font-size:24px;
    }
    .contact-heading>span{
        display:none;
    }
    .campus-grid{
        grid-template-columns:1fr;
    }
    .campus-heading>span{
        display:none;
    }
    .campus-heading>div:nth-child(2){
        min-width:0;
    }
    .campus-heading h2{
        font-size:18px;
    }
    .campus-card{
        grid-template-columns:115px 1fr;
    }
}
@media(max-width:480px){
    .contact-container{
        padding:22px 14px 25px;
    }
    .contact-heading{
        gap:10px;
    }
    .contact-heading-icon{
        width:42px;
        height:42px;
    }
    .contact-heading h2{
        font-size:21px;
    }
    .campus-card{
        grid-template-columns:1fr;
    }
    .campus-image{
        height:150px;
    }
}

/* FACEBOOK CONTACT ICON */
.contact-method .contact-method-icon .fa-facebook-f{
    font-size:24px;
    color:white;
}

.contact-method:hover .contact-method-icon .fa-facebook-f{
    color:white;
}

/*CAMPUS LOCATION GMAPS*/
.campus-map-link{
    display:inline-flex;
    align-items:center;
    gap:15px;
    margin-top:12px;
    color:#1769aa;
    font-family:'DM Sans',sans-serif;
    font-size:12px;
    font-weight:600;
    text-decoration:none;
    transition:all .25s ease;
}

.campus-map-link svg{
    width:14px;
    height:14px;
    stroke-width:2;
}

.campus-map-link:hover{
    color:#0b4f82;
    text-decoration:underline;
    transform:translateX(2px);
}
