/* Titanium Chopping Board — tailored responsive design */
:root {
  --ink:#162b29;
  --ink2:#334744;
  --muted:#61716c;
  --line:#dde5e0;
  --bg:#fff;
  --cream:#fbfaf6;
  --soft:#f4f8f5;
  --dark:#102926;
  --green:#1f725e;
  --green2:#145641;
  --gold:#d6aa63;
  --shell:min(1370px,calc(100% - 48px));
  --shadow:0 22px 55px rgba(17,50,43,.085)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}

body {
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden
}

a {
  color:inherit
}

img {
  max-width:100%;
  height:auto;
  display:block
}

.shell {
  width:var(--shell);
  margin-inline:auto
}

button,a,summary {
  touch-action:manipulation
}

.top-strip {
  background:#132b28;
  color:#dce7e0
}

.top-strip .shell {
  min-height:34px;
  display:flex;
  gap:15px;
  align-items:center;
  justify-content:space-between
}

.top-strip span {
  font-size:10px;
  font-weight:820;
  letter-spacing:.14em
}

.top-strip .top-strip-quiet {
  font-weight:550;
  letter-spacing:.02em;
  color:#b8c9be
}

.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)
}

.header-inner {
  min-height:78px;
  display:flex;
  gap:25px;
  align-items:center;
  justify-content:space-between
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  flex-shrink:0
}

.brand-monogram {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border:1px solid #bbcfc8;
  border-radius:13px;
  background:#153b32;
  color:#fff;
  font-size:17px;
  font-weight:880;
  letter-spacing:-.08em
}

.brand-monogram span {
  color:var(--gold)
}

.brand-name {
  display:flex;
  flex-direction:column;
  font-size:20px;
  line-height:1.07;
  font-weight:920;
  letter-spacing:.025em
}

.brand-name small {
  font-size:9px;
  font-weight:760;
  letter-spacing:.28em;
  color:#789088;
  margin-top:5px
}

.main-nav {
  display:flex;
  gap:24px;
  margin-left:auto
}

.main-nav a {
  text-decoration:none;
  font-size:12px;
  font-weight:790;
  color:#475b54;
  white-space:nowrap
}

.main-nav a:hover {
  color:#146046
}

.header-cta {
  padding:11px 18px;
  background:#173c32;
  border-radius:11px;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:830;
  white-space:nowrap
}

.header-cta:hover {
  background:#0f5b43
}

.mobile-nav {
  display:none
}

.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#237d60;
  font-size:11px;
  font-weight:910;
  letter-spacing:.14em;
  text-transform:uppercase
}

.eyebrow-dot {
  width:7px;
  height:7px;
  background:#d6aa63;
  border-radius:50%
}

.hero {
  background:linear-gradient(112deg,#fff 0%,#fbfaf6 60%,#f4f6f3 100%);
  border-bottom:1px solid #e8eeea
}

.hero-layout {
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(30px,4vw,60px);
  align-items:center;
  padding:48px 0 56px
}

.hero-text {
  min-width:0;
  padding:8px 0
}

.hero h1 {
  font-size:clamp(37px,3.6vw,54px);
  line-height:1.08;
  letter-spacing:-.05em;
  font-weight:880;
  margin:20px 0 22px;
  max-width:780px
}

.hero h1 span {
  color:#226a56
}

.hero-lead {
  font-size:17px;
  line-height:1.72;
  color:#435651;
  margin:0 0 16px
}

.hero-secondary {
  font-size:15px;
  line-height:1.72;
  color:#5c6c66;
  margin:0 0 25px
}

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

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-height:50px;
  padding:12px 19px;
  border-radius:10px;
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  font-size:13px;
  font-weight:860;
  line-height:1.3;
  transition:background .2s,transform .2s;
  text-align:center
}

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

.button-primary {
  background:#1e775b;
  color:#fff;
  box-shadow:0 10px 23px rgba(31,114,94,.17)
}

.button-primary:hover {
  background:#135942
}

.button-text {
  border:1px solid #d8e3dc;
  color:#254e41;
  background:#fff
}

.button-text:hover {
  background:#f5faf7
}

.button-outline {
  background:#fff;
  border-color:#d2e0d8;
  color:#194d3d;
  min-width:275px
}

.button-outline:hover {
  background:#eff8f3
}

.hero-meta {
  border-top:1px solid #dfe9e2;
  margin-top:29px;
  padding-top:16px;
  display:flex;
  gap:16px;
  flex-wrap:wrap
}

.hero-meta span {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#718078;
  font-size:11px;
  font-weight:730
}

.hero-meta b {
  color:#1e7157;
  font-size:10px;
  font-weight:960
}

.hero-media {
  position:relative;
  min-width:0;
  padding:13px 12px 0 0
}

.hero-media:before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:26px;
  left:23px;
  border:1px solid #d4dfd8;
  background:#dfe8e0;
  border-radius:29px;
  transform:translate(11px,-11px)
}

.photo-frame {
  position:relative;
  aspect-ratio:4/3;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 26px 60px rgba(26,54,43,.16);
  border:1px solid #dbe5dd;
  background:#e7ede9
}

.photo-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}

.hero-picture-note {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  background:#fff;
  max-width:420px;
  min-height:72px;
  margin:-42px 0 0 26px;
  padding:12px 15px;
  box-shadow:0 14px 29px rgba(20,48,37,.11);
  border:1px solid #e4e9e4;
  border-radius:13px
}

.picture-note-index {
  font-size:10px;
  font-weight:880;
  color:#4b9276;
  letter-spacing:.11em
}

.hero-picture-note>div {
  flex:1
}

.hero-picture-note b,.hero-picture-note small {
  display:block
}

.hero-picture-note b {
  font-size:12px;
  line-height:1.3
}

.hero-picture-note small {
  color:#84948a;
  font-size:10px
}

.picture-arrow {
  color:#247356;
  font-size:23px
}

.buyer-strip {
  border-bottom:1px solid #e4eae5;
  background:#fff
}

.buyer-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:22px 0;
  gap:15px
}

.buyer-item {
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:0 12px;
  border-right:1px solid #e5eae6
}

.buyer-item:last-child {
  border-right:0
}

.buyer-num {
  font-family:Georgia,serif;
  color:#a98b58;
  font-style:italic;
  font-size:26px;
  line-height:1.2
}

.buyer-item strong,.buyer-item div>span {
  display:block
}

.buyer-item strong {
  font-size:12px
}

.buyer-item div>span {
  font-size:11px;
  color:#74857a;
  line-height:1.5;
  margin-top:3px
}

.article-section {
  padding:54px 0 53px
}

.article-section.shade {
  background:#f8faf8
}

.article-head {
  margin:0 0 23px;
  display:flex;
  gap:18px;
  align-items:baseline
}

.section-index {
  font-size:13px;
  white-space:nowrap;
  font-weight:850;
  color:#217154;
  font-variant-numeric:tabular-nums
}

.section-index span {
  color:#b9c7c0
}

.article-head h2 {
  margin:0;
  font-size:clamp(27px,2.45vw,34px);
  line-height:1.23;
  letter-spacing:-.035em;
  max-width:1190px
}

.article-body {
  width:100%;
  max-width:none
}

.article-body p,.final-prose p {
  font-size:16px;
  color:#495952;
  line-height:1.82;
  margin:0 0 17px
}

.article-body p:last-child {
  margin-bottom:0
}

.article-body h3 {
  font-size:19px;
  font-weight:860;
  letter-spacing:-.015em;
  margin:26px 0 9px
}

.article-body h3:first-child {
  margin-top:0
}

.inline-cta {
  margin:23px 0;
  display:flex;
  justify-content:flex-start
}

.section-action {
  padding:0 0 29px;
  text-align:center;
  background:#fff
}

.article-section.shade+.section-action {
  background:#f8faf8
}

.section-action .shell {
  display:flex;
  justify-content:center
}

.photo-interlude {
  background:#fff;
  padding:30px 0
}

.photo-interlude figure {
  margin:0;
  position:relative;
  max-height:580px;
  overflow:hidden;
  border-radius:21px
}

.photo-interlude img {
  width:100%;
  max-height:580px;
  object-fit:cover;
  object-position:center 54%
}

.photo-interlude figcaption {
  position:absolute;
  bottom:17px;
  right:17px;
  border-radius:999px;
  background:rgba(255,255,255,.91);
  padding:5px 12px;
  color:#4b5f54;
  font-size:10px;
  font-weight:800
}

.pricing-section {
  padding:67px 0 65px;
  background:#edf4ef;
  border-top:1px solid #d8e6dc;
  border-bottom:1px solid #d8e6dc
}

.pricing-top {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 37px
}

.pricing-top h2,.comparison-header h2,.section-title h2 {
  margin:8px 0 12px;
  font-size:clamp(29px,2.7vw,39px);
  line-height:1.16;
  letter-spacing:-.038em
}

.pricing-top p,.comparison-header p,.section-title p {
  max-width:840px;
  color:#5f7166;
  margin:0;
  line-height:1.72;
  font-size:15px
}

.pricing-seal {
  width:112px;
  height:112px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border-radius:50%;
  border:8px solid #f5faf7;
  outline:1px solid #bfd5c9;
  background:#dcece3;
  flex-shrink:0;
  color:#1b6f53
}

.pricing-seal strong {
  font-size:31px;
  line-height:1
}

.pricing-seal span {
  font-size:9px;
  font-weight:790;
  line-height:1.3;
  margin-top:6px
}

.pricing-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  align-items:stretch
}

.price-card {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
  padding:30px 15px 20px;
  border:1px solid #d5e3d9;
  border-radius:19px;
  background:#fff;
  box-shadow:0 12px 29px rgba(27,66,50,.055)
}

.price-card.popular {
  border:2px solid #277554;
  box-shadow:0 21px 40px rgba(27,91,62,.115)
}

.price-card.low-unit {
  background:linear-gradient(180deg,#f6fcf7,#fff 38%);
  border-color:#b8d5c4
}

.price-label {
  background:#eaf4ed;
  color:#1f6c51;
  border-radius:99px;
  padding:6px 10px;
  font-size:9px;
  font-weight:920;
  letter-spacing:.035em;
  line-height:1.2;
  min-height:24px
}

.price-card.popular .price-label {
  background:#1c7f5a;
  color:#fff
}

.price-header h3 {
  font-size:21px;
  margin:16px 0 1px;
  line-height:1.15
}

.price-header p {
  font-size:11px;
  color:#75857a;
  margin:0
}

.price-art {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  height:220px;
  margin:6px 0 7px
}

.price-art img {
  position:absolute;
  width:auto;
  height:auto;
  max-height:190px;
  max-width:66%;
  object-fit:contain;
  filter:drop-shadow(0 12px 10px rgba(20,48,35,.12))
}

.stack-1 img:nth-child(1) {
  transform:translateX(0) scale(1)
}

.stack-2 img:nth-child(1) {
  transform:translateX(-29px) scale(.85)
}

.stack-2 img:nth-child(2) {
  transform:translateX(28px) scale(1)
}

.stack-3 img:nth-child(1) {
  transform:translateX(-44px) scale(.76)
}

.stack-3 img:nth-child(2) {
  transform:translateX(43px) scale(.76)
}

.stack-3 img:nth-child(3) {
  transform:translateX(0) scale(1)
}

.stack-4 img:nth-child(1) {
  transform:translateX(-61px) scale(.71)
}

.stack-4 img:nth-child(2) {
  transform:translateX(61px) scale(.71)
}

.stack-4 img:nth-child(3) {
  transform:translateX(-24px) scale(.85)
}

.stack-4 img:nth-child(4) {
  transform:translateX(27px) scale(1)
}

.price-main {
  display:flex;
  justify-content:center;
  align-items:baseline;
  gap:5px
}

.price-amount {
  font-size:clamp(30px,2.85vw,39px);
  font-weight:930;
  letter-spacing:-.055em;
  line-height:1.1
}

.price-unit {
  font-size:10px;
  color:#79877d;
  font-weight:820
}

.price-total {
  margin:9px 0 5px;
  font-size:11px;
  color:#65746a
}

.price-total strong {
  font-size:16px;
  color:#1e372b
}

.price-desc {
  font-size:11px;
  color:#7a897e;
  margin:0 0 17px
}

.package-button {
  width:100%;
  margin-top:auto;
  min-height:47px;
  padding-inline:8px;
  background:#1d7558;
  font-size:11px
}

.price-note {
  font-size:10px;
  color:#8b978d;
  line-height:1.45;
  margin:13px 0 0
}

.pricing-bottom {
  margin-top:24px;
  display:flex;
  justify-content:center
}

.pricing-bottom p {
  max-width:980px;
  margin:0;
  background:#fff;
  border:1px solid #dbe7df;
  border-radius:11px;
  padding:13px 17px;
  text-align:center;
  color:#718076;
  font-size:12px
}

.comparison-block {
  padding:63px 0 65px;
  background:#fff
}

.comparison-header {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:29px
}

.comparison-header h2 {
  margin-bottom:10px
}

.text-link {
  font-size:12px;
  font-weight:860;
  white-space:nowrap;
  text-decoration:none;
  color:#1c7556;
  padding-bottom:6px
}

.table-wrap {
  max-width:100%;
  border-radius:15px;
  border:1px solid #dce5df;
  overflow-x:auto;
  background:#fff
}

.compare-table,.priority-table {
  width:100%;
  border-collapse:collapse;
  min-width:720px
}

.compare-table th,.compare-table td,.priority-table th,.priority-table td {
  font-size:14px;
  line-height:1.6;
  padding:14px 17px;
  vertical-align:top;
  border-bottom:1px solid #e4ebe5;
  text-align:left
}

.compare-table thead th,.priority-table thead th {
  background:#183c33;
  color:#fff;
  font-size:13px;
  font-weight:900
}

.compare-table tbody th {
  font-weight:860;
  min-width:190px
}

.compare-table tbody tr:nth-child(even),.priority-table tbody tr:nth-child(even) {
  background:#f7faf7
}

.compare-table .titanium-highlight {
  background:#edf7f0!important
}

.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td,.priority-table tbody tr:last-child td {
  border-bottom:0
}

.table-caption {
  font-size:12px;
  color:#7a887e;
  margin:13px 0 0
}

.faq-section {
  background:#f4f8f5;
  padding:65px 0
}

.section-title {
  margin:0 0 26px
}

.faq-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  align-items:start
}

.faq-item {
  background:#fff;
  border:1px solid #d9e5dc;
  border-radius:12px;
  overflow:hidden
}

.faq-item[open] {
  border-color:#add1bb;
  box-shadow:0 8px 20px rgba(25,80,56,.055)
}

.faq-item summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:18px 19px;
  font-size:14px;
  font-weight:840;
  line-height:1.4
}

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

.faq-plus {
  font-size:23px;
  color:#227653;
  transition:transform .2s
}

.faq-item[open] .faq-plus {
  transform:rotate(45deg)
}

.faq-answer {
  padding:0 19px 18px
}

.faq-answer p {
  margin:0;
  color:#53655b;
  font-size:14px;
  line-height:1.74
}

.faq-bottom {
  display:flex;
  justify-content:center;
  margin-top:25px
}

.final-section {
  background:#fff;
  padding:75px 0
}

.final-panel {
  border-radius:25px;
  overflow:hidden;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 295px;
  align-items:center;
  gap:35px;
  background:linear-gradient(115deg,#16352e,#0c2722);
  color:#fff;
  padding:48px 56px
}

.final-panel:before {
  content:"";
  position:absolute;
  right:-80px;
  top:-170px;
  width:430px;
  height:430px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%
}

.final-copy {
  position:relative;
  z-index:1
}

.final-copy .eyebrow {
  color:#ccdfce
}

.final-copy h2 {
  font-size:clamp(30px,2.8vw,40px);
  line-height:1.2;
  letter-spacing:-.035em;
  margin:9px 0 19px
}

.final-prose p {
  color:#d8e6db;
  font-size:15px;
  line-height:1.74
}

.button-light {
  margin-top:11px;
  background:#fff;
  color:#174a38
}

.button-light:hover {
  background:#e8f3eb
}

.final-art {
  display:grid;
  place-items:center;
  position:relative;
  align-self:stretch;
  z-index:1
}

.final-art img {
  max-height:350px;
  object-fit:contain;
  filter:drop-shadow(0 19px 18px rgba(0,0,0,.2))
}

.site-footer {
  background:#0c1a18;
  color:#ecf3ed;
  padding:54px 0 21px
}

.footer-grid {
  display:grid;
  grid-template-columns:1.7fr .55fr .65fr 1fr;
  gap:43px
}

.site-footer .brand-name {
  color:#fff
}

.site-footer .brand-name small {
  color:#8faa9a
}

.site-footer .brand-monogram {
  border-color:#567568
}

.footer-about p {
  font-size:12px;
  color:#b5c8bb;
  line-height:1.75;
  max-width:390px;
  margin:18px 0 0
}

.footer-about p.affiliate-note {
  color:#8da99a;
  font-size:11px
}

.footer-grid h3 {
  font-size:12px;
  font-weight:870;
  margin:5px 0 17px
}

.footer-grid>div>a:not(.brand) {
  display:block;
  font-size:12px;
  text-decoration:none;
  color:#b9cdbf;
  margin:0 0 11px
}

.footer-grid a:hover {
  text-decoration:underline
}

.footer-grid>div>a.footer-phone {
  font-size:15px;
  font-weight:890;
  color:#fff
}

.support-note {
  font-size:11px;
  line-height:1.65;
  color:#96ae9c
}

.footer-bottom {
  border-top:1px solid #28403a;
  margin-top:38px;
  padding-top:17px;
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:11px;
  color:#8da99a
}

.footer-bottom a {
  text-decoration:none
}

.mobile-offer {
  display:none
}

/* legal */
.legal-hero {
  background:linear-gradient(135deg,#f4f8f5,#fff);
  border-bottom:1px solid var(--line);
  padding:57px 0
}

.legal-hero h1 {
  font-size:clamp(36px,4vw,52px);
  letter-spacing:-.05em;
  line-height:1.1;
  margin:10px 0 14px
}

.legal-hero p {
  max-width:980px;
  font-size:15px;
  color:#64756a;
  margin:0
}

.legal-content {
  padding:55px 0 80px
}

.legal-content h2 {
  font-size:23px;
  margin:34px 0 10px
}

.legal-content h2:first-child {
  margin-top:0
}

.legal-content p,.legal-content li {
  font-size:15px;
  color:#53635a;
  line-height:1.82;
  max-width:1170px
}

.legal-content a {
  color:#1b7053
}

.legal-callout {
  padding:17px 21px;
  background:#f3faf5;
  border:1px solid #daeadf;
  border-radius:12px;
  margin:20px 0;
  max-width:1170px
}

@media(max-width:1190px) {
  .main-nav {
    gap:14px
  }

  .main-nav a {
    font-size:11px
  }

  .hero-layout {
    gap:26px
  }

  .pricing-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:950px;
    margin:auto
  }

  .price-card {
    padding:30px 22px 20px
  }

  .footer-grid {
    gap:23px
  }

}

@media(max-width:940px) {
  .main-nav {
    display:none
  }

  .hero-layout {
    grid-template-columns:1fr;
    max-width:850px;
    margin:auto;
    padding:40px 0 50px
  }

  .hero h1 {
    max-width:none
  }

  .hero-media {
    max-width:750px
  }

  .buyer-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:21px
  }

  .buyer-item:nth-child(2) {
    border-right:0
  }

  .footer-grid {
    grid-template-columns:1.5fr 1fr 1fr
  }

  .footer-grid>div:last-child {
    grid-column:1/-1
  }

  .faq-list {
    grid-template-columns:1fr
  }

  .final-panel {
    grid-template-columns:1fr 220px;
    padding:40px
  }

  .final-art img {
    max-height:300px
  }

}

@media(max-width:700px) {
  :root {
    --shell:calc(100% - 28px)
  }

  html {
    scroll-padding-top:75px
  }

  body {
    padding-bottom:70px
  }

  .top-strip {
    display:none
  }

  .header-inner {
    min-height:68px;
    gap:10px
  }

  .brand {
    gap:8px
  }

  .brand-monogram {
    width:35px;
    height:35px;
    font-size:14px;
    border-radius:10px
  }

  .brand-name {
    font-size:16px
  }

  .brand-name small {
    font-size:7px
  }

  .header-cta {
    display:none
  }

  .mobile-nav {
    display:block;
    margin-left:auto;
    position:relative
  }

  .mobile-nav summary {
    list-style:none;
    border:1px solid #d8e3db;
    border-radius:8px;
    padding:7px 11px;
    font-size:12px;
    font-weight:830;
    cursor:pointer
  }

  .mobile-nav summary::-webkit-details-marker {
    display:none
  }

  .mobile-nav summary span {
    font-size:16px;
    margin-left:6px
  }

  .mobile-nav-links {
    position:absolute;
    right:0;
    top:43px;
    background:#fff;
    border:1px solid #dbe7dd;
    border-radius:12px;
    min-width:195px;
    padding:8px;
    box-shadow:0 10px 26px rgba(20,50,35,.12);
    z-index:70
  }

  .mobile-nav-links a {
    display:block;
    padding:11px;
    text-decoration:none;
    font-size:13px;
    font-weight:780;
    color:#365749
  }

  .hero-layout {
    padding:30px 0 40px;
    gap:25px
  }

  .hero h1 {
    font-size:clamp(32px,7.8vw,44px);
    margin:13px 0 19px
  }

  .hero-lead {
    font-size:16px
  }

  .hero-secondary {
    font-size:15px
  }

  .hero-actions {
    flex-direction:column;
    align-items:stretch
  }

  .hero-actions .button {
    width:100%
  }

  .hero-meta {
    gap:10px 18px
  }

  .hero-media {
    padding-right:8px
  }

  .hero-media:before {
    border-radius:20px
  }

  .photo-frame {
    border-radius:18px
  }

  .hero-picture-note {
    margin:-27px 9px 0;
    padding:10px 12px;
    min-height:63px
  }

  .buyer-grid {
    padding:20px 0
  }

  .buyer-item {
    padding:0 7px
  }

  .article-section {
    padding:42px 0
  }

  .article-head {
    gap:9px;
    display:block
  }

  .article-head h2 {
    margin-top:8px;
    font-size:clamp(27px,6.5vw,33px)
  }

  .article-body p {
    font-size:16px
  }

  .article-body h3 {
    font-size:18px
  }

  .section-action {
    padding-bottom:25px
  }

  .pricing-section {
    padding:46px 0
  }

  .pricing-top {
    display:block;
    margin-bottom:22px
  }

  .pricing-top h2,.comparison-header h2,.section-title h2 {
    font-size:30px
  }

  .pricing-seal {
    display:none
  }

  .pricing-grid {
    grid-template-columns:1fr;
    max-width:450px;
    gap:17px
  }

  .price-card {
    padding:28px 23px 22px
  }

  .price-art {
    height:210px
  }

  .price-art img {
    max-height:182px
  }

  .price-amount {
    font-size:40px
  }

  .comparison-block {
    padding:45px 0
  }

  .comparison-header {
    display:block
  }

  .text-link {
    display:inline-block;
    margin-top:16px
  }

  .faq-section {
    padding:45px 0
  }

  .final-section {
    padding:44px 0
  }

  .final-panel {
    grid-template-columns:1fr;
    padding:30px 23px
  }

  .final-art {
    display:none
  }

  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:32px
  }

  .footer-about {
    grid-column:1/-1
  }

  .footer-grid>div:last-child {
    grid-column:1/-1
  }

  .footer-bottom {
    flex-direction:column
  }

  .mobile-offer {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:70px;
    padding:10px 14px;
    background:#102821;
    color:#fff;
    box-shadow:0 -7px 30px rgba(0,0,0,.16)
  }

  .mobile-offer b,.mobile-offer small {
    display:block
  }

  .mobile-offer b {
    font-size:11px
  }

  .mobile-offer small {
    font-size:9px;
    color:#abc4b2
  }

  .mobile-offer-button {
    display:inline-flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
    text-decoration:none;
    background:#2c8a69;
    color:#fff;
    padding:10px 13px;
    border-radius:8px;
    font-size:11px;
    font-weight:860
  }

  .legal-hero {
    padding:38px 0
  }

  .legal-content {
    padding:40px 0 70px
  }

}

@media(max-width:420px) {
  .brand-name {
    font-size:14px
  }

  .brand-name small {
    font-size:6px
  }

  .hero h1 {
    font-size:31px
  }

  .buyer-grid {
    grid-template-columns:1fr 1fr
  }

  .buyer-item strong {
    font-size:11px
  }

  .buyer-item div>span {
    font-size:10px
  }

}

/* 2026-09-29 refinement updates */
:root {
  --shell:min(1320px,calc(100% - 46px));
}

.header-cta,.button-text,.button-outline,.button-light,.package-button,.mobile-offer-button {
  background:#1d7558;
  color:#fff;
  border-color:#1d7558
}

.header-cta:hover,.button-text:hover,.button-outline:hover,.button-light:hover,.package-button:hover,.mobile-offer-button:hover {
  background:#14553f;
  border-color:#14553f;
  color:#fff
}

.button span,.header-cta span,.mobile-offer-button span {
  color:inherit
}

.inline-cta .button,.section-action .button,.faq-bottom .button {
  min-width:min(100%,440px)
}

.section-action {
  padding:8px 0 28px;
  text-align:left
}

.section-action .shell,.inline-cta {
  justify-content:flex-start
}

.center-title {
  text-align:center;
  max-width:860px;
  margin:0 auto 26px
}

.center-title p {
  max-width:760px;
  margin:10px auto 0;
  color:#5d6e66;
  font-size:15px;
  line-height:1.75
}

.three-feature-band {
  background:#fff;
  padding:28px 0 58px
}

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

.feature-card-three {
  background:linear-gradient(180deg,#ffffff 0%,#f3f8f5 100%);
  border:1px solid #dce7df;
  border-radius:22px;
  padding:26px 22px 24px;
  box-shadow:0 14px 32px rgba(20,53,40,.06)
}

.feature-icon-three {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:#1d7558;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:16px
}

.feature-card-three h3 {
  margin:0 0 10px;
  font-size:22px;
  line-height:1.22;
  letter-spacing:-.025em;
  color:#132d24
}

.feature-card-three p {
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#566760
}

.site-footer .brand-monogram {
  font-size:18px
}

@media(max-width:940px) {
  .feature-grid-three {
    grid-template-columns:1fr
  }

  .section-action,.inline-cta {
    justify-content:center
  }

  .section-action .shell {
    justify-content:center
  }

  .feature-card-three h3 {
    font-size:20px
  }

}

@media(max-width:700px) {
  :root {
    --shell:calc(100% - 28px)
  }

  .article-body p,.final-prose p {
    font-size:16px
  }

  .button-text,.button-outline,.button-light {
    width:100%
  }

  .center-title {
    text-align:left
  }

  .center-title p {
    margin-left:0
  }

  .three-feature-band {
    padding:16px 0 40px
  }

}

/* section index removed + centered CTA buttons */
.article-head {
  display:block
}

.article-head h2 {
  margin-top:0
}

.section-action,.inline-cta,.faq-bottom {
  display:flex;
  justify-content:center !important;
  text-align:center
}

.section-action .shell {
  display:flex;
  justify-content:center !important
}

.section-action .button,.inline-cta .button,.faq-bottom .button {
  margin-left:auto;
  margin-right:auto
}
