/* Wren — site styles */
@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Crimson+Pro:ital,wght@0,400;0,600;1,400&family=Instrument+Serif:ital@0;1&family=Outfit:wght@300;400;500;600&display=swap');

:root{
  --navy:#1F2A44;--sage:#8E9E83;--saged:#6E7E64;--salt:#F4F0E7;--salt2:#FBF9F3;
  --sand:#E5DAC8;--drift:#B7A48D;--tide:#C2D2CC;--clay:#BE8A66;--stone:#3A3F3C;--body:#4A4641;--line:#E1D8C8;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Crimson Pro',Georgia,serif;color:var(--body);background:var(--salt);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
.display{font-family:'Italiana',serif;color:var(--navy);line-height:1.08;}
.eyebrow{font-family:'Outfit',sans-serif;font-size:12px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--saged);}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;}
.narrow{max-width:760px;margin:0 auto;}
.center{text-align:center;}
.btn{font-family:'Outfit',sans-serif;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;display:inline-block;padding:15px 30px;border-radius:2px;transition:.25s;cursor:pointer;}
.btn-navy{background:var(--navy);color:var(--salt);border:1px solid var(--navy);}
.btn-navy:hover{background:transparent;color:var(--navy);}
.btn-ghost{background:transparent;color:var(--navy);border:1px solid var(--drift);}
.btn-ghost:hover{background:var(--navy);color:var(--salt);border-color:var(--navy);}
.rule{width:64px;height:1px;background:var(--sage);border:0;margin:22px auto;}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(244,240,231,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{font-family:'Italiana',serif;font-size:30px;letter-spacing:.22em;color:var(--navy);text-decoration:none;padding-left:.22em;}
.navlinks{display:flex;align-items:center;gap:32px;}
.navlinks a{font-family:'Outfit',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);text-decoration:none;transition:.2s;}
.navlinks a:hover,.navlinks a.active{color:var(--sage);}
.navlinks .btn{padding:11px 22px;}
@media(max-width:860px){.navlinks a:not(.btn){display:none;}}

/* HERO (home) */
.hero{position:relative;overflow:hidden;text-align:center;padding:100px 0 88px;}
.hero .nautilus{position:absolute;right:-90px;top:-70px;width:420px;height:420px;opacity:.5;}
.hero-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;}
.hero h1{font-size:70px;margin:20px 0 8px;}
.hero .em{font-style:italic;font-family:'Instrument Serif',serif;}
.hero .sub{font-size:21px;color:var(--body);max-width:620px;margin:18px auto 34px;}
.hero .ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
@media(max-width:680px){.hero h1{font-size:44px;}}

/* PAGE HERO (about/services/contact) */
.phero{text-align:center;padding:90px 0 60px;position:relative;overflow:hidden;}
.phero .nautilus{position:absolute;left:-110px;top:-60px;width:380px;height:380px;opacity:.45;}
.phero h1{font-size:56px;margin:16px 0;position:relative;z-index:2;}
.phero .lead{font-size:21px;color:var(--stone);max-width:660px;margin:0 auto;position:relative;z-index:2;}
@media(max-width:680px){.phero h1{font-size:40px;}}

section{padding:84px 0;}
h2.sec{font-size:42px;margin-bottom:10px;}
.lead{font-size:20px;max-width:700px;margin:0 auto;}

/* INTRO */
.intro{background:var(--salt2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;}
.intro p{font-size:21px;line-height:1.72;max-width:760px;margin:0 auto 14px;color:var(--stone);}
.intro .pop{font-family:'Instrument Serif',serif;font-style:italic;font-size:24px;color:var(--saged);}

/* WHO */
.who-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px 36px;margin-top:50px;}
.who-item{padding-left:34px;position:relative;}
.who-item .g{position:absolute;left:0;top:5px;}
.who-item h4{font-family:'Outfit',sans-serif;font-size:15px;font-weight:600;color:var(--navy);margin-bottom:4px;}
.who-item p{font-size:16px;line-height:1.55;}

/* SERVICE CARDS */
.svc{background:var(--sand);}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;margin-top:52px;}
.card{background:var(--salt2);border:1px solid var(--line);border-radius:3px;padding:38px 32px;display:flex;flex-direction:column;transition:.25s;}
.card.feature{background:var(--navy);border-color:var(--navy);}
.card.feature h3,.card.feature .num{color:var(--salt);}
.card.feature p{color:#C9D2DD;}
.card.feature a{color:var(--tide);}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(31,42,68,.10);}
.card .num{font-family:'Instrument Serif',serif;font-style:italic;font-size:30px;color:var(--sage);}
.card h3{font-family:'Italiana',serif;font-size:26px;color:var(--navy);margin:6px 0 14px;line-height:1.15;}
.card p{font-size:16px;flex-grow:1;}
.card a{font-family:'Outfit',sans-serif;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--saged);text-decoration:none;margin-top:22px;}
.card a:hover{opacity:.7;}
.card a::after{content:" \2192";}

/* HOW */
.how{text-align:center;}
.how.navy{background:var(--navy);color:var(--salt);}
.how.sand{background:var(--sand);}
.how .eyebrow{color:var(--tide);}
.how.sand .eyebrow{color:var(--saged);}
.how h2{font-family:'Italiana',serif;font-size:40px;margin:8px 0 50px;}
.how.navy h2{color:var(--salt);}
.how.sand h2{color:var(--navy);}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
@media(max-width:760px){.steps{grid-template-columns:1fr;gap:30px;}}
.step .n{font-family:'Instrument Serif',serif;font-style:italic;font-size:40px;}
.how.navy .step .n{color:var(--tide);}
.how.sand .step .n{color:var(--sage);}
.step h4{font-family:'Outfit',sans-serif;font-size:15px;letter-spacing:.05em;margin:8px 0;font-weight:600;}
.how.navy .step h4{color:var(--salt);}
.how.sand .step h4{color:var(--navy);}
.step p{font-size:16px;max-width:280px;margin:0 auto;}
.how.navy .step p{color:#C9D2DD;}
.how.sand .step p{color:var(--body);}

/* QUOTE */
.quote{text-align:center;}
.quote q{font-family:'Instrument Serif',serif;font-style:italic;font-size:34px;line-height:1.4;color:var(--navy);quotes:none;display:block;max-width:820px;margin:0 auto;}
.quote .by{font-family:'Outfit',sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--saged);margin-top:26px;}
.quote .note{font-size:18px;color:var(--stone);max-width:680px;margin:24px auto 0;}

/* MISSION */
.mission{background:var(--navy);text-align:center;color:var(--salt);}
.mission .eyebrow{color:var(--tide);}
.mission p{font-family:'Italiana',serif;font-size:36px;line-height:1.3;color:var(--salt);max-width:840px;margin:18px auto 0;}

/* STORY */
.story p{font-size:19px;margin-bottom:22px;color:var(--stone);}
.story .first::first-letter{font-family:'Italiana',serif;font-size:62px;float:left;line-height:.8;padding:6px 12px 0 0;color:var(--sage);}

/* VALUES */
.values{background:var(--salt2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px 44px;margin-top:48px;}
.vitem{position:relative;padding-top:18px;border-top:2px solid var(--sage);}
.vitem .n{font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;color:var(--sage);}
.vitem h3{font-family:'Italiana',serif;font-size:24px;color:var(--navy);margin:4px 0 10px;}
.vitem p{font-size:16.5px;}

/* OFFERINGS (services) */
.offer{display:grid;grid-template-columns:64px 1fr auto;gap:30px;align-items:start;background:var(--salt2);border:1px solid var(--line);border-radius:4px;padding:38px 40px;margin-bottom:24px;}
.offer .num{font-family:'Instrument Serif',serif;font-style:italic;font-size:46px;color:var(--sage);line-height:1;}
.offer .tg{font-family:'Outfit',sans-serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);margin-bottom:6px;}
.offer h3{font-family:'Italiana',serif;font-size:29px;color:var(--navy);margin-bottom:10px;}
.offer p{font-size:17px;max-width:580px;}
.offer .meta{font-family:'Outfit',sans-serif;font-size:12px;letter-spacing:.05em;color:var(--saged);text-transform:uppercase;margin-top:16px;}
.offer .side{text-align:right;white-space:nowrap;}
.offer .price{font-family:'Italiana',serif;font-size:22px;color:var(--navy);}
.offer .side a{display:inline-block;margin-top:14px;font-family:'Outfit',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--saged);text-decoration:none;}
.offer .side a:hover{color:var(--navy);}
@media(max-width:760px){.offer{grid-template-columns:1fr;gap:14px;}.offer .side{text-align:left;}}
.offer.feature{background:var(--navy);border-color:var(--navy);}
.offer.feature h3,.offer.feature .num,.offer.feature .price{color:var(--salt);}
.offer.feature p{color:#C9D2DD;}
.offer.feature .meta,.offer.feature .tg,.offer.feature .side a{color:var(--tide);}

/* CTA */
.cta{text-align:center;}
.cta h2{font-family:'Italiana',serif;font-size:44px;color:var(--navy);margin-bottom:8px;}
.cta p{font-style:italic;font-family:'Instrument Serif',serif;font-size:22px;color:var(--saged);margin-bottom:30px;}
.cta .ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* LEAD MAGNET + FORMS */
.lead-magnet{background:var(--tide);}
.lm{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;}
@media(max-width:760px){.lm{grid-template-columns:1fr;gap:30px;}}
.lm h2{font-size:38px;}
.lm .small{font-family:'Outfit',sans-serif;font-size:13px;color:var(--saged);margin-top:14px;}
.form{background:var(--salt2);border-radius:4px;padding:34px;box-shadow:0 12px 30px rgba(31,42,68,.10);}
.form.plain{box-shadow:none;border:1px solid var(--line);}
.form label{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--saged);display:block;margin:0 0 6px;}
.form input,.form textarea{width:100%;padding:13px 14px;margin-bottom:16px;border:1px solid var(--line);border-radius:2px;font-family:'Crimson Pro',serif;font-size:17px;background:#fff;color:var(--stone);}
.form textarea{min-height:120px;resize:vertical;}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--sage);}
.form .btn{width:100%;text-align:center;border:0;}

/* FOOTER */
footer{background:var(--navy);color:#AEB9C7;padding:64px 0 38px;text-align:center;}
footer .logo{color:var(--salt);font-size:34px;display:inline-block;margin-bottom:8px;}
footer .ftag{font-family:'Instrument Serif',serif;font-style:italic;color:var(--tide);font-size:18px;}
footer .flinks{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;margin:26px 0 22px;}
footer .flinks a{font-family:'Outfit',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#AEB9C7;text-decoration:none;}
footer .flinks a:hover{color:var(--salt);}
footer .fine{font-family:'Outfit',sans-serif;font-size:11px;letter-spacing:.06em;color:#6E7A8C;margin-top:18px;}

/* simple pages (thanks/404) */
.simple{min-height:62vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 0;}
.simple h1{font-family:'Italiana',serif;font-size:52px;color:var(--navy);margin-bottom:14px;}
.simple p{font-size:19px;color:var(--stone);max-width:520px;margin:0 auto 28px;}
