/* Mooseloom public site - Classic Ralph Lauren style: navy & white heritage */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --navy:#122140;        /* deep classic navy */
  --navy-deep:#0c1830;
  --navy-soft:#1c3157;
  --gold:#b08d4c;        /* restrained heritage gold accent only */
  --paper:#ffffff;       /* crisp white */
  --off:#f6f5f2;         /* barely-there warm white for alternating bands */
  --ink:#1a2338;         /* navy-ink text */
  --muted:#5b6579;
  --line:#e6e3dc;
}
body { font-family: Georgia,'Times New Roman',serif; color:var(--ink); background:var(--paper); line-height:1.65; -webkit-font-smoothing:antialiased; }
.container { max-width:1120px; margin:0 auto; padding:0 24px; }
a { color:inherit; }

/* HEADER */
.site-header { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.site-header-inner { max-width:1120px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.site-logo img { width:170px; height:auto; display:block; }
.site-nav { display:flex; gap:34px; align-items:center; }
.site-nav a { font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--navy); text-decoration:none; font-family:Georgia,serif; padding-bottom:3px; border-bottom:1px solid transparent; transition:border-color .2s,color .2s; }
.site-nav a:hover, .site-nav a.active { color:var(--navy); border-bottom-color:var(--gold); }
.nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px; }
.nav-toggle span { display:block; width:24px; height:2px; background:var(--navy); margin:5px 0; }
@media (max-width:820px){
  .nav-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; flex-direction:column; gap:0; padding:8px 0; border-bottom:1px solid var(--line); box-shadow:0 8px 20px rgba(18,33,64,.08); }
  .site-nav.open { display:flex; }
  .site-nav a { padding:15px 24px; width:100%; border-bottom:none; }
  .site-nav a.active { border-left:2px solid var(--gold); }
}

/* HERO - solid navy, white type, thin gold rule */
.hero { background:var(--navy); padding:100px 24px 80px; text-align:center; color:#fff; }
.hero-label { font-size:11px; letter-spacing:0.4em; text-transform:uppercase; color:#c9b48a; margin-bottom:28px; }
.hero h1 { font-size:clamp(38px,6vw,66px); color:#fff; margin-bottom:26px; font-weight:400; letter-spacing:0.04em; line-height:1.12; }
.hero-line { width:56px; height:1px; background:var(--gold); margin:0 auto 30px; }
.hero-subtitle { font-size:clamp(15px,2vw,19px); color:#c6cede; font-weight:400; font-style:italic; max-width:600px; margin:0 auto; line-height:1.85; }

/* STATEMENT */
.fox-statement { padding:64px 24px; text-align:center; max-width:840px; margin:0 auto; }
.section-label,.fox-statement .label,.values-label,.collections-label,.authenticity .label {
  font-size:11px; letter-spacing:0.34em; text-transform:uppercase; color:var(--gold); margin-bottom:22px; display:block;
}
.fox-statement h2 { font-size:clamp(23px,3.5vw,34px); color:var(--navy); font-weight:400; line-height:1.45; margin-bottom:28px; }
.fox-statement p,.prose p { font-size:16px; color:var(--muted); line-height:1.95; }
.divider { border:none; border-top:1px solid var(--line); max-width:880px; margin:0 auto; }

/* VALUES - white cards on off-white band, navy top rule */
.values { padding:64px 24px; background:var(--off); }
.values-inner { max-width:1040px; margin:0 auto; }
.values-label { text-align:center; margin-bottom:16px; }
.values h2 { font-size:clamp(21px,3vw,29px); color:var(--navy); text-align:center; font-weight:400; margin-bottom:64px; }
.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.value-item { background:#fff; padding:46px 38px; border:1px solid var(--line); border-top:3px solid var(--navy); }
.value-item h3 { font-size:16px; font-weight:700; color:var(--navy); margin-bottom:16px; letter-spacing:0.06em; text-transform:uppercase; }
.value-item p { font-size:15px; color:var(--muted); line-height:1.9; }

/* AUTHENTICITY */
.authenticity { padding:64px 24px; text-align:center; }
.authenticity-inner { max-width:780px; margin:0 auto; }
.authenticity blockquote { font-size:clamp(23px,3.5vw,33px); color:var(--navy); font-weight:400; font-style:italic; line-height:1.5; margin:26px 0 30px; }
.authenticity p { font-size:16px; color:var(--muted); line-height:1.95; }

/* PRODUCT MARQUEE — moving product strip */
.product-marquee { padding:56px 0 48px; background:var(--off); overflow:hidden; }
.product-marquee-intro { max-width:780px; margin:0 auto 40px; padding:0 24px; text-align:center; }
.product-marquee-intro .label { color:var(--gold); }
.product-marquee-intro h2 { font-size:clamp(22px,3.2vw,32px); color:var(--navy); font-weight:400; line-height:1.4; }
.product-marquee-viewport { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.product-marquee-rail { display:flex; gap:20px; width:max-content; animation:product-marquee-scroll 52s linear infinite; padding:0 16px; align-items:flex-start; }
.product-marquee-rail:hover { animation-play-state:paused; }
.product-marquee-item {
  margin:0; flex:0 0 auto; width:min(260px,70vw);
  display:flex; flex-direction:column; align-items:stretch; height:auto; align-self:flex-start;
}
.product-marquee-item img {
  display:block; width:100%; height:auto; aspect-ratio:1 / 1;
  object-fit:contain; object-position:center bottom;
  background:#f3f1ec; padding:8px 8px 4px; box-sizing:border-box;
}
.product-marquee-item figcaption {
  margin:6px 0 0; padding:0; line-height:1.3;
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--muted); text-align:center;
}
.product-marquee-static {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px 20px;
  max-width:1040px; margin:40px auto 0; padding:0 24px;
  align-items:start;
}
.product-marquee-static .product-marquee-item { width:auto; max-width:100%; }
.product-marquee-static .product-marquee-item img { padding:8px 8px 4px; }
.product-marquee-cta { text-align:center; margin-top:32px; }
.product-marquee-cta a { font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:4px; }
@keyframes product-marquee-scroll {
  from { transform:translateX(0); }
  to { transform:translateX(-50%); }
}
@media (max-width:820px){
  .product-marquee-static { grid-template-columns:repeat(2,1fr); }
}
@media (prefers-reduced-motion:reduce){
  .product-marquee-rail { animation:none; flex-wrap:wrap; justify-content:center; width:auto; max-width:1040px; margin:0 auto; }
  .product-marquee-viewport { mask-image:none; -webkit-mask-image:none; overflow:visible; }
}

/* MADE IN TÜRKİYE + CUSTOMIZE */
.produce-turkey { padding:72px 24px; background:var(--paper); border-top:1px solid var(--line); }
.produce-turkey-inner { max-width:1040px; margin:0 auto; display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:start; }
.produce-turkey-copy .label, .produce-turkey-custom .label { margin-bottom:18px; }
.produce-turkey-copy h2 { font-size:clamp(26px,3.6vw,40px); color:var(--navy); font-weight:400; line-height:1.25; margin-bottom:18px; }
.produce-turkey-copy > p { font-size:16px; color:var(--muted); line-height:1.85; max-width:520px; margin-bottom:28px; }
.produce-turkey-btn { background:var(--navy); color:#fff; border-color:var(--navy); margin-bottom:32px; }
.produce-turkey-btn:hover { background:#fff; color:var(--navy); }
.produce-checks { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; padding:0; margin:0; }
.produce-checks li { position:relative; padding-left:22px; font-size:14px; color:var(--ink); line-height:1.55; }
.produce-checks li::before { content:""; position:absolute; left:0; top:0.45em; width:10px; height:6px; border-left:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(-45deg); }
.produce-turkey-custom { padding-top:8px; border-left:1px solid var(--line); padding-left:40px; animation:produce-rise .8s ease both; }
.produce-turkey-custom h3 { font-size:clamp(20px,2.4vw,26px); color:var(--navy); font-weight:400; line-height:1.35; margin-bottom:16px; }
.produce-turkey-custom > p { font-size:15px; color:var(--muted); line-height:1.85; margin-bottom:22px; }
.produce-custom-list { list-style:none; padding:0; margin:0 0 28px; display:grid; gap:10px; }
.produce-custom-list li { font-size:14px; color:var(--ink); padding-left:16px; border-left:2px solid var(--gold); line-height:1.55; }
.produce-link { font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:3px; }
@keyframes produce-rise {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}
@media (max-width:820px){
  .produce-turkey-inner { grid-template-columns:1fr; gap:40px; }
  .produce-turkey-custom { border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:36px; }
  .produce-checks { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .produce-turkey-custom { animation:none; }
}

/* COLLECTIONS - navy band, white bordered cells */
.collections { background:var(--navy); padding:64px 24px; }
.collections-inner { max-width:1040px; margin:0 auto; }
.collections-label { text-align:center; margin-bottom:16px; color:#c9b48a; }
.collections h2 { font-size:clamp(21px,3vw,29px); color:#fff; text-align:center; font-weight:400; margin-bottom:56px; }
.collections-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:0; border:1px solid var(--navy-soft); }
.collection-item { background:var(--navy); padding:40px 30px; text-align:center; border:1px solid var(--navy-soft); transition:background .2s; }
.collection-item:hover { background:var(--navy-soft); }
.collection-item h3 { font-size:13px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:#fff; margin-bottom:12px; }
.collection-item p { font-size:13px; color:#9aa6bd; line-height:1.75; }

/* CTA */
.cta-section { padding:40px 24px 24px; text-align:center; background:var(--navy); border-top:none; }
.cta-section h2 { font-size:clamp(25px,4vw,38px); color:#ffffff; font-weight:400; margin-bottom:22px; }
.cta-section p { font-size:16px; color:#c6cede; max-width:520px; margin:0 auto 38px; line-height:1.85; font-style:italic; }
.cta-button { display:inline-block; background:var(--navy); color:#fff; padding:17px 52px; text-decoration:none; font-size:11px; letter-spacing:0.28em; text-transform:uppercase; font-family:Georgia,serif; border:1px solid var(--navy); transition:background .25s,color .25s; cursor:pointer; }
.cta-button:hover { background:#fff; color:var(--navy); }
.bursa { font-size:11px; letter-spacing:0.28em; text-transform:uppercase; color:#9aa6bd; margin-top:38px; }

/* GENERIC PAGE */
.page-hero { background:var(--navy); padding:72px 24px 52px; text-align:center; color:#fff; }
.page-hero .hero-label { margin-bottom:20px; color:#c9b48a; }
.page-hero h1 { font-size:clamp(31px,5vw,50px); color:#fff; font-weight:400; letter-spacing:0.03em; }
.prose { max-width:800px; margin:0 auto; padding:48px 24px; }
.prose h2 { font-size:clamp(21px,3vw,29px); color:var(--navy); font-weight:400; margin:44px 0 18px; }
.prose h2:first-child { margin-top:0; }
.prose p { margin-bottom:22px; }
.prose ul { margin:0 0 26px 22px; color:var(--muted); line-height:1.95; }

/* CONTACT */
.contact-wrap { max-width:660px; margin:0 auto; padding:56px 24px 64px; }
.contact-form { display:grid; gap:18px; }
.contact-form label { font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--navy); margin-bottom:7px; display:block; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:13px 15px; border:1px solid #cfd4dd; background:#fff; font-family:Georgia,serif; font-size:15px; color:var(--ink); border-radius:0; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:none; border-color:var(--navy); }
.contact-form textarea { min-height:140px; resize:vertical; }
.form-note { font-size:14px; color:var(--muted); font-style:italic; }
.form-success { background:#f2f6ff; border:1px solid #c9d6ef; color:var(--navy); padding:16px; font-size:15px; }
.form-error { background:#fdecea; border:1px solid #f5c2c0; color:#b3261e; padding:12px 15px; font-size:14px; }








@media (max-width:768px){ .values-grid { grid-template-columns:1fr; } .collections-grid { grid-template-columns:repeat(2,1fr); } }

/* SEO service pages - related links grid */
.rel-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:12px; margin:18px 0 40px; }
.rel-link { display:block; padding:16px 18px; border:1px solid var(--line); border-radius:2px; background:#fff; color:var(--navy); text-decoration:none; font-size:14.5px; line-height:1.4; letter-spacing:0.01em; transition:background .18s,color .18s,box-shadow .18s; }
.rel-link:hover { background:var(--navy); color:#fff; box-shadow:0 4px 14px rgba(5,23,60,0.12); }
.prose h3 { font-weight:700; }

@media (max-width:820px){ .site-logo img { width:125px; height:auto; } }

.prose h2 { margin-top:40px; }

/* Start a Project nav button */
.nav-start-project { background:var(--navy) !important; color:#fff !important; padding:9px 20px !important; border-bottom:none !important; font-size:10px !important; letter-spacing:0.22em; font-family:Georgia,serif; white-space:nowrap; transition:background .2s,color .2s !important; }
.nav-start-project:hover { background:var(--gold) !important; color:#fff !important; border-bottom:none !important; }
@media(max-width:768px){ .nav-start-project { margin:4px 24px 8px; width:calc(100% - 48px); text-align:center; padding:14px 20px !important; } }

/* ── Footer ─────────────────────────────────────────────────── */
.site-footer { background:var(--navy); color:#c6cede; padding:32px 24px 0; text-align:left; }
.foot-cols { max-width:1120px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:56px; border-bottom:1px solid #1e3060; }
.foot-brand-col .foot-logo { height:48px; width:auto; display:block; margin-bottom:18px; }
.foot-brand-desc { font-size:13px; color:#8a9ab8; line-height:1.75; margin:0 0 10px; max-width:220px; }
.foot-email a { font-size:12px; color:#c6cede; text-decoration:none; letter-spacing:0.06em; }
.foot-email a:hover { color:#c9b48a; }
.foot-col-heading { font-size:10px; letter-spacing:0.22em; text-transform:uppercase; color:#fff; font-family:Georgia,serif; margin:0 0 18px; font-weight:400; }
.foot-link-col { display:flex; flex-direction:column; gap:11px; }
.foot-link-col a { font-size:12px; color:#8a9ab8; text-decoration:none; letter-spacing:0.06em; transition:color .2s; }
.foot-link-col a:hover { color:#c9b48a; }
.foot-bottom { max-width:1120px; margin:0 auto; padding:20px 0 28px; display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#4a5a7a; letter-spacing:0.06em; }
.foot-bursa-tag { font-size:11px; color:#4a5a7a; letter-spacing:0.1em; text-transform:uppercase; }
@media(max-width:900px){
  .foot-cols { grid-template-columns:1fr 1fr; gap:36px; }
  .foot-brand-col { grid-column:1/-1; }
}
@media(max-width:480px){
  .foot-cols { grid-template-columns:1fr; }
  .foot-bottom { flex-direction:column; gap:8px; text-align:center; }
}

/* ── Process / How Your Order Moves ────────────────────────── */
.process-section { background:#f8f7f4; padding:64px 24px; }
.process-inner { max-width:860px; margin:0 auto; }
.process-label { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:#c9b48a; font-family:Georgia,serif; margin:0 0 14px; }
.process-title { font-size:clamp(28px,4vw,40px); color:var(--navy); margin:0 0 16px; font-weight:400; }
.process-sub { font-size:15px; color:var(--muted); line-height:1.8; margin:0 0 64px; max-width:560px; }

.process-track { display:flex; flex-direction:column; gap:0; }
.process-step { display:grid; grid-template-columns:64px 1fr; gap:0 32px; }
.process-step--last .process-node { }

.process-node { display:flex; flex-direction:column; align-items:center; }
.process-icon { width:52px; height:52px; border-radius:50%; border:1.5px solid #c9b48a; display:flex; align-items:center; justify-content:center; background:#fff; color:#122140; flex-shrink:0; }
.process-icon svg { width:22px; height:22px; }
.process-icon--active { background:var(--navy); border-color:var(--navy); color:#c9b48a; }
.process-icon--done { background:#c9b48a; border-color:#c9b48a; color:#fff; }
.process-connector { width:1.5px; background:linear-gradient(to bottom,#c9b48a55,#c9b48a22); flex:1; min-height:40px; margin:6px 0; }

.process-content { padding:0 0 52px 0; }
.process-num { font-size:10px; letter-spacing:0.22em; color:#c9b48a; font-family:Georgia,serif; display:block; margin-bottom:6px; }
.process-content h3 { font-size:18px; color:var(--navy); font-weight:400; margin:0 0 10px; }
.process-content p { font-size:14px; color:var(--muted); line-height:1.85; margin:0 0 14px; }
.process-tag { font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:#8a9ab8; border:1px solid #dde0e8; padding:4px 10px; display:inline-block; }
.process-tag--gold { color:#c9b48a; border-color:#c9b48a; }

.process-split { display:flex; gap:8px; flex-wrap:wrap; margin-top:4px; }
.process-pill { font-size:10px; letter-spacing:0.12em; text-transform:uppercase; padding:5px 10px; border-radius:2px; white-space:nowrap; line-height:1.4; display:inline-block; }
.process-pill--textile { background:#e8f0ff; color:#122140; }
.process-pill--leather { background:#f5ede0; color:#7a4a1e; }

@media(max-width:600px){
  .process-step { grid-template-columns:44px 1fr; gap:0 20px; }
  .process-icon { width:40px; height:40px; }
  .process-icon svg { width:18px; height:18px; }
}

/* ── Process: Private Label badges ─────────────────────────── */
.process-pl-row { display:flex; align-items:flex-start; gap:10px; background:#f0f3fa; border-left:2px solid #c9b48a; padding:10px 14px; margin:10px 0 14px; overflow:hidden; }
.process-pl-badge { display:inline-flex; align-items:center; gap:5px; font-size:9px; letter-spacing:0.18em; text-transform:uppercase; color:#122140; font-family:Georgia,serif; white-space:nowrap; padding-top:1px; flex-shrink:0; }
.process-pl-badge svg { width:12px; height:12px; stroke:#c9b48a; flex-shrink:0; }
.process-pl-note { font-size:12px; color:#4a5a7a; line-height:1.65; word-break:break-word; min-width:0; }
.process-icon--qa { background:#122140; border-color:#122140; color:#c9b48a; }
.process-pill--qa { background:#eef2f8; color:#122140; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; padding:5px 12px; border-radius:2px; }

/* ── Quality Assurance Section ──────────────────────────────── */
.qa-section { background:var(--navy); padding:64px 24px; }
.qa-inner { max-width:1100px; margin:0 auto; }
.qa-header { max-width:620px; margin:0 auto 64px; text-align:center; }
.qa-label { font-size:10px; letter-spacing:0.28em; text-transform:uppercase; color:#c9b48a; font-family:Georgia,serif; margin:0 0 14px; }
.qa-title { font-size:clamp(26px,3.5vw,38px); color:#fff; font-weight:400; margin:0 0 16px; }
.qa-sub { font-size:15px; color:#8a9ab8; line-height:1.8; margin:0; }
.qa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.qa-card { background:#0d1a35; padding:36px 28px; }
.qa-card-icon { width:44px; height:44px; border:1px solid #c9b48a33; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.qa-card-icon svg { width:22px; height:22px; stroke:#c9b48a; }
.qa-card h3 { font-size:15px; color:#fff; font-weight:400; margin:0 0 12px; letter-spacing:0.02em; }
.qa-card p { font-size:13px; color:#8a9ab8; line-height:1.85; margin:0; }
@media(max-width:900px){ .qa-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px){ .qa-grid { grid-template-columns:1fr; } }

/* ── SVG size guard - process & QA sections ─────────────────── */
.process-section svg,
.qa-section svg { max-width:100%; display:block; }
.process-icon svg { width:22px !important; height:22px !important; flex-shrink:0; }
.process-pl-badge svg { width:12px !important; height:12px !important; flex-shrink:0; }
.qa-card-icon svg { width:22px !important; height:22px !important; }
@media(max-width:600px){
  .process-icon svg { width:18px !important; height:18px !important; }
}

/* ── Dropdown Navigation ────────────────────────────────────── */
.nav-dropdown { position:relative; }
.nav-dropdown > a { display:flex; align-items:center; gap:4px; cursor:pointer; }
.nav-dropdown > a::after { content:'▾'; font-size:9px; opacity:0.5; }
.nav-dropdown-menu { display:none; position:absolute; top:100%; left:0; background:#fff; min-width:240px; border:1px solid var(--line); box-shadow:0 10px 28px rgba(18,33,64,.10); padding:8px 0; z-index:100; }
.nav-dropdown.open .nav-dropdown-menu { display:block; }
.nav-dropdown-menu a { display:block; padding:12px 22px; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--navy); text-decoration:none; border-bottom:none !important; white-space:nowrap; transition:background .15s,color .15s; }
.nav-dropdown-menu a:hover { background:var(--off); color:var(--navy); border-bottom:none !important; }

@media (max-width:820px){
  .nav-dropdown { width:100%; }
  .nav-dropdown > a { width:100%; justify-content:space-between; padding:15px 24px; }
  .nav-dropdown-menu { position:static; display:none; min-width:100%; box-shadow:none; border:none; padding:0 0 0 20px; }
  .nav-dropdown.open .nav-dropdown-menu { display:block; }
  .nav-dropdown-menu a { padding:12px 24px; font-size:11px; }
  .nav-dropdown > a::after { content:'+'; font-size:14px; }
  .nav-dropdown.open > a::after { content:'\2212'; }
}

/* ── Services Overview Page ──────────────────────────────────── */
.services-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:0; max-width:1040px; margin:0 auto; }
.service-card { background:#fff; padding:48px 36px; border:1px solid var(--line); border-top:3px solid var(--navy); transition:border-color .2s; }
.service-card:hover { border-top-color:var(--gold); }
.service-card .service-num { font-size:11px; letter-spacing:0.28em; color:var(--gold); margin-bottom:14px; display:block; }
.service-card h3 { font-size:17px; font-weight:700; color:var(--navy); margin-bottom:14px; letter-spacing:0.04em; text-transform:uppercase; }
.service-card p { font-size:14px; color:var(--muted); line-height:1.85; margin-bottom:20px; }
.service-card a { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:2px; }
.service-card a:hover { color:var(--gold); }
.service-card--featured { background:var(--navy); border-color:var(--gold); border-top-color:var(--gold); }
.service-card--featured:hover { border-top-color:#fff; }
.service-card--featured .service-num { color:var(--gold); }
.service-card--featured h3 { color:#fff; }
.service-card--featured p { color:#c6cede; }
.service-card--featured a { color:var(--gold); }
.service-card--featured a:hover { color:#fff; }

/* ── Service Page Sections ──────────────────────────────────── */
.service-section { max-width:840px; margin:0 auto; padding:40px 24px; }
.service-section h2 { font-size:clamp(20px,3vw,28px); color:var(--navy); font-weight:400; margin:0 0 24px; }
.service-section h3 { font-size:15px; font-weight:700; color:var(--navy); margin:0 0 10px; letter-spacing:0.04em; }
.service-list { list-style:none; margin:0 0 30px; padding:0; }
.service-list li { padding:10px 0 10px 28px; border-bottom:1px solid var(--line); font-size:15px; color:var(--muted); position:relative; }
.service-list li::before { content:''; position:absolute; left:0; top:17px; width:14px; height:1px; background:var(--gold); }
.service-list li:last-child { border-bottom:none; }
.process-steps { counter-reset:step; list-style:none; margin:0 0 40px; padding:0; }
.process-step-item { padding:0 0 28px 52px; position:relative; border-left:1px solid var(--line); margin-left:16px; padding-left:40px; }
.process-step-item:last-child { border-left-color:transparent; }
.process-step-item .step-num { counter-increment:step; content:counter(step); position:absolute; left:-14px; top:0; width:28px; height:28px; background:var(--navy); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-family:Georgia,serif; }
.process-step-item::before { content:counter(step); position:absolute; left:-14px; top:0; width:28px; height:28px; background:var(--navy); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-family:Georgia,serif; }
.process-step-item h3 { margin-bottom:8px; }
.process-step-item p { font-size:15px; color:var(--muted); line-height:1.85; }
.deliverables-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:8px; margin-bottom:30px; }
.deliverable-item { padding:14px 18px; background:var(--off); border-left:2px solid var(--gold); font-size:14px; color:var(--navy); }
.limitations-box { background:#f8f6f0; border:1px solid var(--line); padding:32px 36px; margin:0 0 40px; }
.limitations-box h3 { margin-bottom:16px; }
.limitations-box ul { margin:0 0 0 18px; color:var(--muted); line-height:2; }
.service-cta-row { display:flex; gap:16px; flex-wrap:wrap; margin:40px 0 0; }
.service-cta-row .cta-button { font-size:11px; padding:14px 36px; }
.service-cta-secondary { display:inline-block; background:transparent; color:var(--navy); padding:14px 36px; text-decoration:none; font-size:11px; letter-spacing:0.28em; text-transform:uppercase; font-family:Georgia,serif; border:1px solid var(--navy); transition:background .25s,color .25s; }
.service-cta-secondary:hover { background:var(--navy); color:#fff; }
/* CTA section on navy background - invert button colors */
.cta-section .cta-button { background:#fff; color:var(--navy); border-color:#fff; }
.cta-section .cta-button:hover { background:var(--gold); color:#fff; border-color:var(--gold); }
.cta-section .service-cta-secondary { color:#fff; border-color:rgba(255,255,255,0.4); }
.cta-section .service-cta-secondary:hover { background:rgba(255,255,255,0.12); color:#fff; border-color:#fff; }
.cta-section .service-cta-row { margin:0; justify-content:center; }

/* ── Homepage Services Section ──────────────────────────────── */
.home-services { padding:64px 24px; background:var(--off); }
.home-services-inner { max-width:1040px; margin:0 auto; }
.home-services h2 { font-size:clamp(24px,3.5vw,36px); color:var(--navy); font-weight:400; text-align:center; margin-bottom:16px; }
.home-services > .home-services-inner > p:first-of-type { text-align:center; font-size:16px; color:var(--muted); max-width:640px; margin:0 auto 60px; line-height:1.85; }
.home-services-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:0; }
.home-service-card { background:#fff; padding:40px 32px; border:1px solid var(--line); transition:border-top-color .2s; border-top:3px solid var(--navy); }
.home-service-card:hover { border-top-color:var(--gold); }
.home-service-card h3 { font-size:14px; font-weight:700; color:var(--navy); margin-bottom:12px; letter-spacing:0.1em; text-transform:uppercase; }
.home-service-card p { font-size:14px; color:var(--muted); line-height:1.8; }
.home-service-card--featured { background:var(--navy); border-top-color:var(--gold); }
.home-service-card--featured h3 { color:#fff; }
.home-service-card--featured p { color:#c6cede; }
.home-service-card--featured:hover { border-top-color:#fff; }
.home-services-cta { text-align:center; margin-top:56px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ── Homepage Pathways ──────────────────────────────────────── */
.home-pathways { padding:64px 24px; }
.home-pathways-inner { max-width:1040px; margin:0 auto; }
.home-pathways-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.home-pathway-card { background:var(--navy); padding:48px 36px; color:#fff; text-decoration:none; transition:background .2s; }
.home-pathway-card:hover { background:var(--navy-deep); }
.home-pathway-card h3 { font-size:18px; font-weight:400; color:#fff; margin-bottom:14px; letter-spacing:0.04em; }
.home-pathway-card p { font-size:14px; color:#9aa6bd; line-height:1.85; }
.home-pathway-card .pathway-arrow { display:block; margin-top:20px; font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold); }
@media(max-width:820px){ .home-pathways-grid { grid-template-columns:1fr; } }

/* ── Breadcrumbs ────────────────────────────────────────────── */
.breadcrumbs { font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-bottom:30px; padding:0; }
.breadcrumbs a { text-decoration:none; color:var(--muted); }
.breadcrumbs a:hover { color:var(--navy); }
.breadcrumbs span { margin:0 6px; color:var(--line); }

/* ── Cookie banner ──────────────────────────────────────────── */
#cookie-banner {
  box-sizing: border-box;
  max-height: 40vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#cookie-banner button {
  flex-shrink: 0;
  min-height: 40px;
}
@media (max-width: 640px) {
  #cookie-banner {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: left;
    gap: 12px !important;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  #cookie-banner > span {
    max-width: 100% !important;
    font-size: 12px !important;
  }
  #cookie-banner > div {
    width: 100%;
    justify-content: stretch;
  }
  #cookie-banner button {
    flex: 1;
    width: 100%;
  }
}
