@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@theme inline{@keyframes accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } } @keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--accordion-panel-height,auto)); } to { height: 0; } }}@custom-variant data-open{&:where([data-state="open"]), &:where([data-open]:not([data-open="false"])) { @slot; }}@custom-variant data-closed{&:where([data-state="closed"]), &:where([data-closed]:not([data-closed="false"])) { @slot; }}@custom-variant data-checked{&:where([data-state="checked"]), &:where([data-checked]:not([data-checked="false"])) { @slot; }}@custom-variant data-unchecked{&:where([data-state="unchecked"]), &:where([data-unchecked]:not([data-unchecked="false"])) { @slot; }}@custom-variant data-selected{&:where([data-selected="true"]) { @slot; }}@custom-variant data-disabled{&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) { @slot; }}@custom-variant data-active{&:where([data-state="active"]), &:where([data-active]:not([data-active="false"])) { @slot; }}@custom-variant data-horizontal{&:where([data-orientation="horizontal"]) { @slot; }}@custom-variant data-vertical{&:where([data-orientation="vertical"]) { @slot; }}@utility no-scrollbar{-ms-overflow-style: none; scrollbar-width: none; &::-webkit-scrollbar { display: none; }}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@theme inline{@keyframes scroll-fade-reveal-t { from { --scroll-fade-t: 0px; } to { --scroll-fade-t: var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-b { from { --scroll-fade-b: var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-b: 0px; } } @keyframes scroll-fade-reveal-s { from { --scroll-fade-s: 0px; } to { --scroll-fade-s: var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } } @keyframes scroll-fade-reveal-e { from { --scroll-fade-e: var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); } to { --scroll-fade-e: 0px; } }}@utility scroll-fade{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-y{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-block: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-block)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y), scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-x{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-inline: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-inline: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); mask-image: var(--scroll-fade-mask,var(--scroll-fade-inline)); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline), scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-t{--_scroll-fade-size-t: var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-t 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-t: var(--_scroll-fade-size-t); }}@utility scroll-fade-b{--_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-b 1ms ease-in-out; animation-timeline: scroll(self y); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-b: var(--_scroll-fade-size-b); }}@utility scroll-fade-l{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-r{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self x); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-s{--_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-s 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: 0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)); animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-s: var(--_scroll-fade-size-s); }}@utility scroll-fade-e{--_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10)))); --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); &:where([dir="rtl"], [dir="rtl"] *) { --scroll-fade-mask: linear-gradient(to left, #000 0, #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%); } -webkit-mask-image: var(--scroll-fade-mask); mask-image: var(--scroll-fade-mask); -webkit-mask-composite: source-in; mask-composite: intersect; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; @supports (animation-timeline: scroll()) { animation: scroll-fade-reveal-e 1ms ease-in-out; animation-timeline: scroll(self inline); animation-range: calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%; animation-fill-mode: both; } @supports not (animation-timeline: scroll()) { --scroll-fade-e: var(--_scroll-fade-size-e); }}@utility scroll-fade-*{--scroll-fade-size: calc(var(--spacing) * --value(integer)); --scroll-fade-size: --value([length], [percentage]);}@utility scroll-fade-t-*{--scroll-fade-t-size: calc(var(--spacing) * --value(integer)); --scroll-fade-t-size: --value([length], [percentage]);}@utility scroll-fade-b-*{--scroll-fade-b-size: calc(var(--spacing) * --value(integer)); --scroll-fade-b-size: --value([length], [percentage]);}@utility scroll-fade-s-*{--scroll-fade-s-size: calc(var(--spacing) * --value(integer)); --scroll-fade-s-size: --value([length], [percentage]);}@utility scroll-fade-e-*{--scroll-fade-e-size: calc(var(--spacing) * --value(integer)); --scroll-fade-e-size: --value([length], [percentage]);}@utility scroll-fade-none{--scroll-fade-mask: none;}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@theme inline{@keyframes tw-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }}@utility shimmer{--_spread: var(--shimmer-spread,calc(3ch + 40px)); --_base: currentColor; --_highlight: var(--shimmer-color,oklch(from currentColor l c h / calc(alpha* .2))); background-image: var(--shimmer-image,linear-gradient(calc(90deg + var(--shimmer-angle)), var(--_base) calc(50% - var(--_spread)), color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * .5), var(--_highlight) 50%, color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * .5), var(--_base) calc(50% + var(--_spread)))); background-repeat: no-repeat; background-size: calc(200% + var(--_spread) * 2) 100%; background-position: 0 0; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: var(--shimmer-text-fill,transparent); animation: tw-shimmer var(--shimmer-duration,2s) linear infinite; @variant dark { --_highlight: var(--shimmer-color,oklch(from currentColor max(.8, calc(l + .4)) c h / calc(alpha + .4))); } &:where([dir="rtl"], [dir="rtl"] *) { animation-direction: reverse; }}@utility shimmer-once{animation-iteration-count: 1;}@utility shimmer-reverse{animation-direction: reverse;}@utility shimmer-none{--shimmer-image: none; --shimmer-text-fill: currentColor;}@utility shimmer-color-*{--shimmer-color: --value(--color, [color]); --shimmer-color: color-mix(in oklch, --value(--color, [color]) calc(--modifier(integer) * 1%), transparent);}@utility shimmer-duration-*{--shimmer-duration: calc(--value(integer) * 1ms);}@utility shimmer-spread-*{--shimmer-spread: calc(var(--spacing) * --value(integer)); --shimmer-spread: --value([length], [percentage]);}@utility shimmer-angle-*{--shimmer-angle: calc(--value(integer) * 1deg);}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}
@custom-variant dark (&:is(.dark *));@theme inline{--color-background:var(--background); --color-foreground:var(--foreground); --color-card:var(--card); --color-card-foreground:var(--foreground); --color-primary:var(--primary); --color-primary-foreground:var(--primary-foreground); --color-secondary:var(--secondary); --color-secondary-foreground:var(--foreground); --color-muted:var(--muted); --color-muted-foreground:var(--muted-foreground); --color-accent:var(--accent); --color-accent-foreground:var(--primary-foreground); --color-border:var(--border); --color-input:var(--border); --color-ring:var(--primary); --color-destructive:#b42318; --radius-sm:.3rem; --radius-md:.5rem; --radius-lg:.65rem; --radius-xl:.8rem;}:root{--background:#fff;--foreground:#20352f;--card:#fff;--primary:#24564b;--primary-foreground:#fff;--secondary:#eaf0ed;--muted:#f5f6f4;--muted-foreground:#596761;--accent:#24564b;--border:#dce3de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{color:var(--foreground);background:#edf0ed;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}main{background:var(--background);width:min(100%,1080px);margin-inline:auto}a{color:inherit;text-decoration:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline-offset:4px;outline:3px solid #b0653f}img{max-width:100%;display:block}svg{flex-shrink:0}.site-header{z-index:50;border-bottom:1px solid var(--border);background:#fffffff5;align-items:center;gap:24px;min-height:80px;padding:18px 44px;display:flex;position:sticky;top:0}.brand{letter-spacing:.1em;white-space:nowrap;font-size:1.1rem;font-weight:800}.brand span{color:var(--primary)}.desktop-nav{align-items:center;gap:20px;margin-left:auto;display:flex}.desktop-nav a{font-size:.875rem;font-weight:600}.desktop-nav a:hover,.text-link:hover{color:#a44e2e}.header-cta{border-radius:6px;min-height:40px}.menu-button,.mobile-nav{display:none}.hero{flex-direction:column;padding:0;display:flex}.hero-copy{width:100%;min-width:0;padding:40px 56px 56px}.hero-copy .lead{max-width:660px}.eyebrow,.section-kicker{color:var(--primary);letter-spacing:.04em;margin:0 0 14px;font-size:.875rem;font-weight:700}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{font-size:clamp(2.6rem,4.6vw,3.5rem);line-height:1.12}h1 em{color:var(--primary);font-style:normal}.lead{color:var(--muted-foreground);margin:24px 0;font-size:1.0625rem;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-actions a,.offer-card a,.inquiry-form button{white-space:normal;border-radius:6px;height:auto;min-height:44px;padding:10px 16px;font-size:.875rem}.hero-actions svg,.offer-card a svg,.inquiry-form button svg{width:17px}.scroll-hint{display:none}.hero-visual{width:100%;min-width:0}.portrait-wrap{overflow:hidden}.portrait-wrap img{aspect-ratio:1080/505;object-fit:cover;object-position:center bottom;width:100%;height:auto}.hero-copy blockquote{color:var(--muted-foreground);margin:24px 0 0;font:italic 1.25rem/1.5 Georgia,serif}.section,.section-dark,.inquiry{border-top:1px solid var(--border);padding:56px}.intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;display:grid}h2,.intro h2,.section-heading h2,.books h2,.awards h2,.inquiry h2{font-size:2.125rem;line-height:1.22}h2 br{display:none}.intro-text p,.books-copy>p:not(.section-kicker){color:var(--muted-foreground);margin:0 0 18px}.text-link{text-underline-offset:5px;align-items:center;gap:8px;font-size:.875rem;font-weight:700;text-decoration:underline;display:inline-flex}.text-link svg{width:16px}.section-dark{background:#f6f8f6}.section-heading{margin-bottom:28px}.section-kicker.light{color:var(--primary)}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.offer-card{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;min-width:0;padding:28px;display:flex}.offer-number{display:none}.offer-card>svg{width:26px;height:26px;color:var(--primary);margin-bottom:18px}.offer-card h3{min-height:4.4em;font-size:1.75rem;line-height:1.25}.offer-card p{color:var(--muted-foreground);margin:16px 0}.offer-card ul{gap:9px;margin:0 0 24px;padding:0;list-style:none;display:grid}.offer-card li{align-items:baseline;gap:8px;font-size:.9375rem;display:flex}.offer-card li svg{width:15px;height:15px;color:var(--primary)}.offer-card a{background:var(--primary);color:#fff;align-self:flex-start;margin-top:auto}.books{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:44px;display:grid}.book-covers{justify-content:center;align-items:center;gap:22px;padding:24px 0;display:flex}.book-covers img{width:calc(50% - 11px);height:auto;box-shadow:0 5px 14px #20352f18}.book-cover-link{width:calc(50% - 11px);display:block}.book-cover-link img{width:100%}.book-detail-link{text-underline-offset:4px;text-decoration:underline}.book-detail-link:hover{color:var(--primary)}.book-back{text-underline-offset:4px;margin-left:auto;font-size:.875rem;text-decoration:underline}.book-detail{padding:48px 56px 56px}.book-detail-heading{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:36px;max-width:720px;margin:0 auto 40px;display:grid}.book-detail-heading img{width:180px;height:auto;box-shadow:0 5px 14px #20352f18}.book-detail-heading h1{font-size:clamp(2rem,4vw,3rem)}.book-detail-heading h1 em{font-style:italic}.book-detail-text{max-width:720px;margin-inline:auto;font-size:1.0625rem;line-height:1.8}.book-detail-text p{margin:0 0 24px}.bio-portrait,.bio-detail section{margin-bottom:36px}.bio-detail h2{margin-bottom:18px;font-size:1.75rem}.bio-detail figure{margin:0}.bio-detail figure img{border-radius:6px;width:100%;height:auto}.bio-detail figcaption,.bio-attribution{color:var(--muted-foreground);margin-top:10px;font-size:.875rem;line-height:1.5}.bio-with-photo{grid-template-columns:minmax(0,1fr) 234px;align-items:start;gap:28px;display:grid}.bio-classroom{max-width:300px}.bio-detail p a{text-underline-offset:4px;text-decoration:underline}.bio-recognition{border-top:1px solid var(--border);padding-top:28px}.lead,.intro-text p,.offer-card p,.books-copy>p:not(.section-kicker),.inquiry-copy>p:not(.section-kicker),.book-detail-text p,.form-note{text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.books-copy>h2{margin-bottom:20px}.book-title{border-top:1px solid var(--border);gap:12px;padding:16px 0;display:flex}.book-title>span{color:var(--muted-foreground);font-size:.875rem}.book-title div{gap:5px;display:grid}.book-title strong{font-size:1rem;font-weight:600}.book-title small{color:var(--muted-foreground);font-size:.875rem}.awards{background:#fff}.award-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px;display:grid}.award-grid>a{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:20px;display:flex}.award-grid>a:hover strong{color:var(--primary);text-underline-offset:4px;text-decoration:underline}.award-detail-heading{max-width:720px;margin:0 auto 32px}.award-detail-heading h1{font-size:clamp(2rem,4vw,3rem)}.award-detail-text blockquote{border:0;margin:0 0 24px;padding:0}.award-detail-text p a{text-underline-offset:4px;text-decoration:underline}.award-grid svg{width:24px;height:24px;color:var(--primary)}.award-grid strong{font-size:1rem;font-weight:600;line-height:1.5}.award-grid span{color:var(--muted-foreground);margin-top:auto;font-size:.875rem}.inquiry{background:#f6f8f6;display:block}.inquiry-copy,.inquiry-form{max-width:660px;margin-inline:auto}.inquiry-copy>p:not(.section-kicker){color:var(--muted-foreground);margin:18px 0}.contact-points{flex-wrap:wrap;gap:12px 24px;margin:20px 0 28px;display:flex}.contact-points span{align-items:center;gap:8px;font-size:.875rem;display:flex}.contact-points svg{width:18px}.inquiry-form{border:1px solid var(--border);background:#fff;border-radius:8px;gap:20px;padding:28px;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.inquiry-form>div,.field-row>div{gap:8px;min-width:0;display:grid}.inquiry-form input,.inquiry-form textarea{background:#fff;width:100%;min-width:0;min-height:44px;font-size:1rem}.inquiry-form textarea{min-height:120px}.inquiry-form button{justify-self:start}.form-note{color:var(--muted-foreground);margin:0;font-size:.875rem}.sent-note{color:var(--primary);align-items:center;gap:8px;margin:0;display:flex}.sent-note svg{width:18px}footer{border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:32px 56px;display:flex}footer p{color:var(--muted-foreground);margin:0;font-size:.875rem}footer>div{flex-wrap:wrap;gap:16px;width:100%;font-size:.875rem;display:flex}footer small{color:var(--muted-foreground);font-size:.8125rem}@media (max-width:980px){.desktop-nav,.header-cta{display:none}.site-header{min-height:72px;padding:16px 32px}.menu-button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:flex}.mobile-nav{border-bottom:1px solid var(--border);background:#fff;flex-direction:column;gap:18px;padding:24px 32px;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-cta{color:var(--primary);font-weight:700}.section,.section-dark,.inquiry{padding:44px 32px}.hero-copy{padding:32px 32px 44px}.intro,.books{gap:32px}footer{padding:28px 32px}}@media (max-width:680px){.bio-with-photo{grid-template-columns:minmax(0,1fr)}.bio-with-photo figure{max-width:300px}.book-detail{padding:32px 24px}.book-detail-heading{grid-template-columns:minmax(0,1fr);gap:24px}.book-detail-heading img{width:160px}.book-back{text-align:right;max-width:160px}.site-header{padding:12px 20px}.section,.section-dark,.inquiry{padding:36px 24px}.hero-copy{padding:28px 24px 36px}.intro,.books{grid-template-columns:minmax(0,1fr);gap:28px}h1{font-size:2.6rem}h2,.intro h2,.section-heading h2,.books h2,.awards h2,.inquiry h2{font-size:1.875rem}.offer-grid,.award-grid,.field-row{grid-template-columns:minmax(0,1fr)}.offer-card{padding:24px}.offer-card h3{min-height:0;font-size:1.625rem}.book-covers{max-width:320px;margin-inline:auto}.inquiry-form{padding:20px}footer{padding:28px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
