
:root{
  --c1:#ff5d8f; --c2:#ff8a3d; --c3:#7c5cff; --c4:#19c3a6; --c5:#ffc02e; --c6:#3b9dff;
  --grad-warm:linear-gradient(120deg,#ff5d8f,#ff8a3d);
  --grad-cool:linear-gradient(120deg,#7c5cff,#19c3a6);
  --grad-aurora:linear-gradient(122deg,#ff7a4d 0%,#ff5d8f 52%,#8b5cff 100%);
  --grad-text:linear-gradient(120deg,#ff5d8f,#7c5cff);
  --radius:22px; --radius-sm:14px; --radius-lg:30px;
  --container:1140px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --bg:#f6f7fc;
  --bg-soft:#eef0fa;
  --surface:#ffffff;
  --card:#ffffff;
  --ink:#1d2033;
  --ink-soft:#4d5170;
  --muted:#8589a6;
  --line:rgba(29,32,51,.10);
  --line-strong:rgba(29,32,51,.16);
  --header-bg:rgba(246,247,252,.78);
  --input-bg:#ffffff;
  --skill-track:#eceffa;
  --footer-bg:#171a2e;
  --footer-ink:#e8eaf6;
  --footer-muted:#a7abca;
  --shadow:0 24px 54px -26px rgba(40,30,90,.32);
  --shadow-soft:0 14px 32px -18px rgba(40,30,90,.22);
  --eyebrow-bg:linear-gradient(120deg,rgba(255,93,143,.16),rgba(124,92,255,.16));
  --eyebrow-ink:#9b3a86;
  --body-glow1:rgba(124,92,255,.10);
  --body-glow2:rgba(255,138,61,.12);
  --body-glow3:rgba(25,195,166,.10);
}
:root[data-theme="dark"]{
  --bg:#0b0d1b;
  --bg-soft:#141833;
  --surface:#15182c;
  --card:#171a30;
  --ink:#eef0fb;
  --ink-soft:#c2c6e2;
  --muted:#8b90b3;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --header-bg:rgba(11,13,27,.72);
  --input-bg:#0f1224;
  --skill-track:#0e1124;
  --footer-bg:#080a16;
  --footer-ink:#e8eaf6;
  --footer-muted:#9499bd;
  --shadow:0 26px 60px -24px rgba(0,0,0,.7);
  --shadow-soft:0 16px 38px -20px rgba(0,0,0,.55);
  --eyebrow-bg:linear-gradient(120deg,rgba(255,93,143,.22),rgba(124,92,255,.22));
  --eyebrow-ink:#ffc7e2;
  --body-glow1:rgba(124,92,255,.22);
  --body-glow2:rgba(255,93,143,.16);
  --body-glow3:rgba(25,195,166,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;overflow-x:hidden}
h1,h2,h3,p,a,span,.hl{overflow-wrap:break-word}
body{
  background:
    radial-gradient(720px 480px at 6% -6%, var(--body-glow1), transparent 60%),
    radial-gradient(720px 500px at 100% 4%, var(--body-glow2), transparent 60%),
    radial-gradient(760px 520px at 92% 100%, var(--body-glow3), transparent 60%),
    var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  font:16px/1.7 "Segoe UI", system-ui, -apple-system, Roboto, Ubuntu, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;
  transition:background-color .35s var(--ease),color .35s var(--ease);
}
img{max-width:100%;display:block}
a{color:var(--c1);text-decoration:none;transition:color .2s var(--ease),opacity .2s var(--ease)}
a:hover{color:var(--c3)}
.container{width:min(var(--container),92%);margin-inline:auto}
.d-none{display:none !important}
::selection{background:rgba(124,92,255,.30);color:#fff}
section{padding:88px 0;position:relative}
.section-head{max-width:64ch;margin:0 0 42px}
.eyebrow{display:inline-block;font-weight:800;letter-spacing:.10em;text-transform:uppercase;font-size:.76rem;padding:.42rem .9rem;border-radius:999px;margin:0 0 .95rem;color:var(--eyebrow-ink);background:var(--eyebrow-bg)}
h1,h2,h3{color:var(--ink);letter-spacing:-.015em;line-height:1.12}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);margin:0 0 .6rem;font-weight:900}
h3{font-size:1.18rem;margin:0 0 .45rem;font-weight:800}
p{margin:0 0 .9rem;color:var(--ink-soft)}
.lead{color:var(--muted);font-size:1.1rem}
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.site-header::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-aurora)}
.nav-container{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;gap:1rem}
.logo{font-weight:900;font-size:1.18rem;color:var(--ink);display:inline-flex;align-items:center;gap:.6rem}
.logo .logo-dot{width:14px;height:14px;border-radius:50%;background:var(--grad-warm);box-shadow:0 0 0 5px rgba(255,93,143,.16)}
.site-nav{display:flex;align-items:center;gap:.4rem}
.site-nav .nav-toggle{display:none;font-size:1.5rem;background:transparent;border:0;color:var(--ink);cursor:pointer;line-height:1;padding:.2rem .4rem}
.site-nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0;align-items:center}
.site-nav a{color:var(--ink-soft);font-weight:600;padding:.5rem .85rem;border-radius:999px;transition:background .2s var(--ease),color .2s var(--ease)}
.site-nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--c3) 14%,transparent)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:1.1rem;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}
.theme-toggle:hover{transform:translateY(-2px) rotate(-8deg);box-shadow:var(--shadow-soft)}
.theme-toggle .i-sun{display:none}
:root[data-theme="dark"] .theme-toggle .i-sun{display:inline}
:root[data-theme="dark"] .theme-toggle .i-moon{display:none}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.82rem 1.45rem;border-radius:12px;border:1.5px solid transparent;font-weight:700;cursor:pointer;font-size:1rem;transition:transform .18s var(--ease),box-shadow .22s var(--ease),background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn .arr{display:inline-block;transition:transform .2s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.primary-btn{background:var(--grad-warm);color:#fff;box-shadow:0 10px 22px -12px rgba(255,93,143,.5)}
.primary-btn:hover{color:#fff;box-shadow:0 16px 30px -12px rgba(255,93,143,.6)}
.outline-btn{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}
.outline-btn:hover{color:var(--ink);border-color:var(--c3);background:color-mix(in srgb,var(--c3) 8%,transparent)}
.link-btn{background:transparent;border:0;color:var(--ink);font-weight:700;padding:.82rem .35rem;border-radius:0;position:relative}
.link-btn::after{content:"";position:absolute;left:.35rem;bottom:.55rem;width:calc(100% - 1.1rem);height:2px;background:currentColor;opacity:.5;transform:scaleX(.32);transform-origin:left;transition:transform .25s var(--ease),opacity .2s var(--ease)}
.link-btn:hover{transform:none}
.link-btn:hover::after{transform:scaleX(1);opacity:.85}
.btn[disabled],.btn.is-disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.hero{position:relative;overflow:hidden;color:#fff;isolation:isolate;background:var(--grad-aurora);background-size:170% 170%;animation:auroraShift 28s ease-in-out infinite}
@keyframes auroraShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.hero-blobs span{position:absolute;border-radius:50%;filter:blur(40px);opacity:.34;z-index:0}
.hero-blobs span:nth-child(1){width:360px;height:360px;background:#ff9a6c;top:-120px;left:-90px;animation:floatY 12s ease-in-out infinite}
.hero-blobs span:nth-child(2){width:300px;height:300px;background:#9b5cff;bottom:-130px;right:4%;animation:floatY 15s ease-in-out infinite reverse}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(22px)}}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:46px;align-items:center;padding:104px 0 116px}
.hero-kicker{display:inline-block;font-weight:800;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);padding:.42rem 1rem;border-radius:999px;margin:0 0 1.15rem;font-size:.95rem;backdrop-filter:blur(6px);box-shadow:0 6px 20px -8px rgba(0,0,0,.25)}
.hero-text h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4.1rem);font-weight:900;margin:.1rem 0 .8rem;line-height:1.05;text-shadow:0 1px 1px rgba(60,20,90,.18)}
.hero-text h1 .hl{display:inline-block;color:#fff5e9}
.hero-sub{color:rgba(255,255,255,.95);font-size:1.16rem;max-width:55ch;margin:.4rem 0 1.8rem}
.hero-cta{display:flex;gap:.85rem;flex-wrap:wrap}
.hero .primary-btn{background:#201936;color:#fff;border-color:#201936;box-shadow:0 12px 26px -14px rgba(20,8,40,.6)}
.hero .primary-btn:hover{background:#2c2348;color:#fff;box-shadow:0 18px 34px -14px rgba(20,8,40,.7)}
.hero .link-btn{color:#fff}
.hero .link-btn::after{background:#fff}
.hero-chips{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-chips .chip{font-size:.86rem;font-weight:700;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);padding:.42rem .9rem;border-radius:999px;backdrop-filter:blur(6px)}
.hero-photo{display:flex;justify-content:center}
.photo-frame{position:relative;width:min(340px,82%);aspect-ratio:4/5;border-radius:28px;padding:9px;background:linear-gradient(150deg,rgba(255,255,255,.5),rgba(255,255,255,.14));box-shadow:0 34px 64px -28px rgba(40,10,60,.55), 0 0 0 1px rgba(255,255,255,.35) inset;transform:rotate(2deg);transition:transform .45s var(--ease)}
.photo-frame::before{content:"";position:absolute;inset:-22px;border-radius:40px;background:radial-gradient(55% 55% at 25% 18%, rgba(255,160,90,.55), transparent 72%), radial-gradient(60% 60% at 82% 92%, rgba(124,92,255,.5), transparent 72%);filter:blur(30px);opacity:.75;z-index:-1}
.photo-frame:hover{transform:rotate(0) scale(1.01)}
.photo-frame img{width:100%;height:100%;object-fit:cover;border-radius:27px}
.photo-frame .photo-badge{position:absolute;left:-14px;bottom:20px;background:var(--surface);color:var(--ink);font-weight:800;font-size:.85rem;padding:.55rem .95rem;border-radius:999px;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:.45rem}
.photo-frame .photo-badge::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c4);box-shadow:0 0 0 4px rgba(25,195,166,.25)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-item{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.service-item::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--ac,var(--c1))}
.service-item:hover{transform:translateY(-6px);box-shadow:0 28px 54px -24px color-mix(in srgb,var(--ac,var(--c1)) 60%,transparent);border-color:transparent}
.service-item .ico{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:18px;font-size:1.8rem;margin-bottom:16px;background:var(--bg-soft);border:1px solid var(--line);background:color-mix(in srgb,var(--ac,var(--c1)) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--ac,var(--c1)) 30%,transparent)}
.service-item h3{color:var(--ink)}
.service-item p{color:var(--ink-soft);margin:0}
.services-grid .service-item:nth-child(6n+1){--ac:var(--c1)}
.services-grid .service-item:nth-child(6n+2){--ac:var(--c2)}
.services-grid .service-item:nth-child(6n+3){--ac:var(--c6)}
.services-grid .service-item:nth-child(6n+4){--ac:var(--c3)}
.services-grid .service-item:nth-child(6n+5){--ac:var(--c4)}
.services-grid .service-item:nth-child(6n+6){--ac:var(--c5)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.portfolio-item{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.portfolio-item:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.portfolio-item img{aspect-ratio:16/11;width:100%;object-fit:cover;transition:transform .5s var(--ease)}
.portfolio-item:hover img{transform:scale(1.06)}
.portfolio-item .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.4rem;padding:18px;background:linear-gradient(180deg,transparent 38%,rgba(18,10,30,.85))}
.portfolio-item .overlay h3{margin:0;font-size:1.08rem;color:#fff}
.portfolio-item .overlay .cat{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--grad-warm);padding:.28rem .72rem;border-radius:999px}
.portfolio-item.is-disabled{cursor:not-allowed;border-style:dashed}
.portfolio-item.is-disabled img{filter:grayscale(1) brightness(.95) contrast(.95)}
.portfolio-item.is-disabled:hover{transform:none;box-shadow:var(--shadow-soft)}
.portfolio-item.is-disabled:hover img{transform:none}
.portfolio-item .offline-badge{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;font-weight:800;padding:.34rem .74rem;border-radius:999px;background:var(--surface);color:#e0356f;border:1px solid rgba(224,53,111,.35);box-shadow:var(--shadow-soft)}
.portfolio-item .offline-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#e8417a;box-shadow:0 0 0 3px rgba(232,65,122,.22)}
.about-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:42px 46px;box-shadow:var(--shadow-soft);overflow:hidden}
.about-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--grad-aurora)}
.about-card .section-head{margin-bottom:18px}
.about-card p{font-size:1.06rem;max-width:74ch}
.about-facts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.about-facts .fact{font-size:.9rem;font-weight:700;color:var(--ink);background:var(--bg-soft);border:1px solid var(--line);padding:.5rem 1rem;border-radius:999px}
.about-facts .fact:nth-child(3n+1){background:color-mix(in srgb,var(--c1) 14%,var(--surface));border-color:color-mix(in srgb,var(--c1) 28%,transparent)}
.about-facts .fact:nth-child(3n+2){background:color-mix(in srgb,var(--c3) 14%,var(--surface));border-color:color-mix(in srgb,var(--c3) 28%,transparent)}
.about-facts .fact:nth-child(3n+3){background:color-mix(in srgb,var(--c4) 16%,var(--surface));border-color:color-mix(in srgb,var(--c4) 30%,transparent)}
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.skill-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px 20px;box-shadow:var(--shadow-soft)}
.skill-item .skill-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.55rem}
.skill-item span{color:var(--ink);font-weight:700}
.skill-item .pct{color:var(--muted);font-size:.85rem;font-weight:800}
.skill-bar{height:10px;background:var(--skill-track);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.skill-progress{height:100%;width:0;background:var(--grad-warm);border-radius:999px;transition:width 1.1s var(--ease)}
.skills-grid .skill-item:nth-child(3n+2) .skill-progress{background:linear-gradient(120deg,var(--c3),var(--c6))}
.skills-grid .skill-item:nth-child(3n+3) .skill-progress{background:linear-gradient(120deg,var(--c4),var(--c5))}
.callout{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:center;box-shadow:var(--shadow-soft)}
.callout .ico{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:20px;font-size:2rem;background:color-mix(in srgb,var(--c4) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--c4) 30%,transparent)}
.contact-grid{display:grid;
    gap:36px;align-items:start}
.contact-info p{font-size:1.06rem}
.contact-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:.8rem}
.contact-list li{display:flex;gap:.65rem;align-items:flex-start;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);padding:.85rem 1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}
.contact-list li strong{color:var(--ink);min-width:78px;display:inline-block}
.contact-form form{background:var(--surface);padding:28px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.php-email-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{display:grid;gap:6px;margin-bottom:14px}
label{color:var(--ink-soft);font-size:.92rem;font-weight:700}
input,textarea{width:100%;padding:.78rem .95rem;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--input-bg);color:var(--ink);outline:none;font:inherit;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
input:focus,textarea:focus{border-color:var(--c3);box-shadow:0 0 0 4px color-mix(in srgb,var(--c3) 22%,transparent)}
#anliegen{display:none}
.form-meta{display:grid;gap:.35rem;margin:.25rem 0 1rem;color:var(--muted);font-size:.82rem}
.actions{display:flex;justify-content:flex-end}
.site-footer{background:var(--footer-bg);color:var(--footer-ink);margin-top:48px;border-top:4px solid transparent;border-image:var(--grad-aurora) 1}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:26px;padding:48px 0}
.footer-block h4{margin:.2rem 0 .8rem;color:#fff;font-size:1.02rem}
.footer-block p{color:var(--footer-muted);font-size:.93rem}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.footer-links a{color:var(--footer-ink);opacity:.86}
.footer-links a:hover{opacity:1;color:#fff}
.footer-bottom{background:rgba(0,0,0,.25)}
.footer-bottom-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;color:var(--footer-muted);font-size:.9rem;flex-wrap:wrap;gap:.5rem}
.page-title{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:40px 0 .3rem;color:var(--ink);font-weight:900}
.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-weight:700}
.back-link:hover{color:var(--c3)}
.portfolio-details{margin-top:6px}
.detail-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:start;margin:10px 0}
.detail-gallery img{width:100%;height:clamp(200px,32vh,420px);object-fit:contain;background:var(--surface);cursor:zoom-in;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-soft);transition:transform .25s var(--ease)}
.detail-gallery img:hover{transform:translateY(-3px)}
.portfolio-details > img{width:100%;max-width:100%;height:auto;border-radius:var(--radius)}
.detail-info,.detail-description{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;margin:22px 0;box-shadow:var(--shadow-soft)}
.detail-info h2,.detail-description h2{font-size:1.4rem}
.detail-info ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.detail-info ul li{color:var(--ink-soft)}
.detail-info ul li strong{color:var(--ink);margin-right:.4rem}
.detail-description h3{color:var(--c1);margin-top:1.3rem}
.detail-description h3:empty{display:none}
.detail-description p{color:var(--ink-soft)}
main.container{padding-bottom:48px}
.lightbox{position:fixed;inset:0;background:rgba(10,8,22,.92);display:none;z-index:1000;padding:24px;backdrop-filter:blur(6px)}
.lightbox.open{display:flex;align-items:center;justify-content:center}
.lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:clamp(320px,92vw,1600px);width:auto}
.lb-image{display:block;margin:0 auto;width:auto;height:auto;max-width:calc(100vw - 96px);max-height:calc(100vh - 160px);object-fit:contain;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.lb-caption{color:#f3eefb;font-size:.95rem;opacity:.92;text-align:center;max-width:80ch;margin-top:12px}
.lb-btn{position:absolute;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:14px;padding:.4rem .7rem;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s var(--ease)}
.lb-btn:hover{background:rgba(255,255,255,.26)}
.lb-close{top:18px;right:18px;font-size:1.6rem;line-height:1}
.lb-prev{left:18px;top:50%;transform:translateY(-50%);font-size:2rem}
.lb-next{right:18px;top:50%;transform:translateY(-50%);font-size:2rem}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .hero,.hero-text h1 .hl,.photo-frame::before,.hero-blobs span{animation:none}
  .photo-frame{transform:none}
}
@media (max-width:1024px){
  .hero-inner{grid-template-columns:1fr;text-align:center;gap:30px;padding:80px 0 88px}
  .hero-cta,.hero-chips{justify-content:center}
  .hero-photo{order:-1}
  .photo-frame{transform:none}
  .services-grid,.skills-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-card{padding:32px 26px}
}
@media (max-width:680px){
  section{padding:62px 0}
  .hero-inner{padding:58px 0 66px;gap:24px}
  .hero-text h1{font-size:clamp(1.9rem,8.5vw,2.6rem)}
  .hero-sub{font-size:1.04rem}
  .hero-cta .btn{flex:1 1 auto;justify-content:center}
  .photo-frame{width:min(280px,78%)}
  .about-card{padding:26px 20px}
  .services-grid,.skills-grid,.portfolio-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .callout{grid-template-columns:1fr;text-align:left}
  .php-email-form .form-row{grid-template-columns:1fr}
  .site-nav .nav-toggle{display:block;order:2}
  .theme-toggle{order:1}
  .site-nav ul{display:none;flex-direction:column;align-items:stretch;gap:.15rem;position:absolute;right:4%;top:64px;min-width:210px;background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;padding:10px;box-shadow:var(--shadow)}
  .site-nav ul.show{display:flex}
  .lb-prev,.lb-next{font-size:1.6rem}
}
