:root{
  --feature-ink:#111827;
  --feature-muted:#526070;
  --feature-gold:#c5a662;
  --feature-gold-dark:#9b7d3d;
  --feature-surface:#ffffff;
  --feature-soft:#f3f4f6;
  --feature-border:rgba(17,24,39,0.12);
}

.feature-site-page{
  background:#ffffff;
  color:var(--feature-ink);
}

.feature-site-page .site-footer{
  margin-top:0;
}

.feature-shell{
  width:min(1160px, calc(100% - 40px));
  margin:0 auto;
}

.feature-hub-hero,
.feature-detail-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 20%, rgba(197,166,98,0.42), transparent 36%),
    linear-gradient(145deg, #000000 0%, #080706 58%, #6f5a2f 100%);
  color:#ffffff;
}

.feature-hub-hero::after,
.feature-detail-hero::after{
  content:"";
  position:absolute;
  inset:auto -12% -55% 35%;
  height:420px;
  border-radius:50%;
  background:rgba(255,255,255,0.05);
  transform:rotate(-8deg);
  pointer-events:none;
}

.feature-hub-hero__inner{
  position:relative;
  z-index:1;
  max-width:820px;
  padding:clamp(72px, 10vw, 126px) 0;
}

.feature-eyebrow,
.feature-section-label,
.feature-card__eyebrow{
  margin:0 0 14px;
  color:var(--feature-gold);
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.feature-hub-hero h1,
.feature-detail-hero h1{
  margin:0;
  max-width:900px;
  color:#ffffff;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(2.4rem, 5vw, 4.6rem);
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.08;
}

.feature-lede{
  max-width:760px;
  margin:24px 0 30px;
  color:#ffffff;
  font-size:clamp(1.05rem, 2vw, 1.28rem);
  font-weight:500;
  line-height:1.7;
}

.feature-button{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border:1px solid transparent;
  border-radius:9px;
  font-weight:700;
  text-decoration:none;
  transition:transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.feature-button:hover{
  transform:translateY(-1px);
}

.feature-button--primary{
  background:var(--feature-gold);
  color:#111827;
}

.feature-button--primary:hover{
  background:#d7bd82;
  color:#111827;
}

.feature-button--secondary{
  border-color:rgba(255,255,255,0.45);
  color:#ffffff;
  background:rgba(255,255,255,0.06);
}

.feature-button--secondary:hover{
  border-color:#ffffff;
  color:#ffffff;
  background:rgba(255,255,255,0.12);
}

.feature-hub-grid-section{
  padding:clamp(56px, 8vw, 96px) 0;
  background:#f7f7f8;
}

.feature-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  column-gap:28px;
  row-gap:64px;
}

.feature-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.feature-card__media{
  display:flex;
  aspect-ratio:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  overflow:hidden;
  border:1px solid rgba(17,24,39,0.06);
  border-radius:0;
  background:#ffffff;
  box-shadow:0 14px 34px rgba(17,24,39,0.08);
  color:#111827;
  text-align:center;
  text-decoration:none;
  transition:transform 180ms ease, box-shadow 180ms ease;
}

.feature-card__media i{
  color:#c5a662;
  font-size:clamp(3.5rem, 5vw, 5rem);
  line-height:1;
}

.feature-card__media span{
  max-width:85%;
  font-size:clamp(1.05rem, 1.4vw, 1.3rem);
  font-weight:700;
  letter-spacing:0.035em;
  line-height:1.2;
  text-transform:uppercase;
}

.feature-card__media:hover{
  color:#111827;
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(17,24,39,0.12);
}

.feature-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:22px 0 0;
}

.feature-card__body h2{
  margin:0 0 18px;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(1.3rem, 1.8vw, 1.65rem);
  font-weight:500;
  letter-spacing:-0.025em;
  line-height:1.25;
}

.feature-card__body h2 a{
  color:var(--feature-ink);
  text-decoration:none;
}

.feature-card__body p:not(.feature-card__eyebrow){
  margin:0 0 26px;
  color:#30343b;
  line-height:1.55;
}

.feature-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-top:auto;
  padding-bottom:3px;
  border-bottom:1px solid currentColor;
  color:var(--feature-ink);
  font-weight:600;
  text-decoration:none;
}

.feature-text-link:hover{
  color:#6d5424;
  text-decoration:underline;
  text-underline-offset:4px;
}

.feature-detail-hero__grid{
  position:relative;
  z-index:1;
  min-height:clamp(700px, 45vw, 840px);
  padding:clamp(82px, 9.5vw, 130px) 0;
}

.feature-detail-hero .feature-shell{
  width:min(1800px, calc(100% - 144px));
}

.feature-detail-hero__copy{
  width:min(940px, 100%);
}

.feature-hub-hero .feature-eyebrow,
.feature-detail-hero .feature-eyebrow{
  color:#ffffff;
  font-size:clamp(1rem, 1.35vw, 1.2rem);
  font-weight:500;
  letter-spacing:0.02em;
}

.feature-detail-hero__copy .feature-lede{
  max-width:900px;
  margin-top:clamp(28px, 4vw, 44px);
  font-size:clamp(1.15rem, 1.8vw, 1.5rem);
  line-height:1.65;
}

.feature-hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

.feature-hero-cta{
  margin-top:clamp(34px, 4.5vw, 50px);
}

.feature-hero-cta .feature-button--primary{
  min-height:56px;
  padding:14px 28px;
  background:#c8a665;
  color:#111111;
}

.feature-hero-explore{
  display:inline-flex;
  min-height:56px;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  color:#ffffff;
  font-weight:600;
  text-decoration:none;
}

.feature-hero-explore:hover,
.feature-hero-explore:focus-visible{
  color:#d7bd82;
}

.feature-hero-cta__note{
  margin:14px 0 0;
  color:rgba(255,255,255,0.76);
  font-size:0.9rem;
  font-weight:500;
}

.feature-problem-section{
  padding:clamp(62px, 9vw, 110px) 0;
  background:#ffffff;
}

.feature-product-preview-section{
  padding:clamp(58px, 8vw, 96px) 0 0;
  background:#ffffff;
}

.feature-product-preview-section + .feature-problem-section{
  padding-top:clamp(54px, 7vw, 82px);
}

/* The frame hugs the screenshot instead of reserving a fixed band for it: a
   min-height plus object-fit:contain left the image letterboxed inside
   hundreds of pixels of empty grey on narrow screens. The height cap below
   still bounds portrait shots, which would otherwise run past a full screen. */
.feature-product-preview{
  display:flex;
  margin:0;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--feature-border);
  border-radius:20px;
  background:#f7f7f8;
  box-shadow:0 20px 48px rgba(15,23,42,0.1);
}

.feature-product-preview--plain{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* max-* with auto width and height lets the browser scale the image down to
   fit both bounds on its own aspect ratio, so the element box is the picture
   itself — a landscape shot fills the frame, a portrait one narrows instead of
   growing taller than the viewport. */
.feature-product-preview img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:900px;
}

.feature-schedule-section{
  padding:clamp(72px, 9vw, 116px) 0;
  background:#111827;
  color:#ffffff;
}

.feature-schedule-copy{
  max-width:820px;
  margin-bottom:clamp(34px, 5vw, 54px);
}

.feature-schedule-copy h2{
  margin:0 0 20px;
  color:#ffffff;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(2.15rem, 4vw, 3.6rem);
  font-weight:700;
  letter-spacing:-0.035em;
  line-height:1.08;
}

.feature-schedule-copy > p:last-child{
  margin:0;
  color:rgba(255,255,255,0.76);
  font-size:clamp(1.02rem, 1.45vw, 1.18rem);
  line-height:1.75;
}

.feature-schedule-visual{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 28px 60px rgba(0,0,0,0.34);
}

.feature-schedule-visual img{
  display:block;
  width:100%;
  height:auto;
}

.feature-schedule-highlights{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(24px, 4vw, 52px);
  margin-top:clamp(34px, 5vw, 52px);
}

.feature-schedule-highlights article{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
}

.feature-schedule-highlights i{
  color:#d7bd82;
  font-size:1.35rem;
  line-height:1;
}

.feature-schedule-highlights h3{
  margin:0 0 8px;
  color:#ffffff;
  font-size:1rem;
  font-weight:700;
}

.feature-schedule-highlights p{
  margin:0;
  color:rgba(255,255,255,0.68);
  font-size:0.92rem;
  line-height:1.6;
}

.feature-proof-section{
  padding:clamp(68px, 9vw, 112px) 0;
  background:#f7f7f8;
}

.feature-proof-layout{
  display:grid;
  grid-template-columns:minmax(330px, 0.82fr) minmax(0, 1.25fr);
  gap:clamp(42px, 7vw, 92px);
  align-items:center;
}

.feature-proof-copy h2,
.feature-scenario-copy h2{
  margin:0 0 20px;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(2rem, 3.7vw, 3.2rem);
  font-weight:800;
  letter-spacing:-0.025em;
  line-height:1.08;
}

.feature-proof-copy__intro{
  margin:0;
  color:var(--feature-muted);
  font-size:1.05rem;
  line-height:1.75;
}

.feature-proof-callouts{
  display:grid;
  gap:20px;
  margin-top:34px;
}

.feature-proof-callout{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
}

.feature-proof-callout > span{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  color:#111827;
  background:#d7bd82;
  font-size:0.82rem;
  font-weight:800;
}

.feature-proof-callout h3{
  margin:1px 0 5px;
  font-size:1rem;
  font-weight:700;
}

.feature-proof-callout p{
  margin:0;
  color:var(--feature-muted);
  font-size:0.94rem;
  line-height:1.55;
}

.feature-proof-visual{
  margin:0;
}

.feature-proof-visual img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 24px 32px rgba(15,23,42,0.18));
}

.feature-message-section{
  padding:clamp(72px, 9vw, 118px) 0;
  background:#ffffff;
}

.feature-message-layout{
  display:grid;
  grid-template-columns:minmax(330px, 0.82fr) minmax(0, 1.18fr);
  gap:clamp(48px, 8vw, 110px);
  align-items:center;
}

.feature-message-copy h2{
  max-width:600px;
  margin:0 0 28px;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(2.2rem, 4vw, 3.7rem);
  font-weight:700;
  letter-spacing:-0.035em;
  line-height:1.08;
}

.feature-message-copy > p:not(.feature-section-label){
  max-width:620px;
  margin:0;
  color:var(--feature-muted);
  font-size:clamp(1.02rem, 1.45vw, 1.2rem);
  line-height:1.75;
}

.feature-message-copy > p + p:not(.feature-section-label){
  margin-top:24px;
}

.feature-message-visual{
  margin:0;
  overflow:hidden;
  border-radius:28px;
  background:#fbf8f6;
}

.feature-message-visual img{
  display:block;
  width:100%;
  height:auto;
}

.feature-narrow-copy{
  max-width:850px;
  text-align:center;
}

.feature-narrow-copy h2,
.feature-benefits-grid h2,
.feature-related-section h2,
.feature-faq-layout > h2{
  margin:0 0 18px;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(2rem, 4vw, 3.35rem);
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.05;
}

.feature-narrow-copy p,
.feature-benefits-grid > div > p:not(.feature-section-label){
  margin:0;
  color:var(--feature-muted);
  font-size:1.08rem;
  line-height:1.8;
}

.feature-workflow-section,
.feature-related-section{
  padding:clamp(60px, 8vw, 96px) 0;
  background:#ffffff;
}

.feature-step-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.feature-step{
  min-height:250px;
  padding:28px;
  border:1px solid var(--feature-border);
  border-radius:18px;
  background:#ffffff;
}

.feature-step__number{
  display:grid;
  width:42px;
  height:42px;
  margin-bottom:36px;
  place-items:center;
  border-radius:50%;
  background:var(--feature-soft);
  color:#735a27;
  font-weight:700;
}

.feature-step h2{
  margin:0 0 12px;
  font-size:1.2rem;
}

.feature-step p{
  margin:0;
  color:var(--feature-muted);
  line-height:1.7;
}

.feature-benefits-section{
  padding:clamp(62px, 9vw, 108px) 0;
  background:#f7f7f8;
}

.feature-benefits-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(340px, 0.9fr);
  gap:clamp(40px, 8vw, 100px);
  align-items:start;
}

.feature-benefit-list{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}

.feature-benefit-list li{
  display:flex;
  gap:13px;
  align-items:flex-start;
  padding:17px 18px;
  border:1px solid rgba(155,125,61,0.18);
  border-radius:13px;
  background:rgba(255,255,255,0.68);
  line-height:1.6;
}

.feature-benefit-list i{
  margin-top:3px;
  color:var(--feature-gold-dark);
}

.feature-capabilities-section{
  padding:clamp(64px, 8vw, 100px) 0;
  background:#ffffff;
}

.feature-capabilities-section > .feature-shell > .feature-section-label{
  margin-bottom:26px;
}

.feature-capability-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  border-top:1px solid var(--feature-border);
  border-left:1px solid var(--feature-border);
}

.feature-capability{
  min-height:190px;
  padding:28px;
  border-right:1px solid var(--feature-border);
  border-bottom:1px solid var(--feature-border);
}

.feature-capability i{
  display:block;
  margin-bottom:28px;
  color:var(--feature-gold-dark);
  font-size:1.45rem;
}

.feature-capability h2{
  margin:0 0 8px;
  font-size:1.08rem;
  font-weight:700;
}

.feature-capability p{
  margin:0;
  color:var(--feature-muted);
  font-size:0.94rem;
  line-height:1.6;
}

.feature-scenario-section{
  padding:clamp(64px, 8vw, 102px) 0;
  color:#ffffff;
  background:#111827;
}

.feature-scenario-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(330px, 0.72fr);
  gap:clamp(42px, 8vw, 110px);
  align-items:center;
}

.feature-scenario-copy h2{
  color:#ffffff;
}

.feature-scenario-copy > p:last-child{
  max-width:680px;
  margin:0;
  color:rgba(255,255,255,0.76);
  font-size:1.05rem;
  line-height:1.75;
}

.feature-scenario-steps{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:none;
}

.feature-scenario-steps li{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:16px;
  align-items:center;
  padding:19px 0;
  border-bottom:1px solid rgba(255,255,255,0.16);
}

.feature-scenario-steps li:first-child{
  border-top:1px solid rgba(255,255,255,0.16);
}

.feature-scenario-steps span{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border:1px solid rgba(215,189,130,0.7);
  border-radius:50%;
  color:#d7bd82;
  font-size:0.82rem;
  font-weight:700;
}

.feature-scenario-steps strong{
  font-size:1rem;
}

.feature-related-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.feature-related-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px 16px;
  min-height:145px;
  padding:24px;
  align-content:center;
  border:1px solid var(--feature-border);
  border-radius:16px;
  color:var(--feature-ink);
  background:#ffffff;
  text-decoration:none;
}

.feature-related-card span{
  grid-column:1;
  color:var(--feature-gold-dark);
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.feature-related-card strong{
  grid-column:1;
  font-size:1.05rem;
  line-height:1.45;
}

.feature-related-card i{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:center;
}

.feature-related-card:hover{
  border-color:rgba(155,125,61,0.55);
  color:var(--feature-ink);
  box-shadow:0 14px 34px rgba(17,24,39,0.08);
}

.feature-faq-section{
  padding:clamp(60px, 8vw, 96px) 0;
  background:#ffffff;
}

.feature-faq-layout{
  display:grid;
  grid-template-columns:minmax(250px, 0.65fr) minmax(0, 1fr);
  gap:clamp(40px, 7vw, 90px);
}

.feature-faq-list{
  border-top:1px solid var(--feature-border);
}

.feature-faq-item{
  border-bottom:1px solid var(--feature-border);
}

.feature-faq-item summary{
  padding:22px 4px;
  cursor:pointer;
  font-size:1.05rem;
  font-weight:700;
}

.feature-faq-item p{
  margin:0;
  padding:0 28px 24px 4px;
  color:var(--feature-muted);
  line-height:1.75;
}

/* The marker is a "+" drawn with two bars. Opening turns it half a turn and flattens the vertical bar into a
   "−"; the answer's slide and fade are in scripts/frontpage/reveal.js, which sets .is-closing while it closes. */
.feature-faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  list-style:none;
}

.feature-faq-item summary::-webkit-details-marker{
  display:none;
}

.feature-faq-item summary::after{
  content:"";
  flex:none;
  width:14px;
  height:14px;
  background:
    linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
  transition:transform 200ms ease-out, background-size 200ms ease-out;
}

.feature-faq-item[open]:not(.is-closing) summary::after{
  transform:rotate(180deg);
  background-size:100% 2px, 2px 0;
}

.feature-cta-section{
  padding:clamp(68px, 8vw, 112px) 0;
  background:#e9e9e5;
  color:var(--feature-ink);
}

.feature-contact-cta{
  text-align:center;
}

.feature-contact-cta h2{
  max-width:980px;
  margin:0 auto;
  color:#050505;
  font-family:"Montserrat", "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size:clamp(2.35rem, 4.6vw, 4.45rem);
  font-weight:500;
  letter-spacing:-0.045em;
  line-height:1.04;
}

.feature-contact-cta__accent{
  color:#c8a665;
}

.feature-contact-cta p{
  margin:clamp(26px, 3.5vw, 42px) 0 clamp(26px, 3vw, 38px);
  color:#111111;
  font-size:clamp(1.05rem, 1.55vw, 1.4rem);
  line-height:1.5;
}

.feature-contact-cta__form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(240px, 0.34fr);
  width:min(940px, 100%);
  margin:0 auto;
  padding:6px;
  border:1px solid #c9c9c9;
  border-radius:3px;
  background:#ffffff;
}

.feature-contact-cta__form input{
  min-width:0;
  min-height:70px;
  padding:15px 24px;
  border:0;
  border-radius:0;
  outline:0;
  color:#111111;
  background:#ffffff;
  font:inherit;
  font-size:clamp(0.98rem, 1.25vw, 1.15rem);
}

.feature-contact-cta__form input::placeholder{
  color:#222222;
  opacity:1;
}

.feature-contact-cta__form input:focus-visible{
  box-shadow:inset 0 0 0 2px #c8a665;
}

.feature-contact-cta__form button{
  min-height:70px;
  padding:15px 24px;
  border:2px solid #050505;
  border-radius:10px;
  color:#ffffff;
  background:#050505;
  font:inherit;
  font-size:clamp(0.95rem, 1.25vw, 1.12rem);
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  transition:background-color 160ms ease, color 160ms ease;
}

.feature-contact-cta__form button:hover,
.feature-contact-cta__form button:focus-visible{
  color:#050505;
  background:#c8a665;
}

.feature-contact-cta__form--hero{
  grid-template-columns:minmax(0, 1fr) minmax(210px, 0.32fr);
  width:min(760px, 100%);
  margin:clamp(38px, 5vw, 56px) 0 0;
  border-color:rgba(255,255,255,0.7);
  box-shadow:0 18px 42px rgba(0,0,0,0.2);
}

.feature-contact-cta__form--hero input,
.feature-contact-cta__form--hero button{
  min-height:58px;
  padding-top:12px;
  padding-bottom:12px;
}

@media (max-width: 900px){
  .feature-card-grid,
  .feature-benefits-grid,
  .feature-faq-layout,
  .feature-proof-layout,
  .feature-message-layout,
  .feature-scenario-layout{
    grid-template-columns:1fr;
  }

  .feature-schedule-highlights{
    grid-template-columns:1fr;
  }

  .feature-proof-visual{
    grid-row:1;
  }

  .feature-message-visual{
    grid-row:1;
    width:min(620px, 100%);
    margin:0 auto;
  }

  .feature-capability-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .feature-detail-hero__grid{ min-height:0; }

  .feature-step-grid,
  .feature-related-grid{
    grid-template-columns:1fr;
  }

  .feature-step{
    min-height:0;
  }

  .feature-step__number{
    margin-bottom:22px;
  }
}

@media (max-width: 640px){
  .feature-shell{
    width:min(100% - 28px, 1160px);
  }

  .feature-detail-hero .feature-shell{
    width:min(100% - 28px, 1160px);
  }

  .feature-hub-hero__inner,
  .feature-detail-hero__grid{
    padding:58px 0;
  }

  .feature-hub-hero h1,
  .feature-detail-hero h1{
    /* Sized so a phone fits "salon check-in" on one line; at 13vw it broke
       after the hyphen, which reads as a typo rather than a wrap. */
    font-size:clamp(2.35rem, 12vw, 4rem);
  }

  .feature-card-grid{
    gap:20px;
  }

  .feature-card__media{
    height:auto;
  }

  .feature-card__body,
  .feature-step,
  .feature-related-card{
    padding:22px;
  }

  .feature-button,
  .feature-hero-actions .feature-button{
    width:100%;
  }

  .feature-contact-cta__form{
    grid-template-columns:1fr;
    gap:6px;
  }

  .feature-capability-grid{
    grid-template-columns:1fr;
  }

  .feature-capability{
    min-height:0;
    padding:24px;
  }

  .feature-contact-cta__form input,
  .feature-contact-cta__form button{
    min-height:66px;
  }
}

@media (prefers-reduced-motion: reduce){
  .feature-button,
  .feature-card__media,
  .feature-contact-cta__form button,
  .feature-faq-item summary::after{
    transition:none;
  }
}
