:root{--ivory:#f5f0e7;--paper:#fbf8f1;--ink:#1e2118;--muted:#69695f;--olive:#343a2b;--sage:#85896e;--line:rgba(45,48,37,.18);--wood:#a7784c;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:76px;position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 7.4%;gap:30px;color:#181912}.brand{display:flex;flex-direction:column;line-height:1;min-width:150px}.brand span{font-family:var(--serif);font-size:25px;letter-spacing:-.7px}.brand small{font-size:7px;letter-spacing:2px;margin:5px 0 0 7px}.main-nav,.footer-nav{display:flex;align-items:center;gap:36px}.main-nav a{font-size:11px;position:relative;padding:8px 0}.main-nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.header-actions{display:flex;gap:18px}.icon-button{border:0;background:transparent;color:inherit;padding:5px;cursor:pointer;font-size:17px}.menu-toggle{display:none}.hero{min-height:590px;height:min(660px,75vw);position:relative;display:flex;align-items:center;overflow:hidden;background:#d9c9b5}.hero-image{position:absolute;inset:0 0 0 24%;background:linear-gradient(90deg,#e7dac8 0%,rgba(231,218,200,.84) 10%,rgba(231,218,200,.1) 37%,rgba(0,0,0,0) 100%),url('../images/img (31).webp') center 53%/cover no-repeat}.hero-copy{position:relative;z-index:2;width:46%;padding:80px 0 45px 7.4%;max-width:640px}.eyebrow,.section-number{font-size:9px;letter-spacing:1.8px;font-weight:600}.eyebrow{margin:0 0 14px}.hero h1{font:400 clamp(40px,4vw,58px)/1.08 var(--serif);letter-spacing:-1.3px;margin:0 0 18px}.hero-text{font-size:13px;line-height:1.65;max-width:330px;margin:0 0 22px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:0 19px;border-radius:3px;font-size:10px;transition:transform .25s,background .25s,color .25s;border:1px solid transparent}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--olive);color:#fffdf7}.btn-dark:hover{background:#20251b}.btn-outline{border-color:rgba(30,33,24,.5);background:rgba(255,255,255,.15)}.btn-light{background:#f9f5ed;color:#24271e}.hero-pagination{display:flex;align-items:center;gap:10px;margin-top:43px;font-size:9px;color:#7b776d}.hero-pagination i{width:16px;height:1px;background:#aaa397}.section-pad{padding:54px 7.4%}.solutions{display:grid;grid-template-columns:27% 1fr;gap:42px;background:var(--paper);align-items:center}.section-number{display:flex;align-items:center;gap:15px;color:#727566;margin-bottom:13px}.section-number span{font-size:8px;letter-spacing:1.4px}.section-intro h2,.craft-content h2,.journey h2,.consult-copy h2{font:400 clamp(29px,2.4vw,38px)/1.12 var(--serif);letter-spacing:-.5px;margin:0 0 14px}.section-intro p,.craft-content>p,.journey-intro>p,.consult-copy>p{font-size:12px;color:var(--muted);max-width:300px;margin:0 0 20px}.text-link{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:4px;display:inline-flex;gap:10px;align-items:center}.category-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.category{display:flex;flex-direction:column;min-width:0}.category img{width:100%;height:178px;object-fit:cover;display:block;transition:transform .5s,filter .5s}.category:hover img{transform:translateY(-4px);filter:saturate(1.08)}.category strong{font-size:11px;font-weight:600;margin-top:11px}.category span{font-size:10px;color:var(--muted);margin-top:4px;display:flex;gap:9px;align-items:center}.styles-band{display:grid;grid-template-columns:34% 66%;min-height:310px;background:var(--sage);color:#fffdf6;overflow:hidden}.styles-copy{padding:34px 10% 30px 21.8%;min-width:0}.styles-copy .section-number{color:#e1dfce}.styles-copy h2{font:400 clamp(31px,2.8vw,42px)/1.08 var(--serif);margin:0 0 12px}.styles-copy p{font-size:12px;color:#f0eee4;max-width:255px;margin:0 0 18px}.styles-copy .btn{min-height:35px}.styles-image{position:relative;background:linear-gradient(90deg,rgba(51,57,43,.05),transparent 30%),url('../images/img (30).webp') center/cover}.style-caption{position:absolute;right:28px;bottom:20px;font-size:10px;letter-spacing:1px;text-transform:uppercase;background:rgba(31,35,26,.7);padding:8px 12px}.style-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.style-pill{border:1px solid rgba(255,255,255,.45);background:transparent;color:#fffdf6;border-radius:20px;padding:7px 11px;font-size:9px;cursor:pointer}.style-pill.active,.style-pill:hover{background:#fffdf6;color:#33392b}.craft{display:grid;grid-template-columns:40% 1fr;gap:5.5%;align-items:center;background:#f8f4ec}.craft-photos{position:relative;min-height:250px}.craft-main{width:82%;height:260px;object-fit:cover}.craft-detail{position:absolute;right:0;bottom:-5px;width:42%;height:135px;object-fit:cover;border:6px solid #f8f4ec}.craft-content h2{font-size:35px}.feature-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:33px}.feature{display:flex;align-items:center;flex-direction:column;text-align:center;gap:10px;padding:0 8px;border-right:1px solid var(--line);font:12px/1.4 var(--serif)}.feature:last-child{border:0}.feature i{font-size:21px;color:#697259}.journey{display:grid;grid-template-columns:31% 1fr;gap:5%;align-items:center;background:#f2eee5}.journey-intro h2{font-size:35px}.journey-intro .btn{margin-top:2px}.steps{display:flex;align-items:flex-start;gap:13px}.step{flex:1;min-width:0}.step-icon{width:43px;height:43px;border-radius:50%;background:#e4e3d7;color:#59604c;display:grid;place-items:center;font-size:17px;margin:0 auto 10px}.step-no{font-size:10px;font-weight:600}.step h3{font-size:11px;line-height:1.35;margin:5px 0}.step p{font-size:10px;color:var(--muted);margin:0}.step-arrow{color:#a6a898;margin-top:17px;font-size:15px}.testimonial{display:grid;grid-template-columns:43% 57%;min-height:320px;background:var(--olive);color:#fffdf6}.testimonial-image{background:url('../images/img (28).webp') center/cover;min-height:320px}.testimonial-copy{padding:38px 12% 30px 12%;position:relative}.testimonial-copy .section-number{color:#d3d2bd}.testimonial-copy h2{font:400 clamp(30px,2.7vw,40px)/1.08 var(--serif);margin:0 0 14px}.testimonial blockquote{font:italic 13px/1.7 var(--serif);max-width:450px;margin:0 0 13px;color:#f1eee4}.quote-author{font-size:10px;color:#c7c7b7}.slider-controls{position:absolute;right:10%;top:38px;display:flex;gap:8px}.slider-controls button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:white;cursor:pointer}.quote-dots{display:flex;gap:7px;position:absolute;right:12%;bottom:24px}.quote-dots span{width:5px;height:5px;border-radius:50%;background:#878c7c}.quote-dots span.active{background:#fff}.consultation{min-height:250px;position:relative;display:flex;align-items:center;overflow:hidden;background:#e8dfd0}.consult-copy{position:relative;z-index:3;width:57%;padding:18px 0}.consult-copy h2{font-size:36px}.consult-image{position:absolute;inset:0 0 0 45%;background:linear-gradient(90deg,#e8dfd0 0%,rgba(232,223,208,.6) 20%,rgba(232,223,208,0) 50%),url('../images/img (29).webp') center/cover}.stats-card{position:absolute;right:7.4%;bottom:26px;z-index:4;display:flex;gap:0;background:rgba(251,248,241,.94);box-shadow:0 12px 35px #32291b1a;padding:18px 12px;border-radius:3px}.stats-card div{display:flex;align-items:center;flex-direction:column;min-width:100px;padding:0 12px;border-right:1px solid var(--line)}.stats-card div:last-child{border:0}.stats-card i{color:#697259;font-size:17px;margin-bottom:6px}.stats-card strong{font:500 20px var(--serif)}.stats-card span{font-size:9px;color:#69695f;margin-top:3px}.site-footer{min-height:92px;background:#272d22;color:#f6f0e6;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 7.4%}.footer-brand span{font-size:24px}.footer-brand small{color:#c9c8b9}.footer-nav{gap:25px}.footer-nav a{font-size:10px;color:#e7e4d8}.social-links{display:flex;gap:14px}.social-links a{font-size:13px}.copyright{font-size:8px;color:#c7c6b9;white-space:nowrap}.back-top{position:fixed;z-index:30;right:22px;bottom:22px;width:42px;height:42px;border:0;border-radius:50%;background:var(--olive);color:white;box-shadow:0 6px 18px #0002;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:.25s}.back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
@media(min-width:1440px){.hero{height:680px}.category img{height:210px}.section-pad{padding-top:68px;padding-bottom:68px}}
@media(max-width:1100px){.site-header{padding:0 5%}.hero-copy{padding-left:5%;width:50%}.section-pad{padding-left:5%;padding-right:5%}.solutions{grid-template-columns:24% 1fr;gap:25px}.category-list{gap:10px}.category img{height:145px}.styles-copy{padding-left:15%}.craft{gap:4%}.feature{padding:0 4px}.step-arrow{font-size:12px}.site-footer{padding-left:5%;padding-right:5%;gap:16px}.footer-nav{gap:15px}}
@media(max-width:767px){html{scroll-padding-top:68px}.site-header{height:68px;padding:0 5%;background:rgba(247,242,233,.9);backdrop-filter:blur(10px)}.brand{min-width:0}.brand span{font-size:23px}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:20px 5% 24px;background:var(--paper);flex-direction:column;align-items:flex-start;gap:12px;box-shadow:0 14px 24px #0001}.main-nav.open{display:flex}.main-nav a{font-size:13px}.menu-toggle{display:block}.header-actions{gap:12px}.hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding-top:68px}.hero-image{position:relative;order:1;inset:auto;height:300px;width:100%;background:linear-gradient(0deg,rgba(0,0,0,.03),transparent),url('../images/img (4).webp') center/cover}.hero-copy{order:0;width:100%;max-width:none;padding:42px 6% 26px;background:linear-gradient(90deg,#e7dac8,#eee4d5)}.hero h1{font-size:43px}.hero-text{font-size:12px;max-width:360px}.hero-pagination{margin-top:25px}.section-pad{padding:42px 6%}.solutions{display:block}.section-intro{margin-bottom:25px}.section-intro h2{font-size:34px}.section-intro p{max-width:420px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.category:last-child{grid-column:span 2}.category:last-child img{height:200px}.category img{height:190px}.styles-band{grid-template-columns:1fr}.styles-copy{padding:34px 6% 28px}.styles-copy h2{font-size:37px}.styles-image{min-height:250px;grid-row:1}.style-pills{margin-top:20px}.craft{grid-template-columns:1fr;gap:32px}.craft-photos{min-height:240px}.craft-main{height:250px;width:86%}.craft-detail{height:130px;width:40%}.craft-content h2,.journey-intro h2{font-size:33px}.feature-row{grid-template-columns:repeat(3,1fr);gap:20px 0}.feature{min-height:75px}.feature:nth-child(3){border-right:0}.feature:nth-child(4),.feature:nth-child(5){padding-top:8px}.journey{grid-template-columns:1fr;gap:28px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:22px}.step{display:grid;grid-template-columns:42px 1fr;column-gap:12px}.step-icon{grid-row:span 3;margin:0}.step-no{align-self:end}.step h3{margin:2px 0}.step p{grid-column:2}.step-arrow{display:none}.testimonial{grid-template-columns:1fr}.testimonial-image{min-height:260px}.testimonial-copy{padding:34px 7% 58px}.testimonial-copy h2{font-size:35px}.slider-controls{right:7%;top:32px}.quote-dots{bottom:25px;right:7%}.consultation{display:block;padding-top:35px;padding-bottom:240px}.consult-copy{width:100%;padding:0}.consult-copy h2{font-size:32px;max-width:430px}.consult-image{inset:auto 0 0;height:245px;background:linear-gradient(180deg,#e8dfd0 0%,rgba(232,223,208,0) 35%),url('../images/img (29).webp') center/cover}.stats-card{right:6%;left:6%;bottom:18px;justify-content:space-around;padding:12px 5px}.stats-card div{min-width:0;flex:1;padding:0 4px}.stats-card strong{font-size:17px}.stats-card span{font-size:8px;text-align:center}.site-footer{padding:28px 6%;display:grid;grid-template-columns:1fr auto;gap:23px}.footer-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:10px;flex-wrap:wrap}.footer-nav a{font-size:10px}.social-links{justify-self:end}.copyright{grid-column:1/-1}.back-top{right:14px;bottom:14px;width:38px;height:38px}}
@media(max-width:380px){.hero h1{font-size:37px}.button-row{gap:8px}.btn{padding:0 12px;font-size:9px}.category img{height:155px}.category:last-child img{height:170px}.category strong{font-size:10px}.style-pills{gap:6px}.style-pill{padding:7px 9px;font-size:8px}.feature-row{grid-template-columns:repeat(2,1fr)}.feature:nth-child(2),.feature:nth-child(4){border-right:0}.feature:nth-child(3){border-right:1px solid var(--line)}.footer-nav{column-gap:12px}.stats-card i{font-size:14px}.stats-card strong{font-size:15px}}

/* Full-screen editorial sections: each main homepage section occupies at least one viewport */
@media (min-width: 768px) {
  .hero,
  .solutions,
  .styles-band,
  .craft,
  .journey,
  .testimonial,
  .consultation {
    min-height: 100vh;
    min-height: 100svh;
  }

  .hero { height: auto; }
  .solutions,
  .craft,
  .journey { padding-block: clamp(64px, 8vh, 110px); }
  .solutions { align-content: center; }
  .styles-band { align-items: stretch; }
  .styles-copy { display: flex; flex-direction: column; justify-content: center; padding-block: clamp(48px, 7vh, 90px); }
  .styles-image { min-height: 100%; }
  .craft-photos { min-height: clamp(300px, 42vh, 480px); }
  .craft-main { height: clamp(300px, 42vh, 480px); }
  .craft-detail { height: clamp(150px, 22vh, 230px); }
  .journey { align-content: center; }
  .testimonial-image { min-height: 100%; }
  .testimonial-copy { display: flex; flex-direction: column; justify-content: center; padding-block: clamp(60px, 9vh, 120px); }
  .consultation { padding-block: clamp(64px, 8vh, 110px); }
}

@media (max-width: 767px) {
  /* Mobile sections fill the screen when possible, while growing naturally for longer content */
  .hero,
  .solutions,
  .styles-band,
  .craft,
  .journey,
  .testimonial,
  .consultation {
    min-height: 100vh;
    min-height: 100svh;
  }
  .hero { height: auto; }
  .solutions,
  .craft,
  .journey { align-content: center; }
  .styles-band { grid-template-rows: minmax(260px, 42vh) auto; }
  .styles-copy { justify-content: center; }
  .testimonial { align-content: stretch; }
  .consultation { padding-top: 42px; }
}

/* Content-scale refinement: enlarge the actual typography, imagery, controls and section layouts */
@media (min-width: 1025px) {
  body { font-size: 16px; }
  .site-header { height: 88px; }
  .brand span { font-size: 31px; }
  .brand small { font-size: 9px; letter-spacing: 2.4px; }
  .main-nav { gap: clamp(34px, 3.1vw, 54px); }
  .main-nav a { font-size: 13px; }
  .icon-button { font-size: 20px; }
  .hero-copy { width: 48%; max-width: 760px; }
  .hero h1 { font-size: clamp(56px, 5.1vw, 78px); max-width: 700px; }
  .eyebrow { font-size: 11px; letter-spacing: 2.2px; margin-bottom: 20px; }
  .hero-text { font-size: 16px; max-width: 430px; margin-bottom: 30px; }
  .btn { min-height: 50px; padding-inline: 24px; font-size: 12px; }
  .hero-pagination { font-size: 11px; margin-top: 52px; gap: 13px; }
  .hero-pagination i { width: 22px; }
  .section-pad { padding: clamp(76px, 9vh, 130px) 7.4%; }
  .solutions { grid-template-columns: minmax(270px, 28%) 1fr; gap: clamp(36px, 4vw, 64px); }
  .section-number { font-size: 11px; gap: 18px; margin-bottom: 18px; }
  .section-number span { font-size: 10px; }
  .section-intro h2,.craft-content h2,.journey h2,.consult-copy h2 { font-size: clamp(42px, 3.2vw, 54px); margin-bottom: 20px; }
  .section-intro p,.craft-content>p,.journey-intro>p,.consult-copy>p { font-size: 15px; max-width: 390px; margin-bottom: 28px; }
  .text-link { font-size: 13px; }
  .category-list { gap: clamp(16px, 1.5vw, 24px); }
  .category img { height: clamp(220px, 25vh, 320px); }
  .category strong { font-size: 14px; margin-top: 15px; }
  .category span { font-size: 12px; margin-top: 7px; }
  .styles-band { grid-template-columns: 34% 66%; }
  .styles-copy { padding-left: 21.8%; padding-right: 9%; }
  .styles-copy h2 { font-size: clamp(46px, 3.7vw, 62px); margin-bottom: 18px; }
  .styles-copy p { font-size: 15px; max-width: 340px; margin-bottom: 26px; }
  .styles-copy .btn { min-height: 46px; }
  .style-pills { gap: 10px; margin-top: 30px; }
  .style-pill { padding: 10px 15px; font-size: 11px; }
  .style-caption { font-size: 12px; padding: 11px 16px; }
  .craft { grid-template-columns: 42% 1fr; gap: 5.5%; }
  .craft-photos { min-height: clamp(380px, 48vh, 590px); }
  .craft-main { height: clamp(380px, 48vh, 590px); }
  .craft-detail { height: clamp(190px, 25vh, 290px); border-width: 8px; }
  .feature-row { margin-top: 45px; }
  .feature { font-size: 15px; gap: 14px; padding: 0 12px; }
  .feature i { font-size: 28px; }
  .journey { grid-template-columns: 30% 1fr; gap: 5%; }
  .steps { gap: 20px; }
  .step-icon { width: 58px; height: 58px; font-size: 22px; margin-bottom: 15px; }
  .step-no { font-size: 12px; }
  .step h3 { font-size: 14px; margin: 8px 0; }
  .step p { font-size: 12px; line-height: 1.6; }
  .step-arrow { font-size: 19px; margin-top: 22px; }
  .testimonial { grid-template-columns: 45% 55%; }
  .testimonial-image { min-height: 100%; }
  .testimonial-copy { padding-inline: 13%; }
  .testimonial-copy h2 { font-size: clamp(44px, 3.6vw, 60px); margin-bottom: 22px; }
  .testimonial blockquote { font-size: 17px; line-height: 1.85; max-width: 560px; }
  .quote-author { font-size: 12px; }
  .slider-controls button { width: 40px; height: 40px; font-size: 15px; }
  .consult-copy { width: 58%; }
  .consult-copy h2 { font-size: clamp(44px, 3.4vw, 58px); }
  .stats-card { padding: 25px 18px; bottom: 42px; }
  .stats-card div { min-width: 130px; padding-inline: 18px; }
  .stats-card i { font-size: 22px; margin-bottom: 9px; }
  .stats-card strong { font-size: 27px; }
  .stats-card span { font-size: 11px; }
  .site-footer { min-height: 112px; }
  .footer-brand span { font-size: 30px; }
  .footer-brand small { font-size: 8px; }
  .footer-nav { gap: 30px; }
  .footer-nav a { font-size: 12px; }
  .social-links { gap: 17px; }
  .social-links a { font-size: 16px; }
  .copyright { font-size: 10px; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .hero h1 { font-size: clamp(48px, 5.2vw, 64px); }
  .hero-text { font-size: 15px; max-width: 390px; }
  .btn { min-height: 46px; padding-inline: 20px; font-size: 11px; }
  .section-intro h2,.craft-content h2,.journey h2,.consult-copy h2 { font-size: clamp(38px, 4vw, 48px); }
  .section-intro p,.craft-content>p,.journey-intro>p,.consult-copy>p { font-size: 14px; }
  .category img { height: clamp(170px, 22vh, 230px); }
  .category strong { font-size: 12px; }
  .category span { font-size: 11px; }
  .styles-copy h2 { font-size: 42px; }
  .styles-copy p { font-size: 14px; }
  .feature { font-size: 13px; }
  .feature i { font-size: 25px; }
  .step-icon { width: 50px; height: 50px; font-size: 20px; }
  .step h3 { font-size: 12px; }
  .step p { font-size: 11px; }
  .testimonial-copy h2 { font-size: 42px; }
  .testimonial blockquote { font-size: 15px; }
  .stats-card div { min-width: 95px; }
}

@media (max-width: 767px) {
  .hero h1 { font-size: clamp(42px, 9vw, 54px); line-height: 1.06; }
  .eyebrow { font-size: 10px; letter-spacing: 1.8px; }
  .hero-text { font-size: 14px; line-height: 1.7; }
  .btn { min-height: 46px; font-size: 11px; padding-inline: 16px; }
  .section-pad { padding: 52px 6%; }
  .section-number { font-size: 10px; margin-bottom: 15px; }
  .section-number span { font-size: 9px; }
  .section-intro h2,.craft-content h2,.journey-intro h2 { font-size: clamp(35px, 8vw, 43px); }
  .section-intro p,.craft-content>p,.journey-intro>p,.consult-copy>p { font-size: 14px; line-height: 1.7; }
  .category img { height: clamp(175px, 54vw, 245px); }
  .category strong { font-size: 12px; }
  .category span { font-size: 11px; }
  .styles-copy h2 { font-size: 40px; }
  .styles-copy p { font-size: 14px; line-height: 1.7; }
  .style-pill { font-size: 10px; padding: 9px 12px; }
  .craft-photos { min-height: 285px; }
  .craft-main { height: 285px; }
  .craft-detail { height: 145px; border-width: 6px; }
  .feature { font-size: 13px; gap: 9px; }
  .feature i { font-size: 24px; }
  .step-icon { width: 46px; height: 46px; font-size: 19px; }
  .step-no { font-size: 11px; }
  .step h3 { font-size: 12px; }
  .step p { font-size: 11px; line-height: 1.55; }
  .testimonial-copy h2 { font-size: 39px; }
  .testimonial blockquote { font-size: 15px; }
  .consult-copy h2 { font-size: 36px; }
  .stats-card strong { font-size: 19px; }
  .stats-card span { font-size: 9px; }
  .footer-nav a { font-size: 11px; }
}


/* ==============================
   WARDROVA HEADER & FOOTER
   Natural Warm Theme
================================ */

:root {
  --warm-bg: #f7f3eb;
  --warm-surface: #eee6d9;
  --warm-text: #25271f;
  --warm-muted: #716f63;
  --warm-olive: #30382a;
  --warm-olive-light: #47513b;
  --warm-border: #dcd3c5;
  --warm-white: #fffdf8;
  --warm-accent: #b28a60;
  --header-height: 86px;
}

.site-header,
.site-footer,
.site-header *,
.site-footer * {
  box-sizing: border-box;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  min-height: var(--header-height);
  padding: 0 clamp(22px, 5.5vw, 88px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  background: rgba(247, 243, 235, 0.96);
  border-bottom: 1px solid var(--warm-border);
  backdrop-filter: blur(18px);
}

.brand-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  color: var(--warm-text);
  text-decoration: none;
  line-height: 1;
}

.brand-name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 31px;
  letter-spacing: -1.1px;
}

.brand-tagline {
  margin-top: 6px;
  padding-left: 3px;
  font-family: "DM Sans", sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 2.2px;
}

.main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.1vw, 34px);
  height: 100%;
}

.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--header-height);
}

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--warm-text);
  text-decoration: none;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.25s ease;
}

.nav-link:hover,
.nav-link:focus-visible {
  color: var(--warm-accent);
}

.dropdown-icon {
  font-size: 9px;
  transition: transform 0.25s ease;
}

.has-dropdown:hover .dropdown-icon,
.has-dropdown:focus-within .dropdown-icon {
  transform: rotate(180deg);
}

.dropdown-menu {
  position: absolute;
  top: calc(100% - 8px);
  left: 0;
  min-width: 205px;
  padding: 10px;
  background: var(--warm-white);
  border: 1px solid var(--warm-border);
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(38, 35, 25, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.22s ease, transform 0.22s ease,
              visibility 0.22s ease;
}

.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu,
.has-dropdown.dropdown-open .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 5px;
  color: var(--warm-text);
  text-decoration: none;
  font-size: 12px;
  transition: background 0.2s ease;
}

.dropdown-menu a:hover,
.dropdown-menu a:focus-visible {
  background: var(--warm-surface);
}

.dropdown-menu a span {
  color: var(--warm-muted);
  font-size: 10px;
}

.dashboard-menu {
  min-width: 220px;
}

.dashboard-menu a {
  justify-content: flex-start;
}

.dashboard-menu i {
  width: 18px;
  color: var(--warm-olive-light);
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 38px;
  height: 40px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: var(--warm-text);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.icon-button:hover {
  background: var(--warm-surface);
  border-color: var(--warm-border);
}

.icon-button i {
  font-size: 15px;
}

.login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 43px;
  padding: 0 18px;
  background: var(--warm-olive);
  border: 1px solid var(--warm-olive);
  border-radius: 4px;
  color: #fffdf8;
  text-decoration: none;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.25s ease, transform 0.25s ease;
}

.login-button:hover {
  background: var(--warm-olive-light);
  transform: translateY(-2px);
}

.login-arrow {
  font-size: 10px;
}

.mobile-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  background: transparent;
  border: 1px solid var(--warm-border);
  border-radius: 4px;
  color: var(--warm-text);
  font-size: 17px;
  cursor: pointer;
}

/* FOOTER */

.site-footer {
  padding: 65px clamp(22px, 5.5vw, 88px) 0;
  background: var(--warm-olive);
  color: #f7f3eb;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.35fr 0.75fr 0.9fr 1.2fr;
  gap: clamp(28px, 5vw, 75px);
  padding-bottom: 55px;
}

.footer-logo {
  color: #f7f3eb;
}

.footer-brand > p {
  max-width: 270px;
  margin: 22px 0;
  color: #d2d1c6;
  font-size: 13px;
  line-height: 1.9;
}

.footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
}

.footer-socials a {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  color: #f7f3eb;
  text-decoration: none;
  transition: background 0.25s ease, color 0.25s ease;
}

.footer-socials a:hover {
  background: #f7f3eb;
  color: var(--warm-olive);
}

.footer-column,
.footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-column h3 {
  margin: 8px 0 23px;
  color: #f7f3eb;
  font-size: 13px;
  font-weight: 600;
}

.footer-column a {
  margin-bottom: 15px;
  color: #d2d1c6;
  font-size: 12px;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-column a:hover {
  color: #d5b38c;
}

.footer-eyebrow {
  margin: 8px 0 17px;
  color: #d5b38c;
  font-size: 9px;
  letter-spacing: 1.5px;
  line-height: 1.8;
}

.footer-contact h3 {
  margin: 0 0 24px;
  color: #f7f3eb;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 400;
  line-height: 1.3;
}

.footer-cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 13px 16px;
  background: #e6d8c3;
  border: 1px solid #e6d8c3;
  border-radius: 3px;
  color: #25271f;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}

.footer-cta:hover {
  background: #f7f3eb;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  min-height: 75px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-bottom p,
.footer-bottom a {
  margin: 0;
  color: #d2d1c6;
  font-size: 10px;
  line-height: 1.8;
}

.footer-bottom-links {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}

.footer-bottom a {
  text-decoration: none;
}

.footer-bottom a:hover {
  color: #fffdf8;
}

.footer-back-top {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* TABLET */

@media (max-width: 1100px) {
  :root {
    --header-height: 76px;
  }

  .site-header {
    padding-inline: 25px;
    gap: 16px;
  }

  .brand-name {
    font-size: 27px;
  }

  .main-nav {
    gap: 16px;
  }

  .nav-link {
    font-size: 12px;
  }

  .header-actions {
    gap: 5px;
  }

  .login-button {
    padding-inline: 12px;
  }

  .footer-main {
    grid-template-columns: 1.2fr 0.8fr 0.9fr;
  }

  .footer-contact {
    grid-column: 1 / -1;
    padding-top: 15px;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  :root {
    --header-height: 72px;
  }

  .site-header {
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding-inline: 18px;
  }

  .brand-name {
    font-size: 27px;
  }

  .brand-tagline {
    font-size: 7px;
  }

  .header-actions {
    gap: 4px;
  }

  .icon-button {
    min-width: 34px;
    height: 38px;
    padding-inline: 5px;
  }

  #rtlToggle span,
  .login-arrow {
    display: none;
  }

  .login-button {
    min-height: 38px;
    gap: 7px;
    padding-inline: 10px;
    font-size: 11px;
  }

  .mobile-menu-toggle {
    display: inline-grid;
    place-items: center;
  }

  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    height: auto;
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 12px 18px 22px;
    background: var(--warm-bg);
    border-bottom: 1px solid var(--warm-border);
    box-shadow: 0 18px 28px rgba(38, 35, 25, 0.1);
  }

  .main-nav.is-open {
    display: flex;
  }

  .nav-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: auto;
    border-bottom: 1px solid var(--warm-border);
  }

  .nav-link {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: 49px;
    font-size: 14px;
  }

  .dropdown-menu {
    position: static;
    display: none;
    min-width: 0;
    padding: 0 0 10px 12px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
  }

  .has-dropdown.dropdown-open .dropdown-menu {
    display: block;
  }

  .dropdown-menu a {
    min-height: 42px;
    padding: 10px;
  }

  
/* ===== WARDROVA FOOTER ALIGNMENT FIX ===== */

.site-footer {
  width: 100%;
  padding: 60px 5.5% 0;
  background: #30382a;
  color: #f7f3eb;
  overflow: hidden;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.25fr 0.7fr 0.9fr 1.2fr;
  gap: 42px;
  align-items: start;
  width: 100%;
  padding-bottom: 45px;
}

.footer-brand,
.footer-column,
.footer-contact {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  gap: 0;
  color: #f7f3eb;
  text-decoration: none;
}

.site-footer .footer-logo .brand-name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.7px;
}

.site-footer .footer-logo .brand-tagline {
  display: block;
  margin-top: 4px;
  padding: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 8px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 2px;
  white-space: nowrap;
}

.footer-brand > p {
  max-width: 250px;
  margin: 22px 0;
  font-size: 13px;
  line-height: 1.9;
  color: #d8d8cf;
}

.footer-column h3 {
  margin: 5px 0 22px;
  font-size: 13px;
  line-height: 1.5;
  color: #fffdf8;
}

.footer-column a {
  margin-bottom: 15px;
  color: #deded5;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: none;
}

.footer-column a:hover {
  color: #d5b38c;
}

.footer-contact {
  padding-left: 5px;
}

.footer-eyebrow {
  margin: 5px 0 20px;
  color: #d5b38c;
  font-size: 9px;
  line-height: 1.7;
  letter-spacing: 1.3px;
}

.footer-contact h3 {
  margin: 0 0 24px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(25px, 2.1vw, 34px);
  font-weight: 400;
  line-height: 1.35;
}

.footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 18px;
  background: #e6d8c3;
  color: #25271f;
  font-size: 12px;
  text-decoration: none;
  white-space: nowrap;
}

/* Copyright must occupy its own full-width row */

.site-footer .footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  width: 100%;
  min-height: 76px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-bottom p {
  margin: 0;
  color: #deded5;
  font-size: 11px;
  line-height: 1.7;
}

.footer-bottom-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.footer-bottom a {
  color: #deded5;
  font-size: 11px;
  line-height: 1.7;
  text-decoration: none;
  white-space: nowrap;
}

.footer-bottom a:hover {
  color: #fffdf8;
}

.footer-back-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

/* Tablet */

@media (min-width: 768px) and (max-width: 1024px) {
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .footer-contact {
    padding-left: 0;
  }

  .site-footer .footer-bottom {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom-links {
    justify-content: flex-end;
  }

  .footer-back-top {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* Mobile */

@media (max-width: 767px) {
  .site-footer {
    padding: 42px 22px 0;
  }

  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 22px;
    padding-bottom: 32px;
  }

  .footer-brand,
  .footer-contact {
    grid-column: 1 / -1;
  }

  .footer-contact {
    padding-left: 0;
  }

  .site-footer .footer-bottom {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 14px;
    padding: 22px 0;
  }

  .footer-bottom-links {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px 20px;
  }

  .footer-back-top {
    justify-content: flex-start;
  }
}



/* ===== WARDROVA FOOTER ALIGNMENT FIX ===== */

.site-footer {
  width: 100%;
  padding: 60px 5.5% 0;
  background: #30382a;
  color: #f7f3eb;
  overflow: hidden;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.25fr 0.7fr 0.9fr 1.2fr;
  gap: 42px;
  align-items: start;
  width: 100%;
  padding-bottom: 45px;
}

.footer-brand,
.footer-column,
.footer-contact {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  gap: 0;
  color: #f7f3eb;
  text-decoration: none;
}

.site-footer .footer-logo .brand-name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 29px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.7px;
}

.site-footer .footer-logo .brand-tagline {
  display: block;
  margin-top: 4px;
  padding: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 8px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 2px;
  white-space: nowrap;
}

.footer-brand > p {
  max-width: 250px;
  margin: 22px 0;
  font-size: 13px;
  line-height: 1.9;
  color: #d8d8cf;
}

.footer-column h3 {
  margin: 5px 0 22px;
  font-size: 13px;
  line-height: 1.5;
  color: #fffdf8;
}

.footer-column a {
  margin-bottom: 15px;
  color: #deded5;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: none;
}

.footer-column a:hover {
  color: #d5b38c;
}

.footer-contact {
  padding-left: 5px;
}

.footer-eyebrow {
  margin: 5px 0 20px;
  color: #d5b38c;
  font-size: 9px;
  line-height: 1.7;
  letter-spacing: 1.3px;
}

.footer-contact h3 {
  margin: 0 0 24px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(25px, 2.1vw, 34px);
  font-weight: 400;
  line-height: 1.35;
}

.footer-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 18px;
  background: #e6d8c3;
  color: #25271f;
  font-size: 12px;
  text-decoration: none;
  white-space: nowrap;
}

/* Copyright must occupy its own full-width row */

.site-footer .footer-bottom {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  width: 100%;
  min-height: 76px;
  padding: 18px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-bottom p {
  margin: 0;
  color: #deded5;
  font-size: 11px;
  line-height: 1.7;
}

.footer-bottom-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.footer-bottom a {
  color: #deded5;
  font-size: 11px;
  line-height: 1.7;
  text-decoration: none;
  white-space: nowrap;
}

.footer-bottom a:hover {
  color: #fffdf8;
}

.footer-back-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
}

/* Tablet */

@media (min-width: 768px) and (max-width: 1024px) {
  .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .footer-contact {
    padding-left: 0;
  }

  .site-footer .footer-bottom {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom-links {
    justify-content: flex-end;
  }

  .footer-back-top {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* Mobile */

@media (max-width: 767px) {
  .site-footer {
    padding: 42px 22px 0;
  }

  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 22px;
    padding-bottom: 32px;
  }

  .footer-brand,
  .footer-contact {
    grid-column: 1 / -1;
  }

  .footer-contact {
    padding-left: 0;
  }

  .site-footer .footer-bottom {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 14px;
    padding: 22px 0;
  }

  .footer-bottom-links {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 12px 20px;
  }

  .footer-back-top {
    justify-content: flex-start;
  }
}
}


    /* Header: brand left, navigation centered, controls right */
    body .site-header {
      display: flex !important;
      justify-content: space-between !important;
      grid-template-columns: minmax(180px, 1fr) auto minmax(190px, 1fr) !important;
      align-items: center !important;
      gap: 24px !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    body .site-header > .brand-logo { justify-self: start !important; min-width: 0; }
    body .site-header > .main-nav { justify-self: center !important; min-width: 0; }
    body .site-header > .header-actions { justify-self: end !important; min-width: 0; }

    /* Footer must be a normal block; otherwise global grid rules can place
       the copyright row beside the CTA instead of underneath all columns. */
    body footer.site-footer {
      display: block !important;
      position: relative !important;
      width: 100% !important;
      height: auto !important;
      box-sizing: border-box !important;
      overflow: hidden;
      padding: 58px clamp(24px, 5.5vw, 88px) 0 !important;
    }
    body footer.site-footer .footer-main {
      display: grid !important;
      grid-template-columns: minmax(0, 1.25fr) minmax(100px, .7fr) minmax(130px, .9fr) minmax(220px, 1.2fr) !important;
      align-items: start !important;
      justify-content: stretch !important;
      gap: clamp(22px, 3.2vw, 48px) !important;
      width: 100% !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 0 42px !important;
      box-sizing: border-box !important;
    }
    body footer.site-footer .footer-brand,
    body footer.site-footer .footer-column,
    body footer.site-footer .footer-contact {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: flex-start !important;
      position: static !important;
      float: none !important;
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }
    body footer.site-footer .footer-logo {
      display: inline-flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      width: fit-content !important;
      line-height: 1 !important;
      text-decoration: none !important;
    }
    body footer.site-footer .footer-logo .brand-name {
      display: block !important;
      font-family: 'Playfair Display', Georgia, serif !important;
      font-size: 29px !important;
      font-weight: 400 !important;
      line-height: 1.15 !important;
      letter-spacing: -.7px !important;
      white-space: nowrap !important;
    }
    body footer.site-footer .footer-logo .brand-tagline {
      display: block !important;
      margin: 4px 0 0 !important;
      padding: 0 0 0 2px !important;
      font-family: 'DM Sans', sans-serif !important;
      font-size: 8px !important;
      font-weight: 500 !important;
      line-height: 1.4 !important;
      letter-spacing: 2px !important;
      white-space: nowrap !important;
      width: auto !important;
      height: auto !important;
      transform: none !important;
    }
    body footer.site-footer .footer-brand > p {
      max-width: 245px !important;
      margin: 22px 0 !important;
      font-size: 13px !important;
      line-height: 1.9 !important;
    }
    body footer.site-footer .footer-column h3 { margin: 5px 0 22px !important; }
    body footer.site-footer .footer-column a { margin: 0 0 14px !important; line-height: 1.6 !important; }
    body footer.site-footer .footer-contact h3 {
      margin: 0 0 22px !important;
      font-size: clamp(25px, 2.1vw, 33px) !important;
      line-height: 1.35 !important;
      overflow-wrap: normal !important;
      word-break: normal !important;
    }
    body footer.site-footer .footer-bottom {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
      align-items: center !important;
      justify-content: stretch !important;
      gap: 20px !important;
      position: static !important;
      float: none !important;
      width: 100% !important;
      height: auto !important;
      min-height: 76px !important;
      margin: 0 !important;
      padding: 18px 0 !important;
      border-top: 1px solid rgba(255,255,255,.22) !important;
      box-sizing: border-box !important;
    }
    body footer.site-footer .footer-bottom > p { margin: 0 !important; min-width: 0; }
    body footer.site-footer .footer-bottom-links {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      flex-wrap: wrap !important;
      gap: 20px !important;
      margin: 0 !important;
    }
    body footer.site-footer .footer-bottom a { white-space: nowrap; }
    body footer.site-footer .footer-back-top { justify-self: end !important; }

    @media (min-width: 768px) and (max-width: 1100px) {
      body .site-header { grid-template-columns: auto 1fr auto !important; gap: 16px !important; }
      body .site-header > .main-nav { gap: 14px !important; }
      body footer.site-footer .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 34px !important; }
      body footer.site-footer .footer-bottom { grid-template-columns: minmax(0, 1fr) auto !important; }
      body footer.site-footer .footer-back-top { grid-column: 1 / -1; justify-self: start !important; }
    }
    @media (max-width: 767px) {
      body .site-header { grid-template-columns: minmax(0, 1fr) auto !important; gap: 10px !important; }
      body .site-header > .main-nav { justify-self: stretch !important; }
      body footer.site-footer { padding: 42px 22px 0 !important; }
      body footer.site-footer .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 30px 22px !important; padding-bottom: 32px !important; }
      body footer.site-footer .footer-brand,
      body footer.site-footer .footer-contact { grid-column: 1 / -1 !important; }
      body footer.site-footer .footer-bottom { grid-template-columns: minmax(0, 1fr) !important; justify-items: start !important; gap: 13px !important; padding: 20px 0 !important; }
      body footer.site-footer .footer-bottom-links { justify-content: flex-start !important; gap: 12px 18px !important; }
      body footer.site-footer .footer-back-top { grid-column: auto !important; justify-self: start !important; }
    }


    
/* ==========================================
   WARDROVA MATERIALS — LARGER SECTION
========================================== */

.wardrova-materials {
  grid-template-columns: 1.2fr 0.95fr 0.78fr;
  min-height: 600px;
  align-items: stretch;
}

/* Larger material photography */
.materials-image {
  min-height: 600px;
}

.materials-image img {
  height: 100%;
  min-height: 600px;
  object-fit: cover;
}

/* More space for the introduction */
.materials-content {
  justify-content: center;
  padding: 65px clamp(32px, 4vw, 65px);
}

.materials-eyebrow {
  gap: 13px;
  margin-bottom: 30px;
  font-size: 11px;
}

.materials-content h2 {
  margin-bottom: 24px;
  font-size: clamp(36px, 3.2vw, 48px);
  line-height: 1.25;
}

.materials-content > p {
  max-width: 410px;
  margin-bottom: 30px;
  font-size: 15px;
  line-height: 1.9;
}

.materials-cta {
  min-height: 50px;
  padding: 0 23px;
  font-size: 13px;
}

/* Larger, more spacious material list */
.materials-list {
  justify-content: center;
  padding: 45px clamp(24px, 3vw, 45px);
}

.material-item {
  grid-template-columns: 48px minmax(0, 1fr) 14px;
  gap: 16px;
  min-height: 78px;
}

.material-thumbnail {
  width: 48px;
  height: 48px;
}

.material-name {
  font-size: 13px;
}

.material-arrow {
  font-size: 16px;
}

/* Tablet */
@media (max-width: 1050px) {
  .wardrova-materials {
    grid-template-columns: 1fr 1fr;
    min-height: auto;
  }

  .materials-image,
  .materials-image img {
    min-height: 450px;
  }

  .materials-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 30px;
  }

  .material-item {
    min-height: 70px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .wardrova-materials {
    grid-template-columns: 1fr;
  }

  .materials-image,
  .materials-image img {
    min-height: 320px;
  }

  .materials-content {
    padding: 45px 24px;
  }

  .materials-content h2 {
    font-size: 36px;
  }

  .materials-content > p {
    font-size: 14px;
  }

  .materials-list {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 25px 24px 35px;
  }

  .material-item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    min-height: 60px;
  }

  .material-thumbnail {
    width: 36px;
    height: 36px;
  }

  .material-name {
    font-size: 11px;
  }
}


/* ============================================
   WARDROVA — INCREASE THE ENTIRE SECTION SIZE
============================================ */

/* Increase the complete section's overall footprint */
section.wardrova-materials {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.8fr;

  width: 100%;
  max-width: none;
  min-height: 600px;
  height: auto;

  margin: 0;
  padding: 0;

  align-items: stretch;
  overflow: hidden;
}

/* Make the image fill its entire enlarged column */
section.wardrova-materials .materials-image {
  width: 100%;
  height: 100%;
  min-height: 600px;
}

section.wardrova-materials .materials-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 600px;
  object-fit: cover;
}

/* Give the center column generous space */
section.wardrova-materials .materials-content {
  width: 100%;
  min-height: 600px;
  padding: 80px 55px;
  justify-content: center;
}

/* Expand the entire right column */
section.wardrova-materials .materials-list {
  width: 100%;
  min-height: 600px;
  padding: 60px 35px;
  justify-content: center;
}

/* Tablet */
@media (max-width: 1050px) {
  section.wardrova-materials {
    grid-template-columns: 1fr 1fr;
    min-height: auto;
  }

  section.wardrova-materials .materials-image,
  section.wardrova-materials .materials-image img {
    min-height: 520px;
  }

  section.wardrova-materials .materials-content {
    min-height: 520px;
    padding: 45px 32px;
  }

  section.wardrova-materials .materials-list {
    grid-column: 1 / -1;
    min-height: 220px;
    padding: 30px 40px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  section.wardrova-materials {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  section.wardrova-materials .materials-image,
  section.wardrova-materials .materials-image img {
    min-height: 340px;
    height: 340px;
  }

  section.wardrova-materials .materials-content {
    min-height: 400px;
    padding: 55px 25px;
  }

  section.wardrova-materials .materials-list {
    grid-column: auto;
    min-height: 300px;
    padding: 30px 25px;
  }
}


/* =================================
    — FOOTER CONTACT US
================================= */

.footer-contact-us {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 320px;
  color: #e5eeee;
  font-family: inherit;
}

.footer-contact-us h3 {
  margin: 0 0 18px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}

.footer-contact-item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  width: 100%;
  margin-bottom: 20px;
  color: #dce9e9;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.footer-contact-item i {
  margin-top: 3px;
  color: #dce9e9;
  font-size: 13px;
  text-align: center;
}

.footer-contact-item span {
  display: block;
  min-width: 0;
}

.footer-contact-address {
  margin-bottom: 0;
}

/* Tablet */
@media (max-width: 1024px) {
  .footer-contact-us {
    max-width: 100%;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .footer-contact-us h3 {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .footer-contact-item {
    gap: 10px;
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.6;
  }

  .footer-contact-address {
    margin-bottom: 0;
  }
}







/* Shared navigation, footer and new page layouts */
.site-header{position:sticky;top:0;height:78px;background:var(--paper);color:var(--ink);padding:0 5.5%;box-shadow:0 1px 0 var(--line);gap:22px}
.brand-logo{display:flex;flex-direction:column;line-height:1;min-width:145px;flex-shrink:0}
.brand-name{font:500 27px/1 var(--serif);letter-spacing:-.8px}
.brand-tagline{font-size:8px;letter-spacing:2px;margin-top:6px}
.main-nav{gap:clamp(12px,2vw,30px)}
.main-nav .nav-link{font-size:13px;white-space:nowrap}
.nav-item{position:relative}
.dropdown-icon{font-size:9px;margin-left:5px}
.dropdown-menu{display:none;position:absolute;top:100%;left:-14px;min-width:170px;padding:10px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px #00000012;z-index:50}
.nav-item:hover .dropdown-menu,.nav-item:focus-within .dropdown-menu{display:flex;flex-direction:column;gap:5px}
.dropdown-menu a{padding:9px 10px!important;display:flex;justify-content:space-between;gap:10px}
.header-actions{align-items:center;gap:12px}
.login-button{display:inline-flex;align-items:center;gap:8px;font-size:11px;border:1px solid var(--line);padding:10px 13px;white-space:nowrap}
.mobile-menu-toggle{display:none;border:0;background:transparent;color:inherit;font-size:19px;padding:8px}
.site-footer{background:var(--olive);color:#f7f3e9;padding:44px 5.5% 18px}
.footer-main{display:grid;grid-template-columns:1.3fr .75fr .75fr 1fr 1.2fr;gap:28px;align-items:start}
.footer-brand .brand-logo{color:#fff}
.footer-brand p{max-width:220px;color:#dedbce;font-size:12px;margin:18px 0}
.footer-socials{display:flex;gap:13px}.footer-socials a{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff45;border-radius:50%}
.footer-column,.footer-contact-us{display:flex;flex-direction:column;gap:10px;font-size:11px}
.footer-column h3,.footer-contact-us h3{font-size:12px;margin:0 0 7px;color:#fff}
.footer-column a{color:#e0ddcf}.footer-column a:hover{color:#fff}
.footer-contact-item{display:flex;align-items:flex-start;gap:9px;color:#e0ddcf;font-size:11px}.footer-contact-item i{margin-top:3px}
.footer-contact{border-left:1px solid #ffffff40;padding-left:22px}.footer-eyebrow{font-size:8px;letter-spacing:1.5px;color:#d5c7ad}.footer-contact h3{font:400 25px/1.2 var(--serif);margin:12px 0 18px}.footer-cta{font-size:11px;border-bottom:1px solid #ffffff75;padding-bottom:8px;display:inline-flex;gap:10px}
.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ffffff35;margin-top:32px;padding-top:16px;font-size:10px;color:#e0ddcf}.footer-bottom p{margin:0}.footer-bottom-links{display:flex;gap:20px}
.back-top{position:fixed;right:22px;bottom:22px;z-index:80;width:44px;height:44px;border:0;border-radius:50%;background:var(--olive);color:#fff;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;cursor:pointer;box-shadow:0 8px 24px #0002}.back-top.visible{opacity:1;visibility:visible;transform:none}
.h2-hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:#e5d9c9;color:#22251b}
.h2-hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#e7dccd 0%,rgba(231,220,205,.92) 25%,rgba(231,220,205,.32) 56%,rgba(0,0,0,.04) 100%),url('../images/img (33).webp') center 55%/cover}
.h2-hero-copy{position:relative;z-index:1;width:min(640px,58%);padding:70px 0 70px 8%}
.h2-hero-copy h1,.gallery-hero-copy h1{font:400 clamp(45px,6vw,78px)/1.02 var(--serif);letter-spacing:-2px;margin:18px 0}
.h2-hero-copy h1 em,.h2-intro h2 em,.h2-editorial-copy h2 em,.h2-material-copy h2 em,.h2-cta h2 em,.gallery-hero-copy h1 em,.gallery-intro h2 em,.gallery-note-copy h2 em,.gallery-bottom-cta h2 em{font-weight:400;color:#8b6848}
.h2-hero-copy>p:not(.eyebrow){max-width:400px;line-height:1.8;font-size:14px;margin-bottom:25px}
.h2-hero-note{display:block;font-size:8px;letter-spacing:2px;margin-top:52px;color:#625b4e}
.h2-hero-index{position:absolute;right:5.5%;bottom:34px;display:flex;align-items:center;gap:12px;font-size:10px}.h2-hero-index i{height:1px;width:45px;background:currentColor}
.h2-intro{padding-top:86px;padding-bottom:84px}
.h2-intro-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:10%;align-items:end;margin-top:18px}
.h2-intro h2,.h2-editorial-copy h2,.h2-material-copy h2,.gallery-intro h2,.gallery-note-copy h2{font:400 clamp(34px,4.1vw,54px)/1.12 var(--serif);letter-spacing:-1px;margin:0}
.h2-intro-grid>div p,.h2-editorial-copy>p:not(.eyebrow),.h2-material-copy>p:not(.eyebrow),.gallery-intro>p,.gallery-note-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 22px;max-width:430px}
.h2-editorial{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;background:var(--ivory);min-height:530px}
.h2-editorial-image{position:relative;height:100%;min-height:530px}.h2-editorial-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.h2-editorial-image>span{position:absolute;bottom:22px;left:24px;background:#25271fd9;color:white;padding:9px 12px;font-size:8px;letter-spacing:1.5px}
.h2-editorial-copy{padding:60px clamp(28px,7vw,100px)}.h2-editorial-copy h2{margin:16px 0 20px}.h2-editorial-copy .btn{margin:4px 0 36px}
.h2-stat-row{display:flex;gap:26px;border-top:1px solid var(--line);padding-top:20px}.h2-stat-row div{display:flex;flex-direction:column;gap:5px}.h2-stat-row strong{font:400 23px var(--serif)}.h2-stat-row span{font-size:10px;color:var(--muted)}
.h2-collections{padding-top:85px;padding-bottom:90px}.h2-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.h2-section-heading h2,.h2-process-title h2{font:400 clamp(32px,4vw,48px)/1.1 var(--serif);margin:12px 0 0}
.h2-collection-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px;align-items:start}
.h2-collection{display:flex;flex-direction:column;min-width:0}.h2-collection img{width:100%;height:270px;object-fit:cover;transition:transform .5s}.h2-collection:hover img{transform:translateY(-5px)}.h2-collection-tall img{height:390px}.collection-number{font-size:8px;letter-spacing:1.5px;color:var(--muted);margin:15px 0 8px}.h2-collection strong{font:400 22px/1.25 var(--serif);display:flex;justify-content:space-between;gap:12px}.h2-collection strong i{font-size:12px;margin-top:7px}
.h2-materials{display:grid;grid-template-columns:.8fr 1.2fr;background:#e7dfd2;color:#27291f;min-height:470px}.h2-material-copy{padding:65px 8%;align-self:center}.h2-material-copy h2{margin:18px 0}.h2-material-image{position:relative;min-height:470px}.h2-material-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.material-note{position:absolute;right:25px;bottom:25px;padding:18px 22px;background:#f9f5ed;color:#292b22;display:flex;flex-direction:column;gap:6px}.material-note span{font-size:8px;letter-spacing:1.5px}.material-note strong{font:400 19px var(--serif)}
.h2-process{padding-top:86px;padding-bottom:90px}.h2-process-title{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px}.h2-process-title .eyebrow{margin-bottom:12px}.h2-process-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.h2-process-steps article{position:relative;padding:24px 22px 0 0;border-right:1px solid var(--line);margin-right:22px}.h2-process-steps article:last-child{border:0;margin:0}.h2-process-steps article>span{font-size:9px;letter-spacing:1px;color:var(--muted)}.h2-process-steps article>i{display:block;font-size:21px;color:var(--wood);margin:28px 0 15px}.h2-process-steps h3{font:400 22px var(--serif);margin:0 0 8px}.h2-process-steps p{font-size:11px;color:var(--muted);max-width:200px;line-height:1.8}
.h2-quote{text-align:center;padding:75px 20px 70px;background:var(--ivory)}.h2-quote-mark{font:70px/.8 var(--serif);color:var(--wood)}.h2-quote blockquote{max-width:760px;margin:18px auto 20px;font:400 clamp(26px,3.4vw,42px)/1.3 var(--serif)}.h2-quote p{font-size:8px;letter-spacing:2px;color:var(--muted)}
.h2-cta,.gallery-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--olive);color:#f8f4e9;padding:58px 7.4%}.h2-cta h2,.gallery-bottom-cta h2{font:400 clamp(32px,4vw,48px)/1.12 var(--serif);margin:12px 0 0}.h2-cta h2 em,.gallery-bottom-cta h2 em{color:#d0b18c}
.gallery-hero{position:relative;min-height:490px;display:flex;align-items:center;overflow:hidden;background:#e8ded1;color:#24261d}.gallery-hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#e8ded1 0%,rgba(232,222,209,.92) 36%,rgba(232,222,209,.15) 75%),url('../images/img (41).webp') center/cover}.gallery-hero-copy{position:relative;padding:60px 8%;max-width:750px}.gallery-hero-copy h1{font-size:clamp(42px,5.5vw,68px)}.gallery-hero-copy>p:not(.eyebrow){max-width:470px;line-height:1.8;font-size:13px;margin-bottom:25px}.gallery-hero-caption{position:absolute;right:5.5%;bottom:25px;font-size:8px;letter-spacing:1.5px}
.gallery-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;padding-top:70px;padding-bottom:45px}.gallery-intro h2{margin-top:14px}.gallery-intro>p{max-width:390px;margin-bottom:4px}
.gallery-work{padding-top:15px;padding-bottom:85px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:24px}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap}.gallery-filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 13px;border-radius:30px;font-size:10px;cursor:pointer}.gallery-filter span{font-size:8px;color:var(--muted);margin-left:5px}.gallery-filter.active,.gallery-filter:hover{background:var(--olive);color:#fff;border-color:var(--olive)}.gallery-filter.active span,.gallery-filter:hover span{color:#e7ddcb}.gallery-count{font-size:10px;color:var(--muted);white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px;align-items:start}.gallery-item{min-width:0}.gallery-item a{position:relative;display:block;overflow:hidden;background:var(--ivory)}.gallery-item img{display:block;width:100%;height:310px;object-fit:cover;transition:transform .6s}.gallery-item-large img{height:440px}.gallery-item-wide img{height:340px}.gallery-item a:hover img{transform:scale(1.035)}.gallery-item-overlay{position:absolute;inset:auto 0 0;padding:44px 22px 20px;color:white;background:linear-gradient(transparent,rgba(16,18,13,.8));display:flex;flex-direction:column;gap:8px}.gallery-item-overlay>span{font-size:8px;letter-spacing:1.5px}.gallery-item-overlay strong{font:400 22px var(--serif);display:flex;justify-content:space-between;gap:12px}.gallery-item-overlay strong i{font-size:12px;margin-top:8px}.gallery-item[hidden]{display:none!important}
.gallery-note{display:grid;grid-template-columns:1fr 1fr;min-height:390px;background:var(--ivory)}.gallery-note-image{min-height:390px}.gallery-note-image img{width:100%;height:100%;min-height:390px;object-fit:cover}.gallery-note-copy{align-self:center;padding:50px clamp(25px,7vw,90px)}.gallery-note-copy h2{margin:15px 0 18px}
.gallery-bottom-cta{display:block;text-align:center;padding:68px 20px}.gallery-bottom-cta h2{margin:14px 0 25px}.gallery-bottom-cta .btn{margin:auto}
html[data-theme="dark"] .h2-hero,html[data-theme="dark"] .gallery-hero{background:#292a22;color:#f5f0e7}
html[data-theme="dark"] .h2-hero-image{background-image:linear-gradient(90deg,#292a22 0%,rgba(41,42,34,.92) 25%,rgba(41,42,34,.45) 60%,rgba(0,0,0,.1) 100%),url('../images/img (4).webp')}
html[data-theme="dark"] .gallery-hero-image{background-image:linear-gradient(90deg,#292a22 0%,rgba(41,42,34,.9) 36%,rgba(41,42,34,.35) 75%),url('../images/img (2).webp')}
html[data-theme="dark"] .h2-editorial,html[data-theme="dark"] .h2-quote,html[data-theme="dark"] .gallery-note{background:#282b23}
html[data-theme="dark"] .h2-materials{background:#33362b;color:#f3eee3}
html[data-theme="dark"] .material-note{background:#20231d;color:#f3eee3}
html[data-theme="dark"] .h2-hero-copy h1 em,html[data-theme="dark"] .gallery-hero-copy h1 em,html[data-theme="dark"] .h2-intro h2 em,html[data-theme="dark"] .h2-editorial-copy h2 em,html[data-theme="dark"] .h2-material-copy h2 em,html[data-theme="dark"] .gallery-intro h2 em,html[data-theme="dark"] .gallery-note-copy h2 em{color:#d2b18b}
html[dir="rtl"] .site-header{flex-direction:row}
html[dir="rtl"] .main-nav{direction:rtl}
html[dir="rtl"] .brand-logo,html[dir="rtl"] .footer-brand{text-align:right}
html[dir="rtl"] .h2-hero-copy{padding:70px 8% 70px 0}
html[dir="rtl"] .h2-hero-image{background-image:linear-gradient(270deg,#e7dccd 0%,rgba(231,220,205,.92) 25%,rgba(231,220,205,.32) 56%,rgba(0,0,0,.04) 100%),url('../images/img (4).webp')}
html[dir="rtl"] .h2-editorial-image>span{left:auto;right:24px}
html[dir="rtl"] .h2-process-steps article{padding:24px 0 0 22px;border-right:0;border-left:1px solid var(--line);margin-right:0;margin-left:22px}
html[dir="rtl"] .h2-process-steps article:last-child{border-left:0;margin-left:0}
html[dir="rtl"] .gallery-hero-image{background-image:linear-gradient(270deg,#e8ded1 0%,rgba(232,222,209,.92) 36%,rgba(232,222,209,.15) 75%),url('../images/img (2).webp')}
html[dir="rtl"] .gallery-hero-caption{right:auto;left:5.5%}
html[dir="rtl"] .footer-contact{border-left:0;border-right:1px solid #ffffff40;padding-left:0;padding-right:22px}
html[dir="rtl"] .footer-contact-item{flex-direction:row-reverse}
@media(max-width:1100px){.site-header{padding:0 3%;gap:12px}.main-nav{gap:14px}.header-actions{gap:7px}.login-button{padding:8px}.footer-main{grid-template-columns:1.2fr .8fr .8fr 1fr}.footer-contact{grid-column:1/-1;border-left:0;padding:20px 0 0;border-top:1px solid #ffffff40}.h2-hero{min-height:560px}}
@media(max-width:850px){.site-header{height:72px;position:sticky}.mobile-menu-toggle{display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 5%;box-shadow:0 12px 20px #00000012;align-items:stretch;flex-direction:column;gap:5px}.main-nav.open{display:flex}.main-nav .nav-link{display:block;padding:10px 0}.nav-item:hover .dropdown-menu,.nav-item:focus-within .dropdown-menu{position:static;box-shadow:none;border:0;padding:3px 12px}.header-actions{margin-left:auto}.login-button .login-arrow{display:none}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-contact{grid-column:auto}.h2-hero-copy{width:75%}.h2-intro-grid{gap:35px}.h2-editorial{grid-template-columns:1fr 1fr}.h2-collection-grid{gap:14px}.h2-collection img{height:230px}.h2-collection-tall img{height:320px}.h2-materials{grid-template-columns:.9fr 1.1fr}.h2-process-steps{grid-template-columns:repeat(2,1fr);row-gap:25px}.h2-process-steps article:nth-child(2){border-right:0;margin-right:0}.gallery-intro{align-items:start}.gallery-item img{height:270px}.gallery-item-large img{height:350px}}
@media(max-width:600px){.site-header{padding:0 4%;gap:6px}.brand-logo{min-width:0}.brand-name{font-size:23px}.brand-tagline{font-size:7px;letter-spacing:1.4px}.header-actions{gap:4px}.icon-button{font-size:14px;padding:6px}.login-button{font-size:10px;padding:7px;gap:5px}.login-button>i:first-child{display:none}.hero{min-height:620px;height:auto}.hero-copy{width:82%;padding:90px 5% 40px 6%}.hero-image{inset:0;background-position:58% center}.solutions{grid-template-columns:1fr;gap:25px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.category img{height:190px}.styles-band{grid-template-columns:1fr}.styles-copy{padding:35px 7%}.styles-image{min-height:260px}.craft{grid-template-columns:1fr!important}.craft-photos{min-height:330px}.wardrova-materials{grid-template-columns:1fr!important}.materials-image{min-height:280px}.materials-image img{height:280px}.materials-content{padding:35px 7%!important}.materials-list{padding:0 7% 25px!important}.journey{grid-template-columns:1fr!important}.steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}.h2-hero{min-height:590px}.h2-hero-image{background-image:linear-gradient(90deg,rgba(231,220,205,.96),rgba(231,220,205,.75) 65%,rgba(231,220,205,.25)),url('../images/img (4).webp')}.h2-hero-copy{width:100%;padding:65px 6%}.h2-hero-copy h1{font-size:48px;letter-spacing:-1.2px}.h2-hero-note{margin-top:35px}.h2-intro{padding-top:55px;padding-bottom:55px}.h2-intro-grid{grid-template-columns:1fr;gap:20px}.h2-editorial{grid-template-columns:1fr}.h2-editorial-image{min-height:320px}.h2-editorial-copy{padding:42px 7%}.h2-stat-row{gap:14px;justify-content:space-between}.h2-stat-row strong{font-size:20px}.h2-stat-row span{font-size:9px}.h2-collections{padding-top:55px;padding-bottom:60px}.h2-section-heading{align-items:start;flex-direction:column}.h2-collection-grid{grid-template-columns:1fr 1fr}.h2-collection-tall{grid-column:1/-1}.h2-collection-tall img{height:300px}.h2-collection img{height:190px}.h2-collection strong{font-size:18px}.h2-materials{grid-template-columns:1fr}.h2-material-copy{padding:45px 7%}.h2-material-image{min-height:300px}.h2-process{padding-top:55px;padding-bottom:55px}.h2-process-title{align-items:start;flex-direction:column}.h2-process-steps article{margin-right:12px;padding-right:10px}.h2-process-steps article:nth-child(even){border-right:0;margin-right:0}.h2-process-steps article:nth-child(odd){border-right:1px solid var(--line)}.h2-cta{align-items:flex-start;flex-direction:column;padding:45px 7%}.gallery-hero{min-height:500px}.gallery-hero-image{background-image:linear-gradient(90deg,rgba(232,222,209,.97),rgba(232,222,209,.78) 70%,rgba(232,222,209,.3)),url('../images/img (2).webp')}.gallery-hero-copy{padding:55px 6%}.gallery-hero-copy h1{font-size:43px;letter-spacing:-1px}.gallery-hero-caption{left:6%;right:auto;font-size:7px}.gallery-intro{padding-top:50px;padding-bottom:30px;flex-direction:column;gap:18px}.gallery-work{padding:10px 5% 55px}.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-filters{gap:7px}.gallery-filter{padding:8px 10px;font-size:9px}.gallery-grid{grid-template-columns:1fr;gap:18px}.gallery-item img,.gallery-item-large img,.gallery-item-wide img{height:300px}.gallery-note{grid-template-columns:1fr}.gallery-note-image,.gallery-note-image img{min-height:260px;height:260px}.gallery-note-copy{padding:42px 7%}.gallery-bottom-cta{padding:50px 6%}.footer-main{grid-template-columns:1fr 1fr;gap:25px 18px}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-bottom-links{flex-wrap:wrap}.site-footer{padding:35px 6% 18px}.footer-contact-us{overflow-wrap:anywhere}}
@media(max-width:360px){.login-button span{display:none}.h2-collection-grid{grid-template-columns:1fr}.h2-collection-tall{grid-column:auto}.h2-collection img,.h2-collection-tall img{height:240px}.h2-process-steps{grid-template-columns:1fr}.h2-process-steps article,.h2-process-steps article:nth-child(odd){border-right:0;border-bottom:1px solid var(--line);margin:0;padding:18px 0}.h2-process-steps article:last-child{border-bottom:0}.footer-main{grid-template-columns:1fr}}


/* Additional Wardrova editorial sections: Home 2, Gallery and Products */
.h2-living-stories{background:var(--cream,#f6f2eb)}.living-stories-head,.gallery-room-heading,.product-section-heading,.finish-intro{max-width:720px;margin:0 auto 48px;text-align:center}.living-stories-head h2,.gallery-room-heading h2,.product-section-heading h2,.finish-intro h2,.project-steps-intro h2{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1.1;font-weight:500;margin:14px 0}.living-stories-head h2 em,.gallery-room-heading h2 em,.product-section-heading h2 em,.finish-intro h2 em,.project-steps-intro h2 em,.detail-strip-copy h2 em,.visit-panel h2 em,.material-mood-copy h2 em,.room-note-copy h3 em,.products-hero h1 em,.product-split-copy h2 em,.cabinet-heading h2 em,.workspace-copy h2 em,.product-final-copy h2 em{font-style:italic;color:var(--accent,#a66f4d)}.living-stories-head p,.gallery-room-heading p,.product-section-heading p,.finish-intro p{color:var(--muted,#777168);max-width:620px;margin:0 auto;line-height:1.8}.living-story-grid{display:grid;grid-template-columns:1.08fr .92fr .92fr;gap:22px;align-items:start}.living-story{position:relative;min-width:0}.living-story-tall{grid-row:span 2}.living-story img{width:100%;height:300px;object-fit:cover;display:block}.living-story-tall img{height:520px}.living-story-caption{padding:18px 2px 26px}.living-story-caption span,.room-note-copy>span,.product-feature-card>span,.cabinet-feature-note>span{font-size:.72rem;letter-spacing:.15em;color:var(--accent,#a66f4d)}.living-story-caption h3,.room-note-copy h3{font:500 1.7rem 'Playfair Display',serif;margin:9px 0}.living-story-caption p,.room-note-copy p{line-height:1.7;color:var(--muted,#777168);margin:0}.h2-detail-strip,.gallery-material-mood,.product-wardrobes,.product-workspaces,.product-final-cta{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--surface,#eee7dc)}.detail-strip-image img,.product-split-image img,.workspace-image img,.product-final-image img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block}.detail-strip-copy,.product-split-copy,.workspace-copy,.product-final-copy{padding:clamp(34px,6vw,90px);align-self:center}.detail-strip-copy h2,.material-mood-copy h2,.product-split-copy h2,.cabinet-heading h2,.workspace-copy h2,.product-final-copy h2{font:500 clamp(2.2rem,4vw,3.7rem)/1.12 'Playfair Display',serif;margin:16px 0}.detail-strip-copy p,.product-split-copy p,.workspace-copy p,.product-final-copy p{line-height:1.85;color:var(--muted,#777168)}.detail-strip-copy ul,.product-split-copy ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.detail-strip-copy li,.product-split-copy li{display:flex;gap:12px;align-items:center}.detail-strip-copy li i,.product-split-copy li i{color:var(--accent,#a66f4d)}.text-link{display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:var(--text,#302d29);font-weight:600;margin-top:14px}.text-link i{transition:transform .2s}.text-link:hover i{transform:translateX(4px)}.h2-visit{background:var(--cream,#f6f2eb)}.visit-panel{background:var(--surface,#eee7dc);padding:clamp(32px,6vw,72px);display:flex;justify-content:space-between;align-items:flex-end;gap:32px}.visit-panel h2{font:500 clamp(2rem,4vw,3.4rem)/1.12 'Playfair Display',serif;margin:14px 0}.visit-panel p{max-width:520px;line-height:1.8;color:var(--muted,#777168)}
.gallery-room-notes{background:var(--cream,#f6f2eb)}.room-note-row{display:grid;grid-template-columns:60px minmax(0,1.15fr) minmax(260px,.85fr);gap:28px;align-items:center;padding:34px 0;border-top:1px solid var(--line,#d9d0c5)}.room-note-number{font:italic 1.4rem 'Playfair Display',serif;color:var(--accent,#a66f4d);align-self:start;padding-top:8px}.room-note-row>img{width:100%;height:360px;object-fit:cover}.room-note-copy{padding:12px 5%}.room-note-copy>span{font-size:.72rem;letter-spacing:.15em}.room-note-copy h3{font-size:clamp(1.8rem,3vw,2.8rem)}.room-note-reverse{grid-template-columns:60px minmax(260px,.85fr) minmax(0,1.15fr)}.room-note-reverse>img{grid-column:3;grid-row:1}.room-note-reverse .room-note-copy{grid-column:2;grid-row:1}.gallery-material-mood{background:var(--surface,#eee7dc)}.material-mood-copy{padding:clamp(35px,6vw,90px);align-self:center}.material-mood-copy h2{font:500 clamp(2.2rem,4vw,3.6rem)/1.12 'Playfair Display',serif}.material-mood-copy p{line-height:1.85;color:var(--muted,#777168);max-width:470px}.material-mood-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px}.material-mood-images img{width:100%;height:430px;object-fit:cover}.material-mood-images img:last-child{margin-top:58px;height:360px}.gallery-project-steps{background:var(--cream,#f6f2eb)}.project-steps-intro{text-align:center;margin:0 auto 42px}.project-steps-list,.product-process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-steps-list article,.product-process-steps article{position:relative;border-top:1px solid var(--line,#d9d0c5);padding:25px 12px 12px}.project-steps-list article>span,.product-process-steps article>span{font-size:.78rem;letter-spacing:.12em;color:var(--accent,#a66f4d)}.project-steps-list article>i,.product-process-steps article>i{display:block;font-size:1.45rem;margin:24px 0 15px;color:var(--accent,#a66f4d)}.project-steps-list h3,.product-process-steps h3{font:500 1.45rem 'Playfair Display',serif}.project-steps-list p,.product-process-steps p{line-height:1.7;color:var(--muted,#777168)}
.products-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:650px;background:var(--cream,#f6f2eb);align-items:center}.products-hero-copy{padding:clamp(35px,7vw,100px)}.products-hero h1{font:500 clamp(3rem,5.5vw,5.7rem)/1.02 'Playfair Display',serif;margin:20px 0}.products-hero-copy>p{max-width:480px;color:var(--muted,#777168);line-height:1.85}.products-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.products-hero-image{height:100%;min-height:650px;position:relative}.products-hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.image-note{position:absolute;bottom:24px;right:24px;background:rgba(248,245,239,.9);color:#302d29;padding:12px 16px;font-size:.68rem;letter-spacing:.14em}.product-edit{background:var(--cream,#f6f2eb)}.product-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-feature-card{position:relative;display:block;text-decoration:none;color:var(--text,#302d29);padding-bottom:18px}.product-feature-card img{display:block;width:100%;height:360px;object-fit:cover;margin-bottom:20px;transition:transform .45s}.product-feature-card:hover img{transform:scale(.985)}.product-feature-offset{margin-top:55px}.product-feature-card h3{font:500 1.8rem 'Playfair Display',serif;margin:10px 0}.product-feature-card>i{position:absolute;right:4px;bottom:25px;color:var(--accent,#a66f4d)}.product-wardrobes{background:var(--surface,#eee7dc)}.product-split-image{min-height:540px}.product-split-copy{max-width:720px}.cabinet-heading{max-width:800px;margin-bottom:34px}.cabinet-heading h2{margin-bottom:0}.cabinet-feature{position:relative}.cabinet-feature>img{width:100%;height:550px;object-fit:cover;display:block}.cabinet-feature-note{position:absolute;right:4%;bottom:-1px;background:var(--cream,#f6f2eb);padding:30px;max-width:380px}.cabinet-feature-note p{line-height:1.75;color:var(--muted,#777168)}.cabinet-mini-list{display:flex;gap:14px;flex-wrap:wrap;padding-top:26px}.cabinet-mini-list span{border:1px solid var(--line,#d9d0c5);border-radius:50px;padding:10px 16px;font-size:.88rem}.product-workspaces{background:var(--surface,#eee7dc)}.workspace-image{min-height:500px}.finish-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.finish-swatches article h3{font:500 1.25rem 'Playfair Display',serif;margin:16px 0 5px}.finish-swatches article p{margin:0;color:var(--muted,#777168);font-size:.9rem}.finish-swatch{height:155px}.swatch-oak{background:linear-gradient(135deg,#d9bd91,#ad8556,#e5d1ae)}.swatch-sand{background:linear-gradient(135deg,#e7dfd2,#cfc2af,#f1eadf)}.swatch-walnut{background:linear-gradient(135deg,#654734,#3c2b21,#8c6548)}.swatch-stone{background:linear-gradient(135deg,#c9c4ba,#aaa59b,#e3dfd7)}.product-process{background:var(--cream,#f6f2eb)}.product-final-cta{background:var(--surface,#eee7dc)}.product-final-image{min-height:440px}.product-final-copy .btn{margin-top:18px}
@media(max-width:900px){.living-story-grid{grid-template-columns:1fr 1fr}.living-story-tall{grid-row:auto;grid-column:span 2}.living-story-tall img{height:420px}.living-story img{height:270px}.room-note-row,.room-note-reverse{grid-template-columns:38px 1fr;gap:18px}.room-note-row>img,.room-note-reverse>img{grid-column:2;grid-row:1;height:300px}.room-note-copy,.room-note-reverse .room-note-copy{grid-column:2;grid-row:2;padding:0}.products-hero{grid-template-columns:1fr 1fr;min-height:560px}.products-hero-image{min-height:560px}.product-feature-card img{height:280px}.detail-strip-image img,.product-split-image img,.workspace-image img,.product-final-image img{min-height:400px}.visit-panel{align-items:flex-start;flex-direction:column}.material-mood-images img{height:340px}.material-mood-images img:last-child{height:290px}}
@media(max-width:767px){.living-story-grid,.product-editorial-grid,.finish-swatches,.project-steps-list,.product-process-steps{grid-template-columns:1fr}.living-story-tall{grid-column:auto}.living-story-tall img,.living-story img{height:280px}.h2-detail-strip,.gallery-material-mood,.product-wardrobes,.product-workspaces,.product-final-cta{grid-template-columns:1fr}.detail-strip-image img,.product-split-image img,.workspace-image img,.product-final-image img{min-height:0;height:300px}.detail-strip-copy,.product-split-copy,.workspace-copy,.product-final-copy,.material-mood-copy{padding:34px 24px}.visit-panel{padding:32px 24px}.room-note-row,.room-note-reverse{grid-template-columns:28px minmax(0,1fr);gap:12px}.room-note-row>img,.room-note-reverse>img{height:235px}.material-mood-images{padding:0 20px 24px;gap:8px}.material-mood-images img,.material-mood-images img:last-child{height:240px;margin-top:0}.product-feature-offset{margin-top:0}.product-feature-card img{height:300px}.products-hero{grid-template-columns:1fr}.products-hero-copy{padding:55px 24px 42px}.products-hero h1{font-size:clamp(2.8rem,13vw,4rem)}.products-hero-image{min-height:320px;height:320px}.products-hero-actions{align-items:flex-start;flex-direction:column}.cabinet-feature>img{height:360px}.cabinet-feature-note{position:relative;right:auto;max-width:none;padding:24px 0 0;background:transparent}.cabinet-mini-list{gap:8px}.cabinet-mini-list span{font-size:.8rem;padding:8px 12px}.finish-swatch{height:130px}.finish-swatches{gap:24px}.product-final-image{order:0}.product-final-copy{order:1}}
@media(prefers-reduced-motion:reduce){.living-story img,.product-feature-card img,.text-link i{transition:none}}


/* ABOUT + CONTACT PAGES — shared Wardrova visual language */
.inner-page { overflow:hidden; background:var(--paper); color:var(--ink); }
.inner-page em { font-style:italic; color:var(--wood); }
.inner-hero { min-height:640px; position:relative; display:grid; grid-template-columns:47% 53%; align-items:center; padding:120px 7.4% 70px; background:#e8dfd0; overflow:hidden; }
.inner-hero-copy { position:relative; z-index:2; max-width:570px; }
.inner-hero-copy h1,.contact-hero h1 { font:400 clamp(44px,5.2vw,72px)/1.05 var(--serif); letter-spacing:-1.7px; margin:0 0 22px; }
.inner-hero-copy>p:not(.eyebrow),.contact-hero-copy>p:not(.eyebrow) { max-width:430px; font-size:14px; line-height:1.85; color:#5f5d53; margin:0 0 28px; }
.inner-hero-image { position:absolute; inset:0 0 0 42%; background-position:center; background-size:cover; }
.about-hero-image { background-image:linear-gradient(90deg,#e8dfd0 0%,rgba(232,223,208,.72) 14%,rgba(232,223,208,0) 48%),url('../images/img (25).webp'); background-position:center 54%; }
.hero-side-note { position:absolute; right:2.2%; bottom:36px; writing-mode:vertical-rl; font-size:9px; letter-spacing:2px; color:#f8f3e8; }
.about-manifesto { display:grid; grid-template-columns:22% 1fr 18%; gap:6%; align-items:center; padding-block:clamp(70px,9vw,130px); }
.manifesto-label>p { font:400 clamp(24px,2.4vw,34px)/1.25 var(--serif); margin:24px 0 0; }
.manifesto-copy h2,.values-heading h2,.about-craft-copy h2,.about-cta h2,.contact-intro h2,.contact-form-intro h2,.contact-details-heading h2,.contact-bottom-copy h2 { font:400 clamp(34px,3.7vw,52px)/1.12 var(--serif); letter-spacing:-.8px; margin:0 0 22px; }
.manifesto-copy p { color:var(--muted); line-height:1.9; max-width:680px; font-size:13px; }
.manifesto-mark { aspect-ratio:1; border:1px solid var(--line); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--sage); }
.manifesto-mark span { font:italic 100px/.9 var(--serif); }
.manifesto-mark small { font-size:8px; letter-spacing:2px; margin-top:12px; }
.about-values { background:#eeeadf; }
.values-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:48px; }
.values-heading h2 { margin:0; }
.values-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(45,48,37,.22); }
.value-item { position:relative; padding:34px 26px 15px 0; border-right:1px solid rgba(45,48,37,.18); margin-right:26px; }
.value-item:last-child { border-right:0; margin-right:0; }
.value-index { display:block; font-size:10px; letter-spacing:1px; color:var(--wood); margin-bottom:26px; }
.value-item>i { font-size:24px; color:var(--sage); margin-bottom:20px; }
.value-item h3 { font:400 21px/1.25 var(--serif); margin:0 0 12px; }
.value-item p { color:var(--muted); font-size:12px; line-height:1.8; margin:0; }
.about-craft { display:grid; grid-template-columns:1fr 1fr; min-height:570px; background:#343a2b; color:#fbf8f1; }
.about-craft-image { min-height:450px; background:url('../images/img (38).webp') center/cover; }
.about-craft-copy { align-self:center; padding:70px clamp(35px,7vw,110px); }
.about-craft-copy .section-number { color:#d7d8c9; }
.about-craft-copy h2 { margin-top:14px; }
.about-craft-copy p { color:#d7d7cb; line-height:1.9; font-size:13px; max-width:500px; }
.about-craft-copy ul { list-style:none; padding:0; margin:28px 0; display:grid; gap:14px; }
.about-craft-copy li { display:flex; gap:12px; align-items:flex-start; color:#f4f0e7; font-size:12px; }
.about-craft-copy li i { color:#b5b99b; margin-top:4px; }
.about-quote { text-align:center; max-width:1000px; margin:auto; padding-block:clamp(75px,10vw,140px); }
.quote-symbol { display:block; font:100px/.7 var(--serif); color:var(--wood); }
.about-quote p { font:400 clamp(28px,3.7vw,48px)/1.3 var(--serif); margin:24px auto; max-width:850px; }
.quote-credit { font-size:9px; letter-spacing:2px; color:var(--muted); }
.about-cta { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:6%; background:#e9e0d2; padding:65px 7.4%; }
.about-cta h2 { margin-top:14px; }
.about-cta p { color:#656156; margin-bottom:24px; }
.about-cta img { width:100%; height:360px; object-fit:cover; }
.contact-hero { min-height:620px; position:relative; display:grid; grid-template-columns:52% 48%; align-items:center; padding:120px 7.4% 70px; background:#e8dfd0; overflow:hidden; }
.contact-hero-copy { position:relative; z-index:2; }
.contact-hero h1 { margin-top:14px; }
.contact-hero-image { position:absolute; inset:0 0 0 48%; background:linear-gradient(90deg,#e8dfd0 0%,rgba(232,223,208,.72) 12%,rgba(232,223,208,0) 48%),url('../images/img (40).webp') center/cover; }
.contact-hero-stamp { position:absolute; right:7.4%; bottom:35px; display:flex; align-items:center; gap:12px; padding:15px 19px; background:rgba(251,248,241,.92); color:var(--olive); font-size:9px; letter-spacing:1.5px; line-height:1.5; }
.contact-hero-stamp i { font-size:22px; }
.contact-quick-links { display:flex; gap:24px; flex-wrap:wrap; }
.contact-quick-links a { display:flex; gap:9px; align-items:center; font-size:11px; border-bottom:1px solid rgba(30,33,24,.25); padding-bottom:8px; }
.contact-quick-links i { color:var(--wood); }
.contact-intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:10%; }
.contact-intro h2 { margin:14px 0 0; }
.contact-intro>p { color:var(--muted); line-height:1.9; max-width:520px; margin:0 0 6px; font-size:13px; }
.contact-main { display:grid; grid-template-columns:.8fr 1.2fr; gap:9%; background:#efebe2; align-items:start; padding-block:clamp(55px,7vw,95px); }
.contact-form-intro h2 { margin-top:14px; }
.contact-form-intro>p { color:var(--muted); line-height:1.8; max-width:350px; }
.contact-note { display:flex; gap:14px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; margin-top:28px; max-width:370px; }
.contact-note>i { color:var(--wood); font-size:21px; margin-top:4px; }
.contact-note div { display:grid; gap:6px; }
.contact-note strong { font:400 18px var(--serif); }
.contact-note span { color:var(--muted); font-size:11px; line-height:1.7; }
.contact-mini-image { margin-top:30px; max-width:370px; height:160px; overflow:hidden; }
.contact-mini-image img { width:100%; height:100%; object-fit:cover; }
.contact-form { background:var(--paper); padding:clamp(24px,4vw,48px); box-shadow:0 15px 45px rgba(42,37,27,.05); }
.form-heading { margin-bottom:28px; }
.form-heading>span,.detail-label { font-size:9px; letter-spacing:1.7px; color:var(--wood); }
.form-heading h3 { font:400 29px/1.2 var(--serif); margin:10px 0 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; }
.form-grid label { display:grid; gap:8px; font-size:11px; font-weight:600; color:var(--ink); min-width:0; }
.form-grid .form-full { grid-column:1/-1; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:2px; background:transparent; color:var(--ink); padding:13px 12px; font:400 12px var(--sans); outline:none; transition:border-color .2s,box-shadow .2s; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { border-color:var(--sage); box-shadow:0 0 0 3px rgba(133,137,110,.12); }
.form-grid textarea { resize:vertical; min-height:120px; }
.form-grid input::placeholder,.form-grid textarea::placeholder { color:var(--muted); opacity:.8; }
.form-consent { display:flex; align-items:flex-start; gap:9px; font-size:11px; color:var(--muted); margin:20px 0; }
.form-consent input { accent-color:var(--olive); margin-top:2px; }
.contact-form .form-feedback { display:none; font-size:12px; margin:14px 0 0; color:#4d6a40; }
.contact-form .form-feedback.is-visible { display:block; }
.contact-form .form-feedback.is-error { color:#a33f32; }
.contact-details { background:var(--paper); }
.contact-details-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:35px; }
.contact-details-heading h2 { margin:12px 0 0; }
.contact-detail-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.contact-detail-list article { display:flex; gap:17px; padding:28px 25px 10px 0; margin-right:25px; border-right:1px solid var(--line); min-width:0; }
.contact-detail-list article:last-child { border:0; margin:0; }
.detail-icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; background:#e9e8dc; color:#59604c; border-radius:50%; }
.contact-detail-list h3 { font:400 20px var(--serif); margin:8px 0; overflow-wrap:anywhere; }
.contact-detail-list p { font-size:11px; line-height:1.7; color:var(--muted); margin:0; }
.contact-bottom { display:grid; grid-template-columns:1fr 1fr; min-height:360px; background:var(--sage); color:#fffdf6; }
.contact-bottom-image { background:url('../images/img (8).webp') center/cover; min-height:320px; }
.contact-bottom-copy { align-self:center; padding:50px clamp(30px,7vw,100px); }
.contact-bottom-copy .section-number { color:#f0eee4; }
.contact-bottom-copy h2 { margin-top:14px; }
.contact-bottom-copy p { color:#f0eee4; line-height:1.8; font-size:12px; max-width:350px; margin-bottom:23px; }
@media(max-width:900px){.inner-hero,.contact-hero{grid-template-columns:1fr;min-height:590px;padding-inline:6%}.inner-hero-copy,.contact-hero-copy{max-width:58%;}.inner-hero-image{left:38%;}.about-manifesto{grid-template-columns:1fr 2fr;}.manifesto-mark{display:none}.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px}.value-item:nth-child(2){border-right:0}.value-item:nth-child(3){margin-right:26px}.contact-main{gap:5%;grid-template-columns:.8fr 1.2fr}.contact-detail-list article{display:block}.detail-icon{margin-bottom:15px}.contact-detail-list h3{font-size:17px}}
@media(max-width:767px){.inner-hero,.contact-hero{min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:100px 6% 0}.inner-hero-copy,.contact-hero-copy{max-width:none;padding-bottom:35px}.inner-hero-copy h1,.contact-hero h1{font-size:44px}.inner-hero-copy>p:not(.eyebrow),.contact-hero-copy>p:not(.eyebrow){font-size:12px}.inner-hero-image,.contact-hero-image{position:relative;inset:auto;height:300px;width:calc(100% + 12%);margin-inline:-6%;background-image:linear-gradient(0deg,rgba(0,0,0,.02),transparent),url('../images/img (4).webp');}.hero-side-note{display:none}.about-manifesto{display:block;padding-block:55px}.manifesto-label>p{margin:14px 0 25px;font-size:25px}.manifesto-copy h2,.values-heading h2,.about-craft-copy h2,.about-cta h2,.contact-intro h2,.contact-form-intro h2,.contact-details-heading h2,.contact-bottom-copy h2{font-size:35px}.manifesto-copy p{font-size:12px}.values-heading{display:block;margin-bottom:28px}.values-heading h2{margin-top:14px}.values-grid{grid-template-columns:1fr 1fr;gap:0}.value-item{padding:24px 15px 25px 0;margin-right:15px}.value-item:nth-child(2){margin-right:0}.value-item:nth-child(3){margin-right:15px}.value-item:nth-child(4){border-right:0;margin-right:0}.value-index{margin-bottom:18px}.value-item>i{font-size:21px;margin-bottom:14px}.value-item h3{font-size:18px}.value-item p{font-size:11px}.about-craft{grid-template-columns:1fr}.about-craft-image{min-height:270px}.about-craft-copy{padding:45px 6% 50px}.about-quote{padding-block:65px}.quote-symbol{font-size:80px}.about-quote p{font-size:29px}.about-cta{grid-template-columns:1fr;padding:48px 6%;gap:28px}.about-cta img{height:240px}.contact-hero-image{background-image:linear-gradient(0deg,rgba(0,0,0,.02),transparent),url('../images/img (2).webp')}.contact-hero-stamp{right:6%;bottom:18px}.contact-intro{grid-template-columns:1fr;gap:20px}.contact-intro>p{font-size:12px}.contact-main{grid-template-columns:1fr;gap:35px}.contact-form-intro>p{font-size:12px}.contact-mini-image{display:none}.contact-form{padding:25px 18px}.form-grid{grid-template-columns:1fr;gap:16px}.form-grid .form-full{grid-column:auto}.form-heading h3{font-size:26px}.contact-details-heading{display:block}.contact-details-heading h2{margin-top:14px}.contact-detail-list{grid-template-columns:1fr}.contact-detail-list article{display:flex;margin:0;padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.contact-detail-list article:last-child{border-bottom:0}.detail-icon{margin-bottom:0}.contact-detail-list h3{font-size:20px}.contact-bottom{grid-template-columns:1fr}.contact-bottom-image{min-height:240px}.contact-bottom-copy{padding:40px 6% 48px}}
@media(max-width:380px){.inner-hero-copy h1,.contact-hero h1{font-size:38px}.button-row .btn{font-size:9px;padding-inline:12px}.contact-quick-links{gap:14px}.contact-quick-links a{font-size:10px}.form-grid input,.form-grid select,.form-grid textarea{font-size:11px}}



/* Wardrova luxury dashboards */
.dashboard-page .site-header{position:relative;background:var(--paper);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.dashboard-main{background:var(--paper)}
.dashboard-hero{display:grid;grid-template-columns: .9fr 1.1fr;min-height:390px;background:var(--ivory);overflow:hidden}
.dashboard-hero-copy{padding:64px 8% 50px 16%;align-self:center}
.dashboard-hero-copy h1{font:400 clamp(38px,4.2vw,58px)/1.08 var(--serif);letter-spacing:-1.2px;margin:0 0 18px}
.dashboard-hero-copy h1 em{font-weight:400;color:var(--wood)}
.dashboard-hero-copy>p:not(.eyebrow){max-width:410px;color:var(--muted);font-size:13px}
.dashboard-welcome-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:10px}
.dashboard-welcome-meta span{display:flex;align-items:center;gap:7px}
.dashboard-hero-art{position:relative;min-height:390px;overflow:hidden;background:#d7c7b2}
.dashboard-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,21,16,.6),transparent 45%)}
.dashboard-hero-art img{width:100%;height:100%;min-height:390px;object-fit:cover;display:block}
.hero-art-label{position:absolute;z-index:2;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:1.5px}
.art-caption{position:absolute;z-index:2;left:8%;bottom:30px;color:#fff;display:flex;flex-direction:column;gap:7px}
.art-caption span{font-size:9px;letter-spacing:1.7px}
.art-caption strong{font:400 27px/1.2 var(--serif)}
.dashboard-content{padding:56px 7.4% 80px}
.dashboard-section-heading,.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.dashboard-section-heading{margin-bottom:26px}
.dashboard-section-heading h2{font:400 clamp(29px,3vw,38px)/1.15 var(--serif);margin:0 0 7px}
.dashboard-section-heading p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0}
.dashboard-section-heading .btn{flex-shrink:0}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.metric-panel{padding:22px 22px 20px;border:1px solid var(--line);background:var(--paper);min-width:0}
.metric-icon{width:37px;height:37px;display:grid;place-items:center;background:var(--ivory);color:var(--wood);margin-bottom:15px}
.metric-panel p{font-size:11px;color:var(--muted);margin:0 0 5px}
.metric-panel strong{display:block;font:400 31px/1.2 var(--serif);letter-spacing:-.4px}
.metric-panel small{display:block;color:var(--muted);font-size:10px;margin-top:8px}
.metric-panel .positive{color:#66764b}
.dashboard-editorial-grid,.dashboard-bottom-grid,.admin-analytics-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-bottom:18px}
.dashboard-panel{border:1px solid var(--line);background:var(--paper);padding:25px;min-width:0}
.panel-heading{align-items:center;margin-bottom:22px}
.panel-heading h3,.dashboard-panel h3{font:400 23px/1.2 var(--serif);margin:0}
.panel-heading .eyebrow,.dashboard-panel>.eyebrow{margin:0 0 7px}
.panel-heading>a,.dashboard-panel>a{font-size:10px;color:var(--muted);white-space:nowrap}
.order-feature{display:grid;grid-template-columns: minmax(130px,.8fr) 1.2fr;gap:22px;align-items:center}
.order-feature>img{width:100%;height:210px;object-fit:cover}
.order-feature h4,.appointment-panel h4{font:400 18px/1.25 var(--serif);margin:13px 0 5px}
.order-feature p,.appointment-panel p{font-size:11px;color:var(--muted);margin:0 0 13px}
.status{display:inline-flex;padding:5px 8px;font-size:9px;line-height:1.3;white-space:nowrap}
.status-production{background:#e9e4d3;color:#655b3e}.status-review{background:#f0e0d4;color:#8b583a}.status-complete{background:#dce7d8;color:#476441}
.order-progress,.pipeline-track{height:4px;background:var(--ivory);margin:18px 0 6px;overflow:hidden}
.order-progress span,.pipeline-track span{display:block;height:100%;background:var(--wood)}
.progress-label{display:flex;justify-content:space-between;font-size:10px;margin-bottom:12px}
.order-feature small{font-size:10px;color:var(--muted)}
.appointment-date{display:flex;align-items:center;gap:12px;margin:24px 0 12px;color:var(--wood)}
.appointment-date strong{font:400 48px/1 var(--serif)}
.appointment-date span{font-size:10px;line-height:1.4;letter-spacing:1px}
.appointment-panel h4{margin-top:0}
.appointment-panel>p{margin:9px 0}
.appointment-panel>p i{width:17px}
.appointment-panel .text-link{display:inline-flex;margin-top:15px;color:var(--ink)}
.saved-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.saved-designs article{position:relative;min-width:0}
.saved-designs img{width:100%;height:135px;object-fit:cover;display:block;margin-bottom:11px}
.saved-designs article>div{display:flex;flex-direction:column;gap:4px}
.saved-designs strong{font:400 14px var(--serif)}
.saved-designs span{font-size:10px;color:var(--muted)}
.saved-designs article>i{position:absolute;top:10px;right:10px;color:#fff;text-shadow:0 1px 5px #333}
.activity-item{display:grid;grid-template-columns:10px 1fr;gap:12px;margin-top:22px}
.activity-dot{width:8px;height:8px;background:var(--wood);border-radius:50%;margin-top:5px;box-shadow:0 0 0 4px var(--ivory)}
.activity-item strong{font-size:11px;font-weight:600}
.activity-item p,.activity-item small{font-size:10px;color:var(--muted);margin:4px 0}
.orders-table-panel{margin-bottom:0}
.table-scroll{width:100%;overflow-x:auto}
.dashboard-table{border-collapse:collapse;width:100%;min-width:620px;text-align:left;font-size:11px}
.dashboard-table th{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);font-weight:600}
.dashboard-table th,.dashboard-table td{padding:14px 12px;border-bottom:1px solid var(--line)}
.dashboard-table tbody tr:last-child td{border-bottom:0}
.dashboard-table td:first-child{font-weight:600}
.admin-hero{grid-template-columns:1fr 1fr}
.admin-hero .dashboard-hero-copy{padding-left:15%}
.admin-analytics-grid{grid-template-columns:1.25fr 1fr}
.revenue-total{display:flex;align-items:baseline;gap:12px;margin:17px 0 12px}
.revenue-total strong{font:400 32px var(--serif)}
.revenue-total span,.chart-note{font-size:10px;color:var(--muted)}
.chart-legend{font-size:10px;color:var(--muted)}.chart-legend i{display:inline-block;width:7px;height:7px;background:var(--wood);border-radius:50%;margin-right:6px}
.bar-chart{height:180px;display:flex;align-items:flex-end;justify-content:space-around;gap:14px;padding:15px 12px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,var(--line) 44px,var(--line) 45px)}
.chart-column{height:100%;display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:9px;min-width:0}
.chart-column span{width:min(34px,70%);background:var(--wood);display:block;min-height:10px;transition:height .4s}
.chart-column:nth-child(even) span{background:var(--sage)}
.chart-column small{font-size:9px;color:var(--muted);padding-bottom:7px}
.chart-note{margin:12px 0 0}
.pipeline-row{margin-top:24px}
.pipeline-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px}
.pipeline-row strong{font-weight:600}
.pipeline-row .pipeline-track{margin:9px 0 0}
.workflow-panel>.text-link{display:inline-flex;margin-top:22px;color:var(--ink)}
.admin-bottom-grid{grid-template-columns:1.5fr 1fr}
.enquiry-item{display:grid;grid-template-columns:34px 1fr 7px;gap:11px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.avatar{width:34px;height:34px;display:grid;place-items:center;background:var(--ivory);color:var(--ink);font-size:10px}
.enquiry-item strong{font-size:11px}
.enquiry-item p,.enquiry-item small{font-size:10px;color:var(--muted);margin:3px 0}
.unread-dot{width:7px;height:7px;background:var(--wood);border-radius:50%}.unread-dot.read{background:var(--line)}
.enquiries-panel>.text-link{display:inline-flex;margin-top:20px;color:var(--ink)}
.admin-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.admin-quick-links>a{display:flex;align-items:center;gap:14px;padding:19px;border:1px solid var(--line);background:var(--ivory);min-width:0}
.admin-quick-links>a>i:first-child{font-size:18px;color:var(--wood)}
.admin-quick-links>a>i:last-child{margin-left:auto;font-size:11px}
.admin-quick-links span{display:flex;flex-direction:column;gap:4px}
.admin-quick-links strong{font:400 14px var(--serif)}
.admin-quick-links small{font-size:10px;color:var(--muted)}
html[data-theme="dark"] .dashboard-hero{background:#292c25}
html[data-theme="dark"] .dashboard-hero-copy h1 em{color:#d2a47d}
html[data-theme="dark"] .dashboard-hero-art:after{background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}
html[data-theme="dark"] .metric-icon,html[data-theme="dark"] .avatar,html[data-theme="dark"] .admin-quick-links>a{background:#34372e;color:#f0eee5}
html[data-theme="dark"] .status-production{background:#484633;color:#f1e7bb}
html[data-theme="dark"] .status-review{background:#513c30;color:#f4d2b8}
html[data-theme="dark"] .status-complete{background:#354537;color:#d6e8d0}
html[data-theme="dark"] .metric-panel .positive{color:#c2d5a1}
html[data-theme="dark"] .dashboard-table th,html[data-theme="dark"] .dashboard-table td{border-color:var(--line)}
html[dir="rtl"] .dashboard-hero-copy{padding:64px 16% 50px 8%}
html[dir="rtl"] .dashboard-welcome-meta,html[dir="rtl"] .dashboard-section-heading,html[dir="rtl"] .panel-heading{direction:rtl}
html[dir="rtl"] .dashboard-table{text-align:right}
html[dir="rtl"] .saved-designs article>i{right:auto;left:10px}
html[dir="rtl"] .admin-quick-links>a>i:last-child{margin-left:0;margin-right:auto}
@media(max-width:1024px){.dashboard-content{padding:45px 5% 65px}.dashboard-hero-copy,.admin-hero .dashboard-hero-copy{padding-left:8%}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-editorial-grid,.dashboard-bottom-grid,.admin-analytics-grid,.admin-bottom-grid{grid-template-columns:1fr 1fr}.order-feature{grid-template-columns:1fr}.order-feature>img{height:190px}.saved-designs img{height:115px}.dashboard-panel{padding:20px}}
@media(max-width:767px){.dashboard-hero,.admin-hero{grid-template-columns:1fr}.dashboard-hero-copy,.admin-hero .dashboard-hero-copy{padding:48px 6% 34px}.dashboard-hero-art,.dashboard-hero-art img{min-height:260px;height:260px}.dashboard-content{padding:38px 5% 50px}.dashboard-section-heading{align-items:flex-start;flex-direction:column}.dashboard-section-heading .btn{width:100%}.dashboard-metrics{gap:10px}.metric-panel{padding:16px}.metric-panel strong{font-size:27px}.dashboard-editorial-grid,.dashboard-bottom-grid,.admin-analytics-grid,.admin-bottom-grid{grid-template-columns:1fr}.dashboard-panel{padding:19px}.order-feature{grid-template-columns:minmax(0,1fr) 1.2fr;gap:13px}.order-feature>img{height:180px}.saved-designs{gap:8px}.saved-designs img{height:100px}.saved-designs strong{font-size:12px}.saved-designs span{font-size:9px}.dashboard-welcome-meta{gap:10px}.admin-quick-links{grid-template-columns:1fr}.panel-heading{align-items:flex-start}.panel-heading h3,.dashboard-panel h3{font-size:21px}.dashboard-hero-copy h1{font-size:42px}html[dir="rtl"] .dashboard-hero-copy{padding:48px 6% 34px}}
@media(max-width:380px){.order-feature{grid-template-columns:1fr}.order-feature>img{height:190px}.saved-designs{grid-template-columns:1fr}.saved-designs article{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:center}.saved-designs img{height:80px;margin:0}.saved-designs article>i{left:8px;right:auto}.metric-panel{padding:13px}.metric-panel strong{font-size:24px}.dashboard-content{padding-left:4%;padding-right:4%}}


/* ==========================================
   WARDROVA AUTHENTICATION PAGES
   Append to existing style.css
========================================== */

.auth-page {
  --auth-ivory: #f7f4ed;
  --auth-paper: #fffdf8;
  --auth-ink: #292b23;
  --auth-muted: #77786d;
  --auth-sage: #777f60;
  --auth-sage-dark: #60694b;
  --auth-line: #e4e0d5;
  --auth-gold: #b99a60;
  margin: 0;
  background: var(--auth-ivory);
  color: var(--auth-ink);
  font-family: "DM Sans", Arial, sans-serif;
}

.auth-page *,
.auth-page *::before,
.auth-page *::after {
  box-sizing: border-box;
}

.auth-page a {
  text-decoration: none;
}

.auth-page button,
.auth-page input {
  font: inherit;
}

.auth-page button,
.auth-page a {
  -webkit-tap-highlight-color: transparent;
}

.auth-page .container {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

/* Header: use the same structure on both pages */
.auth-page .site-header {
  position: relative;
  z-index: 20;
  width: 100%;
  background: var(--auth-paper);
  border-bottom: 1px solid var(--auth-line);
}

.auth-page .header-inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.auth-page .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.auth-page .brand-mark {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid var(--auth-gold);
  color: var(--auth-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  line-height: 1;
}

.auth-page .brand-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.auth-page .brand-copy strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  letter-spacing: 3px;
  font-weight: 500;
}

.auth-page .brand-copy small {
  font-size: 9px;
  letter-spacing: 2.2px;
}

.auth-page .main-nav,
.auth-page .header-actions {
  display: flex;
  align-items: center;
  gap: 22px;
}

.auth-page .main-nav a {
  font-size: 13px;
  color: var(--auth-muted);
  transition: color 0.2s ease;
}

.auth-page .main-nav a:hover,
.auth-page .footer-column a:hover {
  color: var(--auth-sage);
}

.auth-page .header-actions {
  gap: 12px;
}

.auth-page .icon-button,
.auth-page .menu-toggle {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--auth-line);
  background: transparent;
  color: var(--auth-ink);
  cursor: pointer;
}

.auth-page .header-account {
  padding: 11px 16px;
  background: var(--auth-sage);
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
}

.auth-page .header-account:hover {
  background: var(--auth-sage-dark);
}

.auth-page .menu-toggle {
  display: none;
}

/* Split-screen auth hero */
.auth-page .auth-hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  background: var(--auth-ivory);
}

.auth-page .auth-visual {
  min-height: 650px;
  display: flex;
  align-items: flex-end;
  padding: clamp(36px, 6vw, 88px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(0deg, rgba(27, 29, 22, 0.83), rgba(27, 29, 22, 0.04) 85%),
    linear-gradient(135deg, #b5a58b, #7f846d 52%, #4d5443);
}

.auth-page .auth-visual::before,
.auth-page .auth-visual::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.auth-page .auth-visual::before {
  width: 57%;
  height: 76%;
  top: 10%;
  right: 14%;
  background: linear-gradient(90deg, rgba(49, 52, 41, 0.28), rgba(229, 218, 195, 0.12));
  box-shadow: inset 12px 0 rgba(255, 255, 255, 0.05);
}

.auth-page .auth-visual::after {
  width: 33%;
  height: 59%;
  top: 18%;
  right: 26%;
  border-color: rgba(245, 238, 221, 0.42);
}

.auth-page .auth-visual-content {
  width: 100%;
  max-width: 520px;
  color: #fffdf6;
}

.auth-page .eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--auth-sage);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.4px;
  line-height: 1.7;
}

.auth-page .auth-visual .eyebrow {
  color: #e3d2a9;
}

.auth-page .auth-visual h1 {
  margin: 0 0 20px;
  color: #fffdf6;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(37px, 4.5vw, 62px);
  font-weight: 400;
  letter-spacing: -1.4px;
  line-height: 1.12;
}

.auth-page .auth-visual h1 em {
  color: #e1d2ad;
  font-weight: 400;
}

.auth-page .auth-visual-content > p {
  max-width: 400px;
  margin: 0;
  color: #f0eee5;
  font-size: 14px;
  line-height: 1.9;
}

.auth-page .auth-visual-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  color: #f5f0e4;
  font-size: 12px;
}

.auth-page .auth-visual-note i {
  color: #e3d2a9;
  font-size: 17px;
}

/* Form panel */
.auth-page .auth-panel {
  display: grid;
  place-items: center;
  padding: 60px 36px;
  background: var(--auth-ivory);
}

.auth-page .auth-card {
  width: 100%;
  max-width: 430px;
}

.auth-page .auth-card h2 {
  margin: 0 0 12px;
  color: var(--auth-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(29px, 3vw, 39px);
  font-weight: 400;
  letter-spacing: -0.7px;
  line-height: 1.2;
}

.auth-page .auth-intro {
  margin: 0 0 27px;
  color: var(--auth-muted);
  font-size: 13px;
  line-height: 1.8;
}

.auth-page .auth-socials {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.auth-page .social-button {
  width: 100%;
  min-height: 45px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border: 1px solid var(--auth-line);
  background: var(--auth-paper);
  color: var(--auth-ink);
  cursor: pointer;
  font-size: 12px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.auth-page .social-button:hover {
  border-color: var(--auth-sage);
  background: #f0eee5;
}

.auth-page .social-button i {
  font-size: 15px;
}

.auth-page .auth-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 23px 0;
  color: var(--auth-muted);
  font-size: 10px;
}

.auth-page .auth-divider::before,
.auth-page .auth-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--auth-line);
}

.auth-page .auth-form {
  display: grid;
  gap: 17px;
}

.auth-page .form-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.auth-page .form-field > label {
  color: var(--auth-ink);
  font-size: 12px;
  font-weight: 600;
}

.auth-page .form-field input {
  width: 100%;
  min-width: 0;
  height: 47px;
  padding: 12px 14px;
  border: 1px solid var(--auth-line);
  border-radius: 0;
  outline: none;
  background: var(--auth-paper);
  color: var(--auth-ink);
  font-size: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-page .form-field input::placeholder {
  color: #99998e;
  opacity: 1;
}

.auth-page .form-field input:focus {
  border-color: var(--auth-sage);
  box-shadow: 0 0 0 3px rgba(119, 127, 96, 0.12);
}

.auth-page .form-field input[aria-invalid="true"] {
  border-color: #b44d42;
}

.auth-page .password-wrap {
  position: relative;
  display: flex;
  min-width: 0;
}

.auth-page .password-wrap input {
  padding-inline-end: 46px;
}

.auth-page .password-toggle {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: 44px;
  border: 0;
  background: transparent;
  color: var(--auth-muted);
  cursor: pointer;
}

.auth-page .field-error {
  min-height: 0;
  color: #a63c32;
  font-size: 11px;
  line-height: 1.5;
}

.auth-page .field-error:empty {
  display: none;
}

.auth-page .auth-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 11px;
}

.auth-page .auth-options > a,
.auth-page .auth-switch a,
.auth-page .terms-check a {
  color: var(--auth-sage-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.auth-page .check-label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: var(--auth-muted);
  font-size: 11px;
  line-height: 1.7;
  cursor: pointer;
}

.auth-page .check-label input {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  margin: 2px 0 0;
  accent-color: var(--auth-sage);
}

.auth-page .terms-check {
  align-items: flex-start;
}

.auth-page .auth-submit {
  width: 100%;
  min-height: 49px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 20px;
  border: 1px solid var(--auth-sage);
  background: var(--auth-sage);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.auth-page .auth-submit:hover {
  background: var(--auth-sage-dark);
  border-color: var(--auth-sage-dark);
}

.auth-page .auth-submit:disabled {
  cursor: wait;
  opacity: 0.7;
}

.auth-page .form-feedback {
  color: var(--auth-sage-dark);
  font-size: 12px;
  line-height: 1.7;
}

.auth-page .form-feedback:empty {
  display: none;
}

.auth-page .form-feedback.is-error {
  color: #a63c32;
}

.auth-page .auth-switch {
  margin: 24px 0 0;
  color: var(--auth-muted);
  text-align: center;
  font-size: 12px;
  line-height: 1.8;
}

.auth-page .demo-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 18px 0 0;
  padding: 12px;
  background: rgba(119, 127, 96, 0.08);
  color: var(--auth-muted);
  font-size: 10px;
  line-height: 1.7;
}

.auth-page .demo-note i {
  margin-top: 2px;
  color: var(--auth-sage);
}

.auth-page .auth-hero-signup .auth-panel {
  padding-block: 44px;
}

.auth-page .auth-hero-signup .auth-card h2 {
  font-size: clamp(28px, 3vw, 36px);
}

.auth-page .auth-hero-signup .auth-form {
  gap: 13px;
}

/* Shared footer */
.auth-page .site-footer {
  background: #292b23;
  color: #f6f2e8;
}

.auth-page .footer-main {
  display: grid;
  grid-template-columns: 1.5fr 0.8fr 0.8fr 0.8fr;
  gap: 42px;
  padding-block: 55px;
}

.auth-page .brand-footer .brand-copy strong {
  color: #f6f2e8;
}

.auth-page .brand-footer .brand-copy small {
  color: #d1c7ad;
}

.auth-page .footer-brand > p {
  max-width: 260px;
  margin: 20px 0 0;
  color: #c9c7bc;
  font-size: 12px;
  line-height: 1.9;
}

.auth-page .footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}

.auth-page .footer-column h3 {
  margin: 0 0 6px;
  color: #e4d5b3;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 400;
}

.auth-page .footer-column > a {
  color: #d0cfc5;
  font-size: 12px;
}

.auth-page .footer-socials {
  display: flex;
  gap: 10px;
}

.auth-page .footer-socials a {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid #55584b;
  color: #f6f2e8;
  transition: background 0.2s ease;
}

.auth-page .footer-socials a:hover {
  background: var(--auth-sage-dark);
}

.auth-page .footer-bottom {
  border-top: 1px solid #45473d;
}

.auth-page .footer-bottom .container {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #c9c7bc;
  font-size: 10px;
}

/* Back to top and notifications */
.auth-page .back-to-top {
  position: fixed;
  z-index: 50;
  right: 24px;
  bottom: 24px;
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border: 0;
  background: var(--auth-sage);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.auth-page .back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.auth-page .site-toast {
  position: fixed;
  z-index: 100;
  right: 24px;
  bottom: 80px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 14px 18px;
  background: var(--auth-ink);
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease;
}

.auth-page .site-toast.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .auth-page .container {
    width: calc(100% - 40px);
  }

  .auth-page .header-inner {
    gap: 16px;
  }

  .auth-page .main-nav {
    gap: 13px;
  }

  .auth-page .main-nav a {
    font-size: 12px;
  }

  .auth-page .auth-hero {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .auth-page .auth-visual {
    padding: 38px;
  }

  .auth-page .auth-panel {
    padding: 44px 28px;
  }

  .auth-page .footer-main {
    gap: 25px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .auth-page .container {
    width: calc(100% - 32px);
  }

  .auth-page .header-inner {
    min-height: 72px;
    gap: 10px;
  }

  .auth-page .brand-mark {
    width: 36px;
    height: 36px;
    font-size: 24px;
  }

  .auth-page .brand-copy strong {
    font-size: 15px;
    letter-spacing: 2px;
  }

  .auth-page .brand-copy small {
    font-size: 7px;
    letter-spacing: 1.4px;
  }

  .auth-page .main-nav {
    position: absolute;
    top: 100%;
    inset-inline: 0;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 10px 16px 18px;
    background: var(--auth-paper);
    border-bottom: 1px solid var(--auth-line);
  }

  .auth-page .main-nav.is-open {
    display: flex;
  }

  .auth-page .main-nav a {
    padding: 13px 4px;
    border-bottom: 1px solid var(--auth-line);
  }

  .auth-page .header-actions {
    gap: 6px;
  }

  .auth-page .icon-button,
  .auth-page .menu-toggle {
    width: 33px;
    height: 33px;
  }

  .auth-page .header-account {
    display: none;
  }

  .auth-page .menu-toggle {
    display: grid;
  }

  .auth-page .auth-hero {
    grid-template-columns: 1fr;
  }

  .auth-page .auth-visual {
    min-height: 330px;
    padding: 34px 24px;
  }

  .auth-page .auth-visual h1 {
    font-size: clamp(36px, 10vw, 48px);
  }

  .auth-page .auth-visual-content > p {
    font-size: 13px;
  }

  .auth-page .auth-panel {
    padding: 42px 22px 48px;
  }

  .auth-page .auth-card {
    max-width: 480px;
  }

  .auth-page .auth-card h2 {
    font-size: 32px;
  }

  .auth-page .footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 32px 20px;
    padding-block: 38px;
  }

  .auth-page .footer-brand {
    grid-column: 1 / -1;
  }

  .auth-page .footer-bottom .container {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding-block: 14px;
  }

  .auth-page .back-to-top {
    right: 16px;
    bottom: 16px;
    width: 40px;
    height: 40px;
  }

  .auth-page .site-toast {
    right: 16px;
    bottom: 68px;
  }
}

/* Small mobile screens */
@media (max-width: 360px) {
  .auth-page .container {
    width: calc(100% - 24px);
  }

  .auth-page .brand {
    gap: 7px;
  }

  .auth-page .brand-copy strong {
    font-size: 13px;
    letter-spacing: 1.5px;
  }

  .auth-page .header-actions {
    gap: 4px;
  }

  .auth-page .icon-button,
  .auth-page .menu-toggle {
    width: 30px;
    height: 30px;
  }

  .auth-page .auth-panel {
    padding-inline: 16px;
  }

  .auth-page .auth-options {
    align-items: flex-start;
    flex-direction: column;
  }

  .auth-page .footer-main {
    gap: 26px 14px;
  }
}

/* ==========================================================================
   Services and Journal pages, shared image and form helpers
   ========================================================================== */
.page-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}

.inner-hero-image,
.blog-feature-image {
  overflow: hidden;
}

.post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 48px;
}

.post-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.post-card .page-img {
  aspect-ratio: 4 / 3;
  height: auto;
}

.post-tag {
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--wood);
  font-weight: 600;
}

.post-card h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.2;
}

.post-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.post-card .text-link {
  margin-top: auto;
}

.services-list .values-grid,
.services-process .values-grid {
  margin-top: 48px;
}

.blog-newsletter .values-heading p {
  margin: 14px 0 0;
  color: var(--muted);
}

.newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
  max-width: 640px;
  margin: 36px auto 0;
}

.newsletter-form .form-field {
  flex: 1 1 260px;
  min-width: 0;
}

.newsletter-form .btn {
  flex: 0 0 auto;
}

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

@media (max-width: 767px) {
  .post-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .newsletter-form .btn {
    width: 100%;
    justify-content: center;
  }
}

/* Blog feature sits on the dark olive panel, so its link must use the light text colour. */
.blog-feature .text-link {
  color: #fbf8f1;
}

/* Phone widths: keep the Login control visible as an icon when its text label is hidden. */
@media (max-width: 600px) {
  .login-button > i:first-child {
    display: inline-block;
  }
}

/* Footer: keep all five blocks (brand, Explore, Wardrova, Contact Us, Let's create) in one row on desktop */
@media (min-width: 1025px) {
  body footer.site-footer .footer-main {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(20px, 2.4vw, 36px) !important;
  }

  body footer.site-footer .footer-contact {
    grid-column: auto !important;
    border-top: 0 !important;
    border-left: 1px solid #ffffff40 !important;
    padding: 0 0 0 clamp(16px, 2vw, 26px) !important;
  }

  html[dir="rtl"] body footer.site-footer .footer-contact {
    border-left: 0 !important;
    border-right: 1px solid #ffffff40 !important;
    padding: 0 clamp(16px, 2vw, 26px) 0 0 !important;
  }
}

/* ==========================================================================
   Gallery: photo-style header and mosaic grid
   ========================================================================== */

/* Header: pill, large title, right-aligned note */
.gallery-intro--photo {
  display: grid;
  gap: 28px;
  padding-top: 70px;
  padding-bottom: 40px;
}

.gallery-pill {
  justify-self: start;
  display: inline-block;
  padding: 9px 16px;
  border-radius: 999px;
  background: var(--paper);
  border: 1px solid var(--line);
  font-size: 11px;
  letter-spacing: 1.5px;
  color: var(--ink);
}

.gallery-intro-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  flex-wrap: wrap;
}

.gallery-intro-title {
  margin: 0;
  font: 400 clamp(44px, 6.5vw, 92px) / 1.02 var(--serif);
  letter-spacing: -.02em;
  color: var(--ink);
}

.gallery-intro-title em {
  color: var(--wood);
}

.gallery-intro-note {
  max-width: 280px;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
  text-align: right;
}

/* Mosaic: 3 columns; the 1st and 6th items are wide, the 8th fills the last row */
.gallery-grid--mosaic {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: clamp(190px, 21vw, 270px);
  gap: 14px;
  align-items: stretch;
}

.gallery-grid--mosaic .gallery-item {
  height: 100%;
  border-radius: 14px;
  overflow: hidden;
}

.gallery-grid--mosaic .gallery-item:nth-child(5n + 1) {
  grid-column: span 2;
}

.gallery-grid--mosaic .gallery-item:nth-child(8) {
  grid-column: span 3;
}

.gallery-grid--mosaic .gallery-item a {
  height: 100%;
  border-radius: 14px;
}

.gallery-grid--mosaic .gallery-item img,
.gallery-grid--mosaic .gallery-item-large img,
.gallery-grid--mosaic .gallery-item-wide img {
  height: 100%;
}

.gallery-grid--mosaic .gallery-item[hidden] {
  display: none !important;
}

/* Tablet: two columns, no wide items */
@media (max-width: 900px) {
  .gallery-grid--mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 240px;
  }
  .gallery-grid--mosaic .gallery-item:nth-child(n) {
    grid-column: auto;
  }
}

/* Phone: single column, taller images */
@media (max-width: 600px) {
  .gallery-grid--mosaic {
    grid-template-columns: 1fr;
    grid-auto-rows: 260px;
  }
  .gallery-intro-note {
    text-align: left;
  }
}

/* ==========================================================================
   Active navigation state
   ========================================================================== */
#mainNav a.active {
  color: var(--ink);
  font-weight: 600;
}

/* Underline already exists for .main-nav a.active:after; keep it in the accent colour. */
#mainNav a.active:after {
  height: 2px;
  background: var(--wood);
}

/* Current page inside a dropdown */
#mainNav .dropdown-menu a.active {
  color: var(--wood);
  font-weight: 600;
  background: rgba(167, 120, 76, .08);
}

#mainNav .dropdown-menu a.active:after {
  display: none;
}

/* Dark mode: the wood accent is too dark on dark surfaces, so lighten it. */
html[data-theme="dark"] #mainNav a.active:after,
body.dark-mode #mainNav a.active:after {
  background: #d9b994;
}

html[data-theme="dark"] #mainNav .dropdown-menu a.active,
body.dark-mode #mainNav .dropdown-menu a.active {
  color: #d9b994;
}

/* ==========================================================================
   Header toggle buttons (RTL and dark mode) styled as pill buttons
   ========================================================================== */
.site-header #rtlToggle,
.site-header #darkModeToggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 38px;
  min-width: 38px;
  padding: 0 14px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.site-header #rtlToggle:hover,
.site-header #darkModeToggle:hover,
.site-header #rtlToggle:focus-visible,
.site-header #darkModeToggle:focus-visible {
  border-color: var(--olive);
  color: #fffdf7;
}

.site-header #rtlToggle[aria-pressed="true"] {
  border-color: var(--olive);
  color: #fffdf7;
}

.site-header #darkModeToggle i,
.site-header #rtlToggle i {
  font-size: 13px;
}

/* Phone widths: keep the buttons compact but still button-shaped */
@media (max-width: 600px) {
  .site-header #rtlToggle,
  .site-header #darkModeToggle {
    height: 34px;
    min-width: 34px;
    padding: 0 10px;
    font-size: 10px;
  }
}

/* ==========================================================================
   About page: philosophy section (two-column layout)
   ========================================================================== */
.about-philosophy {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(40px, 6vw, 110px);
  align-items: start;
  padding-top: clamp(70px, 9vw, 120px);
  padding-bottom: clamp(70px, 9vw, 120px);
  border-top: 1px solid var(--line);
}

.philosophy-aside {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.philosophy-tagline {
  margin: 0;
  font: 400 clamp(30px, 3.2vw, 44px) / 1.15 var(--serif);
  color: var(--ink);
}

.philosophy-mark {
  width: 170px;
  height: 170px;
  margin-top: 16px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.philosophy-mark span {
  font: italic 400 80px / 1 var(--serif);
  color: var(--sage);
}

.philosophy-mark small {
  font-size: 9px;
  letter-spacing: 2px;
  color: var(--muted);
}

.philosophy-copy h2 {
  margin: 18px 0 32px;
  font: 400 clamp(38px, 4.6vw, 64px) / 1.08 var(--serif);
  letter-spacing: -.01em;
  color: var(--ink);
}

.philosophy-copy h2 em {
  color: var(--wood);
}

.philosophy-copy p {
  max-width: 620px;
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
}

.philosophy-copy .philosophy-lead {
  font-size: 18px;
  line-height: 1.7;
  color: var(--ink);
}

/* Dark mode: keep the accent readable on dark surfaces */
html[data-theme="dark"] .philosophy-copy h2 em,
body.dark-mode .philosophy-copy h2 em {
  color: #d9b994;
}

html[data-theme="dark"] .philosophy-mark span,
body.dark-mode .philosophy-mark span {
  color: #b9bea0;
}

/* Tablet and phone: stack into one column */
@media (max-width: 900px) {
  .about-philosophy {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .philosophy-mark {
    width: 140px;
    height: 140px;
  }
  .philosophy-mark span {
    font-size: 64px;
  }
}

/* ==========================================================================
   About page: philosophy seal as an arched wardrobe-door frame
   ========================================================================== */
.philosophy-mark {
  position: relative;
  width: 160px;
  height: 210px;
  margin-top: 16px;
  border: 1px solid var(--line);
  border-radius: 80px 80px 10px 10px;
  background: var(--paper);
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

/* Inner outline, like the inset panel of a door */
.philosophy-mark::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid var(--line);
  border-radius: 72px 72px 6px 6px;
  pointer-events: none;
}

/* Door handle, placed on the logical end edge so it mirrors in RTL */
.philosophy-mark::after {
  content: "";
  position: absolute;
  inset-inline-end: 20px;
  top: 50%;
  width: 2px;
  height: 46px;
  transform: translateY(-50%);
  background: var(--line);
  border-radius: 2px;
}

.philosophy-mark span {
  font: italic 400 80px / 1 var(--serif);
  color: var(--sage);
}

.philosophy-mark small {
  font-size: 9px;
  letter-spacing: 2px;
  color: var(--muted);
}

/* Phone: a smaller door */
@media (max-width: 900px) {
  .philosophy-mark {
    width: 130px;
    height: 170px;
    border-radius: 65px 65px 10px 10px;
  }
  .philosophy-mark::before {
    border-radius: 58px 58px 6px 6px;
  }
  .philosophy-mark span {
    font-size: 64px;
  }
}


/* =================================
   WARDROVA LUXURY BRAND LOGO
================================= */

.wardrova-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  flex-shrink: 0;
  color: #292b23;
  text-decoration: none;
}

.wardrova-logo__mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid #b99a60;
  color: #b99a60;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 35px;
  font-weight: 500;
  line-height: 1;
  position: relative;
}

.wardrova-logo__mark::after {
  content: "✦";
  position: absolute;
  top: -5px;
  right: -5px;
  font-family: Georgia, serif;
  font-size: 11px;
  color: #b99a60;
  background: #f7f4ed;
  padding: 1px 3px;
}

.wardrova-logo__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.wardrova-logo__name {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 3.5px;
  line-height: 1.1;
}

.wardrova-logo__tagline {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 2.4px;
  white-space: nowrap;
}

.wardrova-logo__tagline::before,
.wardrova-logo__tagline::after {
  content: "";
  width: 15px;
  height: 1px;
  background: #b99a60;
}

.wardrova-logo:hover .wardrova-logo__mark {
  background: #b99a60;
  color: #fffdf8;
  transition: background 0.25s ease, color 0.25s ease;
}

/* Dark mode */
body.dark-mode .wardrova-logo,
html.dark-mode .wardrova-logo {
  color: #f2eee4;
}

body.dark-mode .wardrova-logo__mark,
html.dark-mode .wardrova-logo__mark {
  color: #d5bb83;
  border-color: #d5bb83;
}

body.dark-mode .wardrova-logo__mark::after,
html.dark-mode .wardrova-logo__mark::after {
  color: #d5bb83;
  background: #171914;
}

body.dark-mode .wardrova-logo__tagline::before,
body.dark-mode .wardrova-logo__tagline::after,
html.dark-mode .wardrova-logo__tagline::before,
html.dark-mode .wardrova-logo__tagline::after {
  background: #d5bb83;
}

/* Mobile */
@media (max-width: 767px) {
  .wardrova-logo {
    gap: 8px;
  }

  .wardrova-logo__mark {
    width: 39px;
    height: 39px;
    font-size: 29px;
  }

  .wardrova-logo__name {
    font-size: 16px;
    letter-spacing: 2.4px;
  }

  .wardrova-logo__tagline {
    font-size: 7px;
    letter-spacing: 1.7px;
    gap: 5px;
  }

  .wardrova-logo__tagline::before,
  .wardrova-logo__tagline::after {
    width: 10px;
  }
}



/* Wardrova: same logo adapted for dark footer */

.wardrova-logo--footer {
  color: #f5efe3;
}

.wardrova-logo--footer .wardrova-logo__mark {
  color: #d5bb83;
  border-color: #d5bb83;
}

.wardrova-logo--footer .wardrova-logo__name {
  color: #f5efe3;
}

.wardrova-logo--footer .wardrova-logo__tagline {
  color: #d5bb83;
}

.wardrova-logo--footer .wardrova-logo__tagline::before,
.wardrova-logo--footer .wardrova-logo__tagline::after {
  background: #d5bb83;
}

.wardrova-logo--footer .wardrova-logo__mark::after {
  color: #d5bb83;
  background: #303729;
}

.wardrova-logo--footer:hover .wardrova-logo__name {
  color: #d5bb83;
  transition: color 0.25s ease;
}

/* Footer logo sizing */
.wardrova-logo--footer .wardrova-logo__mark {
  width: 43px;
  height: 43px;
  font-size: 31px;
}

.wardrova-logo--footer .wardrova-logo__name {
  font-size: 19px;
  letter-spacing: 2.8px;
}

.wardrova-logo--footer .wardrova-logo__tagline {
  font-size: 7px;
  letter-spacing: 1.7px;
}

/* =================================
   WARDROVA HOME 1 VIDEO SECTION
================================= */

.wardrova-video-section {
  padding: 100px 5%;
  background: #f7f4ed;
  color: #292b23;
}

.wardrova-video-heading {
  max-width: 720px;
  margin: 0 auto 42px;
  text-align: center;
}

.wardrova-video-eyebrow {
  display: block;
  margin-bottom: 18px;
  color: #777f60;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
}

.wardrova-video-heading h2 {
  margin: 0 0 18px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 400;
  line-height: 1.2;
}

.wardrova-video-heading h2 em {
  color: #85866b;
  font-weight: 400;
}

.wardrova-video-heading p {
  max-width: 570px;
  margin: 0 auto;
  color: #68695f;
  font-size: 14px;
  line-height: 1.9;
}

.wardrova-video-frame {
  position: relative;
  max-width: 1250px;
  margin: 0 auto;
  overflow: hidden;
  background: #ded8ca;
  box-shadow: 0 18px 50px rgba(41, 43, 35, 0.12);
}

.wardrova-home-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #ded8ca;
}

.wardrova-video-caption {
  position: absolute;
  right: 24px;
  bottom: 58px;
  padding: 12px 16px;
  background: rgba(41, 43, 35, 0.85);
  color: #fffdf6;
  font-size: 9px;
  letter-spacing: 2px;
  pointer-events: none;
}

/* Dark mode */
body.dark-mode .wardrova-video-section {
  background: #171914;
  color: #f2eee4;
}

body.dark-mode .wardrova-video-eyebrow {
  color: #c6d0a8;
}

body.dark-mode .wardrova-video-heading h2 em {
  color: #d5bb83;
}

body.dark-mode .wardrova-video-heading p {
  color: #c2c2b6;
}

body.dark-mode .wardrova-video-frame {
  background: #20231d;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .wardrova-video-section {
    padding: 75px 4%;
  }

  .wardrova-video-heading {
    margin-bottom: 32px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .wardrova-video-section {
    padding: 55px 18px;
  }

  .wardrova-video-heading {
    margin-bottom: 26px;
  }

  .wardrova-video-heading h2 {
    font-size: 34px;
  }

  .wardrova-video-heading p {
    font-size: 13px;
  }

  .wardrova-video-frame {
    overflow: hidden;
  }

  .wardrova-home-video {
    aspect-ratio: 4 / 3;
  }

  .wardrova-video-caption {
    right: 10px;
    bottom: 42px;
    padding: 9px 10px;
    font-size: 7px;
    letter-spacing: 1px;
  }
}

@media (max-width: 360px) {
  .wardrova-video-section {
    padding-inline: 12px;
  }

  .wardrova-video-heading h2 {
    font-size: 29px;
  }
}


/* Wardrova: clean cinematic video */

.wardrova-video-frame {
  position: relative;
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  overflow: hidden;
  background: #ded8ca;
  aspect-ratio: 16 / 9;
}

.wardrova-home-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  outline: none;
  pointer-events: none;
}

/* Remove any previous overlay captions */
.wardrova-video-caption {
  display: none;
}

@media (max-width: 767px) {
  .wardrova-video-frame {
    aspect-ratio: 4 / 3;
  }
}

/* =========================================
   WARDROVA HOME 1 — SECTION 5 ANIMATIONS
========================================= */

/* Initial hidden state */
.home-section-5 .animate-item,
.home-section-5 [data-aos],
.wardrova-video-section .wardrova-video-heading,
.wardrova-video-section .wardrova-video-frame {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.8s ease,
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

/* Reveal when visible */
.home-section-5.is-visible .animate-item,
.home-section-5.is-visible [data-aos],
.wardrova-video-section .wardrova-video-heading.is-visible,
.wardrova-video-section .wardrova-video-frame.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered timing for section 5 content */
.home-section-5.is-visible .animate-item:nth-child(2),
.home-section-5.is-visible [data-aos]:nth-child(2) {
  transition-delay: 0.12s;
}

.home-section-5.is-visible .animate-item:nth-child(3),
.home-section-5.is-visible [data-aos]:nth-child(3) {
  transition-delay: 0.24s;
}

.home-section-5.is-visible .animate-item:nth-child(4),
.home-section-5.is-visible [data-aos]:nth-child(4) {
  transition-delay: 0.36s;
}

/* =========================================
   CINEMATIC VIDEO SECTION REVEAL
========================================= */

.wardrova-video-section .wardrova-video-heading {
  transform: translateY(25px);
  transition-delay: 0.1s;
}

.wardrova-video-section .wardrova-video-frame {
  transform: translateY(35px) scale(0.97);
  transition:
    opacity 1s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.wardrova-video-section .wardrova-video-frame.is-visible {
  transform: translateY(0) scale(1);
}

/* Subtle cinematic zoom while the video is visible */
.wardrova-video-frame video {
  transform: scale(1.025);
  transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.wardrova-video-frame.is-visible video {
  transform: scale(1);
}

/* Optional elegant divider reveal */
.wardrova-video-heading h2 {
  position: relative;
}

.wardrova-video-heading h2::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  margin: 18px auto 0;
  background: #b99a60;
  transition: width 0.9s ease 0.4s;
}

.wardrova-video-heading.is-visible h2::after {
  width: 76px;
}

/* Dark mode compatibility */
body.dark-mode .wardrova-video-heading h2::after {
  background: #d5bb83;
}

/* Accessibility: respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .home-section-5 .animate-item,
  .home-section-5 [data-aos],
  .wardrova-video-section .wardrova-video-heading,
  .wardrova-video-section .wardrova-video-frame,
  .wardrova-video-frame video,
  .wardrova-video-heading h2::after {
    opacity: 1;
    transform: none;
    transition: none;
    width: auto;
    will-change: auto;
  }
}

/* Wardrova — Finishes & Materials */

.wardrova-materials-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.wardrova-material {
  min-width: 0;
}

.wardrova-material__image {
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: #e9e1d5;
  margin-bottom: 18px;
}

.wardrova-material__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.65s ease;
}

.wardrova-material:hover .wardrova-material__image img {
  transform: scale(1.06);
}

.wardrova-material h3 {
  margin: 0 0 7px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-color, #171512);
}

.wardrova-material p {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted-text, #68635e);
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .wardrova-materials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 22px;
  }

  .wardrova-material__image {
    height: 190px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .wardrova-materials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 14px;
  }

  .wardrova-material__image {
    height: 130px;
    margin-bottom: 12px;
  }

  .wardrova-material h3 {
    font-size: 18px;
  }

  .wardrova-material p {
    font-size: 13px;
  }
}

/* Small mobile */
@media (max-width: 360px) {
  .wardrova-materials-grid {
    gap: 20px 12px;
  }

  .wardrova-material__image {
    height: 110px;
  }

  .wardrova-material h3 {
    font-size: 16px;
  }
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .wardrova-material__image img {
    transition: none;
  }
}

/* Gallery page — match About page hero height */
.gallery-hero {
  min-height: 650px; /* Replace with the About hero's actual height */
  height: auto;
  display: flex;
  align-items: center;
}

.wardrova-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.wardrova-logo__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 1px solid #85856f;
  color: #85856f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 40px;
  line-height: 1;
}

.wardrova-logo__text {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.wardrova-logo__name {
  color: #29271f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 20px;
  letter-spacing: 2px;
}

.wardrova-logo__tagline {
  color: #85856f;
  font-size: 9px;
  letter-spacing: 2px;
}

/* Footer logo text */
.wardrova-footer .wardrova-logo__name {
  color: #f8f5ee;
}

.wardrova-footer .wardrova-logo__tagline {
  color: #c4b28e;
}

/* Wardrova arch-shaped logo */
.wardrova-arch-logo {
  position: relative;
  width: 160px;
  height: 210px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #85876e;
  background: transparent;
  border: 1px solid #d5d1c7;
  border-radius: 82px 82px 10px 10px;
  box-sizing: border-box;
  isolation: isolate;
}

/* Inner arch outline */
.wardrova-arch-logo::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid #d5d1c7;
  border-radius: 74px 74px 5px 5px;
  pointer-events: none;
}

/* W lettermark */
.wardrova-arch-logo__mark {
  position: relative;
  margin-top: 12px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 78px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -7px;
  color: #85876e;
  z-index: 1;
}

/* Thin vertical divider */
.wardrova-arch-logo__divider {
  position: absolute;
  top: 80px;
  right: 21px;
  height: 46px;
  width: 1px;
  background: #c9c7bb;
}

/* Company tagline */
.wardrova-arch-logo__tagline {
  margin-top: 10px;
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 1.5;
  color: #777762;
  text-align: center;
  z-index: 1;
}

/* Dark mode */
.dark-mode .wardrova-arch-logo {
  border-color: #625f50;
}

.dark-mode .wardrova-arch-logo::before {
  border-color: #625f50;
}

.dark-mode .wardrova-arch-logo__mark {
  color: #b5b69a;
}

.dark-mode .wardrova-arch-logo__divider {
  background: #8d8b7d;
}

.dark-mode .wardrova-arch-logo__tagline {
  color: #d0c9b5;
}

/* Mobile */
@media (max-width: 767px) {
  .wardrova-arch-logo {
    width: 130px;
    height: 172px;
    border-radius: 67px 67px 8px 8px;
  }

  .wardrova-arch-logo::before {
    inset: 7px;
    border-radius: 60px 60px 4px 4px;
  }

  .wardrova-arch-logo__mark {
    font-size: 64px;
  }

  .wardrova-arch-logo__divider {
    top: 65px;
    right: 18px;
    height: 38px;
  }

  .wardrova-arch-logo__tagline {
    font-size: 7px;
    letter-spacing: 1.5px;
  }
}

/* ==========================================================================
   DASHBOARD SIDEBAR, PROFILE BUTTON AND PROFILE FORM
   (client.html and admin.html)
   ========================================================================== */
.dashboard-shell{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;background:var(--paper)}
.dashboard-shell .dashboard-main{min-width:0}
.dashboard-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:26px;padding:28px 20px 24px;background:var(--paper);border-inline-end:1px solid var(--line);z-index:70}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sidebar-head .eyebrow{margin:0}
.sidebar-close{display:none;border:0;background:transparent;color:inherit;font-size:16px;cursor:pointer;padding:6px}
.sidebar-user{display:flex;align-items:center;gap:12px;padding:16px;background:var(--ivory);border:1px solid var(--line)}
.sidebar-user strong{display:block;font:400 17px/1.2 var(--serif);overflow-wrap:anywhere}
.sidebar-user small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.sidebar-user .profile-avatar{width:44px;height:44px;font-size:12px}
.sidebar-nav{display:flex;flex-direction:column;gap:4px}
.sidebar-link{display:flex;align-items:center;gap:12px;padding:11px 12px;font-size:12px;color:var(--muted);border-radius:2px;transition:background .2s,color .2s}
.sidebar-link i{width:16px;text-align:center;color:var(--wood);font-size:13px;flex-shrink:0}
.sidebar-link:hover{background:var(--ivory);color:var(--ink)}
.sidebar-link.is-active{background:var(--olive);color:#fffdf7}
.sidebar-link.is-active i{color:#e3c9a5}
.sidebar-link--muted{font-size:11px}
.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}
.sidebar-toggle{display:none;align-items:center;gap:10px;min-height:42px;padding:0 16px;margin:0 0 18px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:11px;cursor:pointer}
.sidebar-toggle i{color:var(--wood)}
.sidebar-overlay{position:fixed;inset:0;z-index:65;background:rgba(20,21,16,.45);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.sidebar-overlay.is-visible{opacity:1;visibility:visible}

.profile-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 12px 4px 4px;border:1px solid var(--line);font-size:11px;white-space:nowrap;transition:border-color .2s}
.profile-button:hover{border-color:var(--wood)}
.profile-avatar{display:inline-grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--olive);color:#fffdf7;font-size:10px;font-weight:600;letter-spacing:.5px;line-height:1}
.profile-button-avatar{width:30px;height:30px}
.profile-avatar--lg{width:76px;height:76px;font-size:20px;font-family:var(--serif);font-weight:400}

.profile-panel{padding:0;overflow:hidden}
.profile-layout{display:grid;grid-template-columns:260px minmax(0,1fr)}
.profile-summary{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:32px 26px;background:var(--ivory);border-inline-end:1px solid var(--line)}
.profile-summary .eyebrow{margin:0}
.profile-summary h3{font:400 26px/1.2 var(--serif);margin:0;overflow-wrap:anywhere}
.profile-role{margin:0;color:var(--muted);font-size:12px}
.profile-photo-btn{min-height:38px;font-size:10px;margin-top:6px}
.profile-form{padding:32px 30px;min-width:0}
.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.profile-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.profile-field--wide{grid-column:1/-1}
.profile-field label{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-weight:600}
.profile-field input,.profile-field select,.profile-field textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);padding:13px 12px;font:400 12px var(--sans);outline:none;transition:border-color .2s,box-shadow .2s}
.profile-field input:focus,.profile-field select:focus,.profile-field textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(133,137,110,.12)}
.profile-field input::placeholder,.profile-field textarea::placeholder{color:var(--muted);opacity:.8}
.profile-field textarea{resize:vertical;min-height:90px}
.profile-field input.is-invalid{border-color:#b85c4a;box-shadow:0 0 0 3px rgba(184,92,74,.12)}
.field-error{min-height:0;margin:0;font-size:10px;color:#b85c4a}
.profile-check{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;cursor:pointer}
.profile-check input{width:16px;height:16px;padding:0;margin:0;accent-color:var(--olive);flex-shrink:0}
.profile-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

.profile-button-text{overflow:hidden;text-overflow:ellipsis;max-width:140px}

@media (max-width:1024px){
  .dashboard-shell{grid-template-columns:minmax(0,1fr)}
  .dashboard-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;height:100%;width:min(300px,86vw);transform:translateX(-100%);transition:transform .3s ease;box-shadow:0 0 40px rgba(0,0,0,.18)}
  .dashboard-sidebar.is-open{transform:none}
  .sidebar-close,.sidebar-toggle{display:inline-flex}
  .profile-button-text{display:none}
  .profile-button{padding:4px}
  .profile-layout{grid-template-columns:minmax(0,1fr)}
  .profile-summary{flex-direction:row;flex-wrap:wrap;align-items:center;border-inline-end:0;border-bottom:1px solid var(--line)}
  .profile-summary h3{font-size:22px}
  .profile-photo-btn{margin-top:0;margin-inline-start:auto}
}
@media (max-width:767px){
  .profile-form{padding:24px 18px}
  .profile-summary{padding:24px 18px}
  .profile-form-grid{grid-template-columns:minmax(0,1fr)}
  .profile-actions .btn{width:100%}
  .profile-photo-btn{margin-inline-start:0;width:100%}
}

/* ---------- Profile photos ---------- */
.profile-avatar{overflow:hidden}
.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* ---------- Dashboard header stays at the top; sidebar sits below it ---------- */
.dashboard-page .site-header{position:sticky;top:0;z-index:60;height:76px}
@media (min-width:1025px){
  .dashboard-sidebar{top:var(--header-h,76px);height:calc(100vh - var(--header-h,76px))}
}

/* ==========================================================================
   WARDROVA — MOBILE / TABLET RESPONSIVE FIXES
   1. Fixed header — always on top, never clipped by AOS-animated sections
   2. Hide login button on mobile/tablet; show it inside the sidebar nav
   3. Prevent body scroll when mobile nav sidebar is open
   4. Dropdown chevron rotates on mobile toggle
   ========================================================================== */

/* ---- 1. Fixed header — always visible, above every stacking context ---- */
/*
   Problem: AOS-animated sections use CSS `transform` (translate/opacity).
   Any element with `transform` creates a NEW stacking context, which means
   its children can render above a `position:fixed` element that has a lower
   or equal z-index — even if the fixed element has z-index:1000.
   Solution: Give the header a z-index high enough (99999) to be above every
   AOS stacking context. Also ensure no overflow:hidden clips the header row.
*/
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;   /* above all AOS / transform stacking contexts */
  overflow: visible !important; /* never clip the hamburger or header-actions */
}

/* The header-actions row (RTL, dark-mode, hamburger) must also never clip */
.header-actions {
  overflow: visible !important;
}

/* Ensure the mobile nav dropdown sits below the header but above page content */
#mainNav.is-open,
#mainNav.open {
  z-index: 99998 !important;
}

/* ---- 2. Hide login button on mobile / tablet (≤ 850px) ---- */
@media (max-width: 850px) {
  .login-button {
    display: none !important;
  }
}

/* ---- Login link inside the mobile sidebar nav ---- */
/*
   Injected at the bottom of #mainNav by JS. CSS hides it on desktop.
*/
.nav-sidebar-login {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 49px;
  padding: 10px 0;
  color: var(--warm-text, var(--ink));
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-top: 2px solid var(--warm-border, rgba(45,48,37,.18));
  margin-top: 6px;
}

.nav-sidebar-login i {
  font-size: 15px;
  color: var(--warm-accent, #b28a60);
}

/* Hide sidebar login on desktop — the header login button is visible there */
@media (min-width: 851px) {
  .nav-sidebar-login {
    display: none !important;
  }
}

/* ---- 3. Prevent body scroll when mobile nav is open ---- */
body.nav-open {
  overflow: hidden !important;
}

/* ---- 4. Dropdown caret rotates when toggled on mobile/tablet ---- */
@media (max-width: 850px) {
  .has-dropdown.dropdown-open > .nav-link .dropdown-icon {
    transform: rotate(180deg);
  }
}

/* ==========================================================================
   NAV FIX — final header override (keep at the very END of style.css)
   1. Header is sticky on every page, always on top, and takes its own space,
      so it never covers the sidebar toggle or the first section of a page.
   2. Phone and tablet: logo + dark/RTL/menu buttons fit in one row, and the
      hamburger is never squeezed or pushed out of view.
   3. Mobile menu panel opens directly under the header and scrolls if tall.
   ========================================================================== */

html {
  scroll-padding-top: 92px;
}

.site-header {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 80px !important;
  padding: 0 clamp(16px, 5vw, 88px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 20px !important;
  background: var(--paper) !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--line);
  box-shadow: none !important;
  backdrop-filter: none !important;
  transform: none !important;
  overflow: visible !important;
}

.site-header > .wardrova-logo {
  grid-column: 1;
  justify-self: start;
  min-width: 0;
}

.site-header > .main-nav {
  grid-column: 2;
  justify-self: center;
  min-width: 0;
  height: 100%;
}

.site-header > .header-actions {
  grid-column: 3;
  justify-self: end;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  flex-shrink: 0;
  overflow: visible !important;
}

.main-nav .nav-link,
.main-nav > a {
  color: var(--ink);
  white-space: nowrap;
}

/* The RTL button is a text label, so its span must stay visible */
.site-header #rtlToggle span {
  display: inline !important;
}

.site-header .icon-button,
.site-header #rtlToggle,
.site-header #darkModeToggle {
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  background: transparent;
  flex: 0 0 auto;
}

/* Tablet landscape / small laptop: keep all links on one line */
@media (min-width: 851px) and (max-width: 1100px) {
  .site-header {
    gap: 14px !important;
    padding-inline: 3% !important;
  }
  .main-nav {
    gap: 12px !important;
  }
  .main-nav .nav-link {
    font-size: 12px;
  }
  .wardrova-logo__mark {
    width: 40px;
    height: 40px;
    font-size: 28px;
  }
  .wardrova-logo__name {
    font-size: 22px;
  }
}

/* Narrowest desktop-nav width: tighten spacing so links never overflow */
@media (min-width: 851px) and (max-width: 900px) {
  .main-nav {
    gap: 9px !important;
  }
  .main-nav .nav-link {
    font-size: 11.5px;
  }
}

/* Phone and tablet portrait: hamburger layout */
@media (max-width: 850px) {
  html {
    scroll-padding-top: 84px;
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 72px !important;
    padding: 0 16px !important;
    gap: 10px !important;
  }

  .site-header > .wardrova-logo {
    grid-column: 1;
  }

  .site-header > .header-actions {
    grid-column: 2;
    gap: 8px !important;
  }

  .site-header #rtlToggle,
  .site-header #darkModeToggle {
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 8px !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    border: 1px solid var(--line) !important;
    border-radius: 4px;
    background: transparent !important;
    color: var(--ink) !important;
    font-size: 17px !important;
    cursor: pointer;
  }

  .main-nav {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    height: auto !important;
    max-height: calc(100vh - 72px);
    overflow-y: auto;
    padding: 6px 16px 20px !important;
    background: var(--paper) !important;
    border-top: 1px solid var(--line);
    box-shadow: 0 16px 28px rgba(0, 0, 0, .14) !important;
  }

  .main-nav.open,
  .main-nav.is-open {
    display: flex !important;
  }

  .main-nav .nav-item {
    width: 100%;
  }

  .main-nav .nav-link,
  .main-nav > a {
    display: block;
    width: 100%;
    padding: 14px 0 !important;
    font-size: 14px;
    border-bottom: 1px solid var(--line);
  }

  .main-nav .dropdown-menu {
    position: static !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 0 8px 14px !important;
  }

  .main-nav .has-dropdown.dropdown-open .dropdown-menu {
    display: block !important;
  }
}

/* Small phones (320px to 400px): shrink the brand so every control fits */
@media (max-width: 400px) {
  .site-header {
    padding: 0 12px !important;
    gap: 8px !important;
  }

  .site-header > .header-actions {
    gap: 6px !important;
  }

  .site-header #rtlToggle,
  .site-header #darkModeToggle {
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 6px !important;
    font-size: 10px !important;
  }

  .mobile-menu-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  .wardrova-logo {
    gap: 8px;
  }

  .wardrova-logo__mark {
    width: 38px;
    height: 38px;
    font-size: 26px;
  }

  .wardrova-logo__name {
    font-size: 15px;
    letter-spacing: 1.5px;
  }

  .wardrova-logo__tagline {
    font-size: 6.5px;
    letter-spacing: 1.4px;
  }

  /* Dashboard pages: the profile button is also in the sidebar, so hide it
     from the header on the narrowest phones to keep the menu button visible */
  .site-header .profile-button {
    display: none !important;
  }
}

/* STICKY NAV — keep at the very end of style.css */

.site-header,
body .site-header,
body.dashboard-page .site-header,
body.auth-page .site-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  transform: none !important;
}

/* MOBILE NAV PANEL: full-width drop-down under the header (keep at the end of style.css) */
@media (max-width: 850px) {
  body .site-header > .main-nav {
    grid-column: 1 / -1 !important;
    grid-row: 1;
    justify-self: stretch !important;
    width: auto !important;
    left: 0 !important;
    right: 0 !important;
    top: 100% !important;
  }

  .main-nav .nav-link,
  .main-nav > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-align: left;
  }

  .main-nav .nav-link .dropdown-icon {
    margin-left: auto;
    font-size: 12px;
  }
}

/* Keep scrolling inside an open drawer from passing through to the page */
#mainNav,
#dashboardSidebar {
  overscroll-behavior: contain;
}

/* Mobile/tablet dashboard drawer: sits below the sticky header, above the overlay */
@media (max-width: 1024px) {
  .dashboard-sidebar {
    top: 72px !important;
    height: calc(100% - 72px) !important;
    z-index: 70 !important;
  }
  .sidebar-overlay {
    z-index: 65;
  }
}

/* Below 1440px: sideways scroll animations become a plain upward fade (CSS fallback to main.js) */
@media (max-width: 1439px) {
  [data-aos^="fade-left"],
  [data-aos^="fade-right"],
  [data-aos^="slide-left"],
  [data-aos^="slide-right"] {
    transform: translateY(40px);
  }
  [data-aos^="fade-left"].aos-animate,
  [data-aos^="fade-right"].aos-animate,
  [data-aos^="slide-left"].aos-animate,
  [data-aos^="slide-right"].aos-animate {
    transform: translate3d(0, 0, 0);
  }
}

/* ==========================================================================
   RTL HEADER + DRAWER FIX (keep at the very end of style.css)
   The header is a three-zone grid (logo, nav, actions). The browser mirrors
   the grid in RTL, so the logo moves to the right and the actions to the left.
   ========================================================================== */
body .site-header,
body[dir="rtl"] .site-header,
html[dir="rtl"] .site-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: center !important;
}

body .site-header > .wardrova-logo {
  grid-column: 1 !important;
  justify-self: start !important;
}

body .site-header > .main-nav {
  grid-column: 2 !important;
  justify-self: center !important;
}

body .site-header > .header-actions {
  grid-column: 3 !important;
  justify-self: end !important;
  margin: 0 !important;
}

@media (max-width: 850px) {
  body .site-header,
  body[dir="rtl"] .site-header,
  html[dir="rtl"] .site-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  body .site-header > .header-actions {
    grid-column: 2 !important;
  }
}

/* RTL: the mobile/tablet dashboard drawer slides in from the right */
@media (max-width: 1024px) {
  html[dir="rtl"] .dashboard-sidebar {
    transform: translateX(100%) !important;
  }
  html[dir="rtl"] .dashboard-sidebar.is-open {
    transform: none !important;
  }
}

/* RTL: the drawer is anchored to the right edge with its normal width */
@media (max-width: 1024px) {
  html[dir="rtl"] .dashboard-sidebar {
    left: auto !important;
    right: 0 !important;
    width: min(300px, 86vw) !important;
  }
}

/* Dark mode: logo name must be light on the dark header */
html[data-theme="dark"] .wardrova-logo__name,
body.dark-mode .wardrova-logo__name {
  color: #f2eee4 !important;
}

/* Hide Edge's built-in password reveal eye so only the site's own toggle shows */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
  display: none !important;
}

/* Auth pages: image as the background of the left visual panel */
.auth-hero:not(.auth-hero-signup) .auth-visual {
  background:
    linear-gradient(0deg, rgba(27, 29, 22, 0.83), rgba(27, 29, 22, 0.04) 85%),
    url('../images/img (49).webp') center / cover no-repeat;
}

.auth-hero-signup .auth-visual {
  background:
    linear-gradient(0deg, rgba(27, 29, 22, 0.83), rgba(27, 29, 22, 0.04) 85%),
    url('../images/img (50).webp') center / cover no-repeat;
}

/* ===== DASHBOARD: SIDEBAR MOVED INTO HEADER (ICON-ONLY HAMBURGER) ===== */
.dashboard-page .dashboard-shell {
  display: block !important;
  grid-template-columns: minmax(0, 1fr) !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.dashboard-page .sidebar-toggle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  font-size: 18px;
  flex: 0 0 auto;
  cursor: pointer;
}

.dashboard-page .site-header .dashboard-sidebar {
  position: fixed !important;
  top: var(--header-h, 72px) !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  width: min(300px, 86vw) !important;
  height: calc(100vh - var(--header-h, 72px)) !important;
  max-height: none !important;
  margin: 0 !important;
  transform: translateX(-100%) !important;
  transition: transform 0.3s ease !important;
  z-index: 1100 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  background: var(--paper, #fbf8f2);
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}

.dashboard-page .site-header .dashboard-sidebar.is-open {
  transform: translateX(0) !important;
}

/* RTL: drawer slides in from the right */
html[dir="rtl"] .dashboard-page .site-header .dashboard-sidebar,
body[dir="rtl"] .dashboard-page .site-header .dashboard-sidebar {
  left: auto !important;
  right: 0 !important;
  border-right: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
  transform: translateX(100%) !important;
}

html[dir="rtl"] .dashboard-page .site-header .dashboard-sidebar.is-open,
body[dir="rtl"] .dashboard-page .site-header .dashboard-sidebar.is-open {
  transform: translateX(0) !important;
}

/* Dark mode drawer */
html[data-theme="dark"] .dashboard-page .site-header .dashboard-sidebar,
body.dark-mode .dashboard-page .site-header .dashboard-sidebar {
  background: #1b1d16;
  color: #f2eee4;
}

@media (max-width: 400px) {
  .dashboard-page .sidebar-toggle {
    width: 36px;
    height: 36px;
  }
}

/* ===== HEADER ICON BUTTONS: SAME SIZE & EQUAL SPACING ===== */
.site-header .header-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
}

.site-header .header-actions .rtl-toggle,
.site-header .header-actions .dark-toggle,
.site-header .header-actions .sidebar-toggle {
  box-sizing: border-box !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
  flex: 0 0 40px !important;
  border-radius: 12px !important;
}

.site-header .header-actions .sidebar-toggle i,
.site-header .header-actions .dark-toggle i {
  font-size: 16px;
  line-height: 1;
}

@media (max-width: 400px) {
  .site-header .header-actions {
    gap: 8px !important;
  }

  .site-header .header-actions .rtl-toggle,
  .site-header .header-actions .dark-toggle,
  .site-header .header-actions .sidebar-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    flex: 0 0 36px !important;
  }
}

/* ===== DARK MODE CONTRAST FIXES ===== */

/* Section numbers and eyebrows on dark panels */
html[data-theme="dark"] .section-number,
html[data-theme="dark"] .section-number span,
body.dark-mode .section-number,
body.dark-mode .section-number span {
  color: #d8d2c2 !important;
}

/* Index: "05" marker in the materials eyebrow */
html[data-theme="dark"] .materials-eyebrow span,
body.dark-mode .materials-eyebrow span {
  color: #d8d2c2 !important;
}

/* Materials image label: dark backing so cream text reads */
html[data-theme="dark"] .materials-image-label,
body.dark-mode .materials-image-label {
  background: rgba(20, 20, 16, 0.82) !important;
  color: #fffaf0 !important;
}

/* Accent labels: room notes, living stories, cabinet notes */
html[data-theme="dark"] .room-note-number,
html[data-theme="dark"] .room-note-row span,
html[data-theme="dark"] .living-story-caption span,
html[data-theme="dark"] .cabinet-feature-note span,
body.dark-mode .room-note-number,
body.dark-mode .room-note-row span,
body.dark-mode .living-story-caption span,
body.dark-mode .cabinet-feature-note span {
  color: #c9956f !important;
}

/* Accent labels with higher specificity (gallery and products) */
html[data-theme="dark"] body .room-note-number,
html[data-theme="dark"] body .room-note-row span,
html[data-theme="dark"] body .gallery-room-notes span,
html[data-theme="dark"] body .product-edit span,
html[data-theme="dark"] body .living-story-caption span,
html[data-theme="dark"] body .cabinet-feature-note span,
body.dark-mode .room-note-number,
body.dark-mode .room-note-row span,
body.dark-mode .gallery-room-notes span,
body.dark-mode .product-edit span {
  color: #d0a07c !important;
  opacity: 1 !important;
}

/* Filter count labels, e.g. "Living 02" */
html[data-theme="dark"] body [class*="filter"] span,
body.dark-mode [class*="filter"] span {
  color: #d0a07c !important;
  opacity: 1 !important;
}

/* ===== DASHBOARD: REMOVE SIDEBAR AT 1440px AND ABOVE ===== */
@media (min-width: 1440px) {
  .dashboard-page #dashboardSidebar,
  .dashboard-page .dashboard-sidebar,
  .dashboard-page #sidebarOverlay,
  .dashboard-page .sidebar-overlay,
  .dashboard-page #sidebarToggle,
  .dashboard-page .sidebar-toggle,
  .dashboard-page #sidebarClose {
    display: none !important;
  }

  .dashboard-page .dashboard-shell {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .dashboard-page .dashboard-main,
  .dashboard-page .dashboard-content,
  .dashboard-page main {
    margin-left: 0 !important;
    padding-left: clamp(24px, 4vw, 64px) !important;
    padding-right: clamp(24px, 4vw, 64px) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ===== DASHBOARD 1440px+: EXACT DESKTOP LAYOUT ===== */
@media (min-width: 1024px) {
  /* Hide hamburger, close button and overlay on desktop */
  .dashboard-page #sidebarToggle,
  .dashboard-page .sidebar-toggle,
  .dashboard-page #sidebarClose,
  .dashboard-page #sidebarOverlay,
  .dashboard-page .sidebar-overlay {
    display: none !important;
  }

  /* Show profile button in header */
  .dashboard-page .site-header .profile-button {
    display: inline-flex !important;
  }

  /* Push content right of the sidebar */
  body.dashboard-page .dashboard-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    padding-left: 260px !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  /* Sidebar: fixed left column under the header */
  body.dashboard-page #dashboardSidebar,
  body.dashboard-page .dashboard-sidebar {
    display: flex !important;
    flex-direction: column;
    gap: 26px;
    position: fixed !important;
    top: var(--header-h, 80px) !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 260px !important;
    height: calc(100vh - var(--header-h, 80px)) !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 28px 20px 24px;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: var(--paper, #fbf8f1);
    border-right: 1px solid var(--line, rgba(45, 48, 37, 0.18));
    border-left: 0;
    box-shadow: none !important;
    overflow-y: auto;
    z-index: 5;
  }

  /* RTL: sidebar on the right, content padded on the right */
  html[dir="rtl"] body.dashboard-page .dashboard-shell {
    padding-left: 0 !important;
    padding-right: 260px !important;
  }

  html[dir="rtl"] body.dashboard-page #dashboardSidebar,
  html[dir="rtl"] body.dashboard-page .dashboard-sidebar {
    left: auto !important;
    right: 0 !important;
    border-right: 0;
    border-left: 1px solid var(--line, rgba(45, 48, 37, 0.18));
  }

  /* Main content */
  .dashboard-page .dashboard-main {
    min-width: 0 !important;
  }

  /* Split hero: copy left, image right */
  .dashboard-page .dashboard-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr) !important;
    min-height: 496px;
  }

  .dashboard-page .dashboard-hero-copy {
    padding: 64px 40px 50px 79px !important;
  }

  .dashboard-page .dashboard-hero-art,
  .dashboard-page .dashboard-hero-art img {
    min-height: 496px !important;
    height: 100% !important;
  }
}

/* ===== DASHBOARD HEADER: PROFILE BUTTON ONLY AT 1440px ===== */
.dashboard-page .site-header .profile-button {
  display: none !important;
}

@media (min-width: 1024px) {
  .dashboard-page .site-header .profile-button {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
  }
}


