/*
 * ═══════════════════════════════════════════════════════════════
 *  J BUILD CO. — LEGAL PAGE STYLES (Privacy Policy / Terms of Service)
 *  Page-specific CSS for privacy.html / terms.html
 *  Depends on: jbc-design.css (load first)
 * ═══════════════════════════════════════════════════════════════
 */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
:root{
  --forest: #4E472B;
  --moss:   #635A35;
  --forest3:#3A3420;
  --gold:   #BA8A39;
  --gold2:  #D4A855;
  --gold3:  #9D7221;
  --ink:    #1E1C10;
  --paper:  #F5F0E6;
  --warm:   #EDE6D4;
  --stone:  #C8BFB0;
  --dust:   #7A7268;
  --rule:   rgba(78,71,43,.15);
  --white:  #FFFFFF;
  --cream:  #F5F0E6;
  --dark:   #1C1A0F;
}
body{font-family:'Instrument Sans',sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden;font-weight:300;-webkit-font-smoothing:antialiased}

/* NAV / LOGO */
nav{position:fixed;top:0;left:0;right:0;z-index:800;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;transition:background .5s,border-color .5s}
nav.solid{background:rgba(246,243,238,.97);border-bottom:1px solid var(--rule);backdrop-filter:blur(14px)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nl{display:none!important}
.nl a{font-size:10px;letter-spacing:.14em;font-weight:400;color:var(--ink);text-decoration:none;transition:color .25s}
.nl a:hover,.nl a.on{color:var(--forest)}
.ncta{display:none!important}
.hbtn{display:none;flex-direction:column;gap:5px;cursor:pointer;border:none;background:none;padding:4px}
.hbtn span{width:22px;height:1px;background:var(--ink);display:block}

/* DRAWER */
.draw{position:fixed;top:0;right:0;bottom:0;left:auto;width:300px;max-width:85vw;z-index:1500;background:var(--paper);transform:translateX(100%);transition:transform .45s cubic-bezier(.77,0,.175,1);display:flex;flex-direction:column;justify-content:center;padding:80px 48px}
.draw.open{transform:translateX(0)}
.draw ul{list-style:none}
.draw li{border-bottom:1px solid var(--rule)}
.draw a{display:block;padding:20px 0;font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;color:var(--ink);text-decoration:none;transition:color .2s,padding-left .25s}
.draw a:hover{color:var(--forest);padding-left:8px}
.dc{position:absolute;top:24px;right:28px;background:none;border:1px solid var(--rule);width:36px;height:36px;cursor:pointer;font-size:14px;color:var(--dust);display:flex;align-items:center;justify-content:center}
.dsoc{display:flex;gap:16px;margin-top:32px}
.dsoc a{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--dust);text-decoration:none}

/* POPUP */
.pop-bg{position:fixed;inset:0;background:rgba(17,16,16,.7);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s;backdrop-filter:blur(8px)}
.pop-bg.open{opacity:1;pointer-events:all}
.pop-box{background:var(--paper);width:92%;max-width:520px;position:relative;max-height:92vh;overflow-y:auto}
.ph{background:var(--forest);padding:36px 44px 28px;position:relative}
.ph h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:400;color:#fff;margin-bottom:6px}
.ph p{letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.pc{position:absolute;top:20px;right:22px;background:none;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);cursor:pointer;font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.pc:hover{background:rgba(255,255,255,.1);color:#fff}
.pb{padding:36px 44px 40px}
.pf{margin-bottom:20px}
.pf label{display:block;font-family:'DM Mono',monospace;font-size:8px;letter-spacing:.28em;text-transform:uppercase;color:var(--dust);margin-bottom:8px}
.pf input,.pf textarea{width:100%;padding:11px 0;border:none;border-bottom:1px solid var(--stone);background:transparent;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:300;color:var(--ink);outline:none;transition:border-color .25s}
.pf input:focus,.pf textarea:focus{border-bottom-color:var(--forest)}
.pf textarea{height:72px;resize:none}
.pchks{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.pchks label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--dust);font-weight:300;cursor:pointer}
.pchks input{width:13px;height:13px;accent-color:var(--forest)}
.pdisc{letter-spacing:.1em;color:var(--stone);line-height:1.7;margin-top:14px}
.btn-f{background:var(--forest);color:#fff;font-family:'Instrument Sans',sans-serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding:14px 32px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background .25s}
.btn-f:hover{background:var(--moss)}
.jbc-btn--full{width:100%;text-align:center;margin-top:6px}

/* PAGE HERO */
.page-hero{height:40vh;min-height:280px;position:relative;overflow:hidden;display:flex;align-items:flex-end;background-image:url('../images/portfolio/exteriors/chateau_04.jpg');background-size:cover;background-position:center;margin-top:var(--jbc-nav-h)}
.ph-dim{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.28) 0%,rgba(10,28,15,.86) 100%)}
.ph-content{position:relative;z-index:2;padding:0 56px 48px;width:100%}
.ph-content h1{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5.5vw,64px);font-weight:300;color:#fff;line-height:1.05;letter-spacing:-.02em}
.ph-content h1 em{font-style:italic;color:var(--gold)}
.ph-sub{font-family:'Instrument Sans',sans-serif;font-size:15px;color:rgba(255,255,255,.72);margin-top:14px}
.ph-bc{position:absolute;top:24px;right:48px;z-index:3;display:flex;align-items:center;gap:8px}
.ph-bc a,.ph-bc span{font-family:'Open Sans',sans-serif;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:#fff;text-decoration:none;transition:color .2s}
.ph-bc a:hover{color:rgba(255,255,255,.7)}
.ph-bc span{color:rgba(255,255,255,.5)}

/* LEGAL CONTENT */
.rv{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s ease}
.rv.in{opacity:1;transform:none}
.legal-wrap{max-width:840px;margin:0 auto;padding:88px 24px 120px}
.legal-meta{margin-bottom:44px;padding-bottom:26px;border-bottom:1px solid var(--rule)}
.legal-meta .ey{letter-spacing:.3em;text-transform:uppercase;font-family:'DM Mono',monospace;font-size:11px;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:14px}
.legal-meta .ey::after{content:'';flex:1;height:1px;background:var(--rule)}
.legal-updated{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dust)}
.legal-intro{line-height:1.95;color:#000;font-weight:400;margin-top:18px;max-width:640px}

.legal-body h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(22px,2.6vw,30px);color:var(--forest);margin:48px 0 16px;letter-spacing:-.01em}
.legal-body h2:first-of-type{margin-top:0}
.legal-body h3{font-family:'Instrument Sans',sans-serif;font-weight:500;font-size:15px;letter-spacing:.02em;color:var(--ink);margin:26px 0 10px}
.legal-body p{line-height:1.95;color:#000;font-weight:400;margin-bottom:16px}
.legal-body ul,.legal-body ol{margin:0 0 18px 22px}
.legal-body li{line-height:1.9;color:#000;margin-bottom:9px}
.legal-body a{color:var(--forest);text-decoration:underline;text-underline-offset:2px}
.legal-body a:hover{color:var(--gold)}
.legal-body strong{font-weight:600;color:var(--ink)}

.legal-disclaimer{margin-top:60px;padding:26px 30px;background:var(--warm);border-left:3px solid var(--gold)}
.legal-disclaimer p{font-size:13px;line-height:1.85;color:var(--dust);font-weight:400;margin-bottom:0}
.legal-disclaimer p strong{color:var(--ink)}

.legal-contact{margin-top:36px;padding:28px 30px;background:var(--cream);border:1px solid var(--stone)}
.legal-contact h3{margin-top:0}
.legal-contact p{margin-bottom:6px}
.legal-contact a{font-weight:500}

/* FOOTER */
footer{background:#100E08;padding:80px 80px 28px}
.ft{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.06)}
.ftb{min-width:0;overflow:hidden}
.ftb p{line-height:1.9;color:rgba(255,255,255,.32);font-weight:300;margin-top:16px;max-width:240px}
.jbc-footer__logo{height:72px;width:auto;display:block;margin-bottom:16px;object-fit:contain}
.ftnl{display:flex;border-bottom:1px solid rgba(255,255,255,.12);margin-top:22px;width:100%;max-width:260px;flex-shrink:0;box-sizing:border-box;overflow:hidden}
.ftnl input{flex:1 1 0;min-width:0;padding:10px 0;background:transparent;border:none;color:#fff;font-family:'Instrument Sans',sans-serif;font-size:12px;font-weight:300;outline:none}
.ftnl input::placeholder{color:rgba(255,255,255,.22)}
.ftnl button{padding:10px 0;background:none;border:none;cursor:pointer;color:var(--gold);font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;flex-shrink:0;white-space:nowrap}
.ftc h5{font-family:'Open Sans',sans-serif;font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.ftc ul{list-style:none}
.ftc li{margin-bottom:10px}
.ftc a{font-family:'Open Sans',sans-serif;font-size:14px;color:rgba(255,255,255,.32);text-decoration:none;font-weight:300;transition:color .2s}
.ftc a:hover{color:rgba(255,255,255,.7)}
.ftbot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ftbot p{letter-spacing:.1em;color:rgba(255,255,255,.5)}
.ftbot .jbc-footer__legal-link{color:rgba(255,255,255,.5)}
.ftbot span{color:var(--gold)}

@media(max-width:1100px){.ft{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .legal-wrap{padding:64px 20px 90px}
  .ph-content{padding:0 24px 40px}
  .ft{grid-template-columns:1fr;gap:28px}
  footer{padding:56px 20px 20px}
}
