@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--brown:#6a3c26;--gold:#d4b58d;--ink:#171715;--muted:#65615c;--cream:#f4efe8;--navy:#153047}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.container{width:min(1150px,90%);margin:auto}.wide-container{width:min(1440px,94%);margin:auto}
h1,h2{font-family:'Playfair Display',Georgia,serif}.site-header{background:#fffcf9;position:relative;z-index:10}.nav-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-logo{display:flex;flex-direction:column;align-items:center;min-width:100px;color:#153047;line-height:1}.logo-mark{font-family:Georgia,serif;font-size:24px;line-height:20px;letter-spacing:-5px;padding-right:5px}.site-logo strong{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:5px}.site-logo small{font-size:7px;letter-spacing:3px;margin-top:4px}.site-nav{display:flex;align-items:center;gap:29px}.site-nav a{font-size:12px;color:#514c49;white-space:nowrap}.site-nav a:hover,.site-nav a.active{color:var(--brown)}.site-nav a.active:after{content:'';display:block;width:30px;border-bottom:1px solid var(--brown);margin-top:9px}.nav-cta{background:var(--brown);color:white;padding:16px 21px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}.menu-toggle{display:none;background:none;border:0;font-size:25px}
.hero{height:480px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center 55%;transition:background-image .25s}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,16,12,.91) 0%,rgba(24,16,12,.77) 34%,rgba(24,16,12,.2) 70%,rgba(24,16,12,.04) 100%)}.hero-content{position:relative;z-index:1;width:min(1440px,90%)}.hero-copy{max-width:560px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;color:#9e633c}.eyebrow.light{color:#e8c7a0}.eyebrow-line{display:inline-block;vertical-align:middle;width:64px;height:1px;background:currentColor;margin-left:18px;opacity:.75}.hero h1{font-size:clamp(34px,4.2vw,56px);line-height:1.16;margin:13px 0 13px;font-weight:500}.hero-description{font-size:14px;line-height:1.55;max-width:510px;margin:0}.hero-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:12px 22px;border-radius:5px;font-size:12px;font-weight:700}.button-brown{background:var(--brown);color:#fff}.button-brown:hover,.nav-cta:hover{background:#824b2f}.button-outline{color:#fff;border:1px solid #e5d8ce;background:rgba(0,0,0,.14)}.button-outline:hover{background:rgba(255,255,255,.15)}.hero-benefits{display:flex;gap:28px;margin-top:25px}.hero-benefits span{display:flex;align-items:center;gap:11px;font-size:11px;line-height:1.4}.benefit-icon{font-size:30px;font-weight:400;color:#e8c7a0}.hero-controls{position:absolute;z-index:2;right:5%;bottom:26px;display:flex;align-items:center;gap:65px}.hero-dots{display:flex;gap:8px}.hero-dot{border:1px solid #fff;background:transparent;border-radius:50%;width:9px;height:9px;padding:0}.hero-dot.active{background:#fff}.hero-arrows{display:flex;gap:10px}.hero-arrows button{width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#2c211a;font-size:27px;line-height:1}
.services-section{padding:26px 0 30px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-top h2{font-size:29px;margin:0 0 3px}.section-top p{font-size:13px;color:#5c5c5c;margin:0}.text-link{font-size:12px;color:var(--brown);font-weight:700}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.service-card{position:relative}.service-card>img{width:100%;height:194px;object-fit:cover;border-radius:4px;display:block}.service-icon{position:absolute;top:173px;left:6px;width:43px;height:43px;display:grid;place-items:center;background:var(--brown);border-radius:50%;border:2px solid #fff;color:white;font-size:22px}.service-body{padding:12px 4px 0 53px}.service-body h3{font-size:14px;margin:0 0 6px}.service-body p{font-size:11px;line-height:1.5;color:#5d5b58;margin:0}
.projects-section{background:var(--cream);padding:30px 0}.projects-layout{display:grid;grid-template-columns:26% 1fr;gap:26px;align-items:center}.projects-intro h2{font-size:31px;line-height:1.16;margin:14px 0}.projects-intro>p:not(.eyebrow){font-size:13px;color:#55504c;line-height:1.45;max-width:290px}.projects-intro .button{margin-top:6px}.projects-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery-card img{width:100%;height:188px;object-fit:cover;border-radius:4px;display:block}.gallery-card h3{font-size:12px;margin:7px 0 4px}.gallery-card p{font-size:10px;line-height:1.45;color:#6b645e;margin:0}
.process-section{padding:24px 0 28px;background:#fffcf8;text-align:center}.process-section h2{font-size:29px;margin:0 0 4px}.heading-line{display:inline-block;width:48px;height:1px;background:var(--brown);vertical-align:middle;margin-left:12px}.process-subtitle{font-size:13px;color:#65615c;margin:0 0 23px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;text-align:left}.process-step{display:flex;gap:14px;align-items:flex-start}.step-icon{background:var(--brown);color:#fff;width:50px;height:50px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:23px}.process-step span{font-size:12px;color:var(--brown)}.process-step h3{font-size:13px;margin:4px 0}.process-step p{font-size:11px;color:#67605b;line-height:1.45;margin:0}
.contact-section{min-height:255px;display:grid;grid-template-columns:52% 48%;background:#38261e;color:#fff}.contact-copy{background:linear-gradient(90deg,#2d211b,#513b2d);display:flex;justify-content:flex-end}.contact-content{width:min(700px,94%);padding:27px 25px 30px 0}.contact-content h2{font-size:29px;line-height:1.2;margin:10px 0}.contact-content>p:not(.eyebrow){font-size:13px;line-height:1.5;max-width:520px}.button-white{background:#fff;color:#2b211b;margin-top:3px}.contact-image{background:url('../images/projects/kitchen-light-wide.png') center/cover no-repeat}.floating-contact{position:fixed;right:20px;bottom:18px;z-index:30;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#1977f3;color:#fff;font-family:Arial,sans-serif;font-size:31px;font-weight:bold;box-shadow:0 4px 20px #0003}
.catalog-anchor{padding:42px 0;background:#fff}.catalog-header{display:flex;justify-content:space-between;align-items:center}.catalog-header h2{font-size:28px;margin:6px 0 20px}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.catalog-card{border:1px solid #e8e0d7;border-radius:5px;overflow:hidden}.catalog-card img,.catalog-placeholder{width:100%;height:170px;object-fit:cover;display:grid;place-items:center;background:#eee}.catalog-info{padding:13px}.catalog-info small{color:var(--brown);text-transform:uppercase;font-size:10px}.catalog-info h3{font-size:14px;margin:7px 0}.catalog-info p,.catalog-empty{font-size:12px;color:#69635e}.site-footer{background:#241c18;color:#fff;padding:24px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner strong{font-size:13px}.footer-inner p,.footer-inner a{font-size:11px;color:#d4c4b6}
@media(max-width:1050px){.site-nav{gap:14px}.site-nav a{font-size:11px}.nav-cta{padding:13px}.projects-layout{grid-template-columns:1fr}.projects-intro>p:not(.eyebrow){max-width:700px}.hero{height:530px}}
@media(max-width:760px){.nav-inner{min-height:75px}.menu-toggle{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fffcf9;padding:18px 5%;box-shadow:0 12px 18px #0002;flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.nav-cta{font-size:10px;padding:11px}.site-logo{min-width:70px}.hero{height:auto;min-height:570px}.hero-content{padding:65px 0 105px}.hero-shade{background:linear-gradient(90deg,#211914d9,#21191475)}.hero h1{font-size:39px}.hero-benefits{gap:13px;flex-wrap:wrap}.hero-benefits span{font-size:10px}.hero-controls{right:5%;bottom:18px}.services-grid,.projects-gallery,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card>img{height:165px}.service-icon{top:144px}.service-body{padding-left:3px;padding-top:30px}.section-top{align-items:flex-start}.section-top .text-link{max-width:110px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section{grid-template-columns:1fr}.contact-copy{justify-content:center}.contact-content{padding:35px 0}.contact-image{height:240px}}
@media(max-width:450px){.nav-cta{max-width:120px;text-align:center}.hero h1{font-size:32px}.hero-benefits{gap:12px}.benefit-icon{font-size:23px}.services-grid,.projects-gallery,.catalog-grid{gap:12px}.gallery-card img{height:130px}.service-card>img{height:140px}.service-icon{top:119px}.process-grid{gap:17px}.process-step{gap:8px}.step-icon{width:37px;height:37px;font-size:17px}.process-step h3{font-size:12px}.section-top h2,.projects-intro h2,.process-section h2{font-size:25px}}


/* ========================================
   NWN LIVING STUDIO
   LOGO & TYPOGRAPHY IMPROVEMENTS
======================================== */

/* Official logo */
.site-logo .official-logo {
    display: block;
    width: 160px;
    height: 100px;
    max-height: none;
    object-fit: contain;
}

/* Header */
.site-header .nav-inner {
    min-height: 110px;
    gap: 22px;
}

.site-logo {
    min-width: 160px;
    flex-shrink: 0;
}

/* Navigation */
.site-nav {
    gap: 22px;
}

.site-nav a {
    font-size: 14px;
    font-weight: 500;
}

/* Main CTA */
.nav-cta {
    font-size: 13px;
    padding: 16px 20px;
}

/* Service cards */
.service-body h3 {
    font-size: 17px;
    line-height: 1.4;
}

.service-body p {
    font-size: 14px;
    line-height: 1.65;
}

/* Project gallery */
.gallery-card h3 {
    font-size: 15px;
    line-height: 1.4;
}

.gallery-card p {
    font-size: 13px;
    line-height: 1.6;
}

/* Project introduction */
.projects-intro > p:not(.eyebrow) {
    font-size: 15px;
    line-height: 1.65;
}

/* Work process */
.process-step h3 {
    font-size: 15px;
}

.process-step p {
    font-size: 13px;
    line-height: 1.6;
}

/* General supporting text */
.section-top p,
.process-subtitle,
.contact-content > p:not(.eyebrow) {
    font-size: 15px;
    line-height: 1.65;
}

/* Footer */
.site-footer {
    padding: 35px 0;
}

.site-footer strong {
    font-size: 17px;
}

.site-footer p,
.site-footer a {
    font-size: 14px;
    line-height: 1.7;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.footer-contact a:hover {
    text-decoration: underline;
}

.footer-brand p {
    max-width: 440px;
}

/* Floating WhatsApp */
.floating-contact {
    background: #25D366;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

/* Tablet */
@media (max-width: 1050px) {
    .site-logo .official-logo {
        width: 125px;
        height: 85px;
    }

    .site-logo {
        min-width: 125px;
    }

    .site-nav {
        gap: 12px;
    }

    .site-nav a {
        font-size: 12px;
    }
}

/* Mobile */
@media (max-width: 760px) {
    .site-header .nav-inner {
        min-height: 90px;
    }

    .site-logo .official-logo {
        width: 115px;
        height: 78px;
    }

    .site-logo {
        min-width: 115px;
    }

    .site-nav {
        top: 90px;
    }

    .service-body p {
        font-size: 13px;
    }

    .gallery-card p,
    .process-step p {
        font-size: 12px;
    }

    .site-footer p,
    .site-footer a {
        font-size: 13px;
    }
}


/* Footer admin access */
.footer-admin-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    padding: 11px 17px;
    margin-top: 12px;
    border: 1px solid #947a68;
    border-radius: 5px;
    background: transparent;
    color: #f0dfd0 !important;
    font-size: 13px !important;
    font-weight: 600;
    transition: background 0.2s ease,
                border-color 0.2s ease;
}

.footer-admin-link:hover {
    background: #6a3c26;
    border-color: #6a3c26;
    color: #fff !important;
}


/* Public Project Gallery */

.gallery-page,
.project-detail {
    padding: 70px 0 100px;
    background: #f8f5f0;
}

.gallery-page h1,
.project-detail h1 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(36px, 5vw, 58px);
    margin: 12px 0;
}

.gallery-intro {
    color: #716d68;
    line-height: 1.8;
}

.gallery-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 35px 0;
}

.gallery-filters a {
    padding: 11px 19px;
    border: 1px solid #ded6cd;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
}

.gallery-filters a:hover,
.gallery-filters a.selected {
    background: #693d29;
    border-color: #693d29;
    color: #fff;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.gallery-card {
    display: block;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6ded5;
    border-radius: 6px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.gallery-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
}

.gallery-image {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.gallery-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 250px;
    background: #e7dfd5;
    color: #756e66;
}

.gallery-card-content {
    padding: 24px;
}

.gallery-category {
    color: #996a48;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.gallery-card-content h2 {
    margin: 10px 0;
    font-size: 20px;
}

.gallery-card-content p {
    color: #77716a;
    font-size: 13px;
}

.gallery-more {
    display: inline-block;
    margin-top: 15px;
    color: #693d29;
    font-size: 13px;
    font-weight: 700;
}

.gallery-pagination {
    margin-top: 35px;
}

.gallery-empty {
    grid-column: 1 / -1;
    padding: 50px 0;
    text-align: center;
    color: #77716a;
}

/* Project Detail */

.project-back {
    color: #693d29;
    font-size: 13px;
    font-weight: 700;
}

.project-detail-heading {
    margin: 30px 0;
}

.project-location {
    color: #77716a;
}

.project-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.project-photo {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    background: #e7dfd5;
}

.project-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.project-photo:hover img {
    transform: scale(1.04);
}

.project-no-image {
    min-height: 350px;
}

.project-detail-bottom {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 50px;
    margin-top: 50px;
}

.project-description h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 30px;
}

.project-description p {
    line-height: 1.9;
    white-space: pre-line;
    color: #66615c;
}

.project-quotation {
    padding: 30px;
    background: #fff;
    border: 1px solid #e6ded5;
    border-radius: 6px;
    align-self: start;
}

.project-quotation h3 {
    margin-top: 0;
}

.project-quotation p {
    line-height: 1.8;
}

.project-whatsapp {
    display: inline-block;
    padding: 14px 20px;
    margin-top: 15px;
    background: #693d29;
    color: #fff;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 700;
}

.project-whatsapp:hover {
    background: #835038;
}

@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-detail-bottom {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 520px) {
    .gallery-grid,
    .project-photo-grid {
        grid-template-columns: 1fr;
    }

    .gallery-page,
    .project-detail {
        padding: 45px 0 65px;
    }
}


/* Clickable homepage catalog cards */

.catalog-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.catalog-card-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

.catalog-view-link {
    display: inline-block;
    margin-top: 12px;
    color: #693d29;
    font-size: 12px;
    font-weight: 700;
}

.catalog-card-link:hover .catalog-view-link {
    text-decoration: underline;
}

.catalog-empty {
    grid-column: 1 / -1;
}

.gallery-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}