/* Kate La Trobe — shared site styles */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:#F2EDE4;color:#2B2620;font-family:'DM Sans',sans-serif;overflow-x:hidden;}
a{color:#FB5315;text-decoration:none;}
a:hover{color:#2B2620;}
h1,h2,h3{font-family:'DM Serif Display',serif;font-weight:400;}
img{max-width:100%;height:auto;display:block;}
button{font-family:'DM Sans',sans-serif;}

.container{max-width:1280px;margin:0 auto;padding-left:40px;padding-right:40px;}
@media (max-width:700px){.container{padding-left:20px;padding-right:20px;}}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:#F2EDE4;border-bottom:1px solid #E8E0D1;display:flex;align-items:center;justify-content:flex-start;gap:24px;padding:14px 40px;flex-wrap:wrap;}
.nav-logo{display:flex;align-items:center;flex-shrink:0;}
.nav-logo img{height:68px;width:auto;}
.nav-links{display:flex;align-items:center;gap:34px;font-size:15.5px;font-weight:500;white-space:nowrap;margin-left:auto;}
.nav-links a{color:#2B2620;}
.nav-links a.active{color:#FB5315;}
.nav-drop{position:relative;white-space:nowrap;padding-bottom:14px;margin-bottom:-14px;}
.nav-drop-trigger{color:#2B2620;cursor:pointer;background:none;border:none;font-size:15.5px;font-weight:500;font-family:'DM Sans',sans-serif;padding:0;}
.nav-drop.active .nav-drop-trigger{color:#FB5315;}
.nav-drop-menu{position:absolute;top:100%;left:0;background:#fff;border-radius:14px;box-shadow:0 12px 30px -10px rgba(43,38,32,.25);padding:10px;min-width:190px;display:none;flex-direction:column;gap:4px;z-index:30;}
.nav-drop:hover .nav-drop-menu,.nav-drop.open .nav-drop-menu{display:flex;}
.nav-drop-menu a{color:#2B2620;padding:10px 14px;border-radius:10px;}
.nav-drop-menu a:hover{background:#F2EDE4;}
.nav-drop-menu a.active{color:#FB5315;}
.nav-cta-wrap{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.hamburger{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid #2B2620;background:transparent;cursor:pointer;flex-shrink:0;font-size:20px;}
.mobile-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 16px 40px -12px rgba(43,38,32,.3);padding:16px;display:none;flex-direction:column;gap:4px;z-index:20;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:#2B2620;padding:12px 14px;border-radius:10px;}
@media (max-width:980px){
  .nav-links{display:none;}
  .hamburger{display:flex;}
}

/* BUTTONS */
.btn{display:inline-block;font-weight:700;border-radius:999px;text-align:center;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:transform .15s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:#FB5315;color:#fff;padding:16px 32px;font-size:16px;}
.btn-primary:hover{color:#fff;}
.btn-primary-sm{background:#FB5315;color:#fff;padding:11px 22px;font-size:14.5px;}
.btn-primary-sm:hover{color:#fff;}
.btn-outline{border:2px solid #2B2620;color:#2B2620;padding:14px 28px;font-size:16px;background:none;}
.btn-outline:hover{color:#2B2620;}
.btn-dark{background:#2B2620;color:#F2EDE4;padding:14px 26px;font-size:15px;}
.btn-dark:hover{color:#F2EDE4;}

/* CALL NOTE */
.call-note{background:#fff;border:1px solid #E8E0D1;border-radius:16px;padding:18px 22px;max-width:44ch;margin-top:16px;}
.call-note strong{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#FB5315;margin-bottom:8px;}
.call-note p{margin:0;font-size:14.5px;line-height:1.55;}

/* GRIDS */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
/* asymmetric two-column modifiers — kept as classes (not inline styles) so the mobile rule below can override them */
.grid-70-130{grid-template-columns:.7fr 1.3fr;}
.grid-90-110{grid-template-columns:.9fr 1.1fr;}
.grid-110-90{grid-template-columns:1.1fr .9fr;}
.grid-115-85{grid-template-columns:1.15fr .85fr;}
.grid-80-120{grid-template-columns:.8fr 1.2fr;}
.grid-120-80{grid-template-columns:1.2fr .8fr;}
.icon-row-card{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;}
@media (max-width:980px){
  .grid-3,.grid-4,.grid-5{grid-template-columns:1fr 1fr;}
}
@media (max-width:700px){
  .grid-2,.grid-3,.grid-4,.grid-5,.grid-70-130,.grid-90-110,.grid-110-90,.grid-115-85,.grid-80-120,.grid-120-80,.icon-row-card{grid-template-columns:1fr;}
}
.flex-wrap{display:flex;flex-wrap:wrap;gap:14px;}

/* CARDS */
.card-tan{background:#E8E0D1;border-radius:20px;padding:26px 24px;}
.card-white{background:#fff;border:1px solid #E8E0D1;border-radius:20px;padding:26px 24px;}
.card-dark{background:#2B2620;color:#F2EDE4;border-radius:22px;padding:30px 26px;}
.icon-row{display:flex;gap:14px;align-items:flex-start;}

/* SECTIONS */
section{padding:56px 0;}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#FB5315;font-weight:700;margin-bottom:16px;}

/* HERO */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:40px 0 60px;}
@media (max-width:700px){.hero{grid-template-columns:1fr;padding:24px 0 30px;}}

/* TESTIMONIAL CAROUSEL */
.carousel{border-radius:28px;padding:52px 56px 44px;display:flex;flex-direction:column;justify-content:center;min-height:280px;position:relative;overflow:hidden;}
@media (max-width:700px){.carousel{padding:36px 24px 32px;}}
.carousel-tag{display:inline-block;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;margin-bottom:18px;width:fit-content;}
.carousel-quote{font-family:'DM Serif Display',serif;font-weight:400;font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.42;max-width:56ch;margin:0;}
.carousel-cite{display:block;margin-top:24px;font-style:normal;font-size:15px;opacity:.8;}
.carousel-slide{display:none;}
.carousel-slide.current{display:block;}
.carousel-controls{display:flex;align-items:center;gap:20px;margin-top:28px;}
.carousel-btn{background:none;border:1px solid #514a40;color:#F2EDE4;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:16px;}
.carousel-dots{display:flex;gap:10px;}
.carousel-dot{width:9px;height:9px;border-radius:50%;background:#514a40;border:none;cursor:pointer;padding:0;}
.carousel-dot.current{background:#FB5315;}

/* FAQ */
.faq-wrap{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid #E8E0D1;padding:24px 0;}
.faq-q{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;background:none;border:none;cursor:pointer;text-align:left;padding:0;font-size:17.5px;font-weight:600;color:#2B2620;font-family:'DM Sans',sans-serif;}
.faq-sign{font-size:22px;color:#FB5315;flex-shrink:0;}
.faq-a{font-size:16px;line-height:1.6;margin:14px 0 0;display:none;}
.faq-item.open .faq-a{display:block;}

/* FORMS */
.field{margin-bottom:0;}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #E8E0D1;background:#fff;font-size:16px;color:#2B2620;font-family:'DM Sans',sans-serif;}
.field textarea{resize:vertical;}
.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.form-success{background:#E8E0D1;border-radius:24px;padding:48px 40px;display:none;}
.form-success.show{display:block;}

/* FOOTER */
footer{padding:56px 0 40px;border-top:1px solid #E8E0D1;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr;}}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:14.5px;}
.footer-col a{color:#2B2620;}
.footer-quote{position:relative;max-width:27ch;padding-left:26px;}
.footer-quote span.mark{position:absolute;top:-22px;left:-6px;font-family:'DM Serif Display',serif;font-size:72px;color:#FB5315;opacity:.28;line-height:1;}
.footer-quote p{position:relative;font-family:'DM Serif Display',serif;font-style:italic;font-weight:400;font-size:18px;line-height:1.5;margin:0;color:#2B2620;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13.5px;opacity:.7;border-top:1px solid #E8E0D1;padding-top:24px;}
.footer-bottom-links{display:flex;gap:20px;flex-wrap:wrap;}
.social-row{display:flex;gap:14px;margin-top:6px;}
.social-row a{color:#2B2620;display:flex;}

/* SECTOR CHIPS (static, wraps — no motion) */
.marquee-wrap{background:#2B2620;border-radius:24px;padding:26px 30px;}
.marquee-track{display:flex;flex-wrap:wrap;gap:14px;}
.marquee-pill{border-radius:999px;padding:14px 26px;font-size:16px;font-weight:600;white-space:nowrap;}

/* HERO PORTRAIT */
.hero-portrait{position:relative;height:440px;}
@media (max-width:700px){.hero-portrait{height:300px;}}
.hero-portrait img{position:absolute;border-radius:50%;object-fit:cover;}
.hero-portrait .circle{position:absolute;border-radius:50%;}
@media (max-width:700px){
  .hero-portrait{height:auto;}
  .hero-portrait img{position:static;width:220px!important;height:220px!important;margin:0 auto;}
  .hero-portrait .circle{display:none;}
}

@media (prefers-reduced-motion: reduce){*{animation:none !important;}}
