/* Shared appearance palette and settings for content pages. */
.content-theme[data-accent=orange] { --accent:#ffb17e;--accent-solid:#ad3b08;--accent-glow:#ed5b192e;--accent-ink:#fff; }
.content-theme[data-accent=green] { --accent:#8addaf;--accent-solid:#166b43;--accent-glow:#14744638;--accent-ink:#fff; }
.content-theme[data-accent=pink] { --accent:#ed9ae9;--accent-solid:#9a268f;--accent-glow:#ce55cb30;--accent-ink:#fff; }
.content-theme[data-accent=gold] { --accent:#ffcb49;--accent-solid:#ffcb49;--accent-glow:#ffcb4926;--accent-ink:#241b05; }
.content-theme[data-accent=white] { --accent:#eeeeec;--accent-solid:#eeeeec;--accent-glow:#eeeeec1a;--accent-ink:#161616; }
.content-theme[data-accent=blue] { --accent:#a5b5ff;--accent-solid:#304cd8;--accent-glow:#304cd838;--accent-ink:#fff; }
.content-theme[data-accent=teal] { --accent:#83dcda;--accent-solid:#086968;--accent-glow:#087b7b38;--accent-ink:#fff; }
.content-theme[data-accent=graphite] { --accent:#c0c0c0;--accent-solid:#484848;--accent-glow:#88888820;--accent-ink:#fff; }
.content-theme[data-accent=lime] { --accent:#c8ed9c;--accent-solid:#c8ed9c;--accent-glow:#c8ed9c26;--accent-ink:#16200e; }
.content-theme { --bg:#080909; --panel:#131515; --line:#292c2b; --muted:#a1a8a5; --accent:#b998ff; --accent-solid:#7928f5; --accent-ink:#fff; --accent-glow:#7928f52e; background:#080909; color:#f0f1ec; }
.content-theme .appearance-toggle { position:fixed;left:0;top:72px;z-index:45;display:grid;place-items:center;width:36px;height:44px;padding:9px;border:1px solid #4a414f;border-left:0;border-radius:0 9px 9px 0;background:#232026;color:#eee8f6;cursor:pointer;box-shadow:0 4px 20px #0005; }
.content-theme .appearance-toggle[hidden] { display:none; }.appearance-toggle svg { width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5; }
.content-theme .appearance-dialog { position:fixed;inset:0 0 0 auto;margin:0;width:min(650px,100%);height:100dvh;max-width:100%;max-height:100dvh;box-sizing:border-box;border:0;border-left:1px solid #3e3747;border-radius:24px 0 0 24px;background:#19171d;color:#f4f0f9;padding:48px;overflow-y:auto;box-shadow:-25px 0 100px #0006; }
.appearance-dialog::backdrop { background:#0009;backdrop-filter:blur(5px); }
.appearance-heading { display:flex;justify-content:space-between;align-items:center;gap:15px; }.appearance-kicker { font-size:10px;letter-spacing:2px;color:#b7aabe; }
.appearance-close { display:grid;place-items:center;width:44px;height:44px;border:1px solid #4d4358;border-radius:50%;background:transparent;color:#eee6f6;cursor:pointer; }
.appearance-dialog h2 { font-size:clamp(32px,4vw,48px);font-weight:450;letter-spacing:-1.8px;line-height:1.18;margin:48px 0 20px; }.appearance-dialog h2 span { color:var(--accent); }.appearance-description { font-size:14px;color:#b3aabc;line-height:1.8; }
.appearance-options { border:0;padding:0;margin:45px 0 30px;min-width:0; }.appearance-options legend { padding:0;margin-bottom:23px;font-size:10px;letter-spacing:1.8px;color:#dbd0e3; }.appearance-swatches { display:grid;grid-template-columns:repeat(5,44px);gap:17px; }
.appearance-swatches button { display:grid;place-items:center;width:44px;height:44px;border:5px solid #19171d;outline:1px solid transparent;border-radius:50%;background:var(--swatch);cursor:pointer;padding:0; }
.appearance-swatches button[aria-pressed=true] { outline-color:#fff; }.appearance-swatches button:focus-visible { outline:2px solid #fff;outline-offset:4px; }.appearance-swatches button span { display:none;font-size:16px;color:white;text-shadow:0 1px 3px #000,1px 0 2px #000; }.appearance-swatches button[aria-pressed=true] span { display:block; }
.appearance-sample { display:flex;align-items:center;gap:14px;border:1px solid #44394e;border-radius:14px;background:linear-gradient(125deg,var(--accent-glow),#201c26);padding:23px;margin-top:36px; }.appearance-sample-dot { width:12px;height:12px;background:var(--accent);border-radius:50%; }.appearance-sample small { display:block;letter-spacing:1.5px;font-size:8px;color:#b6a8c2; }.appearance-sample strong { display:block;font-size:19px;font-weight:500;margin-top:7px; }.appearance-sample-arrow { margin-left:auto;display:grid;place-items:center;background:var(--accent-solid);color:var(--accent-ink);width:44px;height:44px;border-radius:50%;font-size:23px; }
.appearance-status { color:#b6aabc;font-size:12px;margin:20px 0; }.appearance-reset { display:flex;align-items:center;gap:20px;min-height:44px;border:0;border-bottom:1px solid #51415e;background:transparent;color:#ede0f7;font-size:12px;cursor:pointer;padding:8px 0; }
@media(max-width:900px) { .content-theme .appearance-toggle { left:auto;right:18px;top:auto;bottom:84px;border:1px solid #4a414f;border-radius:50%;width:44px;height:44px; } }
@media(max-width:600px) { .content-theme .appearance-dialog { padding:25px;border-radius:0; }.appearance-dialog h2 { margin-top:35px; }.appearance-swatches { gap:15px; }.appearance-sample { padding:18px; } }
@media(max-width:350px) { .content-theme .appearance-dialog { padding:20px; }.appearance-swatches { gap:10px; } }
.content-theme[data-accent=red] { --accent:#ff97a2;--accent-solid:#cc2034;--accent-ink:#fff;--accent-glow:#e5283e24; }
.appearance-mode { border:0;padding:0;margin:28px 0 0;min-width:0; }.appearance-mode legend { font-size:10px;letter-spacing:1.8px;margin-bottom:15px;padding:0;color:#dbd0e3; }.theme-options { display:flex;gap:12px; }.theme-options button { flex:1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border:1px solid #504459;border-radius:10px;background:#242029;color:#e6dfed;font-size:13px;cursor:pointer; }.theme-options button span { font-size:20px; }.theme-options button[aria-pressed=true] { border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent); }
.content-theme[data-theme=light] { color-scheme:light;--bg:#faf9fb;--panel:#fff;--text:#24212b;--muted:#655e6d;--line:#dfdbe2;background:#faf9fb;color:#24212b; }
.content-theme[data-theme=light][data-accent=red] { --accent:#bd2134; }
.content-theme[data-theme=light][data-accent=purple] { --accent:#6d28cc; }
.content-theme[data-theme=light][data-accent=orange] { --accent:#a83b0a; }
.content-theme[data-theme=light][data-accent=green] { --accent:#166b43; }
.content-theme[data-theme=light][data-accent=pink] { --accent:#942189; }
.content-theme[data-theme=light][data-accent=gold] { --accent:#805806; }
.content-theme[data-theme=light][data-accent=white] { --accent:#53505c; }
.content-theme[data-theme=light][data-accent=blue] { --accent:#304cd8; }
.content-theme[data-theme=light][data-accent=teal] { --accent:#086968; }
.content-theme[data-theme=light][data-accent=graphite] { --accent:#484848; }
.content-theme[data-theme=light][data-accent=lime] { --accent:#47661c; }
.content-theme[data-theme=light] .appearance-toggle { background:#fff;color:#6a5878;border-color:#d8cce0;box-shadow:0 5px 20px #38214115; }
.content-theme[data-theme=light] .appearance-dialog { background:#fcfafc;color:#2d2434;border-color:#ded1e6; }
.content-theme[data-theme=light] .appearance-kicker,.content-theme[data-theme=light] .appearance-description,.content-theme[data-theme=light] .appearance-status { color:#776781; }
.content-theme[data-theme=light] .appearance-options legend,.content-theme[data-theme=light] .appearance-mode legend { color:#604e6d; }
.content-theme[data-theme=light] .appearance-close { color:#654f74;border-color:#d7c8e0; }.content-theme[data-theme=light] .appearance-swatches button { border-color:#fcfafc;box-shadow:inset 0 0 0 1px #0002; }.content-theme[data-theme=light] .appearance-swatches button[aria-pressed=true] { outline-color:#5a426a; }.content-theme[data-theme=light] .appearance-swatches button:focus-visible { outline-color:#302138; }
.content-theme[data-theme=light] .theme-options button { background:#fff;color:#61506d;border-color:#dacde3; }.content-theme[data-theme=light] .theme-options button[aria-pressed=true] { border-color:var(--accent); }
.content-theme[data-theme=light] .appearance-sample { background:linear-gradient(125deg,var(--accent-glow),#fff);border-color:#ddd0e4; }.content-theme[data-theme=light] .appearance-sample small { color:#7b668b; }.content-theme[data-theme=light] .appearance-reset { color:#60446f;border-color:#cbb4d9; }

.content-theme { --text:#f0f1ec; color-scheme:dark; background:radial-gradient(ellipse at 90% 0%,var(--accent-glow),transparent 650px),var(--bg); }
.content-theme[data-theme=light] { color-scheme:light; }
.content-theme .wrap { max-width:1120px; }
.content-theme .site-header { border-color:var(--line); }
.content-theme .identity,.content-theme .footer-invitation h2,.content-theme .site-footer h3,.content-theme .footer-phone { color:var(--text); }
.content-theme .identity-icon { background:var(--panel);border-color:var(--line); }
.content-theme .identity-icon span,.content-theme .footer-invitation h2 span,.content-theme .footer-kicker,.content-theme .footer-whatsapp { color:var(--accent); }
.content-theme .identity-name small,.content-theme .site-navigation a { color:var(--muted); }
.content-theme .site-navigation a:hover,.content-theme .site-navigation a[aria-current=page] { color:var(--text);text-decoration-color:var(--accent); }
.content-theme .button,.content-theme .site-navigation .nav-quote,.content-theme .footer-start { background:var(--accent-solid);color:var(--accent-ink);border-color:transparent;border-radius:30px; }
.content-theme .button:hover,.content-theme .footer-start:hover { filter:brightness(1.08); }
.content-theme .service-intro { position:relative;max-width:none;padding:clamp(26px,5vw,60px);margin:28px 0 45px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 100% 0%,var(--accent-glow),transparent 75%),var(--panel); }
.content-theme .service-intro h1 { max-width:900px;font-weight:550;line-height:1.12; }
.content-theme .service-intro p:not(.eyebrow) { max-width:790px; }
.content-theme .eyebrow { color:var(--accent); }
.content-theme .service-tile { background:var(--panel);border-color:var(--line);border-radius:20px; }
.content-theme .service-tile a,.content-theme .prose a:not(.button),.content-theme .secondary-button,.content-theme nav a:hover { color:var(--accent); }
.content-theme .prose { max-width:880px; }
.content-theme .prose li::marker { color:var(--accent); }
.content-theme .menu-toggle,.content-theme .site-header.menu-open .site-navigation { background:var(--panel);color:var(--text);border-color:var(--line); }
.content-theme .brief-form input,.content-theme .brief-form select,.content-theme .brief-form textarea { border-color:var(--line);border-radius:12px; }
.content-theme .site-footer { background:radial-gradient(ellipse at 5% 0%,var(--accent-glow),transparent 65%),var(--panel);border-color:var(--line);color:var(--muted); }
.content-theme .footer-invitation,.content-theme .footer-bottom,.content-theme .footer-connect { border-color:var(--line); }
.content-theme .footer-location i { background:var(--accent); }
.content-theme .footer-link-column a:hover,.content-theme .footer-bottom a:hover { color:var(--accent); }
.content-theme .consent-box { background:var(--panel);border-color:var(--line); }
.content-theme :focus-visible { outline:2px solid var(--accent);outline-offset:4px; }
.content-theme .appearance-toggle { left:auto;right:20px;top:auto;bottom:24px;border:1px solid var(--line);border-radius:50%;width:44px;height:44px; }
.content-theme .footer-bottom { padding-bottom:80px; }
@media(max-width:600px) {
 .content-theme .service-intro { padding:26px 22px;margin:20px 0 30px;border-radius:20px; }
 .content-theme .service-intro h1 { font-size:clamp(30px,8vw,44px); }
 .content-theme .service-intro p:not(.eyebrow),.content-theme .prose p,.content-theme .prose li { font-size:14px; }
 .content-theme .seo-actions { align-items:stretch;flex-direction:column;gap:12px; }
 .content-theme .seo-actions .button { justify-content:center;font-size:12px;padding-inline:14px; }
 .content-theme .seo-actions .secondary-button { justify-content:center; }
 .content-theme .breadcrumbs { font-size:11px;line-height:1.7; }
 .content-theme .seo-section { padding-block:30px; }
}

/* Clear link affordances, keeping descriptive text readable and crawlable. */
.content-theme .link-icon { display:inline-block;width:16px;height:16px;flex-shrink:0;margin-left:7px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.content-theme main a:not(.button) { color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent-glow);text-underline-offset:4px;text-decoration-thickness:1px; }
.content-theme main a:not(.button):hover { text-decoration-color:currentColor; }
.content-theme .service-tile a,.content-theme .seo-actions .secondary-button { display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--accent-glow);text-decoration:none;line-height:1.5; }
.content-theme .service-tile a { margin-top:8px; }
.content-theme .service-tile a:hover,.content-theme .seo-actions .secondary-button:hover { border-color:var(--accent); }
.content-theme .site-navigation a:not(.nav-quote),.content-theme .footer-link-column a { display:flex;align-items:center;justify-content:space-between;gap:5px; }
.content-theme .footer-link-column a { width:100%; }
.content-theme .site-navigation a .link-icon { width:13px;height:13px;margin-left:0; }
.content-theme .prose a:not(.button):focus-visible { border-radius:3px; }

/* Contact: personal introduction and a focused project brief. */
.contact-layout { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,64px);align-items:start;margin:16px 0 70px; }
.contact-options h2,.contact-form-panel h2 { font-size:clamp(25px,3vw,34px);letter-spacing:-1px;margin:16px 0; }
.contact-options>p,.contact-form-panel>p:not(.eyebrow) { color:var(--muted);font-size:14px;line-height:1.8; }
.content-theme main .contact-method { display:flex;align-items:center;gap:15px;padding:19px 16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-decoration:none;margin-top:16px;color:var(--text); }
.contact-method>span:nth-child(2) { flex:1;min-width:0; }
.contact-method small,.contact-method strong,.contact-method>span>span { display:block; }
.contact-method small { color:var(--accent);font-size:9px;letter-spacing:1px;margin-bottom:7px; }
.contact-method strong { font-size:17px;font-weight:550; }
.contact-method>span>span { color:var(--muted);font-size:12px;margin-top:5px; }
.method-symbol { display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:13px;background:var(--accent-glow);color:var(--accent);font-size:24px; }
.contact-method:hover { border-color:var(--accent); }
.contact-next { margin-top:30px;padding-top:24px;border-top:1px solid var(--line); }
.contact-next h3 { font-size:16px; }
.contact-next ol { padding-left:20px;color:var(--muted);font-size:13px;line-height:2.1; }
.contact-next li::marker { color:var(--accent); }
.contact-options .contact-location { font-size:12px;margin-top:24px; }
.contact-form-panel { padding:clamp(22px,3vw,36px);background:var(--panel);border:1px solid var(--line);border-radius:24px; }
.contact-form-panel .brief-form { margin-top:28px;gap:20px; }
.contact-fields { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.contact-form-panel label { position:relative;display:flex;flex-direction:column;gap:9px;font-size:13px;font-weight:500; }
.contact-form-panel .field-required { font-size:10px;color:var(--muted);font-weight:400;position:absolute;right:0;top:2px; }
.content-theme .contact-form-panel input,.content-theme .contact-form-panel select,.content-theme .contact-form-panel textarea { background:var(--bg);font-size:14px; }
.contact-form-panel input::placeholder,.contact-form-panel textarea::placeholder { color:var(--muted);opacity:.85; }
.contact-form-panel textarea { min-height:150px;line-height:1.7; }
.contact-form-panel .form-hint { margin:-10px 0 0;color:var(--muted);font-size:11px;line-height:1.6; }
.contact-form-panel .form-note { margin:-6px 0 0;text-align:center;font-size:12px;line-height:1.7;color:var(--muted); }
.contact-form-panel .button { width:100%;min-height:52px; }
.contact-form-panel .honey { display:none; }
@media(max-width:800px) { .contact-layout { grid-template-columns:1fr; }.contact-fields { grid-template-columns:1fr; }.contact-form-panel { order:-1; }.contact-options { padding:0 8px; } }

.content-theme main a.contact-method:not(.button) { text-decoration:none;color:var(--text); }
.method-symbol svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }

/* Match the homepage dock on the mobile contact page only. */
.contact-mobile-nav { display:none; }
@media(max-width:900px) {
 .content-theme .contact-mobile-nav { display:flex;position:fixed;z-index:40;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);gap:4px;padding:7px;border:1px solid var(--line);border-radius:40px;background:var(--panel);box-shadow:0 5px 30px #0005; }
 .content-theme main .contact-mobile-nav a { display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;color:var(--muted);text-decoration:none; }
 .contact-mobile-nav a>span { display:none; }
 .contact-mobile-nav svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
 .content-theme main .contact-mobile-nav a[aria-current=page],.content-theme main .contact-mobile-nav a:hover { background:var(--accent-solid);color:var(--accent-ink); }
 .content-theme:has(.contact-mobile-nav) .appearance-toggle { bottom:calc(84px + env(safe-area-inset-bottom)); }
 .content-theme:has(.contact-mobile-nav) { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
 .content-theme:has(.contact-mobile-nav) .brief-form input,.content-theme:has(.contact-mobile-nav) .brief-form select,.content-theme:has(.contact-mobile-nav) .brief-form textarea { scroll-margin-bottom:160px; }
}

/* Center the contact dock without relying on transforms or content width. */
@media(max-width:900px) {
 .content-theme .contact-mobile-nav { left:0;right:0;transform:none;margin-inline:auto;width:288px;max-width:calc(100% - 24px);justify-content:space-between;gap:0;box-sizing:border-box; }
 .content-theme main .contact-mobile-nav a { width:38px;min-width:0; }
}
@media(max-width:600px) {
 .content-theme .brief-form input,.content-theme .brief-form select,.content-theme .brief-form textarea { font-size:16px; }
}
