/* Ridgeline Partners: sample site styles (FreshSite) */
:root{--deep:#0B2530;--deep-2:#123441;--paper:#F1F1EA;--white:#FAFAF6;--mist:#E2E5DF;--ink:#0B2530;--soft:#55666C;--peach:#E7AE7C;--peach-2:#F3C9A3;--line:rgba(11,37,48,.14);--line-d:rgba(250,250,246,.16)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1320px;margin:0 auto;padding:0 40px}
h1,h2,h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-0.02em;line-height:1}
h1 em,h2 em{font-style:italic;color:var(--peach)}
.mono{font-family:'Geist Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
:focus-visible{outline:2px solid var(--peach);outline-offset:3px;border-radius:6px}

.sample-bar{background:var(--peach);color:var(--deep);font-size:13px;text-align:center;padding:8px 16px;font-weight:500}
.sample-bar a{text-decoration:underline;text-underline-offset:2px}
.clean .sample-bar{display:none}

/* nav floats over the photo hero */
header{position:absolute;left:0;right:0;z-index:10}
.has-bar header{top:37px}
.clean header{top:0}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px;color:var(--white)}
.brand{font:400 27px 'Instrument Serif',serif;letter-spacing:-0.01em;display:flex;align-items:center;gap:10px}
.brand svg{width:26px;height:18px}
.links{display:flex;gap:4px;background:rgba(11,37,48,.55);border:1px solid var(--line-d);border-radius:999px;padding:5px;backdrop-filter:blur(10px);font-size:13.5px}
.links a{padding:7px 14px;border-radius:999px}
.links a:hover,.links a.on{background:rgba(250,250,246,.14)}
.pill{display:inline-flex;align-items:center;gap:10px;background:var(--white);color:var(--deep);font-weight:500;font-size:14px;padding:6px 6px 6px 18px;border-radius:999px}
.pill span{width:30px;height:30px;border-radius:50%;background:var(--deep);color:var(--peach);display:flex;align-items:center;justify-content:center;font-size:14px}
.pill.ghost{background:rgba(11,37,48,.45);color:var(--white);border:1px solid var(--line-d);padding:12px 18px;backdrop-filter:blur(6px)}
.pill.dark{background:var(--deep);color:var(--white)}
.pill.dark span{background:var(--peach);color:var(--deep)}
.menu{display:none;background:rgba(11,37,48,.5);border:1px solid var(--line-d);border-radius:999px;color:var(--white);font:500 14px Inter;padding:8px 16px}

/* photo hero */
.p-hero{position:relative;min-height:680px;display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--deep)}
.p-hero .bg{position:absolute;inset:0}
.p-hero .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,37,48,.88) 0%,rgba(11,37,48,.55) 50%,rgba(11,37,48,.2) 100%),linear-gradient(0deg,rgba(11,37,48,.85) 0%,transparent 55%)}
.p-hero .wrap{position:relative;z-index:1;width:100%;padding-top:150px;padding-bottom:56px}
.crumb{color:rgba(250,250,246,.75);margin-bottom:26px;display:flex;gap:10px;align-items:center}
.crumb::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--peach)}
.p-hero h1{font-size:clamp(56px,8.4vw,128px);max-width:12ch;margin-bottom:26px}
.hero-row{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
.hero-row p{max-width:46ch;color:rgba(250,250,246,.85);font-size:17px;margin-bottom:24px}
.ctas{display:flex;gap:10px;flex-wrap:wrap}
.stats{display:flex;gap:44px}
.stats b{display:block;font:400 46px/1 'Instrument Serif',serif}
.stats span{display:block;margin-top:8px;color:rgba(250,250,246,.7)}

[data-photo]{background-size:cover;background-position:center;background-color:var(--deep-2)}
[data-photo]:not(.has-photo){background-image:repeating-linear-gradient(135deg,#0f2d39 0 16px,#143847 16px 32px)}
[data-photo] .slot{position:absolute;right:24px;top:110px;z-index:2;border:1px dashed var(--peach);color:var(--peach);font-size:12.5px;padding:6px 10px;background:rgba(11,37,48,.8);border-radius:6px}
.has-photo .slot{display:none}

section.block{padding:110px 0}
.head{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-bottom:48px}
.head .mono{color:var(--soft);display:block;margin-bottom:16px}
.head h2{font-size:clamp(40px,4.8vw,68px);max-width:15ch}
.head h2 em{color:#B9733B}
.head p{max-width:42ch;color:var(--soft)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:14px;min-height:210px}
.card .ic{width:42px;height:42px;border-radius:12px;background:var(--mist);display:flex;align-items:center;justify-content:center}
.card .ic svg{width:20px;height:20px;stroke:var(--deep);fill:none;stroke-width:1.6}
.card h3{font-size:28px}
.card p{color:var(--soft);font-size:14.5px}
.card.dark{background:var(--deep);color:var(--white);border-color:var(--deep)}
.card.dark p{color:rgba(250,250,246,.7)}
.card.dark .ic{background:rgba(231,174,124,.18)}
.card.dark .ic svg{stroke:var(--peach)}

.how{background:var(--deep);color:var(--white)}
.how .head .mono{color:rgba(250,250,246,.6)}
.how .head h2 em{color:var(--peach)}
.how .head p{color:rgba(250,250,246,.75)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-d)}
.steps div{padding:30px 28px 0 0}
.steps div + div{padding-left:28px;border-left:1px solid var(--line-d)}
.steps .mono{color:var(--peach)}
.steps h3{font-size:34px;margin:12px 0 10px}
.steps p{color:rgba(250,250,246,.72);font-size:15px}

.fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.fit > div{border-radius:18px;padding:34px;border:1px solid var(--line);background:var(--white)}
.fit .mono{color:var(--soft);display:block;margin-bottom:14px}
.fit p{font:400 26px/1.3 'Instrument Serif',serif;letter-spacing:-0.01em}

.close{border-radius:26px;background:var(--mist);padding:68px 60px;display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap;margin-bottom:90px}
.close h2{font-size:clamp(40px,4.8vw,66px);max-width:14ch}
.close h2 em{color:#B9733B}
.close p{color:var(--soft);margin-top:14px;max-width:42ch}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.contact > *{min-width:0}
.detail{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}
.detail .mono{color:var(--soft)}
.detail b{font-weight:500;text-align:right;overflow-wrap:anywhere}
.next{margin-top:36px;background:var(--deep);color:var(--white);border-radius:18px;padding:28px}
.next h3{font-size:30px;margin-bottom:14px}
.next ol{list-style:none;counter-reset:n}
.next li{counter-increment:n;display:flex;gap:14px;padding:10px 0;border-top:1px solid var(--line-d);color:rgba(250,250,246,.85);font-size:15px}
.next li::before{content:'0' counter(n);font-family:'Geist Mono',monospace;font-size:12px;color:var(--peach);padding-top:3px}
.form{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:34px}
.form h2{font-size:40px;margin-bottom:6px}
.form > p{color:var(--soft);margin-bottom:24px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-row > *{min-width:0}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}
.field label{font-size:13.5px;font-weight:500}
.field input,.field select,.field textarea{width:100%;min-width:0;font:inherit;font-size:15.5px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 14px}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--deep);box-shadow:0 0 0 3px rgba(231,174,124,.35)}
.field textarea{min-height:130px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative}
.chips input{position:absolute;opacity:0}
.chips span{display:inline-block;padding:9px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;cursor:pointer;background:var(--paper)}
.chips input:checked + span{background:var(--deep);color:var(--white);border-color:var(--deep)}
.chips input:focus-visible + span{outline:2px solid var(--peach);outline-offset:2px}
.form button{width:100%;justify-content:center;border:none;cursor:pointer;font-family:inherit;margin-top:6px;padding:8px 8px 8px 20px}
.fine{font-size:12.5px;color:var(--soft);margin-top:12px}
.sample-note{margin-top:12px;padding:12px 14px;border-radius:10px;background:var(--mist);font-size:14px}

footer{background:var(--deep);color:rgba(250,250,246,.7);padding:44px 0;font-size:14px}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
.foot .brand{color:var(--white)}

@media (max-width:1024px){
  .links,.nav .pill{display:none}
  .menu{display:inline-block}
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .steps div:nth-child(3){border-left:none;padding-left:0}
  .steps div{padding-bottom:28px}
  .contact{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  .nav{height:70px}
  .p-hero{min-height:0}
  .p-hero .wrap{padding-top:120px;padding-bottom:40px}
  .p-hero h1{font-size:clamp(48px,14vw,64px)}
  .stats{gap:24px;flex-wrap:wrap}
  .stats b{font-size:36px}
  section.block{padding:72px 0}
  .cards,.steps,.fit{grid-template-columns:minmax(0,1fr)}
  .steps div,.steps div + div{border-left:none;padding:24px 0;border-bottom:1px solid var(--line-d)}
  .close{padding:40px 24px;margin-bottom:56px}
  .form{padding:24px 18px}
  .f-row{grid-template-columns:minmax(0,1fr);gap:0}
  [data-photo] .slot{top:auto;bottom:16px;right:16px}
}
