/* v1.2 visual baseline, extracted for v1.3. Edit design tokens in config/theme.css. */

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:var(--font-base-size)/1.65 var(--font-body);background:var(--cream)}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--heading-font-weight);line-height:var(--heading-line-height);letter-spacing:var(--heading-letter-spacing);text-transform:var(--heading-text-transform)}h1{font-size:var(--font-size-h1);margin:22px 0}h2{font-size:var(--font-size-h2);margin:10px 0 22px}h3{font-size:var(--font-size-h3);margin:12px 0}p{margin:0 0 18px}a{color:inherit}.container{max-width:var(--container-width);margin:auto;padding:0 var(--container-gutter)}.topbar{background:var(--deep);color:var(--mint);text-align:center;font-size:.78rem;letter-spacing:.12em;padding:9px 15px;font-weight:700;text-transform:uppercase}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:20px}.brand{font-family:var(--font-heading);font-size:var(--font-size-brand);font-weight:var(--brand-font-weight);line-height:var(--heading-line-height);text-decoration:none;letter-spacing:var(--brand-letter-spacing)}.brand small{display:block;font:600 .62rem var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-top:4px}.navlinks{display:flex;gap:30px;align-items:center}.navlinks a:not(.btn){font-size:.88rem;text-decoration:none;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--teal);color:#fff;text-decoration:none;border:2px solid var(--teal);padding:14px 22px;border-radius:var(--button-radius);font-weight:700;line-height:1.2;transition:.2s;cursor:pointer;font:700 .95rem var(--font-body)}.btn:hover{background:var(--teal-hover,var(--deep));border-color:var(--teal-hover,var(--deep));transform:translateY(-1px)}.btn.light{background:#fff;border-color:#fff;color:var(--deep)}.btn.outline{background:transparent;color:var(--ink);border-color:var(--line)}.btn.outline:hover{background:var(--mint)}.hero{background:linear-gradient(125deg,var(--hero-start,var(--deep)) 0%,var(--hero-middle,var(--navy)) 62%,var(--hero-end,var(--teal)) 100%);color:white;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-180px;top:-240px;width:680px;height:680px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 80px #ffffff07,0 0 0 160px #ffffff05;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:65px;padding-top:100px;padding-bottom:105px;position:relative;z-index:1}.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--teal)}.hero .eyebrow{color:var(--sand,#F4A460)}.hero p{font-size:1.14rem;max-width:660px;color:var(--hero-muted,var(--mint))}.hero .buttons{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.hero .outline{border-color:var(--hero-outline,var(--mint));color:white}.hero .outline:hover{background:#ffffff18}.trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:40px;color:var(--hero-muted,var(--mint));font-size:.84rem;font-weight:700}.trust span:before{content:'✓';color:var(--sand,#F4A460);margin-right:8px}.quote-card{padding:38px;border:1px solid #ffffff48;background:#ffffff12;backdrop-filter:blur(8px);border-radius:10px;box-shadow:0 20px 55px #0002}.quote-card .mark{font:800 5rem Georgia,serif;color:var(--sand,#F4A460);height:62px}.quote-card blockquote{margin:0;font:600 clamp(1.4rem,2.3vw,2rem)/1.45 var(--font-heading);letter-spacing:-.025em}.quote-card .rule{width:45px;height:3px;background:var(--sand,#F4A460);margin:28px 0 14px}.quote-card small{font-weight:700;color:var(--hero-muted,var(--mint))}.section{padding:var(--section-spacing) 0}.section-head{max-width:750px;margin-bottom:40px}.section-head>p{color:var(--muted);font-size:1.07rem}.soft{background:var(--mint)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);padding:var(--card-padding);border-radius:var(--card-radius)}.num{font:800 .8rem var(--font-heading);color:var(--teal);letter-spacing:.12em}.card p{font-size:.93rem;color:var(--muted);margin:0}.card svg{width:30px;height:30px;color:var(--teal);margin-bottom:18px}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.experience{background:var(--navy);color:#fff;padding:46px;border-radius:var(--card-radius)}.experience strong{font:800 clamp(3rem,6vw,5rem) var(--font-heading);letter-spacing:-.08em;color:var(--sand,#F4A460)}.experience p{font-size:1.14rem;color:var(--hero-muted,var(--mint))}.experience .line{border-top:1px solid #ffffff30;margin:24px 0}.experience ul{padding-left:20px;margin:0;color:var(--hero-muted,var(--mint))}.copy p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{border-top:3px solid var(--teal);padding-top:25px}.step .big{font:800 2.5rem var(--font-heading);color:var(--sand,#F4A460)}.step p{color:var(--muted)}.cta-band{background:var(--mint);padding:55px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-inner h2{margin-bottom:10px}.cta-inner p{margin:0;max-width:650px}.contact{background:var(--deep);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.contact p{color:var(--mint)}.contact .eyebrow{color:var(--sand,#F4A460)}.contact-panel{background:white;color:var(--ink);padding:34px;border-radius:9px}.contact-panel h3{font-size:1.4rem;margin-top:0}.contact-panel p{color:var(--muted);font-size:.9rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{margin-bottom:15px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.81rem;font-weight:800;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:.92rem;border:1px solid var(--line);border-radius:5px;padding:11px;background:#fff;color:var(--ink)}.field textarea{min-height:105px;resize:vertical}.field :focus{outline:2px solid var(--teal);outline-offset:2px}.submit{width:100%;margin-top:4px}.fine{font-size:.76rem!important;margin:12px 0 0!important}.footer{background:var(--navy);color:var(--mint);padding:24px 0;font-size:.78rem}.footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:var(--mint)}.pill{display:inline-block;padding:8px 13px;background:#ffffff15;border:1px solid #ffffff30;border-radius:3px;color:var(--mint);font-size:.83rem;margin:5px 5px 5px 0}.mobile-nav{display:none}
.privacy-note{margin-top:30px;font-size:.85rem}.consultation-badges{display:contents}.form-status{margin:12px 0 0;font-size:.89rem;font-weight:700}.form-status.is-error{color:#a63434}.form-status.is-success{color:#176854}.submit:disabled{opacity:.65;cursor:wait}
[hidden]{display:none!important}
/* v1.5 reusable optional testimonial section and page-load state */
.loading-message{padding-block:70px;min-height:250px;color:var(--muted)}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.testimonial-card{margin:0;padding:var(--card-padding);background:white;border:1px solid var(--line);border-radius:var(--card-radius)}
.testimonial-quote{font-size:1.075rem;line-height:1.65;color:var(--ink)}
.testimonial-attribution{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:.88rem}
.testimonial-attribution strong{font-family:var(--font-heading);color:var(--ink);font-weight:600}

/* Ocean & Sand palette integration — values supplied by Google Drive config/theme.css.
   Fallbacks retain the look while a new theme loads or if old theme files are in use. */
body{background:var(--cream,#FAF9F6)}
.site-header{background:var(--surface,#fff)}
.card,.testimonial-card,.contact-panel{background:var(--surface,#fff)}
.quote-card{border-color:var(--hero-outline,rgba(255,255,255,.35))}
.quote-card .mark{color:var(--sand,#F4A460)}
.quote-card .rule{background:var(--coral,#FF6F61)}
.trust span:before{color:var(--sand,#F4A460)}
.step .big{color:var(--teal)}
.step{border-top-color:var(--sand,#F4A460)}
.testimonial-card{border-top:3px solid var(--coral,#FF6F61)}
.testimonial-attribution strong{color:var(--navy)}
.eyebrow{color:var(--teal)}
.hero .eyebrow,.contact .eyebrow,.experience .eyebrow{color:var(--sand,#F4A460)}
.cta-band{border-block:1px solid var(--line)}
.btn:focus-visible,.dock-link:focus-visible,.navlinks a:focus-visible{outline:3px solid var(--sand,#F4A460);outline-offset:3px}
::selection{background:var(--coral-soft,#FFDBD6);color:var(--deep)}

/* Ocean & Sand — refined sans-serif rendering.
   Heading and wordmark weights remain controlled by config/theme.css. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}
.navlinks a:not(.btn) { font-weight: 500; }
.brand small { font-weight: 500; }
.eyebrow { font-weight: 600; }
.field label { font-weight: 600; }
.btn { font-weight: 600; font: 600 .95rem var(--font-body); }
.quote-card blockquote { font-weight: 500; }
