/* Shared styles for subpages. Tokens, nav, footer and type scale are copied 1:1 from index.html. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --o1:#3d3d1e;--o2:#555530;--o3:#6e6e40;--o4:#909060;--o5:#b4b480;
  --c0:#faf8f0;--c1:#f2ede0;--c2:#e8e1ce;--c3:#d8d0ba;--c4:#c4bba4;
  --ink:#1a1a08;--ink2:#2e2e14;--ink3:#4a4a28;
  --serif:'Cinzel',serif;--sans:'Quicksand',sans-serif;
}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden;}
body{font-family:var(--sans);background:var(--c1);color:var(--ink);max-width:100%;overflow-x:hidden;font-weight:300;line-height:1.8;}
img,svg,video,iframe{max-width:100%;height:auto;}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 70% 20%,rgba(107,107,64,.10) 0%,transparent 55%),
             radial-gradient(ellipse at 25% 80%,rgba(61,61,30,.07) 0%,transparent 50%);}

/* NAV (always in the scrolled state on subpages) */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 3rem;background:rgba(250,248,240,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(61,61,30,.08);}
.nlogo{font-family:var(--serif);font-size:.85rem;letter-spacing:.42em;color:var(--o1);text-decoration:none;font-weight:400;text-transform:uppercase;}
.nlinks{display:flex;gap:1.8rem;list-style:none;}
.nlinks a{font-family:var(--sans);font-size:.6rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--o4);text-decoration:none;transition:color .25s;}
.nlinks a:hover,.nlinks a[aria-current]{color:var(--o1);}
.ncta{font-family:var(--sans);font-size:.6rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--c0);background:var(--o2);padding:.5rem 1.3rem;text-decoration:none;transition:all .25s;}
.ncta:hover{background:var(--o1);}
.nburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nburger span{width:22px;height:2px;background:var(--o1);display:block;}
@media(max-width:820px){
  #nav{padding:1rem 1.5rem;}
  .nburger{display:flex;}
  .nlinks{display:none;position:absolute;top:100%;left:1rem;right:1rem;flex-direction:column;gap:0;
    background:rgba(242,237,224,.98);backdrop-filter:blur(20px);border:1px solid var(--c3);
    padding:.4rem 0;box-shadow:0 12px 30px rgba(61,61,30,.1);}
  .nlinks.open{display:flex;}
  .nlinks li{border-bottom:1px solid var(--c2);}
  .nlinks li:last-child{border-bottom:none;}
  .nlinks a{display:block;width:100%;padding:.85rem 1.4rem;color:var(--ink3);text-align:left;font-size:.7rem;}
}
@media(max-width:480px){.nlogo{letter-spacing:.24em;}}

/* TYPE (from the homepage) */
.ey{font-family:var(--sans);font-size:.58rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--o4);margin-bottom:.8rem;display:block;}
.btn-olive{font-family:var(--sans);font-size:.62rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--c0);background:var(--o2);padding:.85rem 2rem;transition:all .3s;display:inline-block;}
.btn-olive:hover{background:var(--o1);transform:translateY(-2px);}
.btn-ghost{font-family:var(--sans);font-size:.62rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--o2);border-bottom:1px solid var(--o3);padding:.2rem 0;transition:all .25s;}
.btn-ghost:hover{color:var(--o1);border-color:var(--o1);}

/* PAGE */
.page{padding:8.5rem 3rem 5rem;}
.wrap{max-width:860px;margin:0 auto;}
.crumbs{margin-bottom:2.2rem;}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem .6rem;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);}
.crumbs li+li::before{content:'/';margin-right:.6rem;color:var(--c4);}
.crumbs a{color:var(--o2);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.crumbs a:hover{border-color:var(--o3);}
.p-title{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.1rem);color:var(--ink);font-weight:400;line-height:1.2;margin-bottom:1.6rem;}
.p-title em{font-style:italic;color:var(--o3);font-weight:300;}
.p-lead{font-size:1rem;color:var(--ink3);line-height:2;font-weight:300;max-width:680px;}
.p-meta{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--o4);margin-top:1.4rem;}

.prose{margin-top:3.6rem;}
.prose h2{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.85rem);color:var(--ink);font-weight:400;line-height:1.35;margin:3.4rem 0 1.1rem;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-family:var(--sans);font-size:1.02rem;color:var(--ink);font-weight:500;margin:2rem 0 .5rem;}
.prose p,.prose li{font-size:.92rem;color:var(--ink3);line-height:2;font-weight:300;}
.prose p{margin-bottom:1.1rem;max-width:700px;}
.prose ul,.prose ol{margin:0 0 1.3rem 1.2rem;max-width:680px;}
.prose li{margin-bottom:.35rem;padding-left:.3rem;}
.prose li::marker{color:var(--o4);}
.prose strong{font-weight:500;color:var(--ink2);}
.prose a{color:var(--o2);text-decoration:none;border-bottom:1px solid var(--o5);transition:border-color .2s,color .2s;}
.prose a:hover{color:var(--o1);border-color:var(--o1);}
.prose blockquote{border-left:2px solid var(--o4);padding:.2rem 0 .2rem 1.4rem;margin:1.6rem 0;font-style:italic;font-size:.95rem;color:var(--o2);line-height:1.9;max-width:660px;}

/* Rows reuse the look of the homepage service list */
.rows{margin:1.4rem 0 1.6rem;}
.row{display:grid;grid-template-columns:2.6rem 1fr;gap:1.4rem;align-items:baseline;padding:1.1rem .3rem;border-bottom:1px solid var(--c2);}
.row:first-child{border-top:1px solid var(--c2);}
.row-num{font-family:var(--serif);font-size:.95rem;color:var(--o4);}
.row-name{font-family:var(--sans);font-size:1.02rem;color:var(--ink);font-weight:500;margin-bottom:.22rem;}
.row-desc{font-family:var(--sans);font-size:.85rem;color:var(--ink3);line-height:1.8;font-weight:300;max-width:620px;}
.prose .row-desc{margin:0;}
.prose .row-name{margin:0 0 .22rem;}

.cat{font-family:var(--sans);font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--o4);padding-bottom:.6rem;border-bottom:1px solid var(--c3);margin:3rem 0 0;}
.links{list-style:none;margin:0;}
.links li{margin:0;padding:0;}
.links a{display:grid;grid-template-columns:2.6rem 1fr auto;gap:1.4rem;align-items:baseline;padding:1.1rem .3rem;border-bottom:1px solid var(--c2);text-decoration:none;color:inherit;transition:background .3s,padding .3s;}
.links a:hover{background:var(--c2);padding-left:1rem;padding-right:1rem;}
.links .arr{align-self:center;color:var(--o4);opacity:0;transform:translateX(-6px);transition:.3s;}
.links a:hover .arr{opacity:1;transform:translateX(0);}
@media(max-width:640px){.links a,.row{grid-template-columns:1.6rem 1fr;gap:1rem;}.links .arr{display:none;}}

/* FAQ */
.faq{margin:1.2rem 0 0;}
.faq details{border-bottom:1px solid var(--c2);}
.faq details:first-child{border-top:1px solid var(--c2);}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:1.1rem .3rem;font-size:.98rem;font-weight:500;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';font-family:var(--serif);color:var(--o4);transition:transform .3s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .ans{padding:0 .3rem 1.2rem;}
.faq .ans p{font-size:.9rem;margin-bottom:.6rem;}

/* CTA */
.cta-box{margin:4rem 0 0;padding:2.4rem 2.2rem;background:var(--c0);border:1px solid var(--c3);}
.cta-title{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--ink);line-height:1.25;margin-bottom:.8rem;font-weight:400;}
.cta-title em{font-style:italic;color:var(--o3);font-weight:300;}
.cta-body{font-size:.88rem;color:var(--ink3);line-height:1.9;font-weight:300;margin-bottom:1.6rem;max-width:560px;}
.cta-acts{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;}

.prose .cta-box .ey{font-size:.58rem;line-height:1.8;margin-bottom:.8rem;}
.prose .cta-title{margin:0 0 .8rem;font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.25;}
.prose .cta-body{font-size:.88rem;margin-bottom:1.6rem;}
.prose .btn-olive,.prose .btn-olive:hover{color:var(--c0);border-bottom:none;}
.prose .btn-ghost{border-bottom:1px solid var(--o3);}
.prose a.brand{border-bottom:1px solid var(--c3);}

/* Client wordmarks (same faces as the homepage marquee) */
.brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));border-top:1px solid var(--c3);border-left:1px solid var(--c3);margin:1.6rem 0;}
.brand{border-right:1px solid var(--c3);border-bottom:1px solid var(--c3);background:var(--c0);padding:2rem 1.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;min-height:120px;text-decoration:none;}
.brand .mbr{color:var(--o1);}
.brand small{font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--o4);}
a.brand:hover{background:var(--c1);}
.f-poppins{font-family:'Poppins',sans-serif;font-weight:600;font-size:.95rem;}
.f-poppins-b{font-family:'Poppins',sans-serif;font-weight:700;font-size:.95rem;}
.f-cormorant{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.2rem;}
.f-sacramento{font-family:'Sacramento',cursive;font-size:1.45rem;}
.f-mono{font-family:'Space Mono',monospace;font-weight:700;font-size:.9rem;letter-spacing:-.01em;}
.f-fredoka{font-family:'Fredoka',sans-serif;font-weight:700;text-transform:uppercase;font-size:.95rem;letter-spacing:.01em;}
.f-montserrat{font-family:'Montserrat',sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;}

/* FOOTER (from the homepage) */
footer{background:var(--o2);padding:1.8rem 3rem;display:flex;justify-content:space-between;align-items:center;}
.f-logo{font-family:var(--serif);font-size:.82rem;letter-spacing:.42em;color:var(--c1);font-weight:400;text-transform:uppercase;}
.f-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;}
.f-links a{font-family:var(--sans);font-size:.58rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--o5);text-decoration:none;transition:color .2s;}
.f-links a:hover{color:var(--c1);}
.f-copy{font-family:var(--sans);font-size:.58rem;color:var(--o5);font-weight:300;}

@media(max-width:820px){
  .page{padding:7rem 1.5rem 4rem;}
  .cta-box{padding:1.8rem 1.4rem;}
  footer{flex-direction:column;gap:1rem;text-align:center;padding:1.8rem 1.5rem;}
}
