@font-face{font-family:"Source Serif 4";src:url("/_sj/fonts/source-serif-4-latin.382475f3.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";src:url("/_sj/fonts/source-serif-4-latin-ext.d10ccbbd.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url("/_sj/fonts/source-serif-4-cyrillic.a8108270.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Source Sans 3";src:url("/_sj/fonts/source-sans-3-latin.19143dca.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";src:url("/_sj/fonts/source-sans-3-latin-ext.a85a7459.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";src:url("/_sj/fonts/source-sans-3-cyrillic.b6b721e0.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--site-color-surface:#ffffff;--site-color-surface-alt:#eef1ef;--site-color-ink:#1a1f1d;--site-color-ink-muted:#4d5752;--site-color-line:#c9d1cc;--site-color-focus:#8a6a26;--site-radius-sm:2px;--site-radius-md:4px;--site-radius-lg:6px;--site-space-1:0.25rem;--site-space-2:0.5rem;--site-space-3:0.75rem;--site-space-4:1rem;--site-space-6:1.5rem;--site-space-8:2rem;--site-space-12:3rem;--site-space-16:4rem;--site-container:75rem;--site-section-y:clamp(3rem, 2.1818rem + 3.6364vw, 5rem);--site-type-display-size:clamp(2.4883rem, 2.1018rem + 1.718vw, 3.4332rem);--site-type-display-line:1.08;--site-type-h1-size:clamp(2.0736rem, 1.7983rem + 1.2236vw, 2.7466rem);--site-type-h1-line:1.12;--site-type-h2-size:clamp(1.728rem, 1.536rem + 0.8532vw, 2.1973rem);--site-type-h2-line:1.18;--site-type-h3-size:clamp(1.2rem, 1.1156rem + 0.375vw, 1.4063rem);--site-type-h3-line:1.3;--site-type-body-size:clamp(1rem, 0.9489rem + 0.2273vw, 1.125rem);--site-type-body-line:1.6;--site-type-small-size:clamp(0.875rem, 0.8494rem + 0.1136vw, 0.9375rem);--site-type-small-line:1.5;--site-heading-weight:600;--site-heading-tracking:0;--site-color-primary:#234a3f;--site-color-on-primary:#ffffff;--site-color-primary-text:#234a3f;--site-color-secondary:#3a434b;--site-color-on-secondary:#ffffff;--site-color-accent:#8a6a26;--site-color-on-accent:#ffffff;--site-font-heading:"Source Serif 4", Georgia, "Times New Roman", serif;--site-font-body:"Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}

/* Blog (shared) */
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--site-space-2);list-style:none;margin:0;padding:0;font-size:var(--site-type-small-size);line-height:var(--site-type-small-line)}
.crumbs li{display:flex;align-items:center;gap:var(--site-space-2)}
.crumbs li+li::before{content:"/";color:var(--site-color-ink-muted)}
.crumbs a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--site-color-ink-muted)}
.byline{display:flex;flex-wrap:wrap;gap:var(--site-space-1) var(--site-space-4);font-size:var(--site-type-small-size);line-height:var(--site-type-small-line);color:var(--site-color-ink-muted)}
.byline a{color:var(--site-color-ink)}
.post__body h2{margin-top:var(--site-space-12)}
.post__body h3{margin-top:var(--site-space-8)}
.post__body>:first-child{margin-top:0}
.sjb-blog-text>*+*{margin-top:var(--site-space-4)}
.sjb-blog-text ul,.sjb-blog-text ol{padding-left:1.25em}
.sjb-blog-text li+li{margin-top:var(--site-space-2)}
.sjb-blog-figure{margin-inline:0}
.sjb-blog-figure img{width:100%;height:auto}
.sjb-blog-figure figcaption{margin-top:var(--site-space-2);font-size:var(--site-type-small-size);line-height:var(--site-type-small-line);color:var(--site-color-ink-muted)}
.sjb-blog-callout{padding:var(--site-space-4) var(--site-space-6);background:var(--site-color-surface-alt)}
.sjb-blog-callout__title{font-weight:600;margin-bottom:var(--site-space-1)}
.sjb-blog-table table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--site-type-small-size);line-height:var(--site-type-small-line)}
.sjb-blog-table th,.sjb-blog-table td{padding:var(--site-space-2) var(--site-space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--site-color-line);overflow-wrap:anywhere}
.sjb-blog-table th{font-weight:600;border-bottom-width:2px}
.sjb-blog-faq h2{margin-bottom:var(--site-space-2)}
.sjb-blog-faq h3{margin-top:var(--site-space-6);font-size:var(--site-type-body-size);line-height:var(--site-type-body-line);font-family:var(--site-font-body);font-weight:600;letter-spacing:0}
.sjb-blog-faq p{margin-top:var(--site-space-1)}
.sjb-blog-cta{display:grid;gap:var(--site-space-4);justify-items:start;padding:var(--site-space-6)}
.sjb-blog-cta__title{font-family:var(--site-font-heading);font-weight:var(--site-heading-weight);font-size:var(--site-type-h3-size);line-height:var(--site-type-h3-line)}
.sjb-blog-cta__button{display:inline-flex;align-items:center;min-height:2.75rem;padding:.6em 1.25em;background:var(--site-color-primary);color:var(--site-color-on-primary);font-weight:600;line-height:1.2;text-decoration:none;border-radius:var(--site-radius-md)}
.sjb-blog-cta__button:hover{background:var(--site-color-secondary);color:var(--site-color-on-secondary)}
.sjb-blog-divider{height:0;margin-block:var(--site-space-8);border:0;border-top:1px solid var(--site-color-line)}
.post__sources{margin-top:var(--site-space-12);padding-top:var(--site-space-6);border-top:1px solid var(--site-color-line);max-width:66ch}
.post__sources h2{font-size:var(--site-type-h3-size);line-height:var(--site-type-h3-line)}
.post__sources ol{margin-top:var(--site-space-3);padding-left:1.5em;font-size:var(--site-type-small-size);line-height:var(--site-type-small-line)}
.post__sources li{overflow-wrap:anywhere}
.post__sources a{display:block;padding-block:.35rem}
.postcards{list-style:none;margin:0;padding:0;display:grid}
.postcard__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.postcard__text{display:grid;gap:var(--site-space-2);align-content:start}
.postcard__meta{font-size:var(--site-type-small-size);line-height:var(--site-type-small-line);color:var(--site-color-ink-muted)}
.postcard__title a{color:var(--site-color-ink);text-decoration:none}
.postcard__title a:hover{text-decoration:underline}
.postcard__excerpt{color:var(--site-color-ink-muted)}
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:var(--site-space-2) var(--site-space-6);margin-top:var(--site-space-8)}
.pager a{display:inline-flex;align-items:center;min-height:2.75rem}
.pager__at{font-size:var(--site-type-small-size);color:var(--site-color-ink-muted)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--site-color-surface);color:var(--site-color-ink);font-family:var(--site-font-body);font-size:var(--site-type-body-size);line-height:var(--site-type-body-line);font-variant-numeric:lining-nums}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--site-font-heading);font-weight:var(--site-heading-weight);letter-spacing:var(--site-heading-tracking);color:var(--site-color-ink);margin:0;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
h1{font-size:var(--site-type-h1-size);line-height:var(--site-type-h1-line)}
h2{font-size:var(--site-type-h2-size);line-height:var(--site-type-h2-line)}
h3{font-size:var(--site-type-h3-size);line-height:var(--site-type-h3-line)}
p{margin:0}
a{color:var(--site-color-primary-text);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--site-color-focus);outline-offset:2px}
ul,ol{margin:0;padding:0}
.skip{position:absolute;left:var(--site-space-4);top:-10rem;z-index:10;padding:var(--site-space-2) var(--site-space-4);background:var(--site-color-surface);color:var(--site-color-ink);border:2px solid var(--site-color-ink)}
.skip:focus{top:var(--site-space-4)}
.wrap{width:min(100% - 2.5rem,var(--site-container));margin-inline:auto}
@media (min-width:48rem){.wrap{width:min(100% - 4rem,var(--site-container))}}
.small,.meta{font-size:var(--site-type-small-size);line-height:var(--site-type-small-line);color:var(--site-color-ink-muted)}
.icon{flex:none;width:1.15em;height:1.15em;vertical-align:-.2em}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--site-space-2);min-height:2.75rem;padding:.6em 1.25em;border:2px solid var(--site-color-primary);border-radius:var(--site-radius-md);background:var(--site-color-primary);color:var(--site-color-on-primary);font:inherit;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--site-color-secondary);border-color:var(--site-color-secondary);color:var(--site-color-on-secondary)}
.btn--ghost{background:transparent;color:var(--site-color-primary-text)}
.btn--ghost:hover{background:var(--site-color-surface-alt);color:var(--site-color-primary-text);border-color:var(--site-color-primary)}
.btn--light{background:var(--site-color-surface);border-color:var(--site-color-surface);color:var(--site-color-ink)}
.btn--light:hover{background:var(--site-color-surface-alt);border-color:var(--site-color-surface-alt);color:var(--site-color-ink)}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* Shell: the letterhead row, then the section navigation */
.hd{background:var(--site-color-surface);border-bottom:1px solid var(--site-color-line)}
.hd__top{display:flex;align-items:center;justify-content:space-between;gap:var(--site-space-4);padding-block:var(--site-space-4)}
.hd__brand{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--site-color-ink);text-decoration:none;font-family:var(--site-font-heading);font-weight:var(--site-heading-weight);font-size:var(--site-type-h3-size);line-height:1.15}
.hd__brand img{max-height:3rem;width:auto}
.hd__cta{white-space:nowrap}
.hd__nav{border-top:1px solid var(--site-color-line)}
.hd__nav ul{display:flex;gap:var(--site-space-6);list-style:none;overflow-x:auto;scrollbar-width:thin;padding-block:var(--site-space-1)}
.hd__nav a{display:inline-flex;align-items:center;min-height:2.75rem;white-space:nowrap;color:var(--site-color-ink);text-decoration:none;font-size:var(--site-type-small-size);border-bottom:2px solid transparent}
.hd__nav a:hover{border-bottom-color:var(--site-color-line)}
.hd__nav a[aria-current="page"]{border-bottom-color:var(--site-color-accent);font-weight:600}
@media (max-width:30rem){.hd__top{flex-wrap:wrap}.hd__cta{width:100%}}

/* Footer */
.ft{background:var(--site-color-surface-alt);border-top:1px solid var(--site-color-line);padding-block:var(--site-space-12) var(--site-space-8)}
.ft__grid{display:grid;gap:var(--site-space-8)}
@media (min-width:64rem){.ft__grid{grid-template-columns:5fr 7fr}}
.ft__name{font-family:var(--site-font-heading);font-weight:var(--site-heading-weight);font-size:var(--site-type-h3-size);line-height:1.2;margin-bottom:var(--site-space-4)}
.ft address{font-style:normal;display:grid;gap:var(--site-space-1);color:var(--site-color-ink-muted)}
.ft nav ul{display:flex;flex-wrap:wrap;gap:var(--site-space-2) var(--site-space-6);list-style:none}
.ft nav a{display:inline-flex;min-height:2.75rem;align-items:center;color:var(--site-color-ink)}
.ft__legal{margin-top:var(--site-space-8);padding-top:var(--site-space-4);border-top:1px solid var(--site-color-line)}

/* Page title band (pages that do not open with a hero) */
.ph{padding-block:var(--site-space-12) var(--site-space-8);border-bottom:1px solid var(--site-color-line)}

/* Sections: alternate grounds; a label column beside the content from 64rem */
.s{padding-block:var(--site-section-y)}
main>.s:nth-child(even of .s){background:var(--site-color-surface-alt)}
.s__grid{display:grid;gap:var(--site-space-6) var(--site-space-8)}
.s__head{display:grid;gap:var(--site-space-3);align-content:start;max-width:46rem}
.s__intro{color:var(--site-color-ink-muted)}
@media (min-width:64rem){
.s--split .s__grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.s--split .s__head{grid-column:1/span 4}
.s--split .s__body{grid-column:5/-1}
.s--split .s__body:only-child{grid-column:1/-1}
}
.prose{max-width:66ch}
.prose>*+*{margin-top:var(--site-space-4)}
.prose h2,.prose h3,.prose h4{margin-top:var(--site-space-8)}
.prose h2{font-size:calc((var(--site-type-h2-size) + var(--site-type-h3-size)) / 2);line-height:1.25}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:var(--site-space-2)}
.prose blockquote{margin:var(--site-space-6) 0;padding-left:var(--site-space-6);border-left:3px solid var(--site-color-accent);font-family:var(--site-font-heading);font-size:var(--site-type-h3-size);line-height:var(--site-type-h3-line)}
.cols{display:grid;gap:var(--site-space-8) var(--site-space-8);list-style:none}
@media (min-width:40rem){.cols--two,.cols--three,.cols--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64rem){.cols--three{grid-template-columns:repeat(3,minmax(0,1fr))}.cols--four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rule{border-top:1px solid var(--site-color-line);padding-top:var(--site-space-4)}
.rule>*+*{margin-top:var(--site-space-2)}
.ratio-3-2{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:var(--site-radius-sm)}
.ratio-4-5{aspect-ratio:4/5;object-fit:cover;width:100%;border-radius:var(--site-radius-sm)}
.ratio-1-1{aspect-ratio:1/1;object-fit:cover;width:100%;border-radius:var(--site-radius-sm)}
.more{margin-top:var(--site-space-6)}

/* Hero */
.hero{padding-block:clamp(3.5rem,8vw,6.5rem)}
.hero__text{display:grid;gap:var(--site-space-4);max-width:48rem;min-width:0}
.hero__text h1{font-size:var(--site-type-display-size);line-height:var(--site-type-display-line)}
.hero__sub{font-size:var(--site-type-h3-size);line-height:1.45;color:var(--site-color-ink-muted)}
.hero__actions{margin-top:var(--site-space-4)}
.hero--banner{background:var(--site-color-primary);color:var(--site-color-on-primary)}
.hero--banner h1,.hero--banner .hero__sub{color:var(--site-color-on-primary)}
.hero--banner .hero__sub{opacity:.92}
.hero--banner :focus-visible{outline-color:var(--site-color-on-primary)}
@media (min-width:64rem){.hero--banner .hero__text{max-width:none;width:66.666%}}
.hero--centered .hero__text{margin-inline:auto;text-align:center;justify-items:center}
.hero--centered .hero__media{margin-top:var(--site-space-12)}
.hero--split .wrap{display:grid;gap:var(--site-space-8);align-items:center}
@media (min-width:64rem){.hero--split .wrap{grid-template-columns:repeat(12,minmax(0,1fr))}.hero--split .hero__text{grid-column:1/span 6}.hero--split .hero__media{grid-column:8/-1}}
.hero--image{padding-block:0 var(--site-section-y)}
.hero--image .hero__media img{width:100%;max-height:34rem;aspect-ratio:21/9;object-fit:cover}
.hero--image .hero__panel{position:relative;margin-top:calc(-1 * var(--site-space-16));background:var(--site-color-primary);color:var(--site-color-on-primary);padding:var(--site-space-8);border-radius:var(--site-radius-md);max-width:44rem}
.hero--image .hero__panel h1,.hero--image .hero__panel .hero__sub{color:var(--site-color-on-primary)}
.hero--image :focus-visible{outline-color:var(--site-color-on-primary)}
.hero--type .hero__text{max-width:none}
.hero--type h1{font-size:var(--site-type-display-size);max-width:20ch}
.hero--banner .btn,.hero--image .btn{background:var(--site-color-on-primary);border-color:var(--site-color-on-primary);color:var(--site-color-primary)}
.hero--banner .btn:hover,.hero--image .btn:hover{background:transparent;color:var(--site-color-on-primary)}

/* Services, team, cards */
.item h3{font-size:var(--site-type-h3-size)}
.item img{margin-bottom:var(--site-space-4)}
.team--one .person{display:grid;gap:var(--site-space-6)}
@media (min-width:48rem){.team--one .person{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start}}
.person__role{color:var(--site-color-ink-muted)}
.person__bio{margin-top:var(--site-space-2)}
.card__label{font-size:var(--site-type-small-size);color:var(--site-color-ink-muted);font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:var(--site-space-2);list-style:none}
.tags li{font-size:var(--site-type-small-size);line-height:1.4;padding:.15em .6em;border:1px solid var(--site-color-line);border-radius:var(--site-radius-sm);color:var(--site-color-ink-muted)}

/* The practice index: a fee schedule with dotted leaders */
.fees{display:grid;gap:0 var(--site-space-12);list-style:none}
@media (min-width:64rem){.fees--two{grid-template-columns:repeat(2,minmax(0,1fr))}.fees--three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fee{padding-block:var(--site-space-6);border-top:1px solid var(--site-color-line)}
.fee__cat{font-size:var(--site-type-small-size);color:var(--site-color-ink-muted);font-weight:600;margin-bottom:var(--site-space-1)}
.fee__line{display:flex;align-items:baseline;gap:var(--site-space-3)}
.fee__line h3{font-size:var(--site-type-h3-size);line-height:1.25}
.fee__leader{flex:1 1 1.5rem;min-width:1.5rem;border-bottom:2px dotted var(--site-color-accent);transform:translateY(-.3em)}
.fee__price{flex:none;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--site-color-ink);max-width:45%}
.fee__dur{display:block;font-weight:400;font-size:var(--site-type-small-size);color:var(--site-color-ink-muted)}
.fee__desc{margin-top:var(--site-space-2);color:var(--site-color-ink-muted);max-width:60ch}
.fee__inc{margin-top:var(--site-space-3);display:grid;gap:var(--site-space-1);list-style:none;font-size:var(--site-type-small-size)}
.fee__inc li{display:flex;gap:var(--site-space-2)}
.fee__inc .icon{color:var(--site-color-accent)}
.fee .btn{margin-top:var(--site-space-4)}
.fees--cards .fee{border:1px solid var(--site-color-line);border-radius:var(--site-radius-md);padding:var(--site-space-6);background:var(--site-color-surface)}
.fees--cards{gap:var(--site-space-6)}

/* Dated lists (insights, blog index) */
.dated{list-style:none}
.dated li{display:grid;gap:var(--site-space-1) var(--site-space-6);padding-block:var(--site-space-6);border-top:1px solid var(--site-color-line)}
@media (min-width:48rem){.dated li{grid-template-columns:9rem minmax(0,1fr)}.dated li>:not(time){grid-column:2}}
.dated time{font-size:var(--site-type-small-size);color:var(--site-color-ink-muted);font-variant-numeric:tabular-nums;padding-top:.3em}
.dated h3 a{color:var(--site-color-ink);text-decoration:none}
.dated h3 a:hover{text-decoration:underline}
.dated p{color:var(--site-color-ink-muted);max-width:62ch}

/* Testimonials */
.quotes{display:grid;gap:var(--site-space-8);list-style:none}
.quote blockquote{margin:0;padding-left:var(--site-space-6);border-left:3px solid var(--site-color-accent);font-family:var(--site-font-heading);font-size:var(--site-type-h3-size);line-height:1.45}
.quote figcaption{display:flex;align-items:center;gap:var(--site-space-3);margin-top:var(--site-space-4);padding-left:var(--site-space-6)}
.quote figcaption img{width:3rem;height:3rem;border-radius:50%;object-fit:cover}
.quote__name{font-weight:600}

/* FAQ */
.faq details{border-top:1px solid var(--site-color-line)}
.faq details:last-child{border-bottom:1px solid var(--site-color-line)}
.faq summary{display:flex;justify-content:space-between;gap:var(--site-space-4);padding-block:var(--site-space-4);cursor:pointer;list-style:none;font-weight:600;font-size:var(--site-type-h3-size);font-family:var(--site-font-heading);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:var(--site-font-body);color:var(--site-color-accent);font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq__a{padding-bottom:var(--site-space-6);max-width:66ch;color:var(--site-color-ink-muted)}

/* Pricing */
.plans{display:grid;gap:var(--site-space-6);list-style:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.plan{display:flex;flex-direction:column;gap:var(--site-space-3);padding:var(--site-space-8) var(--site-space-6);border:1px solid var(--site-color-line);border-radius:var(--site-radius-md);background:var(--site-color-surface)}
.plan--hi{border:2px solid var(--site-color-primary)}
.plan__flag{align-self:flex-start;font-size:var(--site-type-small-size);font-weight:600;color:var(--site-color-on-primary);background:var(--site-color-primary);padding:.1em .6em;border-radius:var(--site-radius-sm)}
.plan__price{font-family:var(--site-font-heading);font-size:var(--site-type-h2-size);line-height:1.1;font-variant-numeric:tabular-nums}
.plan__per{font-size:var(--site-type-small-size);color:var(--site-color-ink-muted);font-family:var(--site-font-body)}
.plan ul{list-style:none;display:grid;gap:var(--site-space-2);flex:1}
.plan li{display:flex;gap:var(--site-space-2)}
.plan li .icon{color:var(--site-color-accent);margin-top:.15em}
.plan .btn{margin-top:var(--site-space-4)}

/* Call to action */
.cta{padding-block:var(--site-section-y)}
.cta--harbor{background:var(--site-color-primary);color:var(--site-color-on-primary)}
.cta--lamp{background:var(--site-color-accent);color:var(--site-color-on-accent)}
.cta--slab{background:var(--site-color-ink);color:var(--site-color-surface)}
.cta h2{color:inherit;max-width:24ch}
.cta :focus-visible{outline-color:currentColor}
.cta__grid{display:grid;gap:var(--site-space-6);align-items:end}
@media (min-width:64rem){.cta__grid{grid-template-columns:minmax(0,2fr) auto}}
.cta__text{display:grid;gap:var(--site-space-3)}
.cta__text p{max-width:60ch}

/* Logos and credentials */
.logos{display:flex;flex-wrap:wrap;gap:var(--site-space-6) var(--site-space-12);list-style:none;align-items:flex-start}
.logo{display:grid;gap:var(--site-space-1);max-width:14rem}
.logo img{height:2.5rem;width:auto;max-width:12rem;object-fit:contain;object-position:left center}
.logo__name{font-family:var(--site-font-heading);font-weight:var(--site-heading-weight);font-size:var(--site-type-h3-size);line-height:1.2}

/* Location and hours */
.loc{display:grid;gap:var(--site-space-8)}
@media (min-width:48rem){.loc--map{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.loc>dl{display:grid;gap:var(--site-space-6);margin:0;align-content:start}
.loc dt{display:flex;align-items:center;gap:var(--site-space-2);font-weight:600}
.loc dt .icon{color:var(--site-color-accent)}
.loc__item>dd{margin:var(--site-space-1) 0 0 calc(1.15em + var(--site-space-2))}
.hours{display:grid;grid-template-columns:auto 1fr;gap:var(--site-space-1) var(--site-space-6);margin:0}
.hours dt{font-weight:400}
.hours dd{margin:0;font-variant-numeric:tabular-nums}

/* Image and text */
.it{display:grid;gap:var(--site-space-8);align-items:center}
@media (min-width:64rem){.it{grid-template-columns:repeat(12,minmax(0,1fr))}.it--left .it__media{grid-column:1/span 5}.it--left .it__text{grid-column:7/-1}.it--right .it__text{grid-column:1/span 6}.it--right .it__media{grid-column:8/-1}}
.it__text{display:grid;gap:var(--site-space-4)}

/* Steps */
.steps{list-style:none;counter-reset:step;display:grid;gap:var(--site-space-6)}
.step{counter-increment:step;display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:var(--site-space-1) var(--site-space-4)}
.step::before{content:counter(step);grid-row:span 2;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:2px solid var(--site-color-primary);border-radius:50%;font-weight:600;color:var(--site-color-primary-text);font-variant-numeric:tabular-nums}
.step h3{font-size:var(--site-type-h3-size);align-self:center}
.step p{color:var(--site-color-ink-muted)}
@media (min-width:64rem){.steps--horizontal{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.steps--horizontal .step{grid-template-columns:1fr}.steps--horizontal .step::before{grid-row:auto}}

/* Figures */
.stats{display:grid;gap:var(--site-space-6);list-style:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
.stat{border-top:2px solid var(--site-color-accent);padding-top:var(--site-space-3)}
.stat__value{font-family:var(--site-font-heading);font-size:var(--site-type-h1-size);line-height:1.05;font-weight:var(--site-heading-weight);font-variant-numeric:tabular-nums}
.stat__label{margin-top:var(--site-space-1);color:var(--site-color-ink-muted)}

/* Gallery */
.gal{list-style:none;display:grid;gap:var(--site-space-4)}
.gal figure{margin:0}
.gal figcaption{margin-top:var(--site-space-2)}
@media (min-width:40rem){.gal--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64rem){.gal--grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gal--grid img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:var(--site-radius-sm)}
.gal--masonry{display:block;columns:1;column-gap:var(--site-space-4)}
@media (min-width:40rem){.gal--masonry{columns:2}}
@media (min-width:64rem){.gal--masonry{columns:3}}
.gal--masonry li{break-inside:avoid;margin-bottom:var(--site-space-4)}
.gal--masonry img{width:100%;border-radius:var(--site-radius-sm)}
.gal--full{gap:var(--site-space-2)}
.gal__head{margin-bottom:var(--site-space-6)}
.gal--full img{width:100%;max-height:44rem;object-fit:cover}
.gal--full figcaption{width:min(100% - 2.5rem,var(--site-container));margin-inline:auto}
.gal--sequence{gap:var(--site-space-8);max-width:60rem;margin-inline:auto}
.gal--sequence img{width:100%;max-height:85vh;object-fit:contain;background:var(--site-color-surface-alt)}

/* Video: a poster that links out */
.video{margin:0;max-width:60rem}
.video a{position:relative;display:block;color:var(--site-color-on-primary);text-decoration:none}
.video img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--site-radius-sm)}
.video__play{position:absolute;left:var(--site-space-4);bottom:var(--site-space-4);display:inline-flex;align-items:center;gap:var(--site-space-2);padding:.5em 1em;background:var(--site-color-primary);color:var(--site-color-on-primary);border-radius:var(--site-radius-md);font-weight:600}
.video a:hover .video__play{background:var(--site-color-secondary);color:var(--site-color-on-secondary)}
.video figcaption{margin-top:var(--site-space-2)}

/* Shop */
.products{list-style:none;display:grid;gap:var(--site-space-8)}
.products--list .product{display:grid;grid-template-columns:6rem minmax(0,1fr) auto;gap:var(--site-space-4);align-items:center;border-top:1px solid var(--site-color-line);padding-top:var(--site-space-4)}
.products--list .product img{margin:0}
.product{display:grid;gap:var(--site-space-2);align-content:start}
.product__price{font-variant-numeric:tabular-nums;font-weight:600}

/* Forms */
.form{display:grid;gap:var(--site-space-4);max-width:40rem}
.form fieldset{border:0;margin:0;padding:0;display:grid;gap:var(--site-space-4);min-width:0}
.form__field{display:grid;gap:var(--site-space-1)}
.form label{font-weight:600}
.form__req{font-weight:400;color:var(--site-color-ink-muted);font-size:var(--site-type-small-size)}
.form input,.form textarea{width:100%;font:inherit;color:var(--site-color-ink);background:var(--site-color-surface);border:1px solid var(--site-color-ink-muted);border-radius:var(--site-radius-sm);padding:.6em .75em;min-height:2.75rem}
.form textarea{resize:vertical}
.form__note{padding:var(--site-space-3) var(--site-space-4);border-left:3px solid var(--site-color-accent);background:var(--site-color-surface)}
.form--closed input,.form--closed textarea{background:var(--site-color-surface-alt)}

/* Posts */
.post{padding-block:var(--site-section-y)}
.post__head{display:grid;gap:var(--site-space-3);max-width:46rem;margin-bottom:var(--site-space-8)}
.post__head h1{font-size:var(--site-type-display-size);line-height:var(--site-type-display-line)}
.post__lede{font-size:var(--site-type-h3-size);line-height:1.45;color:var(--site-color-ink-muted)}
.post__cover{margin-bottom:var(--site-space-8)}
.post__cover img{width:100%;max-height:36rem;object-fit:cover;border-radius:var(--site-radius-sm)}
.post__body{margin-inline:0}
.post__kicker{font-size:var(--site-type-small-size);line-height:var(--site-type-small-line);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--site-color-primary-text)}
.post .byline{padding-top:var(--site-space-3);border-top:1px solid var(--site-color-line)}
.post__body h2{font-size:calc((var(--site-type-h2-size) + var(--site-type-h3-size)) / 2);line-height:1.25}
.post__body .sjb-blog-callout{border-left:3px solid var(--site-color-accent);background:var(--site-color-surface-alt)}
.post__body .sjb-blog-cta{border:1px solid var(--site-color-line);border-top:3px solid var(--site-color-primary)}
.post__body .sjb-blog-faq{padding-top:var(--site-space-6);border-top:1px solid var(--site-color-line)}
.post__body .sjb-blog-table th{font-family:var(--site-font-heading)}
.post__sources h2{font-family:var(--site-font-heading)}
.blog .postcards li,.related .postcards li{display:grid;gap:var(--site-space-3) var(--site-space-6);padding-block:var(--site-space-6);border-top:1px solid var(--site-color-line)}
.blog .s__head{align-content:start}
@media (min-width:48rem){.blog .postcard,.related .postcard{grid-template-columns:minmax(0,1fr) 10rem}.postcard__media{order:2}}
.postcard__title{font-size:var(--site-type-h3-size);line-height:var(--site-type-h3-line)}
.postcard__media img{border-radius:var(--site-radius-sm)}
.nf h1{font-size:var(--site-type-display-size);line-height:var(--site-type-display-line)}
.nf .wrap{display:grid;gap:var(--site-space-4);justify-items:start}

@media (prefers-reduced-motion:no-preference){.btn,.hd__nav a,.video__play{transition:background-color .15s ease,border-color .15s ease,color .15s ease}}
@media print{.hd__nav,.skip,.hd__cta{display:none}}
