:root{--ink:#1a3d2e;--muted:#516a5e;--line:#e2d9c8;--paper:#f4efe4;--white:#fdfbf7;--leaf:#2d5a47;--leaf-deep:#1a3d2e;--leaf-bright:#3d7260;--red:#b85c48;--gold:#b8986e;--gold-light:#d4bc8e;--tan:#c4b199;--jade:#e8f0eb;--stone:#e8dfd0;--shadow:0 20px 48px rgba(26,61,46,0.08);--font-serif:'Playfair Display', 'Noto Serif Thai', Georgia, serif;--font-sans:'Manrope', 'Noto Sans Thai', Arial, sans-serif;--step-caption:15px;--step-body:18px;--step-small:16px;--step-card-title:26px;--step-section-title:clamp(36px,4vw,48px);--step-hero:clamp(48px,6vw,72px);--line-height-body:1.75;--line-height-tight:1.2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 12% 0%, rgba(196, 154, 67, 0.13), transparent 34%), linear-gradient(180deg, #fbf9f2 0%, var(--paper) 50%, #eee8db 100%);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-body);line-height:var(--line-height-body);letter-spacing:0}img{display:block;max-width:100%;height:auto}a{color:inherit}.skip-link, .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap}.skip-link:focus{z-index:20;width:auto;height:auto;clip:auto;top:12px;left:12px;padding:10px 14px;background:var(--white);border:2px solid var(--red)}.site-header{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:76px;padding:14px 48px;background:rgba(250, 248, 240, 0.9);border-bottom:1px solid rgba(15, 28, 24, 0.1);box-shadow:0 12px 40px rgba(15, 28, 24, 0.06);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);min-width:250px}.brand-mark{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid rgba(160, 39, 45, 0.22);border-radius:10px;background:linear-gradient(145deg, #fffaf0, #ead9ad);color:var(--red);font-family:var(--font-serif);font-size:24px;font-weight:700;box-shadow:inset 0 0 0 1px rgba(255, 255, 255, 0.45), 0 10px 24px rgba(196, 154, 67, 0.18)}.brand strong, .brand small{display:block}.brand strong{font-size:20px;line-height:1.2}.brand small{margin-top:5px;color:var(--muted);font-size:15px}.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:1}.site-nav a, .language-toggle{position:relative;min-height:38px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#2b3b34;font:inherit;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}.site-nav a::after{position:absolute;right:10px;bottom:5px;left:10px;height:2px;transform:scaleX(0);transform-origin:left;background:var(--red);content:"";transition:transform 160ms ease}.site-nav a:hover, .language-toggle:hover{background:rgba(23, 63, 49, 0.06);color:var(--ink)}.site-nav a:hover::after, .site-nav a:focus-visible::after{transform:scaleX(1)}.language-toggle{min-width:46px;margin-left:4px;border:1px solid rgba(15, 28, 24, 0.14);background:rgba(255, 255, 255, 0.7);color:var(--ink);font-weight:800}.site-nav .nav-cta{min-width:68px;margin-left:8px;padding-inline:15px;background:var(--ink);color:var(--white);text-align:center}.site-nav .nav-cta::after{display:none}.site-nav .nav-cta:hover{background:var(--red);color:var(--white)}.icon-button{display:none;width:48px;height:48px;place-items:center;border:1px solid rgba(196, 154, 67, 0.32);border-radius:12px;background:linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(242, 232, 207, 0.95));box-shadow:0 8px 22px rgba(15, 28, 24, 0.12), inset 0 0 0 1px rgba(255, 255, 255, 0.72)}.menu-lines, .menu-lines::before, .menu-lines::after{display:block;width:21px;height:2px;border-radius:999px;background:var(--leaf);content:""}.menu-lines::before{transform:translateY(-7px)}.menu-lines::after{transform:translateY(5px)}.hero{position:relative;min-height:760px;display:grid;grid-template-columns:minmax(0, 0.92fr) minmax(360px, 0.68fr);gap:42px;align-items:end;overflow:hidden;padding:0 48px 76px;color:var(--white)}.hero picture, .hero picture::after, .hero img{position:absolute;inset:0}.hero img{width:100%;height:100%;object-fit:cover}.hero picture::after{display:block;background:linear-gradient(90deg, rgba(6, 17, 13, 0.9), rgba(20, 37, 29, 0.55), rgba(20, 37, 29, 0.18)), linear-gradient(0deg, rgba(6, 17, 13, 0.62), transparent 48%);content:""}.hero-copy{position:relative;width:min(850px, calc(100% - 48px));margin:0}.hero-formal{position:relative;z-index:1;margin:0;overflow:hidden;border:1px solid rgba(255, 255, 255, 0.22);border-radius:18px;background:rgba(15, 28, 24, 0.3);box-shadow:0 34px 92px rgba(0, 0, 0, 0.34)}.hero-formal::before{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent 48%, rgba(11, 23, 18, 0.36));content:""}.hero-formal img{width:100%;height:min(62vh, 620px);object-fit:cover;object-position:center}.eyebrow{margin:0 0 10px;color:var(--red);font-size:var(--step-caption);font-weight:700;text-transform:uppercase}.hero .eyebrow{color:#f3d58b}h1, h2, h3, p{overflow-wrap:anywhere}h1, h2, h3{margin:0;font-family:var(--font-serif);line-height:1.15;letter-spacing:0}h1{max-width:820px;font-size:var(--step-hero)}h2{max-width:720px;font-size:var(--step-section-title)}h3{font-size:var(--step-card-title)}.hero-copy p:not(.eyebrow){max-width:690px;margin:20px 0 0;font-size:19px}.brand-tagline{display:inline-flex;align-items:center;width:fit-content;margin:0 0 16px;padding:9px 14px;border:1px solid rgba(243, 213, 139, 0.38);border-radius:999px;background:rgba(9, 28, 22, 0.48);color:#f3d58b;font-family:var(--font-serif);font-size:clamp(20px, 2vw, 30px);font-weight:800;line-height:1.2;box-shadow:0 12px 34px rgba(0, 0, 0, 0.14)}.hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.hero-proof span{padding:8px 12px;border:1px solid rgba(255, 255, 255, 0.22);border-radius:999px;background:rgba(255, 255, 255, 0.09);color:rgba(255, 255, 255, 0.86);font-size:13px;font-weight:700}.hero-actions, .source-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:10px;font-weight:700;text-decoration:none;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);cursor:pointer}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(0.98)}.button.primary{background:linear-gradient(135deg, var(--red), #7d1f26);color:var(--white);box-shadow:0 14px 34px rgba(160, 39, 45, 0.25)}.button.primary:hover{background:linear-gradient(135deg, #b02e34, #912228);box-shadow:0 16px 40px rgba(160, 39, 45, 0.35)}.button.secondary{background:var(--white);color:var(--ink);border:1px solid rgba(15, 28, 24, 0.12)}.button.secondary:hover{border-color:rgba(15, 28, 24, 0.24);background:rgba(255, 255, 255, 0.95);box-shadow:0 8px 20px rgba(15, 28, 24, 0.04)}.button.danger{background:#7d1f26;color:var(--white)}.button.danger:hover{background:#912228}.trust-band{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:1px;background:rgba(255, 255, 255, 0.12);border-bottom:1px solid var(--line);color:var(--white);overflow:hidden}.trust-band div{background:#323d3a;min-width:0;min-height:128px;padding:24px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:background 0.3s cubic-bezier(0.16, 1, 0.3, 1)}.trust-band div:hover{background:#182c24}.trust-band strong, .trust-band div > span{display:block}.trust-band strong{color:var(--gold);font-size:clamp(28px, 3vw, 38px);line-height:1;font-weight:700;font-family:var(--font-serif);text-shadow:0 8px 24px rgba(196, 154, 67, 0.15)}.stat-counter{display:inline-flex;align-items:baseline;justify-content:center;gap:0.12em;max-width:100%;white-space:nowrap}.counter-value{display:inline-block;min-width:1ch;flex:0 0 auto}.counter-suffix{display:inline-block;flex:0 0 auto;white-space:nowrap}.trust-band div > span{margin-top:8px;color:rgba(255, 255, 255, 0.7);font-size:13px;font-weight:600;line-height:1.4}.brand-promise{display:grid;grid-template-columns:minmax(280px, 0.8fr) minmax(280px, 1fr);gap:24px;align-items:center;padding:28px 48px;border-bottom:1px solid rgba(15, 28, 24, 0.08);background:linear-gradient(90deg, rgba(248, 244, 235, 0.98), rgba(239, 230, 210, 0.92))}.brand-promise p{margin:0;color:var(--red);font-family:var(--font-serif);font-size:clamp(28px, 3vw, 42px);font-weight:900;line-height:1.16}.brand-promise span{color:#425149;font-size:17px;font-weight:800;line-height:1.65}.section{padding:92px 48px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.section-heading .eyebrow{flex:0 0 auto;max-width:220px}.section-heading h2{max-width:820px}.service-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px}.service-grid article, .recommended-grid article, .article-grid article, .reference-grid article, .profile-content article{border:1px solid rgba(23, 63, 49, 0.08);border-radius:12px;background:rgba(255, 255, 255, 0.88);box-shadow:0 1px 2px rgba(15, 28, 24, 0.02);transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1)}.service-grid article:hover, .recommended-grid article:hover, .article-grid article:hover, .reference-grid article:hover, .profile-content article:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(23, 63, 49, 0.08);border-color:rgba(196, 154, 67, 0.42)}.service-grid article{padding:24px}.service-grid h3{display:flex;align-items:center;gap:8px}.service-grid p, .article-grid p, .lineage p, .contact p, .steps p{color:var(--muted)}.split{display:grid;grid-template-columns:0.78fr 1fr;gap:56px;align-items:center;background:var(--white)}.portrait-wrap{overflow:hidden;border-radius:8px;box-shadow:var(--shadow)}.portrait-wrap img{width:100%;aspect-ratio:1 / 1;object-fit:cover}.steps{display:grid;gap:16px;margin-top:30px}.steps div{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}.steps span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#eef2ed;color:var(--red);font-weight:700}.steps p{margin:0}.gallery-section{background:var(--jade)}.gallery{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}.gallery figure{margin:0;overflow:hidden;border-radius:8px;background:var(--white);box-shadow:0 1px 0 rgba(20, 37, 29, 0.08)}.gallery img, .article-grid img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.gallery figcaption{padding:14px 16px 16px;font-weight:700}.lineage{display:grid;grid-template-columns:1fr 0.72fr;gap:48px;align-items:center;background:var(--ink);color:var(--white)}.lineage p{color:#d9dfd8}.lineage img{width:100%;border-radius:8px;box-shadow:var(--shadow)}.source-links a{padding:11px 14px;border:1px solid rgba(255, 255, 255, 0.24);border-radius:8px;color:var(--white);text-decoration:none}.articles{background:linear-gradient(180deg, #ffffff 0%, #f8f5ed 100%)}.article-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}.recommended-panel{margin:0 0 30px;padding:28px;border-radius:12px;background:linear-gradient(135deg, rgba(10, 31, 24, 0.96), rgba(29, 39, 31, 0.96)), #2a3d3a;color:var(--white);box-shadow:0 28px 70px rgba(10, 31, 24, 0.16)}.recommended-copy{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.recommended-copy .eyebrow{color:var(--gold)}.recommended-copy h3{max-width:760px;color:var(--white);font-size:clamp(26px, 3vw, 44px);line-height:1.12}.recommended-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:14px}.recommended-card{position:relative;overflow:hidden;background:rgba(255, 255, 255, 0.94)}.recommended-card button, .recommended-card a, .article-card button, .article-card a{display:block;width:100%;min-height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none;cursor:pointer}.recommended-card img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.recommend-rank{position:absolute;z-index:1;top:12px;left:12px;padding:6px 10px;border-radius:999px;background:rgba(9, 28, 22, 0.82);color:var(--gold);font-size:12px;font-weight:900}.article-toolbar{display:grid;grid-template-columns:minmax(260px, 420px) 1fr;gap:18px;align-items:end;margin-bottom:18px}.search-box span{display:block;margin-bottom:6px;color:var(--muted);font-size:13px;font-weight:700}.search-box > input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);font:inherit}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-row button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.filter-row button.is-active{border-color:var(--leaf);background:var(--leaf);color:var(--white)}.article-meta-row{display:flex;justify-content:space-between;gap:20px;margin:0 0 22px;color:var(--muted)}.article-card{overflow:hidden}.article-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover}.article-chip{display:inline-block;margin:16px 18px 10px;padding:5px 9px;border-radius:999px;background:#efe6d2;color:#7d1f26;font-size:12px;font-weight:800}.recommended-card strong, .recommended-card small, .recommended-card p, .article-card strong, .article-card small, .article-card p{display:block;padding:0 18px}.keyword-tag{display:inline-block;margin:10px 18px 0;padding:4px 8px;border:1px solid rgba(196, 154, 67, 0.34);border-radius:999px;color:#7d1f26;font-size:12px;font-style:normal;font-weight:800}.recommended-card strong, .article-card strong{min-height:58px;font-size:20px;line-height:1.35;color:var(--ink)}.recommended-card small, .article-card small{margin-top:10px;color:var(--gold);font-weight:800}.recommended-card p, .article-card p{margin:10px 0 20px;color:var(--muted);font-size:var(--step-small);line-height:var(--line-height-body)}.article-card.is-text-only{position:relative;overflow:hidden;background:linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 239, 0.96))}.article-card.is-text-only::before{content:"";display:block;height:4px;background:linear-gradient(90deg, var(--gold), rgba(126, 28, 36, 0.72), rgba(23, 63, 49, 0.72))}.article-card.is-text-only .article-chip{margin-top:18px}.article-card.is-text-only strong{min-height:76px;font-size:20px}.article-card.is-text-only p{min-height:104px}.load-more{margin:28px auto 0}.quiet-admin{width:1px;height:1px;opacity:0.02;border:0;background:transparent;color:transparent;cursor:default}.editor-mode .quiet-admin, .quiet-admin:focus{width:auto;height:auto;opacity:1;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);cursor:pointer}.article-dialog, .admin-dialog{width:min(980px, calc(100% - 28px));max-height:88vh;padding:0;overflow:auto;border:0;border-radius:8px;background:var(--white);box-shadow:var(--shadow)}.article-dialog::backdrop, .admin-dialog::backdrop{background:rgba(4, 12, 9, 0.62)}.article-dialog img{width:100%;max-height:360px;object-fit:cover}.dialog-body, .admin-form{padding:30px}.dialog-close{position:sticky;z-index:2;top:12px;float:right;width:42px;height:42px;margin:12px 12px -54px 0;border:0;border-radius:50%;background:var(--ink);color:var(--white);font-size:28px;line-height:1}.dialog-body pre{white-space:pre-wrap;color:#28352f;font:inherit}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.source-link{color:var(--red);font-weight:800}.admin-form label{display:grid;gap:6px;margin-top:14px;color:var(--muted);font-weight:700}.admin-form input, .admin-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}.admin-note{color:var(--muted);font-size:13px}.contact{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#f4efe6}.contact p{max-width:680px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:26px 48px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.site-footer p{margin:0}.project-hero{display:grid;grid-template-columns:1fr 0.72fr;gap:54px;align-items:center;min-height:620px;padding:92px 48px;background:linear-gradient(135deg, rgba(15, 28, 24, 0.9), rgba(23, 63, 49, 0.78)), url("assets/images/luxury-garden-home-entrance-good-vibe-cover.jpg") center / cover;color:var(--white)}.project-hero h1{max-width:760px}.project-hero p:not(.eyebrow){font-size:24px;font-weight:800}.project-hero img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid rgba(255, 255, 255, 0.24);border-radius:12px;box-shadow:var(--shadow)}.project-scope{background:#fffaf0}.project-promise{margin:26px 0 0;color:var(--red);font-size:22px;font-weight:900}.references-section{background:var(--jade)}.reference-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:14px}.reference-grid article{min-height:260px;padding:26px}.reference-grid h3{margin-bottom:16px}.reference-grid p{margin:8px 0;color:#405048}.project-contact{background:#f4efe6}@media (max-width:980px){.site-header{min-height:74px;padding:10px 20px}.icon-button{display:grid}.site-nav{position:absolute;top:calc(100% + 10px);right:20px;left:20px;display:none;padding:10px;border:1px solid rgba(15, 28, 24, 0.12);border-radius:12px;background:rgba(250, 248, 240, 0.98);box-shadow:0 22px 60px rgba(15, 28, 24, 0.18);backdrop-filter:blur(16px)}.site-nav.is-open{display:grid;gap:2px}.site-nav a, .language-toggle{width:100%;min-height:48px;padding:12px 14px;font-size:16px;text-align:left}.project-nav{position:static;display:flex;padding:0;border:0;box-shadow:none;background:transparent}.project-hero, .reference-grid{grid-template-columns:1fr}.project-hero{min-height:auto;padding:70px 24px}.site-nav a::after{display:none}.site-nav a:hover, .language-toggle:hover{background:rgba(23, 63, 49, 0.08)}.site-nav .nav-cta{display:flex;align-items:center;justify-content:center;margin:8px 0 0;text-align:center}.language-toggle{margin:8px 0 0;text-align:center}.hero{min-height:620px;grid-template-columns:1fr;padding:96px 24px 54px}.hero-copy{width:100%}.hero-formal img{height:auto}h1{font-size:44px}h2{font-size:30px}.trust-band, .service-grid, .gallery, .article-grid{grid-template-columns:repeat(2, 1fr)}.brand-promise{grid-template-columns:1fr;gap:10px;padding:26px 24px}.recommended-copy{display:block}.article-toolbar{grid-template-columns:1fr}.split, .lineage{grid-template-columns:1fr}.section{padding:70px 24px}}@media (max-width:640px){body{font-size:17px}.brand strong{font-size:17px}.brand{min-width:0}.project-nav a:not(.nav-cta){display:none}.project-hero p:not(.eyebrow){font-size:20px}.hero{min-height:590px}.hero picture::after{background:linear-gradient(180deg, rgba(20, 37, 29, 0.42), rgba(20, 37, 29, 0.88))}h1{font-size:40px}h2{font-size:30px}.hero-copy p:not(.eyebrow){font-size:19px}.trust-band, .service-grid, .gallery, .article-grid{grid-template-columns:1fr}.brand-promise p{font-size:28px}.brand-promise span{font-size:15px}.recommended-panel{padding:20px}.recommended-copy h3{font-size:25px}.trust-band div{min-height:auto}.section-heading, .contact, .site-footer{display:block}.button{width:100%}.contact .button{margin-top:18px}.site-footer p + p{margin-top:8px}}.project-page{background:#f4efe4}.project-header{background:rgba(11, 23, 18, 0.92);border-bottom-color:rgba(255, 255, 255, 0.12);box-shadow:none}.project-header .brand, .project-header .site-nav a{color:var(--white)}.project-header .brand small{color:rgba(255, 255, 255, 0.64)}.project-header .site-nav a:hover{background:rgba(255, 255, 255, 0.1);color:var(--white)}.portfolio-hero{display:grid;grid-template-columns:minmax(0, 0.82fr) minmax(420px, 1fr);gap:56px;align-items:center;min-height:calc(100dvh - 76px);padding:64px 48px 54px;background:linear-gradient(90deg, rgba(11, 23, 18, 0.97) 0%, rgba(11, 23, 18, 0.91) 42%, rgba(11, 23, 18, 0.72) 100%), url("assets/images/townhouse-front-garden-warm-entry-cover.jpg") center / cover;color:var(--white)}.portfolio-copy{max-width:780px}.portfolio-copy .eyebrow, .wall-heading .eyebrow, .portfolio-scope .eyebrow, .portfolio-contact .eyebrow{color:var(--gold)}.portfolio-copy h1{max-width:760px;font-size:66px;line-height:1.04}.portfolio-copy p:not(.eyebrow){margin:18px 0 0;color:rgba(255, 255, 255, 0.76);font-size:24px;font-weight:800}.portfolio-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.portfolio-image{margin:0;overflow:hidden;border:1px solid rgba(255, 255, 255, 0.18);border-radius:16px;background:#17231e;box-shadow:0 34px 90px rgba(0, 0, 0, 0.35)}.portfolio-image img{width:100%;height:min(70vh, 680px);object-fit:cover}.portfolio-scope{display:grid;grid-template-columns:minmax(280px, 0.62fr) 1fr;gap:48px;padding:88px 48px;background:#f8f4eb}.scope-intro h2, .wall-heading h2, .portfolio-contact h2{font-size:44px}.scope-intro p:not(.eyebrow), .portfolio-contact p{max-width:560px;color:var(--muted)}.scope-list{display:grid;gap:0;border-top:1px solid rgba(15, 28, 24, 0.14)}.scope-list article{display:grid;grid-template-columns:76px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid rgba(15, 28, 24, 0.14)}.scope-list span{display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(196, 154, 67, 0.38);border-radius:50%;color:var(--red);font-weight:900;font-variant-numeric:tabular-nums}.scope-list h3{font-size:24px}.scope-list p{margin:8px 0 0;color:var(--muted)}.reference-wall{padding:92px 48px;background:#243330;color:var(--white)}.wall-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.wall-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:14px}.wall-grid article{padding:30px;border:1px solid rgba(255, 255, 255, 0.12);border-radius:14px;background:linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.035))}.wall-grid .wall-feature{grid-row:span 2;background:linear-gradient(145deg, rgba(196, 154, 67, 0.18), rgba(255, 255, 255, 0.04))}.wall-grid .wall-wide{grid-column:span 2}.wall-grid h3{margin-bottom:18px;color:#f3d58b;font-size:22px}.wall-grid p{margin:9px 0;color:rgba(255, 255, 255, 0.74)}.portfolio-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:76px 48px;background:linear-gradient(90deg, rgba(248, 244, 235, 0.96), rgba(232, 218, 185, 0.74)), url("assets/images/modern-chinese-spirit-house-teeju.jpg") center / cover}.portfolio-contact > div{max-width:760px}@media (max-width:980px){.portfolio-hero, .portfolio-scope, .wall-grid{grid-template-columns:1fr}.portfolio-hero{min-height:auto;padding:58px 24px}.portfolio-copy h1{font-size:46px}.portfolio-image img{height:auto}.portfolio-scope, .reference-wall, .portfolio-contact{padding:66px 24px}.wall-grid .wall-feature, .wall-grid .wall-wide{grid-row:auto;grid-column:auto}.portfolio-contact{display:block}.portfolio-contact .button{margin-top:18px}}@media (max-width:640px){.portfolio-copy h1{font-size:36px}.scope-intro h2, .wall-heading h2, .portfolio-contact h2{font-size:30px}.scope-list article{grid-template-columns:52px 1fr;gap:16px}}#services{background:#f8f4eb}#services .section-heading{align-items:start;max-width:1180px}#services .service-grid{grid-template-columns:1.15fr 0.85fr;gap:16px}#services .service-grid article{position:relative;min-height:220px;padding:34px 34px 30px;overflow:hidden;border-radius:16px;background:linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(242, 232, 207, 0.64));box-shadow:0 12px 34px rgba(15, 28, 24, 0.04);transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1)}#services .service-grid article:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(15, 28, 24, 0.1)}#services .service-grid article:nth-child(1){grid-row:span 3;min-height:600px;background:linear-gradient(180deg, rgba(15, 28, 24, 0.18), rgba(15, 28, 24, 0.76)), url("assets/images/homey-balanced-house-entrance-cover.jpg") center / cover;color:var(--white);display:flex;flex-direction:column;justify-content:flex-end}#services .service-grid article:nth-child(3){background:linear-gradient(180deg, rgba(15, 28, 24, 0.08), rgba(15, 28, 24, 0.58)), url("assets/images/modern-chinese-spirit-house-teeju.jpg") center / cover;color:var(--white);display:flex;flex-direction:column;justify-content:flex-end}#services .service-grid article:nth-child(1) p, #services .service-grid article:nth-child(3) p{color:rgba(255, 255, 255, 0.76)}#services .service-grid article::before{display:grid;width:42px;height:42px;margin-bottom:24px;place-items:center;border:1px solid rgba(196, 154, 67, 0.42);border-radius:50%;color:var(--red);font-size:13px;font-weight:900;content:"0" counter(service);counter-increment:service}#services .service-grid{counter-reset:service}#services .service-grid article:nth-child(1)::before, #services .service-grid article:nth-child(3)::before{color:#f3d58b;border-color:rgba(243, 213, 139, 0.54);background:rgba(15, 28, 24, 0.24)}#services .service-grid h3{max-width:430px;font-size:26px;line-height:1.25}.service-card-image{display:block;width:100%;aspect-ratio:16 / 9;margin:-8px 0 22px;border-radius:12px;object-fit:cover;box-shadow:0 16px 34px rgba(15, 28, 24, 0.12)}#services .service-grid p{max-width:520px;margin-top:16px;font-size:var(--step-body);line-height:1.7}@media (max-width:980px){#services .service-grid{grid-template-columns:1fr}#services .service-grid article:nth-child(1){grid-row:auto;min-height:320px}}.profile-page{background:#f8f4eb}.profile-hero{display:grid;grid-template-columns:minmax(0, 1fr) minmax(340px, 0.72fr);gap:52px;align-items:center;min-height:660px;padding:80px 48px;background:linear-gradient(90deg, rgba(11, 23, 18, 0.94), rgba(23, 63, 49, 0.76)), url("assets/images/peaceful-garden-walkway-home-flow-cover.jpg") center / cover;color:var(--white)}.profile-hero h1{max-width:840px;font-size:58px}.profile-hero p:not(.eyebrow){max-width:720px;color:rgba(255, 255, 255, 0.76);font-size:20px}.profile-hero img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid rgba(255, 255, 255, 0.18);border-radius:16px;box-shadow:var(--shadow)}.profile-content{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px;padding:76px 48px}.profile-content article{min-height:320px;padding:30px}.profile-content h2{font-size:28px}.profile-content p{color:var(--muted)}.profile-content a{color:var(--red);font-weight:800}@media (max-width:980px){.profile-hero, .profile-content{grid-template-columns:1fr}.profile-hero{min-height:auto;padding:62px 24px}.profile-content{padding:62px 24px}.profile-hero h1{font-size:42px}} .card-link{display:flex !important;flex-direction:column;height:100%;text-decoration:none;color:inherit}.recommended-card, .article-card{display:flex !important;flex-direction:column;height:auto}
.recommended-grid--home .recommended-card{height:auto !important;min-height:0 !important;width:100% !important}.card-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px 20px;margin-top:auto;border-top:1px solid rgba(23, 63, 49, 0.04)}.card-footer .read-more-link{margin-top:0;padding:0}.bookmark-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(23, 63, 49, 0.12);border-radius:999px;background:var(--white);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:all 0.2s ease}.bookmark-btn:hover{background:var(--jade);color:var(--leaf);border-color:rgba(23, 63, 49, 0.24)}.bookmark-btn.is-saved{background:rgba(196, 154, 67, 0.1);color:#7d1f26;border-color:var(--gold)}.bookmark-btn.is-saved:hover{background:rgba(196, 154, 67, 0.18);border-color:var(--gold)}.bookmark-icon{font-size:14px}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:rgba(255,255,255,0.4);border:2px dashed rgba(23, 63, 49, 0.15);border-radius:16px;margin:20px 0;width:100%}.empty-icon{font-size:36px;margin-bottom:12px}.empty-title{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--leaf);margin:0 0 6px 0}.empty-desc{font-size:14px;color:var(--muted);margin:0}.card-image-wrapper{overflow:hidden;width:100%}.recommended-card img, .article-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important}.recommended-card:hover img, .article-card:hover img{transform:scale(1.06)}.card-content{display:flex;flex-direction:column;flex-grow:1;padding-bottom:24px !important}.recommended-card strong, .article-card strong{display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:52px !important;height:52px !important;margin-bottom:4px}.recommended-card p, .article-card p{display:-webkit-box !important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:72px !important;height:72px !important;margin:10px 0 16px !important}.read-more-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:0 18px;font-size:14px;font-weight:700;color:var(--red);transition:transform 0.2s ease, color 0.2s ease}.recommended-card:hover .read-more-link, .article-card:hover .read-more-link{color:var(--ink);transform:translateX(4px)}.article-card.is-text-only .card-content{padding-top:12px}.article-card.is-text-only strong{min-height:52px !important;height:52px !important}.article-card.is-text-only p{min-height:72px !important;height:72px !important}.article-toolbar{background:rgba(255, 255, 255, 0.5);padding:24px;border-radius:16px;border:1px solid rgba(23, 63, 49, 0.06);margin-bottom:28px !important;box-shadow:0 10px 30px rgba(23, 63, 49, 0.02)}.search-box input{border:1px solid rgba(23, 63, 49, 0.12) !important;border-radius:10px !important;font-weight:600;transition:border-color 0.2s ease, box-shadow 0.2s ease}.search-box input:focus{outline:none;border-color:var(--gold) !important;box-shadow:0 0 0 3px rgba(196, 154, 67, 0.15) !important}.filter-row button{border:1px solid rgba(23, 63, 49, 0.1) !important;border-radius:20px !important;padding:8px 16px !important;font-weight:600 !important;background:rgba(255, 255, 255, 0.8) !important;transition:all 0.2s ease !important}.filter-row button:hover{background:var(--jade) !important;border-color:rgba(23, 63, 49, 0.2) !important}.filter-row button.is-active{background:var(--leaf) !important;border-color:var(--leaf) !important;color:var(--white) !important;box-shadow:0 4px 12px rgba(23, 63, 49, 0.15) !important}.lineage-photos{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}.lineage-photo-card{margin:0;text-align:center;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px 12px 18px;box-shadow:var(--shadow)}.lineage-photo-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:8px;margin-bottom:12px;box-shadow:0 8px 20px rgba(0,0,0,0.15)}.lineage-photo-card figcaption{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--gold);line-height:1.3}@media(max-width:480px){.lineage-photos{grid-template-columns:1fr}}

/* Header menu refresh */
.header-tools{display:none;align-items:center;gap:8px}
.menu-toggle{display:none;cursor:pointer}
.nav-backdrop{position:fixed;inset:0;z-index:9;background:rgba(6,17,13,0.42);backdrop-filter:blur(4px)}
body.nav-open{overflow:hidden}
.site-header{min-height:72px}

@media (max-width:980px){
.header-tools{display:flex}
.menu-toggle{display:inline-flex}
.site-nav{position:fixed;top:0;right:0;left:auto;z-index:11;width:min(360px,88vw);height:100dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:88px 22px 28px;border:0;border-radius:0;background:rgba(250,248,240,0.98);box-shadow:-24px 0 60px rgba(15,28,24,0.18);transform:translateX(105%);transition:transform 220ms ease;backdrop-filter:blur(18px)}
.site-nav.is-open{transform:translateX(0)}
.site-nav a,.language-toggle{min-height:46px;padding:12px 14px;border-radius:10px;font-size:15px}
.site-nav .nav-cta{margin-top:10px;justify-content:center}
}

/* Yin-yang brand mark */
.brand-mark{
  position:relative;
  flex-shrink:0;
  overflow:hidden;
  border-radius:50%;
  background:linear-gradient(145deg,#fffaf0,#ead9ad);
  font-size:0;
  line-height:0;
  color:transparent;
}
.brand-mark::before{
  content:"";
  display:block;
  width:28px;
  height:28px;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='47' fill='%23F2EBDF' stroke='%23B8986E' stroke-width='2.5'/%3E%3Cg clip-path='url(%23clip)'%3E%3CclipPath id='clip'%3E%3Ccircle cx='50' cy='50' r='47'/%3E%3C/clipPath%3E%3Crect x='50' y='3' width='47' height='94' fill='%231B4332'/%3E%3Ccircle cx='50' cy='27' r='23.5' fill='%231B4332'/%3E%3Ccircle cx='50' cy='73' r='23.5' fill='%23F2EBDF'/%3E%3Ccircle cx='50' cy='27' r='7.5' fill='%23F2EBDF'/%3E%3Ccircle cx='50' cy='73' r='7.5' fill='%232A5C4C'/%3E%3C/g%3E%3C/svg%3E");
}

/* Banyan Tree–inspired luxury wellness CI */
body{
  background:linear-gradient(180deg,var(--white) 0%,var(--paper) 100%);
  color:var(--ink);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  opacity:0.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,.brand-promise p,.section-heading h2,.service-grid h3,.gallery figcaption{color:var(--ink)}
.site-header{
  background:rgba(255,253,248,0.92);
  border-bottom:1px solid rgba(27,67,50,0.08);
  box-shadow:none;
}
.brand strong{font-family:var(--font-serif);color:var(--ink)}
.brand-mark{
  border-color:rgba(184,152,110,0.45);
  background:linear-gradient(145deg,var(--white),var(--stone));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7),0 8px 20px rgba(27,67,50,0.08);
}
.site-nav a,.language-toggle{
  font-size:14.5px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink);
}
.site-nav a::after{background:var(--ink)}
.site-nav a:hover,.language-toggle:hover{background:rgba(42,92,76,0.08);color:var(--ink)}
.site-nav .nav-cta{
  background:var(--ink);
  color:var(--white);
  border-radius:4px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  font-size:13px;
}
.site-nav .nav-cta:hover{background:var(--leaf);color:var(--white)}
.eyebrow{
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:var(--step-caption);
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.hero picture::after{
  background:
    linear-gradient(90deg,rgba(22,61,50,0.82),rgba(42,92,76,0.45),rgba(42,92,76,0.1)),
    linear-gradient(0deg,rgba(22,61,50,0.5),transparent 50%);
}
.hero,.hero-copy,.hero h1,.hero .hero-lead{color:var(--white)}
.hero .eyebrow{
  color:#f3d58b;
  opacity:1;
  letter-spacing:0.18em;
}
.hero .hero-lead{color:rgba(255,253,248,0.88)}
.portfolio-copy .eyebrow,.wall-heading .eyebrow,.portfolio-scope .eyebrow,.portfolio-contact .eyebrow,.recommended-copy .eyebrow,.contact .eyebrow{
  color:var(--white);
  opacity:0.92;
  text-shadow:none;
}
.brand-tagline{
  border-color:rgba(255,253,248,0.35);
  background:rgba(22,61,50,0.45);
  color:var(--white);
  font-family:var(--font-serif);
}
.hero-proof span{
  border-color:rgba(255,253,248,0.28);
  background:rgba(22,61,50,0.3);
  color:rgba(255,253,248,0.92);
}
.button{
  border-radius:4px;
  font-family:var(--font-serif);
  letter-spacing:0.06em;
}
.button.primary{
  background:var(--ink);
  color:var(--white);
  box-shadow:0 12px 32px rgba(27,67,50,0.22);
}
.button.primary:hover{
  background:var(--leaf);
  box-shadow:0 14px 36px rgba(42,92,76,0.28);
}
.button.secondary{
  color:var(--ink);
  border:1px solid rgba(27,67,50,0.22);
  background:var(--white);
}
.button.secondary:hover{
  border-color:var(--ink);
  background:var(--white);
  box-shadow:0 8px 24px rgba(27,67,50,0.08);
}
.trust-band strong{color:var(--ink);text-shadow:none;font-family:var(--font-serif)}
.brand-promise{
  background:var(--paper);
  border-bottom:1px solid rgba(27,67,50,0.08);
}
.brand-promise span{color:var(--muted);font-weight:600}
.split,.articles,.profile-content{background:var(--white)}
.service-grid article,.recommended-grid article,.article-grid article,.reference-grid article,.profile-content article{
  border:1px solid rgba(27,67,50,0.1);
  background:var(--white);
  box-shadow:0 4px 20px rgba(27,67,50,0.05);
  border-radius:8px;
}
.service-grid article:hover,.recommended-grid article:hover,.article-grid article:hover,.reference-grid article:hover,.profile-content article:hover{
  border-color:rgba(27,67,50,0.22);
  box-shadow:0 16px 40px rgba(27,67,50,0.1);
}
.lineage{background:var(--ink)}
.lineage h2{color:var(--white)}
.lineage-photo-card{
  border-color:rgba(255,253,248,0.14);
  background:rgba(255,253,248,0.05);
}
.lineage-photo-card figcaption{color:var(--gold-light);font-family:var(--font-serif)}
.recommended-panel{
  background:var(--ink);
  box-shadow:0 24px 60px rgba(27,67,50,0.18);
  border:0;
  border-radius:8px;
}
.recommended-copy h3{color:var(--white)}
.gallery-section,.references-section{background:var(--jade)}
.article-chip{background:var(--paper);color:var(--ink);border:1px solid rgba(27,67,50,0.12)}
.article-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.keyword-tag{border-color:rgba(27,67,50,0.18);color:var(--ink);background:var(--white)}
.steps span{background:var(--jade);color:var(--ink);border:1px solid rgba(27,67,50,0.12)}
.recommend-rank{background:var(--ink);color:var(--white)}
.recommended-card strong,.article-card strong{color:var(--ink)}
.recommended-card small,.article-card small{color:var(--leaf)}
.read-more-link,.source-link{color:var(--ink)}
.read-more-link:hover,.source-link:hover{color:var(--leaf)}
.filter-row button.is-active{background:var(--ink);border-color:var(--ink)}
.reference-wall{background:var(--ink)}
.wall-grid h3{color:var(--gold-light)}
.project-header{background:var(--ink)}
#services{background:var(--paper)}
#services .service-grid article{
  background:var(--white);
}
#services .service-grid article:nth-child(1),
#services .service-grid article:nth-child(3){
  background:linear-gradient(180deg,rgba(22,61,50,0.15),rgba(22,61,50,0.75)),var(--ink);
  color:var(--white);
}
#services .service-grid article:nth-child(1) h3,
#services .service-grid article:nth-child(3) h3{color:var(--white)}
.profile-page,.project-page{background:var(--paper)}
.profile-hero,.portfolio-hero,.project-hero{
  background:linear-gradient(90deg,rgba(22,61,50,0.94),rgba(42,92,76,0.78)),var(--ink);
}
.portfolio-scope,.project-scope{background:var(--paper)}
.portfolio-contact,.project-contact{background:var(--paper)}
.scope-list span{border-color:rgba(27,67,50,0.2);color:var(--ink)}
.scope-intro h2,.wall-heading h2,.portfolio-contact h2{color:var(--ink)}
.profile-content a{color:var(--ink)}
.project-promise{color:var(--ink)}
.dialog-close{background:var(--ink)}
.skip-link:focus{border-color:var(--ink)}

/* Contact section with portrait */
.contact{background:transparent;padding-top:0}
.contact-panel{
  display:grid;
  grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(240px,300px);
  gap:32px;
  align-items:center;
  padding:36px;
  border:0;
  border-radius:8px;
  background:var(--ink);
  color:var(--white);
  box-shadow:0 24px 60px rgba(27,67,50,0.2);
}
.contact-portrait{margin:0;text-align:center}
.contact-portrait img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center top;
  border:1px solid rgba(255,253,248,0.2);
  border-radius:8px;
  box-shadow:0 16px 40px rgba(0,0,0,0.25);
}
.contact-portrait figcaption{
  margin-top:12px;
  color:var(--gold-light);
  font-family:var(--font-serif);
  font-size:14px;
  font-weight:700;
}
.contact-copy h2{color:var(--white);font-family:var(--font-serif)}
.contact-copy p{color:rgba(255,253,248,0.82)}
.contact-checklist li{
  border-color:rgba(255,253,248,0.22);
  background:rgba(255,253,248,0.08);
  color:rgba(255,253,248,0.92);
}
.contact-actions{
  padding:22px;
  border:1px solid rgba(255,253,248,0.16);
  border-radius:8px;
  background:rgba(255,253,248,0.06);
}
.contact-cta{width:100%;min-height:52px;background:var(--white);color:var(--ink)}
.contact-cta:hover{background:var(--paper);color:var(--ink)}
.contact-note{color:rgba(255,253,248,0.65);font-size:13px}

@media (max-width:980px){
.contact-panel{grid-template-columns:1fr}
.contact-portrait{max-width:280px;margin:0 auto}
.contact-actions{justify-items:stretch}
}

@media (max-width:640px){
.contact-panel{padding:24px}
.contact-cta{white-space:normal}
.contact-portrait{max-width:100%}
}

.hero-lead{
  max-width:690px;
  margin:20px 0 0;
  color:rgba(255,253,248,0.92);
  font-size:21px;
  line-height:var(--line-height-body);
}

/* Brand promise with portrait */
.brand-promise--featured{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px);
  gap:48px;
  align-items:center;
  padding:56px 48px;
  background:var(--paper);
  border-bottom:1px solid rgba(27,67,50,0.08);
}
.brand-promise-copy{display:grid;gap:16px}
.brand-promise-title{
  margin:0;
  font-family:var(--font-serif);
  font-size:clamp(28px,3.5vw,42px);
  font-weight:900;
  line-height:1.16;
  color:var(--ink);
}
.brand-promise--featured span{
  max-width:520px;
  color:var(--muted);
  font-size:19px;
  font-weight:600;
  line-height:var(--line-height-body);
}
.brand-promise-byline{
  margin:8px 0 0;
  color:var(--leaf);
  font-family:var(--font-serif);
  font-size:17px;
  font-weight:700;
  letter-spacing:0.04em;
}
.brand-promise-portrait{
  margin:0;
  overflow:hidden;
  border-radius:8px;
  box-shadow:var(--shadow);
}
.brand-promise-portrait img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
}

/* Services editorial list */
.section--services{background:var(--white)}
.section-heading--center{
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.section-heading--center h2{max-width:680px}
.service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
  max-width:1180px;
  margin:0 auto;
  border:none;
  border-radius:0;
  overflow:visible;
  background:transparent;
}
.service-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:0;
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,253,248,0.88);
  border:1px solid rgba(26,61,46,0.08);
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
  transition:transform 320ms cubic-bezier(0.16,1,0.3,1),box-shadow 320ms cubic-bezier(0.16,1,0.3,1),border-color 320ms ease;
}
.service-card::before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:2px;
  z-index:2;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent);
}
.service-card:hover{
  transform:translateY(-3px);
  border-color:rgba(184,152,110,0.35);
  box-shadow:0 18px 48px rgba(26,61,46,0.1);
  background:var(--white);
}
.service-card__img{
  position:relative;
  inset:auto;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  opacity:1;
}
.service-card__content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px 24px 28px;
  background:transparent;
}
.service-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin-bottom:14px;
  border:1px solid rgba(184,152,110,0.45);
  border-radius:50%;
  font-family:var(--font-serif);
  font-size:13px;
  font-weight:600;
  color:var(--gold);
  line-height:1;
  letter-spacing:0.04em;
}
.service-list h3{
  margin:0 0 10px;
  font-size:var(--step-card-title);
  color:var(--ink);
  font-family:var(--font-serif);
  font-weight:400;
  line-height:1.2;
  letter-spacing:-0.02em;
}
.service-list p{
  margin:0;
  color:var(--muted);
  font-size:var(--step-small);
  font-weight:500;
  line-height:var(--line-height-body);
}

/* Articles panel */
.section--articles{background:var(--paper)}
.articles-panel{
  max-width:1080px;
  margin:0 auto;
  padding:32px;
  background:var(--white);
  border:1px solid rgba(27,67,50,0.1);
  border-radius:8px;
}
.articles-panel-label{
  margin:0 0 24px;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:22px;
  font-weight:700;
}
.articles-read-more-wrap{display:flex;justify-content:center;margin-top:28px}

/* Simplified contact */
.contact-panel--simple{
  grid-template-columns:1fr;
  max-width:720px;
  margin:0 auto;
  padding:40px;
  text-align:center;
}
.contact-panel--simple .contact-body{display:grid;gap:16px;justify-items:center}
.contact-panel--simple h2{color:var(--ink);font-family:var(--font-serif);font-weight:400;letter-spacing:-0.02em}
.contact-panel--simple p{color:var(--muted)}
.contact-panel--simple .eyebrow{color:var(--gold)}
.contact-panel--simple .contact-cta{max-width:320px}

@media (max-width:980px){
.brand-promise--featured{grid-template-columns:1fr;padding:40px 24px}
.brand-promise-portrait{max-width:320px;margin:0 auto}
.service-list{grid-template-columns:1fr}
}

@media (max-width:640px){
.service-card__content{padding:20px}
}

/* Premium menu + trust band refresh */
.menu-toggle{
  align-items:center;
  justify-content:center;
  gap:0;
  width:52px;
  height:52px;
  min-height:52px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  transition:opacity 180ms ease;
}
.menu-toggle:hover{
  border:0;
  background:transparent;
  box-shadow:none;
  opacity:0.72;
}
.menu-toggle-icon{
  position:relative;
  width:22px;
  height:16px;
}
.menu-toggle-icon span{
  position:absolute;
  left:0;
  width:22px;
  height:1.5px;
  border-radius:0;
  background:var(--ink);
  transition:transform 220ms ease,top 220ms ease,opacity 220ms ease;
}
.menu-toggle-icon span:first-child{top:0}
.menu-toggle-icon span:nth-child(2){top:7px;width:16px}
.menu-toggle-icon span:last-child{top:14px}
.menu-toggle.is-open .menu-toggle-icon span:first-child{top:7px;transform:rotate(45deg);width:22px}
.menu-toggle.is-open .menu-toggle-icon span:nth-child(2){opacity:0}
.menu-toggle.is-open .menu-toggle-icon span:last-child{top:7px;transform:rotate(-45deg);width:22px}

@media (max-width:980px){
.site-nav{
  padding:96px 28px 36px;
  background:linear-gradient(180deg,var(--white) 0%,var(--paper) 100%);
  box-shadow:-32px 0 80px rgba(22,61,50,0.14);
}
.site-nav::before{
  content:"";
  position:absolute;
  top:0;
  left:28px;
  right:28px;
  height:1px;
  background:linear-gradient(90deg,var(--gold),rgba(184,152,110,0.2));
}
.site-nav a,.language-toggle{
  min-height:52px;
  padding:14px 0;
  border-radius:0;
  border-bottom:1px solid rgba(27,67,50,0.08);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  background:transparent;
}
.site-nav a::after{display:none}
.site-nav a:hover,.language-toggle:hover{background:transparent;color:var(--leaf)}
.site-nav .nav-cta{
  margin-top:24px;
  padding:16px 20px;
  border:0;
  border-radius:4px;
  letter-spacing:0.12em;
}
.language-toggle{
  margin-top:16px;
  justify-content:center;
  border:1px solid rgba(27,67,50,0.12);
  border-radius:4px;
  padding:14px;
}
}

.trust-band{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
  max-width:1180px;
  margin:0 auto;
  padding:clamp(36px,5vw,56px) clamp(20px,4vw,48px);
  background:linear-gradient(180deg,var(--paper) 0%,var(--white) 100%);
  border:none;
  color:var(--ink);
  overflow:visible;
}
.trust-item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  min-height:0;
  padding:28px 24px 26px;
  text-align:left;
  background:rgba(255,253,248,0.88);
  border:1px solid rgba(27,67,50,0.08);
  border-radius:18px;
  box-shadow:0 10px 40px rgba(27,67,50,0.05);
  transition:transform 320ms cubic-bezier(0.16,1,0.3,1),box-shadow 320ms cubic-bezier(0.16,1,0.3,1),border-color 320ms ease;
}
.trust-item::before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent);
}
.trust-item:hover{
  transform:translateY(-3px);
  border-color:rgba(184,152,110,0.35);
  box-shadow:0 18px 48px rgba(27,67,50,0.1);
  background:var(--white);
}
.trust-eyebrow{
  margin:0 0 14px;
  color:var(--gold);
  font-size:var(--step-caption);
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
}
.trust-band strong,
.trust-title{
  display:block;
  margin:0;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:clamp(30px,3.2vw,42px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-0.02em;
  text-shadow:none;
}
.stat-counter{
  justify-content:flex-start;
}
.trust-desc{
  margin:14px 0 0;
  color:var(--muted);
  font-size:var(--step-small);
  font-weight:500;
  line-height:var(--line-height-body);
}

@media (max-width:980px){
.trust-band{
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:32px 20px;
}
}

@media (max-width:640px){
.trust-band{
  grid-template-columns:1fr;
  gap:12px;
  padding:28px 16px;
}
.trust-item{
  padding:24px 20px 22px;
  border-radius:16px;
}
.trust-item::before{left:20px;right:20px}
.trust-band strong,.trust-title{font-size:32px}
}

/* Brand portfolio + article backlinks */
/* Brand family — homepage footer strip */
.brand-family{
  padding:clamp(56px,8vw,88px) clamp(20px,4vw,48px);
  background:linear-gradient(180deg,var(--paper) 0%,var(--white) 100%);
  color:var(--ink);
  border-top:1px solid rgba(26,61,46,0.08);
}
.brand-family__inner{
  max-width:1080px;
  margin:0 auto;
}
.brand-family__header{
  max-width:640px;
  margin:0 auto 40px;
  text-align:center;
}
.brand-family__header .eyebrow{
  color:var(--gold);
  opacity:1;
}
.brand-family__header h2{
  margin:0 0 14px;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:clamp(28px,3.5vw,40px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-0.02em;
}
.brand-family__lead{
  margin:0;
  color:var(--muted);
  font-size:var(--step-body);
  line-height:var(--line-height-body);
}
.brand-family__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.brand-family__card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(26,61,46,0.08);
  border-radius:18px;
  background:rgba(255,253,248,0.88);
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
  text-decoration:none;
  color:inherit;
  transition:transform 320ms cubic-bezier(0.16,1,0.3,1),border-color 320ms ease,box-shadow 320ms ease;
}
.brand-family__card:hover{
  transform:translateY(-3px);
  border-color:rgba(184,152,110,0.35);
  box-shadow:0 18px 48px rgba(26,61,46,0.1);
  background:var(--white);
}
.brand-family__card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  opacity:1;
}
.brand-family__card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px 24px 26px;
}
.brand-family__tag{
  margin:0 0 10px;
  color:var(--gold);
  font-size:var(--step-caption);
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
}
.brand-family__card h3{
  margin:0 0 10px;
  font-family:var(--font-serif);
  font-size:26px;
  font-weight:400;
  color:var(--ink);
  letter-spacing:-0.02em;
}
.brand-family__card p{
  margin:0 0 16px;
  flex:1;
  color:var(--muted);
  font-size:var(--step-small);
  line-height:var(--line-height-body);
}
.brand-family__link{
  color:var(--leaf);
  font-size:var(--step-small);
  font-weight:700;
  letter-spacing:0.04em;
}
.brand-family__card:hover .brand-family__link{color:var(--ink)}
.brand-family__footer{
  display:flex;
  justify-content:center;
  margin-top:36px;
}
.brand-family__cta{
  border-color:rgba(184,152,110,0.45);
  background:transparent;
  color:var(--gold-light);
}
.brand-family__cta:hover{
  border-color:var(--gold);
  background:rgba(184,152,110,0.12);
  color:var(--white);
}

.portfolio-hero--brand{
  background:linear-gradient(90deg,rgba(22,61,50,0.96),rgba(42,92,76,0.82)),url("assets/images/modern-marble-spirit-house-aviva.jpg") center/cover;
}
.brand-portfolio-grid{background:var(--paper)}
.brand-portfolio-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  max-width:1180px;
  margin:0 auto;
}
.brand-portfolio-card{
  overflow:hidden;
  border:1px solid rgba(27,67,50,0.08);
  border-radius:18px;
  background:var(--white);
  box-shadow:0 12px 40px rgba(27,67,50,0.06);
  transition:transform 320ms ease,box-shadow 320ms ease;
}
.brand-portfolio-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 52px rgba(27,67,50,0.1);
}
.brand-portfolio-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.brand-portfolio-card__body{padding:26px 24px 28px}
.brand-portfolio-card__tag{
  margin:0 0 10px;
  color:var(--gold);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.brand-portfolio-card h3{
  margin:0 0 12px;
  font-family:var(--font-serif);
  font-size:24px;
  color:var(--ink);
}
.brand-portfolio-card p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}
.brand-portfolio-card--featured{border-color:rgba(184,152,110,0.35)}

.article-related-brand{
  margin-top:40px;
  padding:28px;
  border:1px solid rgba(184,152,110,0.28);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,253,248,0.98),rgba(242,235,223,0.92));
}
.article-related-brand__eyebrow{
  margin:0 0 8px;
  color:var(--gold);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.article-related-brand h3{
  margin:0 0 12px;
  font-family:var(--font-serif);
  font-size:22px;
  color:var(--ink);
}
.article-related-brand p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}
.article-related-brand a:not(.button){
  color:var(--ink);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.article-related-brand a:not(.button):hover{color:var(--leaf)}
.article-related-brand__cta{
  display:inline-flex;
  min-height:44px;
  padding:10px 18px;
  font-size:14px;
}

@media (max-width:980px){
.brand-portfolio-cards{grid-template-columns:1fr}
.brand-family__grid{grid-template-columns:1fr}
}

/* Hero headline readability — white copy on dark scrim */
section.hero picture::after{
  background:
    linear-gradient(90deg,rgba(8,22,18,0.94) 0%,rgba(22,61,50,0.72) 42%,rgba(42,92,76,0.18) 100%),
    linear-gradient(0deg,rgba(8,22,18,0.62),transparent 58%);
}
section.hero .hero-copy{
  position:relative;
  z-index:2;
  max-width:min(850px,calc(100% - 24px));
  padding:28px 32px 32px;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(10,28,22,0.82),rgba(22,61,50,0.58));
  box-shadow:0 28px 72px rgba(0,0,0,0.32);
  backdrop-filter:blur(8px);
}
section.hero .hero-copy h1,
section.hero .hero-copy .hero-lead,
section.hero .hero-copy .eyebrow{
  color:#ffffff;
  text-shadow:0 2px 28px rgba(0,0,0,0.55);
}
section.hero .hero-copy .hero-lead{
  color:rgba(255,255,255,0.92);
}
section.hero .hero-copy .eyebrow{
  color:#f3d58b;
  text-shadow:0 1px 12px rgba(0,0,0,0.45);
}
@media (max-width:640px){
section.hero .hero-copy{padding:22px 20px 24px;border-radius:10px}
}

.article-content a.article-brand-link{
  color:var(--leaf);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.article-content a.article-brand-link:hover{color:var(--leaf-deep)}
.article-related-brand__more{
  margin:18px 0 0;
  font-size:14px;
}

/* Editorial CI — trust-band as design system (Flamingo Estate–inspired) */
.section{
  padding:clamp(64px,8vw,96px) clamp(20px,4vw,48px);
}
.section-heading{
  margin-bottom:clamp(28px,4vw,40px);
}
.section-heading h2,
h1{
  font-weight:400;
  letter-spacing:-0.02em;
  line-height:1.12;
}
.section--services{
  background:linear-gradient(180deg,var(--white) 0%,var(--paper) 100%);
}
.section--services .section-heading{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
.brand-promise--featured{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(48px,6vw,72px) clamp(20px,4vw,48px);
  background:transparent;
  border-bottom:1px solid rgba(26,61,46,0.08);
}
.brand-promise-title{
  font-weight:400;
  letter-spacing:-0.02em;
}
.brand-promise-portrait{
  border-radius:18px;
  border:1px solid rgba(26,61,46,0.08);
  box-shadow:0 10px 40px rgba(26,61,46,0.06);
}
.split{
  background:var(--white);
  border-top:1px solid rgba(26,61,46,0.06);
}
.split h2{font-weight:400;letter-spacing:-0.02em}
.portrait-wrap{
  border-radius:18px;
  border:1px solid rgba(26,61,46,0.08);
  box-shadow:0 10px 40px rgba(26,61,46,0.06);
}
.lineage{
  background:var(--paper);
  color:var(--ink);
  border-top:1px solid rgba(26,61,46,0.08);
}
.lineage h2{
  color:var(--ink);
  font-weight:400;
  letter-spacing:-0.02em;
}
.lineage p{color:var(--muted)}
.lineage .source-links a{
  padding:11px 16px;
  border:1px solid rgba(26,61,46,0.14);
  border-radius:4px;
  background:var(--white);
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  transition:background 180ms ease,border-color 180ms ease;
}
.lineage .source-links a:hover{
  background:var(--paper);
  border-color:rgba(26,61,46,0.28);
}
.lineage-photo-card{
  background:rgba(255,253,248,0.88);
  border:1px solid rgba(26,61,46,0.08);
  border-radius:18px;
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
}
.lineage-photo-card figcaption{
  color:var(--ink);
  font-weight:400;
  letter-spacing:-0.01em;
}
.gallery-section{
  background:var(--white);
  border-top:1px solid rgba(26,61,46,0.06);
}
.gallery figure{
  border:1px solid rgba(26,61,46,0.08);
  border-radius:18px;
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
}
.gallery figcaption{
  font-family:var(--font-serif);
  font-weight:400;
  color:var(--ink);
}
.section--articles{
  background:var(--paper);
  border-top:1px solid rgba(26,61,46,0.06);
}
.articles-panel{
  border-radius:18px;
  border:1px solid rgba(26,61,46,0.08);
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
  background:rgba(255,253,248,0.88);
}
.articles-panel-label{
  font-weight:400;
  letter-spacing:-0.01em;
}
.contact{
  background:var(--white);
  border-top:1px solid rgba(26,61,46,0.06);
}
.contact-panel--simple{
  position:relative;
  border:1px solid rgba(26,61,46,0.08);
  border-radius:18px;
  background:rgba(255,253,248,0.88);
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
  color:var(--ink);
}
.contact-panel--simple::before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent);
}
.site-footer{
  padding:32px clamp(20px,4vw,48px);
  background:var(--paper);
  border-top:1px solid rgba(26,61,46,0.1);
  color:var(--muted);
  font-size:var(--step-small);
  letter-spacing:0.02em;
  line-height:var(--line-height-body);
}
.site-footer span,
.site-footer a{
  color:var(--ink);
  font-weight:600;
  text-decoration:none;
}
.site-footer a:hover{color:var(--leaf)}
.recommended-grid article,
.article-grid article{
  border-radius:18px;
  border:1px solid rgba(26,61,46,0.08);
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
}
.steps span{
  background:var(--white);
  color:var(--ink);
  border:1px solid rgba(26,61,46,0.12);
  font-family:var(--font-serif);
  font-weight:400;
}
section.hero::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  z-index:1;
  height:100px;
  pointer-events:none;
  background:linear-gradient(0deg,var(--paper),transparent);
}
section.hero .hero-copy .eyebrow{
  color:var(--gold-light);
  font-size:var(--step-caption);
  letter-spacing:0.16em;
  text-transform:uppercase;
}
section.hero .hero-copy h1{
  font-weight:400;
  letter-spacing:-0.02em;
}
section.hero .hero-copy .hero-lead{
  font-size:21px;
  line-height:var(--line-height-body);
}
.brand-family__inner{max-width:1180px}
.brand-family__card::before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent);
}
.brand-family__card{position:relative}

/* Readable typography — 40+ audience */
.brand strong{font-size:20px}
.brand small{font-size:15px;line-height:1.4}
.button{
  min-height:52px;
  padding:14px 26px;
  font-size:var(--step-small);
  line-height:1.3;
}
.service-grid p,.article-grid p,.lineage p,.contact p,.steps p,.split p{
  font-size:var(--step-body);
  line-height:var(--line-height-body);
}
.steps p{font-size:var(--step-small)}
.gallery figcaption{
  padding:16px 18px 18px;
  font-size:var(--step-small);
  line-height:var(--line-height-body);
}
.lineage-photo-card figcaption{font-size:var(--step-small)}
.lineage .source-links a{font-size:var(--step-small)}
.articles-panel-label{font-size:26px}
.recommended-card strong,.article-card strong{
  font-size:20px !important;
  min-height:58px !important;
  height:auto !important;
  line-height:var(--line-height-tight) !important;
}
.recommended-card p,.article-card p{
  font-size:var(--step-small) !important;
  line-height:var(--line-height-body) !important;
  min-height:78px !important;
  height:auto !important;
}
.read-more-link{font-size:var(--step-small) !important}
.article-chip,.keyword-tag,.recommend-rank{font-size:13px}
.search-box span,.search-box input,.filter-row button{font-size:var(--step-small) !important}
.search-box > input{min-height:52px;padding:14px 16px}
.search-box .search-field,
.search-form.search-field{
  display:flex !important;
  align-items:stretch !important;
  width:100% !important;
  gap:0 !important;
}
.search-field input[type="search"]{
  width:auto !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
}
.filter-row button{min-height:46px;padding:10px 18px !important}
.article-related-brand p,.article-related-brand h3{line-height:var(--line-height-body)}
.article-content{font-size:var(--step-body);line-height:var(--line-height-body)}
.trust-band strong,.trust-title{font-size:clamp(34px,3.4vw,46px)}
.contact-panel--simple p{font-size:var(--step-body)}
@media (max-width:980px){
.site-nav a,.language-toggle{font-size:14px;min-height:52px}
.trust-band strong,.trust-title{font-size:34px}
}
@media (max-width:640px){
body{font-size:17px !important}
h1{font-size:clamp(28px,8vw,38px) !important}
h2{font-size:clamp(22px,5.5vw,30px) !important}
.hero-copy p:not(.eyebrow),.hero-lead,section.hero .hero-copy .hero-lead{font-size:19px !important}
.brand-promise p,.brand-promise-title{font-size:clamp(26px,6vw,32px) !important}
.brand-promise span{font-size:17px !important}
.trust-band strong,.trust-title{font-size:32px}
.service-list h3{font-size:22px}
.recommended-card strong,.article-card strong{font-size:19px !important}
}

/* Article detail pages — readable on desktop + mobile */
body.article-page{background:linear-gradient(180deg,var(--white) 0%,var(--paper) 100%)}
.article-page-main{
  max-width:760px;
  margin:0 auto;
  padding:clamp(96px,12vw,140px) clamp(16px,4vw,32px) clamp(48px,8vw,92px);
}
.article-card-detail{
  border:1px solid rgba(26,61,46,0.08);
  border-radius:18px;
  background:rgba(255,255,255,0.94);
  box-shadow:0 20px 48px rgba(26,61,46,0.06);
  padding:clamp(20px,4vw,42px);
}
.article-page-main .article-header{
  border-bottom:1px solid var(--line);
  padding-bottom:clamp(18px,3vw,28px);
  margin-bottom:clamp(18px,3vw,28px);
}
.article-page-main .article-header h1{
  font-size:clamp(26px,5.5vw,44px);
  line-height:1.28;
  letter-spacing:-0.01em;
  margin-top:8px;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.article-page-main .article-header .eyebrow{
  font-size:14.5px;
  letter-spacing:0.1em;
}
.article-page-main .article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
  margin-top:14px;
}
.article-page-main .article-meta span{
  display:inline-flex;
  align-items:flex-start;
  gap:6px;
  max-width:100%;
}
.article-page-main .article-content{
  font-size:clamp(17px,2.4vw,19px);
  line-height:1.82;
  color:#2b3b34;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.article-page-main .article-content p{
  margin:0 0 1.15em;
  max-width:68ch;
}
.article-page-main .article-content p:last-child{margin-bottom:0}
.article-page-main .article-content p.article-callout{
  padding:12px 16px;
  border-left:3px solid var(--gold);
  border-radius:0 10px 10px 0;
  background:rgba(244,239,228,0.85);
  font-weight:600;
}
.article-page-main .article-content hr.article-divider{
  border:0;
  height:1px;
  margin:1.6em 0;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}
.article-page-main .article-content ul.article-list{
  margin:0 0 1.15em;
  padding-left:1.25em;
  max-width:68ch;
}
.article-page-main .article-content ul.article-list li{
  margin-bottom:0.55em;
  line-height:1.75;
}
.article-page-main .article-content a.article-internal-link,
.article-page-main .article-content a.article-brand-link{
  color:var(--red);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.article-page-main .article-footer-cta{
  margin-top:clamp(28px,5vw,48px);
  padding:clamp(20px,4vw,32px);
  border-radius:14px;
  text-align:center;
  background:linear-gradient(145deg,#111f1a,#0b1511);
  color:var(--white);
  border:1px solid rgba(243,213,139,0.15);
}
.article-page-main .article-footer-cta h3{font-size:clamp(20px,4vw,28px);color:var(--gold);margin-bottom:12px}
.article-page-main .article-footer-cta p{font-size:clamp(15px,2.5vw,17px);line-height:1.7;max-width:36rem;margin:0 auto 20px;color:rgba(255,255,255,0.82)}
.article-related-brand{
  margin-top:clamp(24px,4vw,36px);
  padding:clamp(18px,3vw,24px);
  border:1px solid rgba(26,61,46,0.1);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(244,239,228,0.7));
}
.article-related-brand__eyebrow{margin:0 0 8px;font-size:14px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--red)}
.article-related-brand h3{margin:0 0 10px;font-size:clamp(18px,3.5vw,22px);line-height:1.35}
.article-related-brand p{margin:0 0 14px;font-size:15px;line-height:1.75;color:var(--muted)}
.article-related-brand__cta{margin-top:8px}
body.article-page,
body:has(.article-page-main){
  overflow-x:clip;
}
body.article-page .article-content,
body.article-page .article-page-main .article-content,
body:has(.article-page-main) .article-content{
  white-space:normal !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  max-width:100%;
}
body:has(.article-page-main) .article-page-main .article-content p,
body.article-page .article-page-main .article-content p{
  max-width:100%;
}
@media (max-width:768px){
  body.article-page .site-header,
  body:has(.article-page-main) .site-header{
    position:sticky;
    top:0;
    z-index:10;
    min-height:64px;
    padding:10px 14px;
    gap:12px;
  }
  body.article-page .brand,
  body:has(.article-page-main) .brand{
    min-width:0;
    flex:1;
  }
  body.article-page .brand small,
  body:has(.article-page-main) .brand small{
    display:none;
  }
  body.article-page .site-nav,
  body:has(.article-page-main) .site-nav{
    display:none;
  }
  body.article-page .article-page-main,
  body:has(.article-page-main) .article-page-main{
    padding:20px 14px 40px;
    max-width:100%;
    width:100%;
  }
  body.article-page .article-card-detail,
  body:has(.article-page-main) .article-card-detail{
    padding:16px 14px 20px;
    border-radius:14px;
    box-shadow:0 8px 24px rgba(26,61,46,0.05);
    width:100%;
    max-width:100%;
  }
  body.article-page .article-header h1,
  body:has(.article-page-main) .article-header h1{
    font-size:clamp(22px,6.2vw,28px);
    line-height:1.32;
  }
  body.article-page .article-meta,
  body:has(.article-page-main) .article-meta{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    font-size:12px;
  }
  body.article-page .article-meta span,
  body:has(.article-page-main) .article-meta span{
    display:block;
    width:100%;
    padding:6px 0;
    border-bottom:1px solid rgba(26,61,46,0.06);
  }
  body.article-page .article-meta span:last-child,
  body:has(.article-page-main) .article-meta span:last-child{
    border-bottom:0;
  }
  body.article-page .article-content,
  body:has(.article-page-main) .article-content{
    font-size:16px;
    line-height:1.72;
    letter-spacing:0.01em;
    width:100%;
  }
  body.article-page .article-content p,
  body:has(.article-page-main) .article-content p{
    max-width:none;
    width:100%;
    margin:0 0 1em;
    text-align:left;
  }
  body.article-page .article-content p.article-callout,
  body:has(.article-page-main) .article-content p.article-callout{
    padding:10px 12px;
    font-size:15px;
  }
  body.article-page .article-content ul.article-list,
  body:has(.article-page-main) .article-content ul.article-list{
    padding-left:1.1em;
    max-width:none;
    width:100%;
  }
  body.article-page .article-footer-cta,
  body:has(.article-page-main) .article-footer-cta{
    padding:18px 14px;
    margin-top:24px;
  }
  body.article-page .article-footer-cta .button,
  body:has(.article-page-main) .article-footer-cta .button{
    width:100%;
    min-height:46px;
  }
  body.article-page .article-related-brand,
  body:has(.article-page-main) .article-related-brand{
    padding:14px;
  }
  body.article-page .site-footer,
  body:has(.article-page-main) .site-footer{
    flex-direction:column;
    padding:20px 14px;
    font-size:13px;
  }
}

/* Subpages — shared editorial layout (matches homepage CI) */
body.subpage{padding-top:72px;background:linear-gradient(180deg,var(--white) 0%,var(--paper) 100%)}
.subpage-main{min-height:50vh}
.subpage-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:clamp(32px,5vw,56px);
  align-items:center;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(40px,6vw,64px) clamp(20px,4vw,48px);
  background:linear-gradient(180deg,var(--white) 0%,var(--paper) 100%);
  border-bottom:1px solid rgba(26,61,46,0.08);
}
.subpage-hero__copy{display:grid;gap:16px}
.subpage-hero h1{
  margin:0;
  font-family:var(--font-serif);
  font-size:var(--step-section-title);
  font-weight:400;
  line-height:var(--line-height-tight);
  letter-spacing:-0.02em;
  color:var(--ink);
}
.subpage-hero__lead{
  margin:0;
  max-width:620px;
  color:var(--muted);
  font-size:var(--step-body);
  line-height:var(--line-height-body);
}
.subpage-hero__figure{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(26,61,46,0.08);
  box-shadow:0 10px 40px rgba(26,61,46,0.06);
}
.subpage-hero__figure img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
}
.subpage-section{
  padding:clamp(48px,6vw,72px) clamp(20px,4vw,48px);
  background:var(--white);
  border-top:1px solid rgba(26,61,46,0.06);
}
.subpage-section--paper{background:var(--paper)}
.subpage-section--flush-top{border-top:0}
.subpage-section__inner{max-width:1180px;margin:0 auto}
.subpage-section__intro{
  max-width:680px;
  margin:12px auto 0;
  color:var(--muted);
  font-size:var(--step-body);
  line-height:var(--line-height-body);
  text-align:center;
}
.subpage-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}
.subpage-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.subpage-card{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:28px 24px 26px;
  background:rgba(255,253,248,0.88);
  border:1px solid rgba(26,61,46,0.08);
  border-radius:18px;
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
  transition:transform 320ms cubic-bezier(0.16,1,0.3,1),box-shadow 320ms ease,border-color 320ms ease;
}
.subpage-card::before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),transparent);
}
.subpage-card:hover{
  transform:translateY(-3px);
  border-color:rgba(184,152,110,0.35);
  box-shadow:0 18px 48px rgba(26,61,46,0.1);
  background:var(--white);
}
.subpage-card h3{
  margin:0 0 10px;
  font-family:var(--font-serif);
  font-size:var(--step-card-title);
  font-weight:400;
  line-height:var(--line-height-tight);
  letter-spacing:-0.02em;
  color:var(--ink);
}
.subpage-card p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:var(--step-small);
  line-height:var(--line-height-body);
}
.subpage-card p:last-child{margin-bottom:0}
.subpage-card a{color:var(--leaf);font-weight:700}
.subpage-card--media{padding:0;overflow:hidden}
.subpage-card--media::before{left:20px;right:20px;z-index:1}
.subpage-card--media img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.subpage-card__body{padding:24px 24px 28px}
.ref-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}
.ref-card--wide{grid-column:1/-1}
.lineage-duo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
  max-width:720px;
  margin:0 auto;
}
.lineage-duo-copy{
  max-width:720px;
  margin:28px auto 0;
  text-align:center;
}
.lineage-duo-copy p{
  margin:0 0 14px;
  color:var(--muted);
  font-size:var(--step-body);
  line-height:var(--line-height-body);
}
.lineage-duo-copy a{color:var(--leaf);font-weight:700}
.articles-panel--archive{margin-top:0}
.articles-panel--archive .article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){
.subpage-hero{grid-template-columns:1fr}
.subpage-hero__figure{max-width:360px;margin:0 auto}
.subpage-card-grid,.subpage-card-grid--4,.ref-grid,.lineage-duo{grid-template-columns:1fr}
.articles-panel--archive .article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
.articles-panel--archive .article-grid{grid-template-columns:1fr}
.subpage-hero{padding-top:32px}
}

/* Luxury nav + homepage polish */
@media (min-width:981px){
.site-nav-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.04em;
  transition:color 180ms ease,background 220ms ease,box-shadow 220ms ease,transform 180ms ease;
}
.site-nav-link::after{display:none}
.site-nav-link:hover,
.site-nav-link:focus-visible{
  color:var(--leaf-deep);
  background:linear-gradient(135deg,rgba(45,90,71,0.1),rgba(184,152,110,0.14));
  box-shadow:inset 0 0 0 1px rgba(45,90,71,0.1);
  transform:translateY(-1px);
}
.nav-icon{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:6px;
  background:linear-gradient(145deg,rgba(232,240,235,0.95),rgba(212,188,142,0.22));
  font-size:12px;
  line-height:1;
  transition:transform 180ms ease,background 220ms ease;
}
.site-nav-link:hover .nav-icon,
.site-nav-link:focus-visible .nav-icon{
  transform:scale(1.08);
  background:linear-gradient(145deg,rgba(45,90,71,0.16),rgba(184,152,110,0.28));
}
}

@media (max-width:980px){
.site-nav-link{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border-radius:0;
  transition:background 220ms ease,color 180ms ease;
}
.site-nav-link:hover,
.site-nav-link:focus-visible{
  background:linear-gradient(90deg,rgba(45,90,71,0.08),rgba(184,152,110,0.12));
  color:var(--leaf-deep);
}
.nav-icon{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:8px;
  background:linear-gradient(145deg,rgba(232,240,235,0.95),rgba(212,188,142,0.22));
  font-size:14px;
}
}

.section--articles .section-heading--center .eyebrow{
  font-size:15px;
  letter-spacing:0.22em;
}
.section--articles .section-heading--center h2{
  font-size:clamp(34px,4.2vw,52px);
}
.articles-panel-label{
  font-size:clamp(24px,2.6vw,32px);
  font-weight:600;
  letter-spacing:-0.01em;
}
.section--articles .recommended-grid{
  gap:clamp(14px,2vw,20px);
}
@media (max-width:768px){
.section--articles .articles-panel{
  padding:20px 14px;
}
.section--articles .article-chip-row{
  padding:12px 14px 0;
}
}
.article-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:16px 18px 0;
  margin:0;
}
.article-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(232,240,235,0.95),rgba(244,239,228,0.95));
  border:1px solid rgba(45,90,71,0.14);
  color:var(--ink);
  font-size:14px;
  font-weight:700;
  line-height:1.2;
}
.chip-icon{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  justify-content:center;
  color:var(--leaf-deep);
}
.chip-icon svg{display:block}
.chip-label{line-height:1.2}
.recommended-card small,.article-card small{
  font-size:15px !important;
  font-weight:700;
  letter-spacing:0.01em;
}
.recommended-card p,.article-card p{
  font-size:17px !important;
}
.article-chip,.keyword-tag,.recommend-rank{font-size:14px}
.keyword-tag{
  margin:10px 18px 0;
  padding:5px 10px;
  font-size:13px;
}
.recommended-card strong,.article-card strong{
  font-size:21px !important;
  min-height:62px !important;
}

/* Homepage recommended previews + search field (final overrides) */
.recommended-grid--home,
.section--articles .recommended-grid--home,
.section--articles .recommended-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) !important;
  gap:20px;
  width:100%;
}
@media (min-width:768px){
.recommended-grid--home,
.section--articles .recommended-grid--home,
.section--articles .recommended-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
}
@media (min-width:1100px){
.recommended-grid--home,
.section--articles .recommended-grid--home,
.section--articles .recommended-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
}
.section--articles .recommended-card{
  display:flex;
  flex-direction:column;
  height:auto;
  min-height:0;
  border-radius:16px;
  overflow:hidden;
}
.section--articles .recommended-card .card-link{
  display:flex !important;
  flex-direction:column;
  height:auto;
}
.section--articles .recommended-card .card-image-wrapper{
  aspect-ratio:16/9;
  width:100%;
  flex-shrink:0;
  overflow:hidden;
  background:var(--stone);
}
.section--articles .recommended-card .card-image-wrapper img{
  width:100%;
  height:100%;
  aspect-ratio:unset;
  object-fit:cover;
}
.section--articles .recommended-card .card-content{
  flex:1 1 auto;
  padding:14px 18px 8px;
}
.section--articles .recommended-card .article-chip-row{
  padding:12px 18px 0;
}
.section--articles .recommended-card strong{
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:0 !important;
  height:auto !important;
  font-size:clamp(17px,2.4vw,20px) !important;
  line-height:1.35 !important;
  margin:0;
  padding:0 18px;
}
.section--articles .recommended-card p{
  display:-webkit-box !important;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:0 !important;
  height:auto !important;
  margin:8px 0 0 !important;
  padding:0 18px;
  font-size:15px !important;
  line-height:1.55 !important;
  color:var(--muted);
}
.section--articles .recommended-card .keyword-tag,
.section--articles .recommended-card small{
  display:none;
}
.section--articles .recommended-card .card-preview-date{
  display:block;
  padding:0 18px;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
}
.section--articles .recommended-card .card-footer{
  padding:10px 18px 16px;
  margin-top:0;
}
.section--articles .recommended-card .read-more-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--jade);
  color:var(--leaf-deep);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:background 0.2s ease,color 0.2s ease;
}
.section--articles .recommended-card .read-more-link:hover{
  background:var(--leaf);
  color:var(--white);
  transform:none;
}
.search-field{
  display:flex;
  align-items:stretch;
  width:100%;
}
.search-field input{
  flex:1 1 auto;
  min-width:0;
  border-radius:10px 0 0 10px !important;
  border-right:0 !important;
}
.search-submit{
  display:inline-flex !important;
  visibility:visible !important;
  flex-shrink:0 !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:56px;
  min-height:52px;
  padding:0 18px;
  border:1px solid var(--leaf-deep);
  border-left:0;
  border-radius:0 10px 10px 0;
  background:var(--leaf);
  color:var(--white);
  font:inherit;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  transition:background 0.2s ease,transform 0.15s ease;
}
.search-submit__label{
  display:none;
}
@media (min-width:480px){
.search-submit__label{display:inline}
}
.search-submit:hover{
  background:var(--leaf-deep);
}
.search-submit:active{
  transform:scale(0.97);
}
.search-submit svg{
  display:block;
}

/* Articles archive — magnifying glass inside search field */
.search-field--inbox{
  position:relative;
  display:block;
  width:100%;
}
.search-field--inbox input[type="search"]{
  display:block;
  width:100% !important;
  box-sizing:border-box;
  padding-right:54px !important;
  border-radius:10px !important;
}
.search-submit-infield{
  position:absolute;
  top:50%;
  right:6px;
  transform:translateY(-50%);
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:8px;
  background:var(--leaf);
  color:var(--white);
  cursor:pointer;
}
.search-submit-infield svg{
  display:block;
  width:22px;
  height:22px;
}
.search-box > label,
.search-box > span{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
/* ============================================================
   2026-06-11 — Real-case strip, FAQ, hero CTA note, mobile CTA bar
   Mobile-first; uses existing CI tokens (--ink/--paper/--gold/--red)
   ============================================================ */

/* Hero CTA support */
.hero-cta-note{
  margin:14px 0 0;
  color:rgba(255,255,255,0.78);
  font-size:14px;
  font-weight:600;
}
.hero .hero-actions .button{min-height:52px}
.hero-secondary-cta{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.34);
  color:var(--white);
}
.hero-secondary-cta:hover{
  background:rgba(255,255,255,0.2);
  border-color:rgba(255,255,255,0.55);
  color:var(--white);
}

/* Real-case proof strip */
.case-strip-section{background:var(--white)}
.case-strip{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.case-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(26,61,46,0.1);
  border-radius:18px;
  background:rgba(255,253,248,0.92);
  box-shadow:0 10px 40px rgba(26,61,46,0.05);
  text-decoration:none;
  color:var(--ink);
  transition:transform 320ms cubic-bezier(0.16,1,0.3,1),box-shadow 320ms cubic-bezier(0.16,1,0.3,1),border-color 320ms ease;
}
.case-card:hover{
  transform:translateY(-3px);
  border-color:rgba(184,152,110,0.4);
  box-shadow:0 18px 48px rgba(26,61,46,0.1);
}
.case-card picture{display:block}
.case-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.case-card__body{
  display:flex;
  flex-direction:column;
  flex:1;
  gap:8px;
  padding:20px 22px 24px;
}
.case-card__tag{
  margin:0;
  color:#8a6a3f;
  font-size:13.5px;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.case-card h3{
  margin:0;
  font-size:22px;
  line-height:1.3;
}
.case-card__body p:not(.case-card__tag){
  margin:0;
  color:var(--muted);
  font-size:var(--step-small);
  line-height:1.65;
}
.case-card__link{
  margin-top:auto;
  padding-top:10px;
  color:var(--red);
  font-size:15.5px;
  font-weight:800;
}
.case-card--cta{
  justify-content:center;
  border-style:dashed;
  border-color:rgba(184,152,110,0.5);
  background:linear-gradient(160deg,rgba(26,61,46,0.96),rgba(45,90,71,0.94));
  color:var(--white);
}
.case-card--cta .case-card__tag{color:var(--gold-light)}
.case-card--cta h3{color:var(--white)}
.case-card--cta .case-card__body p:not(.case-card__tag){color:rgba(255,255,255,0.78)}
.case-card--cta .case-card__link{color:var(--gold-light)}

/* FAQ */
.faq-section{background:var(--paper)}
.faq-list{
  display:grid;
  gap:12px;
  max-width:860px;
  margin:0 auto;
}
.faq-item{
  border:1px solid rgba(26,61,46,0.1);
  border-radius:14px;
  background:var(--white);
  box-shadow:0 6px 24px rgba(26,61,46,0.04);
  overflow:hidden;
}
.faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:56px;
  padding:16px 20px;
  cursor:pointer;
  color:var(--ink);
  font-family:var(--font-serif);
  font-size:18px;
  font-weight:700;
  line-height:1.45;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(184,152,110,0.5);
  border-radius:50%;
  color:var(--gold);
  font-family:var(--font-sans);
  font-size:18px;
  font-weight:600;
  line-height:1;
  transition:transform 200ms ease;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{background:rgba(232,240,235,0.5)}
.faq-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.faq-item > p{
  margin:0;
  padding:0 20px 20px;
  color:var(--muted);
  line-height:1.75;
}

/* Sticky mobile consult bar */
.mobile-cta-bar{
  position:fixed;
  right:0;
  bottom:0;
  left:0;
  z-index:8;
  display:none;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  background:rgba(250,248,240,0.96);
  border-top:1px solid rgba(26,61,46,0.12);
  box-shadow:0 -10px 30px rgba(15,28,24,0.12);
  backdrop-filter:blur(14px);
}
.mobile-cta-bar .button{
  width:100%;
  min-height:50px;
  font-size:16px;
}
@media (max-width:768px){
  .mobile-cta-bar{display:block}
  body{padding-bottom:84px}
}
@media (prefers-reduced-motion: reduce){
  .case-card,.case-card:hover{transform:none;transition:none}
  .faq-item summary::after{transition:none}
}

/* Tablet/desktop layout for case strip + FAQ */
@media (min-width:700px){
  .case-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1100px){
  .case-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Nowrap utility for brand titles and headings */
.nowrap{
  white-space:nowrap !important;
}

/* Card layout fix to ensure footers stay visible and don't get clipped */
.recommended-card .card-link,
.article-card .card-link{
  height:auto !important;
  flex:1 0 auto !important;
}

/* CTA button icon alignment (Messenger / Facebook SVG inline icons) */
.button .btn-icon{display:inline-block;vertical-align:-0.22em;width:1.05em;height:1.05em;margin-right:0.45em;flex-shrink:0}
.nav-cta .btn-icon{display:inline-block;vertical-align:-0.2em;width:0.95em;height:0.95em;margin-right:0.35em}
/* wrapper for 2-button CTA pairs inside contact sections */
.cta-pair{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;flex-shrink:0}
/* keep pair side-by-side on mobile — override the global .button{width:100%} */
@media(max-width:640px){.cta-pair .button{width:auto;flex:1 1 0;min-width:120px}}
