:root{--paper:#fff;--ink:#20201e;--muted:#696965;--line:#deded9;--sage:#f4f4ef;--rust:#175d52;--orange:#175d52}body{background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}.wrap{width:min(1240px,calc(100% - 96px))}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-1.5px}h2{font-size:clamp(34px,3.5vw,49px);line-height:1.09}h3{font-size:27px;line-height:1.15;letter-spacing:-.8px}em{font-style:normal;color:var(--orange)}.header{position:static;background:#fff;backdrop-filter:none;padding:27px max(48px,calc((100% - 1240px)/2));max-width:none;border-bottom:1px solid var(--line);gap:24px}.modern-brand{font-size:30px;letter-spacing:-1.6px;font-weight:800;line-height:1.1}.modern-brand>span{display:block;font-size:8px;font-weight:400;letter-spacing:1.6px;margin-top:8px;color:var(--muted)}.header nav{font-size:13px;gap:28px}.button{border-radius:0;background:var(--orange);color:#fff;padding:16px 23px;font-size:14px;font-weight:600;justify-content:center;gap:10px}.button:hover{background:#10483f;transform:none}.button.small{padding:12px 20px}.text-link{font-size:14px}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:500;margin-bottom:20px}
.modern-hero{padding-block:54px 46px}.modern-hero .eyebrow{color:var(--muted)}.modern-hero h1{font-size:clamp(80px,12.5vw,172px);line-height:.96;letter-spacing:-9px;margin:32px 0 40px;font-weight:800}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-bottom>p{font-size:20px;line-height:1.5;margin:0;max-width:520px;color:#51514b}.hero-bottom .actions{margin:0;gap:25px}.modern-proof{padding:28px 0 35px;border-block:1px solid var(--line);display:grid;grid-template-columns:150px 1.4fr 1fr;gap:32px;align-items:center}.proof-photo.portrait-crop{aspect-ratio:740/900;border-radius:0;background:#f0ede6}.proof-photo.portrait-crop img{filter:saturate(.7)}.proof-intro h2{font-size:29px;line-height:1.17;letter-spacing:-.8px;margin-bottom:13px}.proof-intro .eyebrow{font-size:9px;color:var(--orange);margin-bottom:13px}.proof-intro>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:500px;color:var(--muted);margin:0}.proof-facts{padding-left:30px;border-left:1px solid var(--line)}.proof-facts>div{margin-bottom:18px}.proof-facts span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:5px}.proof-facts strong{font-size:15px;font-weight:500;line-height:1.4}.proof-facts .text-link{font-size:12px;color:var(--orange)}
.section{padding-block:65px}.section-head{align-items:flex-start;gap:70px;margin-bottom:32px}.section-head .eyebrow{color:var(--orange)}.section-head>p{font-size:15px;line-height:1.7;max-width:370px;padding-top:24px}.subject-grid{display:block}.subject-card,.subject-card.featured{background:transparent;border:0;border-top:1px solid var(--line);padding:27px 0;display:grid;grid-template-columns:70px 1.2fr 1.1fr;gap:8px 25px;align-items:start}.subject-symbol{grid-column:1;grid-row:1/5;height:auto;padding-top:4px;color:var(--orange)}.subject-symbol .line-icon{width:34px;height:34px}.subject-card .eyebrow{grid-column:2;grid-row:1;font-size:9px;margin:0;color:var(--muted)}.subject-card h3{grid-column:2;grid-row:2;margin:3px 0 10px;font-size:29px}.subject-card p:not(.eyebrow){grid-column:2;grid-row:3;font-size:14px;line-height:1.7;min-height:0;max-width:440px;margin:0 0 14px}.subject-card ul{grid-column:3;grid-row:1/5;margin:0;font-size:14px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-top:0}.subject-card li{padding:10px 0;border-color:var(--line)}.subject-card li:before{content:none}.subject-card>a{grid-column:2;grid-row:4;font-size:12px;color:var(--orange);border:0;padding:0;justify-content:flex-start}.subject-note{font-size:13px;line-height:1.7;border-top:1px solid var(--line);padding-top:20px;margin-top:0;max-width:none}.inline-contact{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:26px;padding:25px;background:#f4f4ef;border:0}.inline-contact strong{font:600 23px/1.3 Arial,sans-serif;letter-spacing:-.5px}.inline-contact p{font-size:14px;max-width:620px;color:var(--muted);margin:7px 0 0}.inline-contact .contact-actions{display:flex;gap:23px;align-items:center;flex-shrink:0}.inline-contact .text-link{font-size:13px}
.demo-section{background:#20201e;color:#fff;padding-block:65px}.demo-section .eyebrow{color:#b3d8cf}.demo-section .section-head>p{color:#bbbcb5}.demo-section em{color:#8bc6b7}.example-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:1px solid #60605a}.example-tabs button{appearance:none;border:1px solid #60605a;border-bottom:0;background:transparent;color:#dddeda;font-size:15px;padding:18px 25px;cursor:pointer;flex:1;text-align:left}.example-tabs button+button{border-left:0}.example-tabs button span{font-size:10px;color:#a2a29a;margin-right:12px}.example-tabs button[aria-selected=true]{background:#fff;color:var(--ink);border-color:#fff}.example-tabs button[aria-selected=true] span{color:var(--orange)}.example-tabs button:hover{color:#b3d8cf}.concept-cards{display:block}.concept-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;color:var(--ink);border:0;border-radius:0;box-shadow:none;align-items:stretch}.concept-card[hidden]{display:none!important}.concept-copy{padding:38px 34px}.concept-copy .eyebrow{font-size:10px;color:var(--orange)!important}.concept-copy h3{font-size:36px;line-height:1.07;min-height:0;max-width:420px}.concept-copy p:not(.eyebrow){font-size:16px;line-height:1.75;min-height:0}.concept-copy .equation{font-size:26px}.concept-copy .equation.advanced{font-size:21px;color:var(--orange)}.concept-card .demo-panel{padding:28px 32px;border-left:1px solid var(--line);border-top:0}.concept-card .demo-heading{font-size:10px;letter-spacing:.2px}.concept-card .demo-heading output{font-size:13px;color:var(--orange)}.concept-card canvas{max-height:300px;object-fit:contain;margin-block:5px 12px}.concept-card #graph{max-height:280px}.range-label{font-size:13px}.concept-question{grid-column:1/-1;background:#f4f4ef;color:var(--ink);font:15px/1.7 Arial,sans-serif;padding:20px 32px;border-color:var(--line)}.slice-result{background:#f4f4ef;border-color:var(--orange)}.slice-result p{font-size:13px}.field-readings{grid-template-columns:1fr 1fr}.field-readings>div{background:#f4f4ef}.field-readings span{font-size:9px}.physics-note{font-size:12px!important;line-height:1.7}input[type=range]{accent-color:var(--orange)}.demo-section .inline-contact{background:#31312d;color:#fff}.demo-section .inline-contact p{color:#c2c3bc}.demo-section .inline-contact .text-link{color:#b3d8cf}
.steps{gap:35px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font:700 48px/1 Arial,sans-serif;letter-spacing:-2px;color:var(--orange);display:block;margin-bottom:23px}.steps article p{font-size:15px;line-height:1.8}.steps h3{font-size:25px}.rate-note{background:#f4f4ef;border:0;gap:30px;padding:28px;grid-template-columns:1fr 1.6fr}.rate-note strong{font:600 25px/1.25 Arial,sans-serif;letter-spacing:-.7px}.rate-note p{font-size:14px;line-height:1.8}.about-section{padding-block:65px;background:#f4f4ef}.about-grid{display:block}.about-copy{display:grid;grid-template-columns:1fr 1.2fr;gap:10px 80px}.about-copy>.eyebrow{grid-column:1;grid-row:1;color:var(--orange)}.about-copy h2{grid-column:1;grid-row:2/5;font-size:44px;line-height:1.08}.about-copy>p:not(.eyebrow){grid-column:2;font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:12px}.about-quote{grid-column:2;font:600 20px/1.5 Arial,sans-serif;letter-spacing:-.4px;border-left:3px solid var(--orange);padding-left:22px;margin:15px 0}.about-copy>.text-link{grid-column:2;justify-self:start;font-size:13px}.faq-grid{gap:70px}.faq-intro{font-size:15px}.faqs summary{font-size:15px;padding-block:21px;font-weight:600}.faqs details p{font-size:14px;line-height:1.8}
.contact-section{background:#175d52;color:#fff;padding-block:65px}.contact-section .eyebrow{color:#cae6de}.contact-section em{color:#fff}.contact-section h2{font-size:clamp(40px,4.5vw,62px);line-height:1.05;letter-spacing:-2px}.contact-section p:not(.eyebrow){color:#d4eae4;font-size:15px;line-height:1.8}.contact-grid{grid-template-columns:1fr 1fr;gap:90px}.phone,.email-contact{border-color:#82b3a6}.contact-methods{font-size:14px}.contact-section form{background:#fff;color:var(--ink);padding:30px;border:0}.contact-section form h3{font-size:28px}.contact-section form label{color:var(--ink);font-size:13px}.contact-section form label span{color:var(--muted)}.contact-section form input,.contact-section form select,.contact-section form textarea{background:#f6f6f2;color:var(--ink);border:1px solid var(--line);border-radius:0;font-size:16px;padding:12px;margin-bottom:17px}.contact-section form input::placeholder,.contact-section form textarea::placeholder{color:#888880}.contact-section .button.light{background:var(--ink);color:#fff;width:100%}.contact-section .text-alternative{color:var(--orange);font-size:13px}.contact-section form .form-note{font-size:12px;color:var(--muted);max-width:none}.footer{padding-block:32px}.footer p{font-size:13px}.footer small{font-size:11px}
@media(max-width:900px){.modern-proof{grid-template-columns:120px 1fr;gap:26px}.proof-facts{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;display:flex;gap:30px;align-items:center;justify-content:space-between}.proof-facts>div{margin:0}.modern-hero h1{font-size:clamp(80px,13vw,135px);letter-spacing:-5px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:23px}.about-copy{gap:15px 40px}.subject-card{grid-template-columns:45px 1.1fr 1fr;gap:8px 20px}.subject-card ul{grid-template-columns:1fr}.concept-copy{padding:28px}.concept-copy h3{font-size:30px}.concept-card .demo-panel{padding:24px}.inline-contact{align-items:flex-start;flex-direction:column;gap:20px}.contact-grid{gap:40px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.header{padding:19px 20px}.modern-brand{font-size:25px}.modern-brand>span{font-size:7px}.header nav>a:not(.button){display:none}.header .button{font-size:12px;padding:11px 15px}.modern-hero{padding-block:36px}.modern-hero h1{font-size:clamp(62px,14.2vw,89px);line-height:1.04;letter-spacing:-3.5px;margin:24px 0 29px}.modern-hero .eyebrow{font-size:8px;letter-spacing:.8px}.hero-bottom>p{font-size:17px}.hero-bottom .actions{gap:19px}.hero-bottom .button{padding:14px 17px;font-size:13px}.hero-bottom .text-link{font-size:12px}.modern-proof{grid-template-columns:96px 1fr;gap:20px;padding-block:23px}.proof-intro h2{font-size:23px}.proof-intro .eyebrow{font-size:8px}.proof-intro>p:not(.eyebrow){font-size:12px}.proof-facts{display:grid;grid-template-columns:1fr 1fr;gap:17px}.proof-facts .text-link{grid-column:1/-1;justify-self:start}.proof-facts strong{font-size:13px}.proof-facts span{font-size:7px}.section{padding-block:42px}.section-head{display:block;margin-bottom:26px}.section-head>p{padding-top:14px;max-width:600px;font-size:14px}.section-head h2{font-size:35px}.subject-card{grid-template-columns:40px 1fr;gap:8px 15px;padding-block:23px}.subject-card ul{grid-column:2;grid-row:4;grid-template-columns:1fr 1fr;font-size:12px;gap:0 17px;margin-bottom:12px}.subject-card>a{grid-row:5}.subject-card h3{font-size:26px}.subject-card p:not(.eyebrow){font-size:14px}.subject-card .eyebrow{font-size:8px}.subject-symbol .line-icon{width:28px;height:28px}.subject-note{font-size:12px}.inline-contact{padding:22px;gap:18px}.inline-contact strong{font-size:22px}.inline-contact p{font-size:13px}.inline-contact .contact-actions{gap:21px}.inline-contact .button{font-size:13px;padding:12px 17px}.demo-section{padding-block:42px}.example-tabs button{padding:14px 9px;font-size:11px;text-align:center}.example-tabs button span{display:block;margin:0 0 4px;font-size:8px}.concept-card{display:block}.concept-copy{padding:25px}.concept-copy h3{font-size:30px}.concept-copy p:not(.eyebrow){font-size:14px}.concept-copy .equation{font-size:23px}.concept-card .demo-panel{border-left:0;border-top:1px solid var(--line);padding:23px}.concept-question{padding:19px 24px;font-size:14px}.steps{grid-template-columns:1fr;gap:27px}.steps article>span{font-size:38px;margin-bottom:17px}.rate-note{grid-template-columns:1fr;gap:15px}.about-section{padding-block:42px}.about-copy{display:block}.about-copy h2{font-size:35px}.about-copy p:not(.eyebrow){font-size:15px}.faq-grid{grid-template-columns:1fr;gap:20px}.contact-section{padding-block:42px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-section h2{font-size:43px}.contact-section form{padding:24px}.footer{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:30px}.footer p{margin:0}}
/* Refined portrait and a clear contact shortcut. */
.modern-proof{grid-template-columns:210px 1.35fr 1fr;gap:36px;padding-block:32px}.proof-photo.portrait-crop{aspect-ratio:740/900;overflow:hidden;border-radius:3px;background:#e7ece7}.proof-photo.portrait-crop img{position:absolute;max-width:none;width:168.428571%;height:auto;left:-35.714286%;top:-15.555556%;filter:saturate(.9);border-radius:0;object-fit:initial}.proof-intro h2{font-size:31px;line-height:1.18}.proof-intro>p:not(.eyebrow){font-size:15px;line-height:1.75}.proof-facts strong{font-size:15px}.header .header-contact{font-size:14px;padding:14px 23px;min-height:49px;box-shadow:0 3px 0 #103d35}.header .header-contact:hover{background:#10483f}.example-tabs button:hover{color:#a9d8ca}.contact-section .contact-methods a:hover,.contact-section .email-contact:hover{color:#fff}.contact-section form .text-alternative:hover{color:#103d35}.subject-card>a:hover{color:#10483f}.modern-hero .eyebrow{font-size:11px}.modern-hero h1{margin-top:26px;margin-bottom:32px}.modern-hero{padding-block:45px 40px}
@media(max-width:1000px){.modern-proof{grid-template-columns:180px 1fr;gap:28px}.proof-facts{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:21px 0 0;display:flex;gap:25px;align-items:center;justify-content:space-between}.proof-facts>div{margin:0}.proof-intro h2{font-size:30px}}
@media(max-width:640px){.modern-proof{grid-template-columns:132px 1fr;gap:21px;padding-block:27px}.proof-intro h2{font-size:23px;line-height:1.2}.proof-intro>p:not(.eyebrow){font-size:13px;line-height:1.7}.proof-intro .eyebrow{font-size:8px}.proof-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.proof-facts .text-link{grid-column:1/-1;justify-self:start}.proof-facts strong{font-size:13px}.header .header-contact{font-size:12px;padding:12px 15px;min-height:44px}.modern-hero .eyebrow{font-size:8px}.modern-hero{padding-block:33px}.modern-hero h1{margin:23px 0 27px}}
@media(max-width:360px){.modern-proof{grid-template-columns:112px 1fr;gap:17px}.proof-intro h2{font-size:21px}.header{padding-inline:16px}.header .header-contact{padding-inline:12px}.modern-brand{font-size:23px}}
/* Clear example navigation and restrained movement. */
.example-picker-label{font-size:11px;letter-spacing:1.4px;color:#bddbd2;margin:0 0 15px;font-weight:600}.example-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border:0;margin-bottom:20px}.example-tabs button,.example-tabs button+button{border:2px solid #b3d8cf;background:#eef6f2;color:#204c41;padding:17px 18px;text-align:left;font-weight:600;min-height:67px;transition:background .18s,border-color .18s,transform .18s}.example-tabs button span{color:#618d7f;font-size:10px;display:block;margin:0 0 4px}.example-tabs button[aria-selected=true]{background:#175d52;color:#fff;border-color:#8bc6b7;box-shadow:inset 0 -4px 0 #a8d5c6}.example-tabs button[aria-selected=true] span{color:#bde4d7}.example-tabs button:hover{color:#103d35;background:#dceee5;border-color:#fff;transform:translateY(-2px)}.example-tabs button[aria-selected=true]:hover{background:#10483f;color:#fff}.example-tabs button:focus-visible{outline:3px solid #fff;outline-offset:4px}.projectile-readings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.projectile-readings>div{background:#eef4ef;padding:12px}.projectile-readings span{display:block;font-size:9px;letter-spacing:.6px;color:#617269}.projectile-readings strong{display:block;font-size:17px;line-height:1.4;margin-top:5px;font-weight:600}.projectile-launch{margin-top:18px;padding:12px 22px;background:#175d52;color:#fff}.projectile-status{display:block;font-size:12px;line-height:1.6;margin-top:12px;color:var(--muted)}.concept-card:not([hidden]){animation:panel-arrive .35s ease-out}.gentle-enter{animation:content-arrive .65s ease-out both}.modern-hero h1{animation:content-arrive .6s ease-out}.button{transition:background .18s,transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px)}.proof-photo img{transition:filter .25s}.proof-photo:hover img{filter:saturate(1)}
@keyframes content-arrive{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes panel-arrive{from{opacity:.45;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:640px){.example-tabs{grid-template-columns:1fr 1fr;gap:9px}.example-tabs button{font-size:13px;padding:13px 15px;text-align:left;min-height:64px}.example-tabs button span{display:block;margin:0 0 4px}.projectile-readings{gap:7px}.projectile-readings>div{padding:10px 8px}.projectile-readings strong{font-size:14px}.projectile-readings span{font-size:8px}.example-picker-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.concept-card:not([hidden]),.gentle-enter,.modern-hero h1{animation:none!important}.button:hover,.example-tabs button:hover{transform:none}*{transition:none!important}}

/* A considered navigation rhythm with clear, quiet interaction states. */
.header nav{gap:8px;font-size:14px;line-height:1.4}
.header nav>a:not(.button){position:relative;padding:13px 16px;font-weight:500;color:#51514b;border-radius:4px;transition:color .18s,background .18s}
.header nav>a:not(.button)::after{content:"";position:absolute;left:16px;right:16px;bottom:7px;height:2px;background:#175d52;transform:scaleX(0);transform-origin:left;transition:transform .18s}
.header nav>a:not(.button):hover{color:#175d52;background:#eef5f2}
.header nav>a:not(.button):hover::after,.header nav>a:not(.button):focus-visible::after{transform:scaleX(1)}
.header nav>a:focus-visible{outline:2px solid #175d52;outline-offset:4px}
.header .header-contact{margin-left:16px;border-radius:4px;box-shadow:0 2px 0 #103d35}
@media(max-width:1000px){.header{padding-inline:30px}.header nav{gap:2px}.header nav>a:not(.button){padding-inline:11px}.header nav>a:not(.button)::after{left:11px;right:11px}.header .header-contact{margin-left:8px}}
@media(max-width:640px){.header{padding-inline:20px}.header .header-contact{margin-left:0}}
@media(prefers-reduced-motion:reduce){.header nav>a:not(.button),.header nav>a:not(.button)::after{transition:none}}

/* Underlined navigation with a quiet resting state and teal interaction. */
.header nav>a:not(.button){background:transparent;border:0;color:#34453f;font-weight:600;padding:12px 16px;border-radius:0}
.header nav>a:not(.button):hover{background:transparent;color:#175d52}
.header nav>a:not(.button)::after{content:"";background:#b5c5bd;height:1px;bottom:4px;transform:scaleX(1);transition:background .18s,height .18s}
.header nav>a:not(.button):hover::after,.header nav>a:not(.button):focus-visible::after{background:#175d52;height:2px}
.slice-presets{display:flex;gap:8px;margin:18px 0 12px;flex-wrap:wrap}
.slice-presets button{flex:1;min-height:44px;padding:10px 8px;border:1px solid #bccfc6;border-radius:4px;background:#fff;color:#254c40;font:600 13px Arial,sans-serif;cursor:pointer}
.slice-presets button[aria-pressed=true]{background:#175d52;color:#fff;border-color:#175d52}
.slice-presets button:hover{box-shadow:inset 0 0 0 1px #175d52}
.slice-presets button:focus-visible{outline:2px solid #175d52;outline-offset:3px}
.slice-result{padding:17px 18px;background:#f0f5f2;border:1px solid #d5e2da;border-radius:4px}
.slice-profile-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.slice-profile-heading span{font-size:11px;letter-spacing:.7px;color:#516d60}
.slice-profile-heading strong{font-size:16px}
#slice-profile{display:block;width:100%;height:auto;max-height:155px;margin:7px 0}
.concept-card #surface-canvas{max-height:340px}
.concept-card #projectile-canvas{width:100%;height:auto;max-height:none;display:block}
.projectile-launch{min-height:48px;touch-action:manipulation}
@media(max-width:640px){.slice-presets button{font-size:12px}.slice-profile-heading{flex-wrap:wrap}.concept-card #surface-canvas{max-height:none;width:100%;height:auto}}

/* Consistent, tactile feedback for calls to action and lesson controls. */
.button,.example-tabs button,.slice-presets button,.text-link,.subject-card>a,.text-alternative,.contact-methods a,.header nav>a:not(.button),.faqs summary{transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;touch-action:manipulation;-webkit-tap-highlight-color:rgba(23,93,82,.12)}
.text-link{position:relative;border-bottom:0;padding-bottom:6px;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:100% 1px}
.text-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.text-link:focus-visible::after{transform:scaleX(1)}
:is(.button,.example-tabs button,.slice-presets button,.text-link,.subject-card>a,.text-alternative,.contact-methods a,.header nav>a:not(.button),.faqs summary):active{transform:translateY(1px) scale(.97);transition-duration:.08s}
:is(.button,.text-link,.subject-card>a,.text-alternative,.contact-methods a,.faqs summary):focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(16,61,53,.17)}
 .header .header-contact:hover{box-shadow:0 5px 0 #103d35;transform:translateY(-3px)}
 .text-link:hover{transform:translateY(-2px)}
 .text-link:hover::after{transform:scaleX(1)}
 .subject-card>a:hover,.text-alternative:hover,.contact-methods a:hover{transform:translateX(3px)}
 .slice-presets button:hover{transform:translateY(-2px)}
 .header nav>a:not(.button):hover{transform:translateY(-2px)}
 :is(.button,.example-tabs button,.slice-presets button,.text-link,.subject-card>a,.text-alternative,.contact-methods a,.header nav>a:not(.button),.faqs summary):active{transform:translateY(1px) scale(.97)}
}
@media(prefers-reduced-motion:reduce){
 .button,.example-tabs button,.slice-presets button,.text-link,.text-link::after,.subject-card>a,.text-alternative,.contact-methods a,.header nav>a:not(.button),.faqs summary{transition:none!important}
 :is(.button,.example-tabs button,.slice-presets button,.text-link,.subject-card>a,.text-alternative,.contact-methods a,.header nav>a:not(.button),.faqs summary):is(:hover,:active){transform:none!important}
}

/* Paired actions share one alignment line and comfortable hit areas. */
.header nav{align-items:center}
.header nav>a:not(.button){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:49px;line-height:20px;padding-block:0}
.header .header-contact{box-sizing:border-box;min-height:49px;line-height:20px;margin-top:0;padding-block:0}
.hero-bottom .actions,.inline-contact .contact-actions{display:flex;align-items:stretch;gap:24px}
.hero-bottom .actions>a,.inline-contact .contact-actions>a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:54px;line-height:20px;margin:0;text-align:center}
.hero-bottom .actions>.text-link,.inline-contact .contact-actions>.text-link{padding:16px 4px;background-image:none}
.hero-bottom .actions>.text-link::after,.inline-contact .contact-actions>.text-link::after{bottom:9px;height:1px;transform:scaleX(1);background:#a9bbb1}
@media(hover:hover) and (pointer:fine){.hero-bottom .actions>.text-link:hover::after,.inline-contact .contact-actions>.text-link:hover::after{height:2px;background:currentColor}}
.demo-section .inline-contact .contact-actions>.text-link::after{background:#8eb6a8}
@media(max-width:640px){
 .header nav>a:not(.button){display:none}
 .header .header-contact{min-height:44px}
 .hero-bottom .actions,.inline-contact .contact-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;width:100%}
 .hero-bottom .actions>a,.inline-contact .contact-actions>a{width:100%;min-height:56px;line-height:1.4;padding-inline:10px}
 .hero-bottom .actions>.text-link,.inline-contact .contact-actions>.text-link{padding-block:14px}
}

/* Align the hero action edge with the header contact edge. */
.hero-bottom .actions{justify-content:flex-start;margin:0;max-width:100%}
@media(min-width:901px){
 .hero-bottom{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:48px}
 .hero-bottom .actions{width:auto;justify-self:end;align-self:center;flex-wrap:wrap}
 .hero-bottom .actions>.text-link{padding-inline:0}
}

@media(min-width:641px){.header{padding-inline:max(48px,calc((100% - 1240px)/2))}}
/* A concise referral offer beside the pricing information. */
.referral-offer{margin-top:20px;padding:26px 28px;border:1px solid #b9d5c8;border-left:4px solid #175d52;background:#f0f7f3;border-radius:4px}
.referral-offer .eyebrow{color:#175d52;font-size:11px;margin:0 0 10px}
.referral-offer h3{font-size:25px;letter-spacing:-.5px;margin:0 0 10px;line-height:1.25}
.referral-offer>p:not(.eyebrow){font-size:16px;margin:0 0 12px;line-height:1.65;color:#3c5047}
.referral-offer strong{font-weight:600;color:#175d52}
.referral-offer small{display:block;font-size:12px;line-height:1.6;color:#586d62}
.referral-offer small a{text-decoration:underline;text-underline-offset:3px}
.referral-offer small a:hover{color:#175d52}
.referral-offer small a:focus-visible{outline:2px solid #175d52;outline-offset:3px}
@media(max-width:640px){.referral-offer{padding:23px 22px}.referral-offer h3{font-size:23px}}
/* Stable, generous FAQ hit areas and smooth disclosure indicators. */
.faqs summary{display:block;width:100%;padding-right:48px;min-height:66px;user-select:none}
.faqs summary::after{content:'+';top:50%;right:12px;line-height:1;transform:translateY(-50%);transition:transform .26s ease;color:var(--orange)}
.faqs details[open] summary::after{content:'+';transform:translateY(-50%) rotate(45deg)}
.faqs summary:active{transform:none}
.faq-answer{display:flow-root}
.faqs .faq-answer p{margin-top:0;padding-right:28px}
/* Contact links feel as responsive as the main buttons. */
.phone,.email-contact{position:relative;transition:transform .2s ease,color .2s ease,border-color .2s ease}
.phone::after,.email-contact::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.phone:focus-visible,.email-contact:focus-visible{outline:2px solid currentColor;outline-offset:6px}
@media(hover:hover) and (pointer:fine){.phone:hover,.email-contact:hover{transform:translateX(4px);border-color:#fff}.phone:hover::after,.email-contact:hover::after{transform:scaleX(1)}}
.phone:active,.email-contact:active{transform:translateY(1px)}
.inquiry-channels{border:0;padding:0;margin:5px 0 0;min-width:0}
.inquiry-channels legend{font-size:13px;font-weight:600;margin-bottom:12px}
.channel-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.contact-section .channel-buttons .button{margin:0;padding:13px 7px;min-height:48px;justify-content:center;gap:0;font-size:13px;border-radius:3px}
.contact-section .channel-buttons .button:not(:first-child){background:#edf3f0;color:#175d52;border:1px solid #c8d9d1}
@media(hover:hover) and (pointer:fine){.contact-section .channel-buttons .button:not(:first-child):hover{background:#dae9e2}}
@media(prefers-reduced-motion:reduce){.phone,.email-contact,.phone::after,.email-contact::after,.faqs summary::after{transition:none!important}.phone:is(:hover,:active),.email-contact:is(:hover,:active){transform:none}}
/* CSS grid keeps the answer in the layout throughout the animation. */
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-question{margin:0;font:inherit;letter-spacing:normal;text-wrap:wrap}
.faq-question button{position:relative;display:block;width:100%;min-height:68px;padding:22px 48px 22px 0;border:0;background:transparent;color:var(--ink);font-size:15px;font-weight:600;line-height:1.55;text-align:left;cursor:pointer;touch-action:manipulation}
.faq-question button:hover{color:var(--orange)}
.faq-mark{position:absolute;right:12px;top:50%;width:16px;height:16px;transform:translateY(-50%) rotate(0);transition:transform .32s ease}
.faq-mark::before,.faq-mark::after{content:'';position:absolute;top:7px;left:0;width:16px;height:2px;background:currentColor;border-radius:1px}
.faq-mark::after{transform:rotate(90deg)}
.is-open .faq-mark{transform:translateY(-50%) rotate(45deg)}
.faq-panel{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows .32s ease,opacity .24s ease,visibility 0s .32s}
.is-open .faq-panel{grid-template-rows:1fr;visibility:visible;opacity:1;transition:grid-template-rows .32s ease,opacity .24s ease,visibility 0s}
.faq-clip{min-height:0;overflow:hidden}
.faq-answer{display:flow-root}
.faqs .faq-answer p{font-size:14px;line-height:1.8;margin:0;padding:0 28px 24px 0;color:var(--muted);max-width:65ch}
@media(prefers-reduced-motion:reduce){.faq-panel,.faq-mark{transition:none!important}}

/* One height timeline avoids grid/opacity/visibility animations competing. */
.faq-panel,.is-open .faq-panel{display:block;grid-template-rows:none;visibility:visible;opacity:1;overflow:hidden;height:0;transition:none!important}
.is-open .faq-panel{height:auto}
.faq-panel .faq-clip{overflow:visible}

/* Desktop scroll anchoring must not counteract the accordion expansion. */
@media(hover:hover) and (pointer:fine){html{overflow-anchor:none}.faq-grid,.faq-item,.faq-panel{overflow-anchor:none}}

.faq-grid{align-items:start}

/* A compact referral reminder at the point of contact. */
.referral-reminder{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:28px;margin-bottom:30px;border-top:1px solid #bfd3c9;border-bottom:1px solid #bfd3c9}
.referral-reminder .eyebrow{font-size:10px;color:var(--orange);margin:0 0 7px}
.referral-reminder h3{font:600 28px/1.2 Arial,sans-serif;letter-spacing:-.6px;margin:0 0 10px}
.referral-reminder p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 7px;max-width:62ch}
.referral-reminder small{font-size:11px;color:var(--muted)}
.referral-reminder>.text-link{white-space:nowrap;flex-shrink:0;color:var(--orange)}
.contact-section .referral-contact-note{margin-top:24px;padding-top:16px;border-top:1px solid #699a8c;font-size:12px!important;line-height:1.7;max-width:36ch}
@media(max-width:640px){.referral-reminder{align-items:flex-start;flex-direction:column;gap:17px;padding-block:23px;margin-bottom:24px}.referral-reminder h3{font-size:25px}}
