/* === RENA INTERIORS — SHARED STYLESHEET === */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

:root {
    --black:#0F0E0C; --charcoal:#1A1916; --warm:#2C2A26;
    --stone:#8A8378; --sand:#BEB5A8; --cream:#EDE8DF;
    --beige:#E8E0D4; --beige2:#F0EBE2; --paper:#F5F0E8;
    --off:#FAF7F2; --brass:#9E7E3F; --brass2:#B8964E;
    --font-serif:"Cormorant Garamond",Georgia,serif;
    --font-sans:"Jost",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:var(--font-sans);background:var(--paper);color:var(--charcoal);overflow-x:hidden;font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;} ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.15;}
h2{font-size:clamp(1.8rem,3vw,2.8rem);} h3{font-size:clamp(1rem,2vw,1.25rem);}
img{max-width:100%;height:auto;display:block;}

/* === NAV === */
nav{position:sticky;top:0;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;background:rgba(250,247,242,0.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,0.06);z-index:100;gap:48px;}
.nav-logo{flex-shrink:0;font-family:var(--font-serif);font-size:1.2rem;letter-spacing:0.08em;color:var(--black);display:flex;align-items:center;}
.nav-logo img{height:52px;width:auto;object-fit:contain;display:block;}
.nav-links{display:flex;gap:40px;flex-shrink:0;}
.nav-links a{font-size:0.7rem;letter-spacing:0.18em;color:var(--stone);text-transform:uppercase;transition:color 0.3s;white-space:nowrap;padding:8px 0;min-height:44px;display:flex;align-items:center;}
.nav-links a:hover,.nav-links a.active{color:var(--black);}

/* Mobile nav toggle */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:200;min-width:44px;min-height:44px;}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--charcoal);transition:all 0.3s;transform-origin:center;}
.nav-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* Mobile nav overlay */
.mobile-nav{display:none;position:fixed;inset:0;background:var(--paper);z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-family:var(--font-serif);font-size:2.2rem;color:var(--black);padding:12px 0;letter-spacing:0.04em;transition:color 0.2s;}
.mobile-nav a:hover{color:var(--stone);}
.mobile-nav-sub{margin-top:32px;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass);}

/* === BUTTONS === */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 38px;font-family:var(--font-sans);font-size:0.7rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;transition:all 0.3s;cursor:pointer;border:none;min-height:48px;line-height:1;}
.btn-dark{background:var(--black);color:var(--off);}
.btn-dark:hover{background:var(--charcoal);}
.btn-outline{border:1px solid var(--black)!important;color:var(--black);background:none;}
.btn-outline:hover{background:var(--black);color:var(--off);}
.btn-brass{background:var(--brass);color:var(--off);}
.btn-brass:hover{background:var(--brass2);}

/* === LABELS & LINKS === */
.label{display:block;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--brass);margin-bottom:14px;}
.label.dk{color:rgba(158,126,63,0.7);}
.text-link{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--black);border-bottom:1px solid var(--black);padding-bottom:2px;display:inline-block;margin-top:18px;opacity:0.6;transition:opacity 0.2s;}
.text-link:hover{opacity:1;}

/* === HERO === */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 300px;background:var(--beige2);position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;right:0;top:0;bottom:0;width:42%;background:var(--beige);clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);}
.hero-content{position:relative;z-index:2;padding:120px 72px;display:flex;flex-direction:column;justify-content:center;max-width:860px;}
.hero-eyebrow{font-size:0.63rem;letter-spacing:0.32em;text-transform:uppercase;color:var(--brass);margin-bottom:32px;display:flex;align-items:center;gap:14px;}
.hero-eyebrow::before{content:'';display:block;width:36px;height:1px;background:var(--brass);}
.hero-title{font-family:var(--font-serif);font-size:clamp(3.2rem,5.5vw,6.4rem);font-weight:400;color:var(--black);line-height:1.0;margin-bottom:28px;}
.hero-title em{font-style:italic;font-weight:300;color:var(--stone);}
.hero-sub{font-size:clamp(0.88rem,1.4vw,1rem);color:var(--stone);max-width:480px;margin-bottom:16px;line-height:1.85;}
.hero-location{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--brass);margin-bottom:44px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-areas{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:120px 40px 120px 0;border-left:1px solid rgba(158,126,63,0.18);}
.hero-areas span{display:block;font-size:0.55rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--brass);margin-bottom:12px;padding-left:24px;}
.hero-areas p{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);line-height:2.2;padding-left:24px;}

/* === ETHOS BAR === */
.ethos{background:var(--black);display:flex;align-items:center;justify-content:center;padding:22px;}
.ethos-item{display:flex;align-items:center;gap:14px;padding:0 52px;}
.ethos-num{font-family:var(--font-serif);font-size:0.95rem;color:var(--brass);}
.ethos-item p{font-size:0.7rem;letter-spacing:0.26em;text-transform:uppercase;color:rgba(255,255,255,0.4);}
.ethos-sep{width:1px;height:28px;background:rgba(158,126,63,0.18);}

/* === SECTIONS === */
.section{padding:96px 72px;}
.section-inner{max-width:1400px;margin:0 auto;}
.section.beige{background:var(--beige);}
.section.dark{background:var(--charcoal);color:var(--beige2);}
.section.dark h2{color:var(--off);}
.section.off{background:var(--off);}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center;}
.col-text h2{margin:8px 0 22px;}
.col-text p{color:var(--stone);margin-bottom:14px;font-size:0.92rem;}

/* === IMAGE FILLS === */
.img-fill{background:var(--beige);display:flex;align-items:center;justify-content:center;font-size:0.63rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--sand);border:1px solid rgba(0,0,0,0.06);overflow:hidden;position:relative;}
.img-fill.h380{height:380px;} .img-fill.h480{height:480px;} .img-fill.h520{height:520px;} .img-fill.h300{height:300px;}
.img-fill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.img-accent{position:absolute;bottom:-16px;right:-16px;width:48%;height:48%;border:1px solid var(--brass);z-index:-1;}

/* === SERVICE GRID === */
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(0,0,0,0.08);margin-top:56px;}
.svc-card{background:var(--charcoal);padding:40px 28px;transition:background 0.3s;}
.svc-card:hover{background:var(--warm);}
.svc-icon{display:block;color:var(--brass);font-size:1rem;margin-bottom:16px;}
.svc-card h3{font-size:0.9rem;color:var(--off);margin-bottom:10px;font-family:var(--font-sans);font-weight:400;letter-spacing:0.04em;}
.svc-card p{color:rgba(200,191,176,0.55);font-size:0.8rem;line-height:1.7;}

/* === GALLERY GRID === */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:300px 300px;gap:3px;margin-top:44px;}
.gal-item{position:relative;overflow:hidden;}
.gal-item.span2{grid-column:span 2;grid-row:span 2;}
.gal-item .img-fill{height:100%;transition:transform 0.55s;}
.gal-item:hover .img-fill{transform:scale(1.04);}
.gal-cap{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,12,0.6) 0%,transparent 55%);display:flex;align-items:flex-end;padding:20px;opacity:0;transition:opacity 0.3s;}
.gal-item:hover .gal-cap{opacity:1;}
.gal-cap p{font-size:0.67rem;color:var(--off);letter-spacing:0.14em;text-transform:uppercase;}

/* === SPLIT SECTION === */
.split{display:grid;grid-template-columns:1fr 1fr;}
.split-img{min-height:540px;overflow:hidden;position:relative;background:var(--beige);}
.split-img .img-fill{height:100%;}
.split-txt{padding:80px 68px;display:flex;flex-direction:column;justify-content:center;background:var(--beige);}
.split-txt h2{margin:8px 0 20px;}
.split-txt p{color:var(--stone);margin-bottom:14px;font-size:0.92rem;}
.split-txt address{font-family:var(--font-serif);color:var(--brass);font-size:1.05rem;letter-spacing:0.04em;margin:6px 0 32px;font-style:normal;}

/* === TESTIMONIAL === */
.testimonial{text-align:center;padding:96px 72px;}
.testimonial.dark{background:var(--charcoal);color:var(--beige2);}
.quote{font-family:var(--font-serif);font-size:clamp(1.35rem,2.3vw,1.9rem);font-style:italic;font-weight:300;color:var(--off);line-height:1.58;max-width:820px;margin:28px auto 22px;}
cite{font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass);}

/* === AREAS BAND === */
.areas-band{background:var(--off);padding:56px 72px;border-top:1px solid var(--beige);border-bottom:1px solid var(--beige);}
.areas-band-inner{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start;}
.areas-band-label h2{font-family:var(--font-serif);font-size:1.6rem;font-weight:400;color:var(--black);margin-bottom:8px;}
.areas-band-label p{font-size:0.82rem;color:var(--stone);line-height:1.7;}
.areas-list{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;}
.area-tag{padding:8px 20px;border:1px solid var(--beige);font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--stone);font-family:var(--font-sans);transition:all 0.2s;}
.area-tag:hover{border-color:var(--brass);color:var(--black);}

/* === PAGE HERO === */
.page-hero{min-height:40vh;background:var(--beige2);display:flex;align-items:flex-end;padding:60px 72px;border-bottom:1px solid var(--beige);}
.page-hero h1{font-family:var(--font-serif);font-size:clamp(2.6rem,4.5vw,4.2rem);color:var(--black);font-weight:400;margin-top:10px;}
.page-hero h1 em{font-style:italic;font-weight:300;color:var(--stone);}

/* === SERVICES PAGE === */
.svc-block{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start;padding:88px 72px;}
.svc-block.alt{direction:rtl;}
.svc-block.alt>*{direction:ltr;}
.svc-num{font-family:var(--font-serif);font-size:4rem;color:rgba(158,126,63,0.1);line-height:1;display:block;margin-bottom:-8px;}
.svc-block h2{margin-bottom:16px;}
.svc-block .intro-p{color:var(--stone);margin-bottom:18px;font-size:0.95rem;line-height:1.8;}
.svc-block .detail-p{color:var(--stone);margin-bottom:14px;font-size:0.88rem;line-height:1.75;}
.svc-list{margin-top:16px;}
.svc-list li{padding:10px 0;border-bottom:1px solid var(--beige);font-size:0.85rem;color:var(--charcoal);padding-left:18px;position:relative;line-height:1.6;}
.svc-list li::before{content:"–";position:absolute;left:0;color:var(--brass);}
.svc-list li span{display:block;font-size:0.78rem;color:var(--stone);margin-top:2px;}

/* === PROCESS === */
.process-section{padding:96px 72px;}
.process-intro{max-width:580px;margin:0 auto 60px;text-align:center;}
.process-intro h2{margin:8px 0 16px;}
.process-intro p{color:rgba(245,240,232,0.52);font-size:0.92rem;}
.process-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-bottom:48px;}
.process-step{padding:28px 22px;border-left:1px solid rgba(255,255,255,0.06);}
.process-step:first-child{border-left:none;}
.step-n{font-family:var(--font-serif);font-size:2.4rem;color:var(--brass);opacity:0.28;display:block;margin-bottom:10px;}
.process-step h3{font-size:0.88rem;color:var(--off);margin-bottom:8px;font-family:var(--font-sans);font-weight:400;letter-spacing:0.06em;}
.process-step p{font-size:0.79rem;color:rgba(200,191,176,0.45);line-height:1.68;}
.process-note{border:1px solid rgba(158,126,63,0.15);padding:26px 36px;margin-top:8px;text-align:center;}
.process-note p{font-size:0.84rem;color:rgba(245,240,232,0.45);font-style:italic;font-family:var(--font-serif);}

/* === ABOUT PAGE === */
.about-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;align-items:start;}
.about-role{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass);margin-bottom:22px;display:block;}
.about-grid h2{margin:6px 0 4px;}
.about-grid p{color:var(--stone);margin-bottom:14px;font-size:0.92rem;}

/* === GALLERY PAGE === */
.gal-filter{display:flex;gap:6px;margin-bottom:36px;flex-wrap:wrap;}
.gf-btn{padding:8px 22px;border:1px solid var(--beige);background:none;font-family:var(--font-sans);font-size:0.67rem;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;color:var(--stone);transition:all 0.25s;}
.gf-btn:hover,.gf-btn.active{background:var(--black);color:var(--off);border-color:var(--black);}
.full-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.fg-item{position:relative;overflow:hidden;height:290px;}
.fg-item.wide{grid-column:span 2;}
.fg-item .img-fill{height:100%;transition:transform 0.55s;}
.fg-item:hover .img-fill{transform:scale(1.04);}
.fg-cap{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,12,0.6) 0%,transparent 55%);display:flex;align-items:flex-end;padding:18px;opacity:0;transition:opacity 0.3s;}
.fg-item:hover .fg-cap{opacity:1;}
.fg-cap p{font-size:0.67rem;color:var(--off);letter-spacing:0.12em;text-transform:uppercase;}

/* === CONTACT PAGE === */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;}
.contact-grid h2{margin:8px 0 16px;}
.c-detail{margin-bottom:22px;}
.c-lbl{display:block;font-size:0.6rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--brass);margin-bottom:5px;}
.c-val{color:var(--stone);font-size:0.87rem;line-height:1.75;}
label{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);display:block;margin-bottom:6px;}
input,select,textarea{width:100%;padding:13px 15px;background:var(--beige2);border:1px solid var(--beige);font-family:var(--font-sans);font-size:0.86rem;color:var(--charcoal);outline:none;transition:border-color 0.3s;margin-bottom:14px;font-weight:300;}
input:focus,select:focus,textarea:focus{border-color:var(--brass);background:var(--off);}
textarea{resize:vertical;height:114px;}

/* === FOOTER === */
footer{background:var(--black);padding:60px 72px 20px;}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,0.05);}
.f-logo img{height:40px;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:0.8;margin-bottom:12px;}
.f-tag{font-size:0.76rem;color:rgba(255,255,255,0.26);margin-bottom:6px;}
.f-rena{font-size:0.68rem;color:var(--brass);opacity:0.5;font-style:italic;}
.f-heading{font-size:0.6rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--brass);margin-bottom:16px;font-weight:400;}
.f-links li{margin-bottom:8px;}
.f-links a,.f-cv{font-size:0.8rem;color:rgba(255,255,255,0.32);transition:color 0.2s;}
.f-links a:hover{color:var(--off);}
.social-row{display:flex;gap:8px;margin-top:14px;}
.soc-btn{width:32px;height:32px;border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:rgba(255,255,255,0.32);transition:all 0.25s;}
.soc-btn:hover{border-color:var(--brass);color:var(--brass);}
.footer-areas{margin-top:10px;font-size:0.68rem;color:rgba(255,255,255,0.18);line-height:1.8;}
.footer-base{padding-top:18px;text-align:center;font-size:0.66rem;color:rgba(255,255,255,0.15);}

/* ===== ANIMATIONS ===== */

/* ── Keyframes ─────────────────────────────── */
@keyframes heroFadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes slideFromLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideFromRight {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes scaleUp {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}

/* ── Home hero entrance ──────────────────────*/
.hero-eyebrow { opacity:0; animation: heroFadeUp 0.7s ease forwards; animation-delay: 0.15s; }
.hero-title   { opacity:0; animation: heroFadeUp 0.8s ease forwards; animation-delay: 0.3s; }
.hero-sub     { opacity:0; animation: heroFadeUp 0.7s ease forwards; animation-delay: 0.5s; }
.hero-location{ opacity:0; animation: heroFadeUp 0.7s ease forwards; animation-delay: 0.62s; }
.hero-ctas    { opacity:0; animation: heroFadeUp 0.7s ease forwards; animation-delay: 0.75s; }
.hero-areas   { opacity:0; animation: heroFadeIn 1s ease forwards;   animation-delay: 0.9s; }

/* ── Inner page hero entrance ────────────────*/
.page-hero .label   { opacity:0; animation: heroFadeUp 0.6s ease forwards; animation-delay: 0.2s; }
.page-hero h1       { opacity:0; animation: heroFadeUp 0.8s ease forwards; animation-delay: 0.35s; }

/* ── Scroll reveal — base variants ──────────*/
.reveal {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.7s ease, transform 0.7s ease;
    will-change: opacity, transform;
}
.reveal.visible         { opacity: 1; transform: translateY(0); }

.reveal-left {
    opacity: 0;
    transform: translateX(-36px);
    transition: opacity 0.75s ease, transform 0.75s ease;
}
.reveal-left.visible    { opacity: 1; transform: translateX(0); }

.reveal-right {
    opacity: 0;
    transform: translateX(36px);
    transition: opacity 0.75s ease, transform 0.75s ease;
}
.reveal-right.visible   { opacity: 1; transform: translateX(0); }

.reveal-scale {
    opacity: 0;
    transform: scale(0.96);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal-scale.visible   { opacity: 1; transform: scale(1); }

/* Stagger delays */
.reveal-d1 { transition-delay: 0.08s; }
.reveal-d2 { transition-delay: 0.17s; }
.reveal-d3 { transition-delay: 0.26s; }
.reveal-d4 { transition-delay: 0.35s; }
.reveal-d5 { transition-delay: 0.44s; }

/* ── Label underline accent ──────────────────*/
.label::after {
    content: '';
    display: block;
    width: 28px;
    height: 1px;
    background: var(--brass);
    margin-top: 6px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.55s ease 0.35s;
    opacity: 0.55;
}
.label.lbl-visible::after { transform: scaleX(1); }

/* ── Ethos bar ───────────────────────────────*/
.ethos-item {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.ethos-item.visible { opacity: 1; transform: translateY(0); }
.ethos-item:nth-child(1) { transition-delay: 0.0s; }
.ethos-item:nth-child(3) { transition-delay: 0.15s; }
.ethos-item:nth-child(5) { transition-delay: 0.3s; }

/* ── Process step number count-up feel ───────*/
.step-n {
    display: inline-block;
    transition: color 0.4s ease, opacity 0.4s ease;
}
.process-step.visible .step-n {
    color: var(--brass);
    opacity: 1;
}

/* ── Interactive lift / press ─────────────── */
.svc-card {
    transition: background 0.3s, transform 0.3s ease, box-shadow 0.3s ease;
}
.svc-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 36px rgba(0,0,0,0.32);
}

.area-tag  { transition: all 0.22s ease, transform 0.2s ease; }
.area-tag:hover { transform: translateY(-2px); border-color: var(--brass); color: var(--black); }

.btn { transition: all 0.25s ease, transform 0.15s ease; }
.btn:active { transform: scale(0.97); }

.gal-item, .fg-item { cursor: pointer; }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
    nav{padding:0 36px;gap:28px;}
    .nav-links{gap:22px;}
    .nav-links a{font-size:0.64rem;letter-spacing:0.14em;}
    .hero{grid-template-columns:1fr 200px;}
    .hero-content{padding:100px 48px;max-width:100%;}
    .hero-title{font-size:clamp(2.8rem,5vw,4.8rem);}
    .hero-areas{padding:80px 28px 80px 0;}
    .section{padding:72px 48px;}
    .two-col{gap:52px;}
    .svc-grid{grid-template-columns:repeat(3,1fr);}
    .svc-block{padding:72px 48px;gap:56px;}
    .split-txt{padding:60px 48px;}
    .testimonial{padding:72px 48px;}
    .areas-band{padding:48px;}
    .about-grid{gap:48px;}
    .contact-grid{gap:48px;}
    .process-section{padding:72px 48px;}
    footer{padding:48px 48px 20px;}
    .page-hero{padding:56px 48px;}
}
@media (max-width:768px){
    nav{padding:0 20px;height:68px;gap:0;}
    .nav-links{display:none;}
    .nav-toggle{display:flex;}
    .nav-logo{font-size:1rem;}
    .hero{grid-template-columns:1fr;min-height:auto;}
    .hero::before{display:none;}
    .hero-content{padding:72px 24px 36px;max-width:100%;}
    .hero-title{font-size:clamp(2.6rem,10vw,4rem);line-height:1.06;}
    .hero-sub{font-size:0.92rem;max-width:100%;}
    .hero-location{margin-bottom:32px;}
    .hero-ctas{flex-direction:column;gap:10px;width:100%;}
    .hero-ctas .btn{text-align:center;padding:16px 24px;width:100%;}
    .hero-areas{flex-direction:row;flex-wrap:wrap;border-left:none;border-top:1px solid rgba(158,126,63,0.18);padding:28px 24px 36px;gap:0;}
    .hero-areas span{width:100%;margin-bottom:12px;}
    .hero-areas p{width:50%;margin:0;padding:5px 0;font-size:0.7rem;line-height:2;}
    .ethos{flex-direction:column;gap:0;padding:0;}
    .ethos-item{padding:18px 24px;width:100%;justify-content:center;}
    .ethos-sep{width:80%;height:1px;}
    .section{padding:52px 20px;}
    .areas-band{padding:40px 20px;}
    .areas-band-inner{grid-template-columns:1fr;gap:24px;}
    .two-col{grid-template-columns:1fr;gap:36px;}
    .img-fill.h380{height:260px;} .img-fill.h480{height:280px;} .img-fill.h520{height:280px;}
    .svc-grid{grid-template-columns:repeat(2,1fr);}
    .gal-grid{grid-template-columns:1fr;grid-template-rows:auto;}
    .gal-item.span2{grid-column:span 1;grid-row:span 1;}
    .gal-item{height:240px;}
    .split{grid-template-columns:1fr;}
    .split-img{min-height:260px;}
    .split-txt{padding:40px 20px;}
    .testimonial{padding:52px 20px;}
    .quote{font-size:clamp(1.1rem,4vw,1.4rem);}
    .page-hero{padding:80px 20px 32px;min-height:auto;}
    .page-hero h1{font-size:clamp(1.9rem,7vw,3rem);}
    .svc-block{grid-template-columns:1fr;padding:44px 20px;gap:28px;direction:ltr!important;}
    .svc-block.alt>*{direction:ltr;}
    .img-fill.h300{height:220px;}
    .process-section{padding:52px 20px;}
    .process-row{grid-template-columns:1fr 1fr;gap:0;}
    .process-step{border-left:none;border-top:1px solid rgba(255,255,255,0.06);padding:20px 16px;}
    .about-grid{grid-template-columns:1fr;gap:32px;}
    .gal-filter{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
    .gf-btn{padding:10px 16px;font-size:0.64rem;white-space:nowrap;flex-shrink:0;}
    .full-gal{grid-template-columns:1fr 1fr;}
    .fg-item{height:200px;}
    .fg-item.wide{grid-column:span 2;}
    .contact-grid{grid-template-columns:1fr;gap:36px;}
    input,select,textarea{padding:15px;font-size:16px;}
    footer{padding:40px 20px 20px;}
    .footer-inner{grid-template-columns:1fr;gap:32px;}
    .btn{padding:15px 28px;}
    h2{font-size:clamp(1.6rem,5.5vw,2.4rem);}
}
@media (max-width:480px){
    .hero-title{font-size:clamp(2.2rem,11vw,3.2rem);}
    .hero-areas p{width:100%;}
    .full-gal{grid-template-columns:1fr;}
    .fg-item.wide{grid-column:span 1;}
    .process-row{grid-template-columns:1fr;}
    .gal-grid{grid-template-columns:1fr;}
    .svc-grid{grid-template-columns:1fr;}
    .hero-ctas .btn{font-size:0.65rem;letter-spacing:0.14em;}
}
@media (min-width:1280px){
    .hero-content{padding:140px 88px;max-width:900px;}
    .hero-title{font-size:clamp(4.5rem,5.5vw,7rem);}
    .hero{grid-template-columns:1fr 320px;}
    .section{padding:112px 88px;}
    .two-col{gap:108px;}
    .svc-block{padding:108px 88px;gap:100px;}
    .split-txt{padding:96px 84px;}
    .testimonial{padding:120px 88px;}
    .areas-band{padding:72px 88px;}
    .page-hero{padding:88px 88px;}
    .process-section{padding:120px 88px;}
    footer{padding:72px 88px 24px;}
    .contact-grid{gap:100px;}
    nav{padding:0 80px;}
}
@media (min-width:1600px){
    .hero-content{padding:160px 120px;max-width:1000px;}
    .section{padding:128px 10%;}
    .svc-block{padding:120px 10%;}
    .process-section{padding:128px 10%;}
    footer{padding:80px 10% 24px;}
    nav{padding:0 10%;}
    .page-hero{padding:100px 10%;}
    .areas-band{padding:80px 10%;}
    .testimonial{padding:128px 10%;}
    .split-txt{padding:100px 10%;}
}
