/*
Theme Name: Summit Natural Resources II — Approach Preview
Theme URI: https://summitnaturalresources.com/
Author: Summit Natural Resources II, LLC
Description: Non-public Approach-page preview theme for Summit Natural Resources II, LLC. Do not activate on production without explicit publication approval.
Version: 1.5.1
Text Domain: summit-natural-resources
*/

:root {
  --pine:#10382d;
  --pine-deep:#071f1a;
  --brass:#c99a56;
  --paper:#fbfaf7;
  --muted:#66716c;
  --line:#d9d9d1;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:#18221f; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.08; margin:0; }

.skip-link { background:var(--paper); border:2px solid var(--pine); color:var(--pine-deep); font-size:14px; font-weight:700; left:16px; padding:10px 14px; position:fixed; top:-100px; z-index:100000; }
.skip-link:focus { top:16px; }

.site-header { align-items:center; background:rgba(251,250,247,.97); border-bottom:1px solid var(--line); display:flex; height:92px; justify-content:space-between; padding:0 clamp(22px,4vw,70px); position:relative; z-index:20; }
.brand { align-items:center; display:inline-flex; flex-shrink:0; }
.brand-logo { display:block; height:auto; width:162px; }
.desktop-nav { align-items:center; display:flex; gap:clamp(14px,1.8vw,28px); }
.desktop-nav a { color:#43504b; font-size:13px; font-weight:700; }
.desktop-nav a:hover,.desktop-nav a:focus-visible { color:var(--pine); }
.desktop-nav a[aria-current="page"] { color:var(--pine-deep); text-decoration:underline; text-decoration-color:var(--brass); text-decoration-thickness:2px; text-underline-offset:6px; }
.nav-contact { border:1px solid var(--pine); padding:9px 15px; }
.nav-dashboard { background:var(--pine); color:#fff !important; padding:10px 15px; }
.nav-dashboard:hover,.nav-dashboard:focus-visible { background:var(--pine-deep); color:var(--brass) !important; }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { border:1px solid var(--pine); cursor:pointer; font-size:13px; font-weight:700; list-style:none; padding:9px 14px; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu nav { background:var(--paper); border:1px solid var(--line); box-shadow:0 18px 40px rgba(7,31,26,.16); display:grid; min-width:230px; padding:12px; position:absolute; right:0; top:50px; }
.mobile-menu nav a { border-bottom:1px solid var(--line); font-size:14px; padding:11px 8px; }
.mobile-menu nav a:last-child { border-bottom:0; }

.hero { background-image:linear-gradient(90deg,rgba(5,25,20,.86) 0%,rgba(7,31,26,.55) 31%,rgba(7,31,26,.1) 58%,rgba(7,31,26,.02) 100%),linear-gradient(0deg,rgba(5,25,20,.3),transparent 38%),url("assets/images/summit-homepage-hero-16x9.webp"); background-position:center; background-size:cover; color:#fff; min-height:clamp(540px,calc(100vh - 214px),900px); min-height:clamp(540px,calc(100svh - 214px),900px); position:relative; }
.hero-copy { left:clamp(24px,7vw,110px); max-width:455px; position:absolute; text-align:left; top:clamp(34px,5vh,52px); }
.hero h1 { font-size:clamp(32px,3vw,43px); max-width:455px; }
.eyebrow { color:var(--brass); font-size:10px; font-weight:700; letter-spacing:.2em; margin:0 0 17px; text-transform:uppercase; }
.hero-lede { color:rgba(255,255,255,.82); font-size:14px; line-height:1.45; margin:15px 0 19px; max-width:445px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:24px; justify-content:flex-start; }
.button { align-items:center; display:inline-flex; font-size:13px; font-weight:700; gap:12px; justify-content:center; padding:15px 21px; }
.button-primary { background:var(--brass); color:var(--pine-deep); }
.button-primary:hover,.button-primary:focus-visible { background:#dbad68; }
.text-link { border-bottom:1px solid rgba(255,255,255,.45); font-size:13px; padding-bottom:3px; }
.arrow { font-size:18px; line-height:1; }

.principles-card { bottom:28px; left:clamp(24px,7vw,110px); max-width:520px; position:absolute; text-align:center; }
.card-kicker { color:var(--brass); display:block; font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:400; letter-spacing:.02em; margin-bottom:9px; }
.principle-actions { -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); background:rgba(6,27,22,.56); border:1px solid rgba(255,255,255,.18); display:grid; grid-template-columns:repeat(3,max-content); margin-inline:auto; }
.principle { align-items:center; border-left:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.9); display:inline-flex; font-family:Georgia,"Times New Roman",serif; font-size:12px; gap:6px; justify-content:center; padding:9px 13px; transition:background .2s ease,color .2s ease; white-space:nowrap; }
.principle:first-child { border-left:0; }
.principle:hover,.principle:focus-visible { background:rgba(255,255,255,.08); color:var(--brass); outline:none; }

.site-footer { background:var(--paper); border-top:1px solid var(--line); }
.footer-proof { background:var(--pine-deep); color:#fff; display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(24px,6vw,92px); }
.footer-proof div { border-right:1px solid rgba(255,255,255,.13); min-height:82px; padding:16px clamp(14px,2vw,28px); }
.footer-proof div:first-child { border-left:1px solid rgba(255,255,255,.13); }
.footer-proof strong,.footer-proof span { display:block; }
.footer-proof strong { color:var(--brass); font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:400; line-height:1; }
.footer-proof span { color:rgba(255,255,255,.62); font-size:10px; line-height:1.3; margin-top:7px; max-width:175px; }
.footer-bottom { align-items:center; display:flex; justify-content:space-between; padding:24px clamp(24px,6vw,92px); }
.footer-brand .brand-logo { width:150px; }
.footer-meta { align-items:center; color:var(--muted); display:flex; font-size:11px; gap:28px; }
.site-footer-home .footer-bottom { justify-content:center; min-height:32px; padding:6px 20px; }
.site-footer-home .footer-brand { display:none; }
.site-footer-home .footer-meta { gap:18px; justify-content:center; }

.construction { align-items:center; background:linear-gradient(135deg,var(--pine-deep),var(--pine)); color:#fff; display:flex; justify-content:center; min-height:calc(100vh - 92px); padding:60px 24px; text-align:center; }
.construction-inner { max-width:680px; }
.construction-mark { background:var(--paper); height:auto; margin:0 auto 34px; padding:14px; width:190px; }
.construction h1 { font-size:clamp(38px,6vw,68px); }
.construction p { color:rgba(255,255,255,.72); font-family:Georgia,"Times New Roman",serif; font-size:19px; margin:24px auto 34px; max-width:590px; }
.construction .button { border:1px solid rgba(255,255,255,.45); }

.contact-page { min-height:calc(100vh - 92px); overflow:hidden; position:relative; }
.contact-watermark { background-image:linear-gradient(rgba(251,250,247,.82),rgba(251,250,247,.82)),url("assets/images/contact-frac-watermark-terrain-mirrored-v1.webp"); background-position:center; background-size:cover; inset:0; position:absolute; }
.contact-shell { display:grid; gap:clamp(44px,6vw,100px); grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr); margin:0 auto; max-width:1280px; min-height:calc(100vh - 92px); padding:clamp(54px,7vw,92px) clamp(24px,6vw,80px); position:relative; z-index:1; }
.contact-introduction { align-self:stretch; display:flex; flex-direction:column; }
.contact-eyebrow { color:var(--brass); font-size:10px; font-weight:700; letter-spacing:.18em; margin:0 0 20px; text-transform:uppercase; }
.contact-summary { border-bottom:1px solid rgba(16,56,45,.3); font-family:Georgia,"Times New Roman",serif; font-size:clamp(17px,1.5vw,21px); line-height:1.48; margin:0; padding-bottom:28px; }
.contact-conversation { margin:auto 0; padding:42px 0; }
.contact-conversation h1 { color:rgba(16,56,45,.14); font-size:clamp(44px,5vw,72px); margin-bottom:24px; }
.contact-conversation p { color:var(--pine-deep); font-size:15px; line-height:1.65; margin:0; max-width:360px; }
.contact-confidence { border-top:1px solid rgba(16,56,45,.3); padding-top:25px; }
.contact-confidence h2 { color:var(--pine); font-size:17px; font-weight:700; margin-bottom:15px; }
.contact-confidence p { font-size:13px; line-height:1.55; margin:0 0 12px; max-width:390px; }
.contact-form-panel { align-self:center; background:rgba(255,255,255,.94); border-top:3px solid var(--brass); box-shadow:0 18px 55px rgba(7,31,26,.11); padding:clamp(30px,4vw,54px); }
.contact-form-panel > h2 { color:var(--pine-deep); font-size:clamp(28px,3vw,40px); text-align:center; }
.required-note { color:var(--muted); font-size:12px; margin:8px 0 28px; text-align:center; }
.form-notice { border:1px solid; font-size:14px; margin-bottom:24px; padding:12px 15px; }
.form-success { background:#edf6f1; border-color:#78a18f; color:#174c3c; }
.form-error { background:#fff3ef; border-color:#bc7b68; color:#742e20; }
.form-grid { display:grid; gap:24px 18px; grid-template-columns:1fr 1fr; }
.business-inquiry-form label { color:var(--pine-deep); display:block; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.business-inquiry-form input,.business-inquiry-form select,.business-inquiry-form textarea { background:transparent; border:0; border-bottom:1px solid #9ba7a2; border-radius:0; color:#18221f; display:block; font:inherit; font-size:14px; margin-top:7px; outline:none; padding:9px 0; width:100%; }
.business-inquiry-form textarea { border:1px solid #9ba7a2; min-height:150px; padding:12px; resize:vertical; }
.business-inquiry-form input:focus,.business-inquiry-form select:focus,.business-inquiry-form textarea:focus { border-color:var(--brass); box-shadow:0 1px 0 var(--brass); }
.form-span-two { grid-column:1 / -1; }
.attachment-field input { border:1px dashed #9ba7a2; padding:11px; }
.attachment-field small { color:var(--muted); display:block; font-size:10px; font-weight:400; letter-spacing:.03em; line-height:1.45; margin-top:8px; text-transform:none; }
.form-submit-row { align-items:center; display:flex; gap:24px; justify-content:space-between; margin-top:28px; }
.form-submit-row p { color:var(--muted); font-size:11px; line-height:1.45; margin:0; max-width:280px; }
.form-submit-row button { background:var(--pine); border:0; color:#fff; cursor:pointer; flex-shrink:0; font-family:Georgia,"Times New Roman",serif; font-size:14px; font-weight:700; padding:16px 22px; }
.form-submit-row button:hover,.form-submit-row button:focus-visible { background:var(--pine-deep); color:var(--brass); }
.contact-honeypot { height:0; left:-9999px; overflow:hidden; position:absolute; width:0; }

.approach-page { background:var(--paper); min-height:calc(100vh - 92px); }
.approach-subnav { align-items:center; background:#f1eee6; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; min-height:56px; padding:0 clamp(24px,7vw,112px); position:sticky; top:0; z-index:12; }
.approach-subnav-label { color:var(--pine-deep); font-family:Georgia,"Times New Roman",serif; font-size:18px; }
.approach-subnav-links { align-self:stretch; display:flex; }
.approach-subnav-links a { align-items:center; border-bottom:3px solid transparent; color:#53605a; display:flex; font-size:14px; font-weight:700; letter-spacing:.04em; padding:0 22px; }
.approach-subnav-links a:hover,.approach-subnav-links a:focus-visible { color:var(--pine-deep); }
.approach-subnav-links a[aria-current="page"] { border-bottom-color:var(--brass); color:var(--pine-deep); }
.approach-panel { min-height:calc(100vh - 148px); }
.approach-page.is-enhanced .approach-panel[hidden] { display:none; }
.approach-overview { background:linear-gradient(135deg,#f8f4eb 0%,#fbfaf7 62%,#edf1ec 100%); display:grid; grid-template-rows:minmax(330px,.94fr) minmax(320px,1.06fr); }
.approach-overview-hero { align-items:center; display:grid; gap:clamp(38px,6vw,92px); grid-template-columns:minmax(360px,.88fr) minmax(520px,1.12fr); padding:clamp(20px,2.6vh,34px) clamp(24px,7vw,112px); }
.approach-hero-copy { max-width:575px; }
.approach-eyebrow { color:#9a6c2d; font-size:15px; font-weight:700; letter-spacing:.16em; line-height:1.35; margin:0 0 15px; text-transform:uppercase; }
.approach-hero-copy h1 { color:var(--pine-deep); font-size:clamp(42px,3.7vw,54px); letter-spacing:-.02em; max-width:600px; }
.approach-hero-copy > p:last-child { color:#45514c; font-size:clamp(14px,1.05vw,17px); line-height:1.62; margin:20px 0 0; max-width:570px; }
.approach-office-figure { box-shadow:0 22px 52px rgba(7,31,26,.16); margin:0; max-height:330px; overflow:hidden; }
.approach-office-figure img { display:block; height:100%; max-height:330px; object-fit:cover; width:100%; }
.approach-principles { background:rgba(251,250,247,.94); border-top:1px solid var(--line); padding:18px clamp(24px,7vw,112px) 28px; }
.approach-compact-heading { align-items:start; display:grid; grid-template-columns:minmax(0,1fr); margin-bottom:18px; }
.approach-compact-heading .approach-eyebrow,.approach-cycle-title .approach-eyebrow { font-size:12px; margin-bottom:4px; }
.approach-compact-heading h2,.approach-cycle h2 { color:var(--pine-deep); font-size:clamp(26px,2.4vw,37px); }
.approach-principle-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-left:0; }
.approach-principle-grid article { border-left:1px solid var(--line); padding:2px clamp(16px,1.8vw,28px) 0; }
.approach-principle-grid article[id] { scroll-margin-top:76px; }
.approach-principle-grid article:last-child { border-right:1px solid var(--line); }
.approach-principle-grid h3 { color:var(--pine); font-size:clamp(20px,1.55vw,24px); min-height:1.35em; }
.approach-principle-grid p { color:#3f4c47; font-size:clamp(14px,.98vw,15px); line-height:1.55; margin:10px 0 0; }
.approach-process-panel { background:#f1eee6; display:grid; grid-template-rows:auto auto; min-height:0; }
.approach-process { background:var(--pine-deep); color:#fff; min-height:360px; padding:clamp(34px,5vh,58px) clamp(24px,7vw,112px) 28px; }
.approach-process .approach-eyebrow { color:var(--brass); }
.approach-process h2 { color:#fff; font-size:clamp(32px,3.2vw,46px); }
.approach-process .approach-compact-heading > div > p:last-child { color:rgba(255,255,255,.68); font-size:14px; margin:8px 0 0; }
.approach-process-list { display:grid; grid-template-columns:repeat(5,1fr); list-style:none; margin:26px 0 0; padding:0; }
.approach-process-list li { border-left:1px solid rgba(255,255,255,.18); min-height:165px; padding:0 clamp(16px,1.7vw,26px) 10px; }
.approach-process-list li:last-child { border-right:1px solid rgba(255,255,255,.18); }
.approach-process-list span { color:var(--brass); display:block; font-size:13px; font-weight:700; letter-spacing:.15em; margin-bottom:12px; }
.approach-process-list h3 { color:#fff; font-size:clamp(22px,1.8vw,27px); }
.approach-process-list p { color:rgba(255,255,255,.8); font-size:clamp(14px,.98vw,15px); line-height:1.55; margin:10px 0 0; }
.approach-cycle { align-items:start; background:#f1eee6; display:grid; gap:clamp(36px,7vw,105px); grid-template-columns:minmax(360px,.95fr) minmax(430px,1.05fr); min-height:250px; padding:clamp(38px,5vh,58px) clamp(24px,7vw,112px); }
.approach-cycle-title { align-items:start; display:grid; grid-template-columns:minmax(0,1fr); }
.approach-cycle-copy { border-left:2px solid var(--brass); color:#43504b; font-family:Georgia,"Times New Roman",serif; font-size:clamp(15px,1.25vw,19px); line-height:1.5; margin:0; padding-left:clamp(20px,2.5vw,36px); }

@media (max-width:1120px) {
  .desktop-nav { display:none; }
  .mobile-menu { display:block; }
  .footer-proof { grid-template-columns:1fr 1fr; }
  .footer-proof div:nth-child(2) { border-right:0; }
  .footer-proof div:nth-child(3) { border-left:1px solid rgba(255,255,255,.13); }
  .contact-shell { gap:42px; grid-template-columns:minmax(240px,.7fr) minmax(450px,1.3fr); }
  .approach-overview { grid-template-rows:auto auto; }
  .approach-overview-hero { grid-template-columns:1fr 1fr; }
  .approach-principle-grid { grid-template-columns:1fr 1fr; }
  .approach-principle-grid article { border-bottom:1px solid var(--line); padding-bottom:22px; padding-top:22px; }
  .approach-principle-grid article:nth-child(3) { border-left:1px solid var(--line); }
  .approach-process-panel { grid-template-rows:auto auto; }
  .approach-process { min-height:0; }
  .approach-process-list { grid-template-columns:repeat(2,1fr); }
  .approach-process-list li { border-bottom:1px solid rgba(255,255,255,.18); min-height:180px; padding-top:24px; }
  .approach-process-list li:nth-child(odd) { border-left:1px solid rgba(255,255,255,.18); }
  .approach-process-list li:nth-child(even) { border-right:1px solid rgba(255,255,255,.18); }
}

@media (max-width:900px) {
  .contact-shell { grid-template-columns:1fr; padding-bottom:64px; padding-top:54px; }
  .contact-conversation { margin:0; padding:42px 0; }
  .contact-conversation p,.contact-confidence p { max-width:620px; }
  .contact-form-panel { width:100%; }
  .approach-overview-hero { grid-template-columns:1fr; }
  .approach-office-figure,.approach-office-figure img { max-height:420px; }
  .approach-cycle { grid-template-columns:1fr; }
}

@media (max-width:700px) {
  .site-header { height:78px; }
  .brand-logo { width:135px; }
  .hero { background-image:linear-gradient(90deg,rgba(5,25,20,.95),rgba(7,31,26,.68)),url("assets/images/summit-homepage-hero-16x9-mobile.webp"); background-position:center; display:flex; flex-direction:column; justify-content:center; min-height:720px; padding:50px 24px; }
  .hero-copy { max-width:100%; position:static; text-align:left; }
  .hero-lede { margin-left:0; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .principles-card { align-self:stretch; bottom:auto; margin-top:36px; max-width:100%; position:static; text-align:center; }
  .principle-actions { grid-template-columns:1fr; max-width:285px; }
  .principle { border-left:0; border-top:1px solid rgba(255,255,255,.17); justify-content:space-between; }
  .principle:first-child { border-top:0; }
  .footer-proof div,.footer-proof div:first-child,.footer-proof div:nth-child(3) { border-left:0; border-right:0; border-top:1px solid rgba(255,255,255,.13); min-height:78px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:28px; }
  .footer-meta { align-items:flex-start; flex-direction:column; gap:8px; }
  .contact-page { min-height:calc(100vh - 78px); }
  .contact-watermark { background-position:62% center; }
  .contact-shell { min-height:calc(100vh - 78px); padding:38px 20px 50px; }
  .contact-conversation h1 { font-size:46px; }
  .contact-form-panel { padding:30px 22px; }
  .form-grid { grid-template-columns:1fr; }
  .form-span-two { grid-column:auto; }
  .form-submit-row { align-items:stretch; flex-direction:column; }
  .form-submit-row p { max-width:none; }
  .form-submit-row button { width:100%; }
  .approach-page { min-height:calc(100vh - 78px); }
  .approach-subnav { align-items:stretch; min-height:70px; padding:0 20px; }
  .approach-subnav-label { align-self:center; font-size:16px; }
  .approach-subnav-links a { font-size:13px; padding:0 8px; text-align:center; }
  .approach-panel { min-height:calc(100vh - 148px); }
  .approach-overview-hero { gap:28px; padding:42px 20px 34px; }
  .approach-hero-copy h1 { font-size:36px; }
  .approach-eyebrow { font-size:12px; }
  .approach-hero-copy > p:last-child { font-size:15px; line-height:1.65; margin-top:22px; }
  .approach-office-figure,.approach-office-figure img { max-height:300px; }
  .approach-principles { padding:32px 20px 46px; }
  .approach-compact-heading,.approach-cycle-title { grid-template-columns:minmax(0,1fr); }
  .approach-compact-heading h2,.approach-cycle h2 { font-size:30px; }
  .approach-principle-grid { grid-template-columns:1fr; margin-left:0; }
  .approach-principle-grid article,.approach-principle-grid article:nth-child(3),.approach-principle-grid article:last-child { border-left:1px solid var(--line); border-right:0; padding:28px 20px; }
  .approach-principle-grid h3 { min-height:0; }
  .approach-principle-grid p { font-size:15px; }
  .approach-process { padding:42px 20px 46px; }
  .approach-process-list { grid-template-columns:1fr; margin-left:0; }
  .approach-process-list li,.approach-process-list li:nth-child(odd),.approach-process-list li:nth-child(even),.approach-process-list li:last-child { border-left:1px solid rgba(255,255,255,.18); border-right:0; min-height:0; padding:26px 20px 30px; }
  .approach-process-list span { margin-bottom:12px; }
  .approach-process-list p { font-size:15px; }
  .approach-cycle { padding:42px 20px 50px; }
  .approach-cycle-copy { margin-left:0; }
}

@media (max-width:420px) {
  .hero { min-height:700px; padding-left:20px; padding-right:20px; }
  .hero h1 { font-size:30px; }
  .footer-proof { padding-left:12px; padding-right:12px; }
  .footer-proof strong { font-size:22px; }
}
