:root{
    --bg:#fbf8f2;
    --paper:#fffdf9;
    --paper-2:#f3eefb;
    --ink:#292238;
    --muted:#71677c;
    --line:rgba(67,52,88,.12);
    --lilac:#9276c9;
    --lilac-2:#d9cff2;
    --lilac-soft:#f2edf9;
    --green:#8bcf9b;
    --green-2:#dcefdc;
    --green-dark:#3f7f5d;
    --coral:#e9a08f;
    --sun:#f4dc91;
    --blue:#b9dff0;
    --shadow:0 26px 70px rgba(74,55,105,.11);
    --shadow-soft:0 16px 38px rgba(54,44,76,.075);
    --radius:30px;
    --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:
        radial-gradient(circle at 8% 8%,rgba(217,207,242,.48),transparent 28%),
        radial-gradient(circle at 86% 18%,rgba(220,239,220,.55),transparent 28%),
        radial-gradient(circle at 74% 84%,rgba(244,220,145,.26),transparent 30%),
        linear-gradient(180deg,#fffaf4 0%,#fbf8ff 54%,#f8fff7 100%);
    color:var(--ink);
    font-family:'Nunito Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:16px;
    line-height:1.68;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
}
body:before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    opacity:.38;
    background-image:
        linear-gradient(90deg,rgba(146,118,201,.055) 1px,transparent 1px),
        linear-gradient(180deg,rgba(146,118,201,.045) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.12));
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.skip-link{position:absolute;left:14px;top:-70px;background:var(--paper);padding:10px 14px;border-radius:12px;z-index:80;box-shadow:var(--shadow-soft)}
.skip-link:focus{top:14px}
.site-header{
    position:sticky;
    top:0;
    z-index:30;
    padding:12px 16px 0;
    background:linear-gradient(180deg,rgba(251,247,239,.92),rgba(251,247,239,.62));
    backdrop-filter:blur(18px);
}
.soft-line{
    max-width:var(--max);
    margin:0 auto 8px;
    padding:7px 16px;
    text-align:center;
    color:var(--green-dark);
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    background:rgba(255,255,255,.58);
    border:1px solid var(--line);
    border-radius:999px;
}
.nav-wrap{
    max-width:var(--max);
    margin:auto;
    padding:12px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:rgba(255,253,248,.82);
    border:1px solid rgba(139,92,246,.16);
    border-radius:28px;
    box-shadow:0 18px 52px rgba(64,42,104,.10);
}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.brand-mark{
    width:46px;height:46px;border-radius:16px 22px 16px 22px;
    display:grid;place-items:center;
    color:#fff;background:linear-gradient(135deg,#947bc4,#7d82c2 46%,#7dbb8e);
    font-family:'Bricolage Grotesque',system-ui,sans-serif;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 12px 28px rgba(121,91,168,.18);
}
.brand strong{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:18px;line-height:1.08;letter-spacing:-.02em}
.brand small{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:700}
.main-nav{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:800}
.main-nav>a,.nav-dropdown>a{
    padding:10px 14px;border-radius:18px;color:#5f526d;transition:.22s ease;
}
.main-nav>a:hover,.nav-dropdown>a:hover,.main-nav a.active{background:var(--lilac-soft);color:var(--ink)}
.nav-contact{background:var(--ink)!important;color:#fff!important;box-shadow:0 12px 24px rgba(34,27,46,.16)}
.nav-dropdown{position:relative;padding-bottom:14px;margin-bottom:-14px}
.nav-dropdown>a{display:inline-flex;align-items:center;gap:6px}
.nav-dropdown>a:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55;transition:.2s ease}
.nav-dropdown:hover>a:after,.nav-dropdown:focus-within>a:after{transform:rotate(225deg) translateY(-1px);opacity:.85}
.dropdown-panel{
    position:absolute;right:0;top:calc(100% - 4px);width:306px;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);
    background:rgba(255,253,248,.98);border:1px solid rgba(139,92,246,.18);
    border-radius:24px;padding:10px;box-shadow:var(--shadow);z-index:60;
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.dropdown-panel:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.dropdown-panel a{display:block;padding:10px 12px;border-radius:16px;color:var(--muted);font-weight:800}
.dropdown-panel a:hover{background:linear-gradient(90deg,var(--lilac-soft),rgba(185,239,203,.45));color:var(--ink)}
.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:18px;background:#fff;align-items:center;justify-content:center;gap:5px;flex-direction:column}
.menu-toggle span{width:20px;height:2px;background:var(--ink);display:block;border-radius:99px}
.section-pad{max-width:var(--max);margin:auto;padding:88px 22px}
.home-intro{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(300px,.78fr) minmax(220px,.54fr);
    gap:32px;
    align-items:center;
    min-height:calc(100vh - 116px);
    padding-top:58px;
    padding-bottom:70px;
}
.home-intro:before{
    content:"";position:absolute;left:22px;right:22px;bottom:48px;height:48%;z-index:-1;
    border-radius:54px;
    background:linear-gradient(135deg,rgba(239,232,255,.95),rgba(246,255,246,.85));
    border:1px solid rgba(139,92,246,.12);
}
.home-intro:after{
    content:"";position:absolute;right:6%;top:16%;width:96px;height:96px;border-radius:32px;
    background:linear-gradient(135deg,var(--sun),var(--green-2));
    transform:rotate(12deg);z-index:-1;opacity:.8;
}
.eyebrow,.section-label{
    margin:0 0 14px;
    color:var(--lilac);
    font-size:12px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.intro-copy{max-width:680px}
.intro-copy h1,.page-head h1{
    font-family:'Bricolage Grotesque',system-ui,sans-serif;
    font-weight:800;
    letter-spacing:-.045em;
    line-height:.98;
    font-size:clamp(36px,4.2vw,58px);
    margin:0 0 20px;
}
.intro-copy h1{max-width:660px}
.lead{font-size:20px;color:var(--muted);max-width:620px;margin:0 0 28px;line-height:1.6}
.lead.small{font-size:18px;max-width:780px}
.quiet-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{
    display:inline-flex;align-items:center;justify-content:center;min-height:50px;
    padding:13px 20px;border-radius:18px;border:1px solid rgba(60,42,92,.14);
    font-weight:900;transition:.2s ease;background:#fff;color:var(--ink);
}
.button.primary{background:linear-gradient(135deg,#9176c8,#6f9f82);color:#fff;border-color:transparent;box-shadow:0 16px 30px rgba(116,88,155,.20)}
.button.primary:hover{transform:translateY(-2px);box-shadow:0 20px 34px rgba(116,88,155,.23)}
.button.ghost{background:rgba(255,255,255,.64)}
.button.ghost:hover{background:#fff;transform:translateY(-1px)}
.portrait-card{
    position:relative;margin:0;padding:12px;background:rgba(255,253,248,.88);border:1px solid rgba(139,92,246,.16);
    border-radius:42px 42px 22px 42px;box-shadow:var(--shadow);transform:rotate(-1.5deg);
}
.portrait-card:before{
    content:"";position:absolute;inset:-18px -14px auto auto;width:128px;height:128px;border-radius:42px;
    background:linear-gradient(135deg,var(--green-2),var(--green));z-index:-1;transform:rotate(16deg);
}
.portrait-card:after{
    content:"";position:absolute;left:-18px;bottom:34px;width:74px;height:74px;border-radius:24px;
    background:linear-gradient(135deg,var(--lilac-soft),var(--lilac-2));z-index:-1;transform:rotate(-15deg);
}
.portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:32px 32px 16px 32px;background:#f3ecff}
.portrait-card figcaption{padding:15px 8px 4px;color:var(--muted);font-size:14px;line-height:1.5;font-weight:700}
.portrait-card.small{max-width:420px;align-self:start}
.intro-notes{display:grid;gap:13px}
.intro-notes div{
    position:relative;overflow:hidden;background:rgba(255,253,248,.74);border:1px solid rgba(139,92,246,.16);
    border-radius:26px;padding:20px;box-shadow:var(--shadow-soft);
}
.intro-notes div:nth-child(2){transform:translateX(-12px);background:rgba(246,255,246,.78)}
.intro-notes div:nth-child(3){transform:translateX(10px);background:rgba(255,250,226,.78)}
.intro-notes span,.values-grid span,.process-list span,.service-list span,.service-index-row span{
    font-family:'Bricolage Grotesque',system-ui,sans-serif;color:var(--lilac);font-weight:900;
}
.intro-notes strong{display:block;font-size:18px;margin:5px 0 3px;font-family:'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.02em}
.intro-notes p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.narrow-note{max-width:980px;padding-top:34px;padding-bottom:34px}
.narrow-note p:last-child{
    position:relative;margin:0;padding:34px 36px;border-radius:34px;
    background:linear-gradient(135deg,rgba(255,253,248,.78),rgba(239,232,255,.65));
    border:1px solid rgba(139,92,246,.14);
    box-shadow:var(--shadow-soft);
    font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:clamp(23px,2.55vw,34px);
    letter-spacing:-.035em;line-height:1.16;color:var(--ink);
}
.split-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:56px;align-items:start}
.sticky-title{position:sticky;top:146px}
.sticky-title h2,.process-band h2,.contact-strip h2,.service-cta h2{
    font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.04em;
    font-size:clamp(28px,3.05vw,42px);line-height:1.04;margin:0 0 14px;
}
.sticky-title p,.contact-strip p,.process-band p{color:var(--muted);margin:0}
.service-list{display:grid;gap:14px;border:0}
.service-row{
    display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px 24px;
    background:rgba(255,253,248,.75);border:1px solid rgba(139,92,246,.15);border-radius:28px;
    box-shadow:var(--shadow-soft);transition:.22s ease;overflow:hidden;position:relative;
}
.service-row:before{content:"";position:absolute;right:-34px;top:-50px;width:140px;height:140px;border-radius:48px;background:rgba(185,239,203,.52);transform:rotate(22deg);transition:.22s ease}
.service-row:nth-child(even){transform:translateX(24px);background:rgba(246,255,246,.74)}
.service-row:nth-child(3n){background:rgba(245,237,255,.78)}
.service-row strong{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:22px;line-height:1.08;font-weight:800;letter-spacing:-.025em;position:relative;z-index:1}
.service-row small{grid-column:2;color:var(--muted);font-size:15px;line-height:1.55;max-width:700px;position:relative;z-index:1}
.service-row:hover{transform:translateY(-3px);box-shadow:0 22px 45px rgba(74,45,112,.12)}
.service-row:nth-child(even):hover{transform:translate(24px,-3px)}
.service-row:hover:before{background:rgba(201,182,255,.58);transform:rotate(10deg) scale(1.05)}
.process-band{
    max-width:calc(var(--max) - 44px);margin-top:38px;margin-bottom:38px;padding:44px;
    display:grid;grid-template-columns:.75fr 1.25fr;gap:32px;
    background:linear-gradient(135deg,#342b46 0%,#735aa0 52%,#4d8362 100%);
    color:#fff;border-radius:42px;box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.process-band:before{content:"";position:absolute;right:-80px;top:-120px;width:300px;height:300px;border-radius:80px;background:rgba(255,230,111,.22);transform:rotate(25deg)}
.process-band .section-label,.process-band p{color:rgba(255,255,255,.76)}
.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:1}
.process-list li{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:22px;backdrop-filter:blur(8px)}
.process-list span{color:var(--sun)}
.process-list strong{display:block;margin:8px 0 6px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:20px;letter-spacing:-.02em}
.process-list p{font-size:14px;line-height:1.5}
.contact-strip{
    display:flex;align-items:center;justify-content:space-between;gap:32px;
    background:rgba(255,253,248,.72);border:1px solid rgba(139,92,246,.14);
    border-radius:38px;padding-top:44px;padding-bottom:44px;box-shadow:var(--shadow-soft);
}
.contact-strip h2{max-width:740px}
.contact-strip-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.page-head{padding-top:82px;padding-bottom:34px}
.slim-head{max-width:980px;margin-left:auto;margin-right:auto}
.service-head{display:grid;grid-template-columns:1fr 300px;gap:34px;align-items:end}
.service-note{background:rgba(255,253,248,.82);border:1px solid rgba(139,92,246,.16);border-radius:28px;padding:22px;box-shadow:var(--shadow-soft)}
.service-note p{color:var(--muted);margin:6px 0 10px}.service-note a{font-weight:900;color:var(--green-dark)}
.about-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:54px;align-items:start}
.long-copy{font-size:18px;color:#33283f}
.long-copy p{margin:0 0 20px}.long-copy h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:32px;line-height:1.08;letter-spacing:-.035em;margin:36px 0 12px}
.quote-box{
    margin:34px 0;padding:26px 30px;border-left:0;background:linear-gradient(135deg,var(--lilac-soft),rgba(185,239,203,.55));
    border-radius:30px;color:var(--ink);font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:23px;letter-spacing:-.02em;line-height:1.28;box-shadow:var(--shadow-soft)
}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.values-grid div{background:rgba(255,253,248,.76);border:1px solid rgba(139,92,246,.14);border-radius:30px;padding:26px;box-shadow:var(--shadow-soft)}
.values-grid div:nth-child(2){background:rgba(246,255,246,.76)}.values-grid div:nth-child(3){background:rgba(255,250,226,.78)}
.values-grid h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:22px;line-height:1.1;letter-spacing:-.02em;margin:10px 0}.values-grid p{color:var(--muted);margin:0}
.service-index{display:grid;gap:16px}
.service-index-row a{
    display:grid;grid-template-columns:72px 1fr;gap:18px;background:rgba(255,253,248,.76);border:1px solid rgba(139,92,246,.15);
    border-radius:32px;padding:26px;transition:.22s ease;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;
}
.service-index-row a:after{content:"";position:absolute;right:-40px;bottom:-60px;width:160px;height:160px;border-radius:50px;background:rgba(185,239,203,.48);transform:rotate(18deg)}
.service-index-row:nth-child(even) a{background:rgba(246,255,246,.78)}.service-index-row:nth-child(3n) a{background:rgba(245,237,255,.78)}
.service-index-row a:hover{transform:translateY(-4px);box-shadow:0 24px 52px rgba(74,45,112,.12)}
.service-index-row h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:25px;line-height:1.06;letter-spacing:-.03em;margin:0 0 9px;position:relative;z-index:1}
.service-index-row p{color:var(--muted);margin:0 0 8px;position:relative;z-index:1}.service-index-row small{font-weight:900;color:var(--green-dark);position:relative;z-index:1}.muted-info{max-width:820px;padding-top:28px}.muted-info p{margin:0;color:var(--muted);font-size:15px}
.service-detail{display:grid;grid-template-columns:290px minmax(0,1fr);gap:56px;align-items:start}
.service-side{position:sticky;top:146px;background:rgba(255,253,248,.76);border:1px solid rgba(139,92,246,.14);border-radius:28px;padding:18px;box-shadow:var(--shadow-soft)}
.service-side strong{display:block;margin-bottom:10px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:19px;letter-spacing:-.02em}.service-side a{display:block;padding:10px 12px;border-radius:16px;color:var(--muted);font-size:14px;font-weight:800}.service-side a:hover,.service-side a.active{background:var(--lilac-soft);color:var(--ink)}
.service-cta{background:linear-gradient(135deg,#342b46,#765fa0 56%,#4e8465);color:#fff;border-radius:34px;padding:32px;margin:36px 0;box-shadow:var(--shadow)}.service-cta p{color:rgba(255,255,255,.76)}.service-cta .button.primary{background:#fff;color:var(--ink);border-color:#fff;box-shadow:none}
.faq-block{margin-top:36px}.faq-block details{border-top:1px solid var(--line);padding:18px 0}.faq-block details:last-child{border-bottom:1px solid var(--line)}.faq-block summary{cursor:pointer;font-weight:900;color:var(--ink)}.faq-block p{font-size:16px;color:var(--muted);margin:10px 0 0}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.gallery-tile{margin:0;background:rgba(255,253,248,.76);border:1px solid rgba(139,92,246,.14);border-radius:32px;padding:10px;box-shadow:var(--shadow-soft)}.gallery-tile img{border-radius:24px;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--lilac-soft)}.gallery-tile.tall img{aspect-ratio:3/4}.gallery-tile.wide{grid-column:span 2}.gallery-tile figcaption{padding:12px 8px 4px;color:var(--muted);font-size:14px;font-weight:700}
.contact-page{display:grid;grid-template-columns:.82fr 1.18fr;gap:48px}.contact-cards{display:grid;gap:13px;align-self:start}.contact-cards a,.contact-cards div{background:rgba(255,253,248,.76);border:1px solid rgba(139,92,246,.14);border-radius:28px;padding:24px;box-shadow:var(--shadow-soft)}.contact-cards span{display:block;color:var(--muted);font-size:13px;margin-bottom:4px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.contact-cards strong{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:23px;letter-spacing:-.025em}.contact-cards small{display:block;color:var(--muted);margin-top:5px}.soft-form{background:rgba(255,253,248,.82);border:1px solid rgba(139,92,246,.15);border-radius:36px;padding:32px;box-shadow:var(--shadow)}.soft-form h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:34px;letter-spacing:-.035em;line-height:1.05;margin:0 0 8px}.soft-form p{color:var(--muted);margin:0 0 20px}.soft-form label{display:block;font-weight:900;margin:14px 0}.soft-form input,.soft-form textarea,.soft-form select{width:100%;margin-top:7px;border:1px solid rgba(60,42,92,.16);background:#fff;border-radius:18px;padding:14px 15px;color:var(--ink);outline:none}.soft-form input:focus,.soft-form textarea:focus,.soft-form select:focus{border-color:var(--lilac);box-shadow:0 0 0 5px rgba(146,118,201,.13)}.map-placeholder{padding-top:12px}.map-placeholder div{border:1px dashed rgba(146,118,201,.26);border-radius:32px;padding:38px;background:rgba(255,255,255,.42)}.map-placeholder p{margin:4px 0 0;color:var(--muted)}
.legal-copy{max-width:860px}.legal-copy h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:29px;letter-spacing:-.025em;margin:30px 0 8px}.legal-copy p{color:#33283f;font-size:18px}
.site-footer{margin:46px 16px 16px;background:linear-gradient(135deg,#292238,#3d3158 56%,#2f5744);color:#fff;padding:54px 24px 26px;border-radius:42px;overflow:hidden;position:relative}.site-footer:before{content:"";position:absolute;right:-110px;top:-150px;width:330px;height:330px;border-radius:90px;background:rgba(255,230,111,.16);transform:rotate(22deg)}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:32px;position:relative;z-index:1}.footer-grid p,.footer-grid span,.footer-grid a{display:block;color:rgba(255,255,255,.72);font-size:14px}.footer-grid a{margin:8px 0}.footer-grid a:hover{color:#fff}.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.11em;margin:0 0 14px;color:#fff}.footer-brand{margin-bottom:14px}.footer-brand .brand-mark{background:linear-gradient(135deg,var(--sun),var(--green));color:var(--ink)}.agency-line{max-width:var(--max);margin:34px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.56);font-size:13px;position:relative;z-index:1}.mobile-actions{display:none}.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media (max-width:1040px){.home-intro{grid-template-columns:1fr .9fr}.intro-notes{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.intro-notes div:nth-child(n){transform:none}.split-section,.about-layout,.contact-page,.service-detail{grid-template-columns:1fr}.sticky-title,.service-side{position:static}.process-band{grid-template-columns:1fr}.service-row:nth-child(even),.service-row:nth-child(even):hover{transform:none}.footer-grid{grid-template-columns:1fr 1fr}.service-head{grid-template-columns:1fr}}
@media (max-width:820px){.site-header{padding:8px 10px 0}.soft-line{display:none}.nav-wrap{border-radius:22px}.brand{min-width:auto}.main-nav{position:absolute;left:12px;right:12px;top:78px;display:none;flex-direction:column;align-items:stretch;background:rgba(255,253,248,.98);border:1px solid rgba(139,92,246,.18);border-radius:24px;padding:12px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav>a,.nav-dropdown>a{display:block}.nav-dropdown{padding-bottom:0;margin-bottom:0}.nav-dropdown>a:after{display:none}.nav-dropdown:hover .dropdown-panel{display:block}.dropdown-panel{display:block;position:static;width:auto;opacity:1;visibility:visible;pointer-events:auto;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 0 10px}.dropdown-panel:before{display:none}.menu-toggle{display:flex}.section-pad{padding:62px 18px}.home-intro{grid-template-columns:1fr;min-height:auto;padding-top:54px}.home-intro:before{left:12px;right:12px;border-radius:34px}.intro-copy h1,.page-head h1{font-size:clamp(34px,10vw,48px)}.lead{font-size:18px}.intro-notes{grid-template-columns:1fr}.split-section{gap:28px}.service-row{grid-template-columns:44px 1fr;padding:20px}.process-list{grid-template-columns:1fr}.contact-strip{display:block}.contact-strip-actions{justify-content:flex-start;margin-top:22px}.values-grid,.gallery-grid{grid-template-columns:1fr}.gallery-tile.wide{grid-column:auto}.footer-grid{grid-template-columns:1fr}.mobile-actions{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:10px}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:18px;color:#fff;font-weight:900;box-shadow:0 16px 32px rgba(34,27,46,.22)}.mobile-actions a:first-child{background:var(--ink)}.mobile-actions a:last-child{background:linear-gradient(135deg,#3f7f5d,#8bcf9b)}body{padding-bottom:76px}}
@media (max-width:520px){.nav-wrap{padding:10px}.brand-mark{width:42px;height:42px}.brand strong{font-size:16px}.brand small{font-size:11px}.button{width:100%}.quiet-actions{width:100%}.portrait-card{border-radius:34px 34px 18px 34px}.portrait-card img{border-radius:26px 26px 14px 26px}.narrow-note p:last-child{padding:26px 22px}.process-band,.contact-strip,.soft-form,.site-footer{border-radius:30px;padding-left:22px;padding-right:22px}.service-index-row a{grid-template-columns:1fr}.service-row{grid-template-columns:1fr}.service-row small{grid-column:1}.contact-cards strong{font-size:20px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.service-row,.service-index-row a{transition:none}}


/* Final soft color pass + stronger contact page */
.home-intro:after{opacity:.58;filter:saturate(.82)}
.portrait-card:before,.portrait-card:after{filter:saturate(.82);opacity:.86}
.service-row:before,.service-index-row a:after{opacity:.72;filter:saturate(.76)}
.process-band:before,.site-footer:before{opacity:.72}
.button.primary{letter-spacing:.005em}
.nav-contact{background:#2f293d!important}

.contact-hero-card{
    margin-top:28px;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:18px;
    align-items:stretch;
}
.contact-highlight{
    background:linear-gradient(135deg,rgba(255,253,249,.86),rgba(242,237,249,.82));
    border:1px solid rgba(146,118,201,.14);
    border-radius:36px;
    padding:28px;
    box-shadow:var(--shadow-soft);
    position:relative;
    overflow:hidden;
}
.contact-highlight:after{
    content:"";
    position:absolute;
    width:170px;height:170px;
    right:-58px;bottom:-78px;
    border-radius:54px;
    background:rgba(220,239,220,.72);
    transform:rotate(18deg);
}
.contact-highlight p{position:relative;z-index:1;margin:0;color:var(--muted);font-size:17px;line-height:1.62}
.contact-mini-list{
    display:grid;
    gap:10px;
}
.contact-mini-list div{
    background:rgba(255,253,249,.75);
    border:1px solid rgba(146,118,201,.13);
    border-radius:24px;
    padding:18px 20px;
    box-shadow:var(--shadow-soft);
}
.contact-mini-list strong{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.02em;font-size:19px}
.contact-mini-list small{display:block;color:var(--muted);font-weight:700;margin-top:3px}
.contact-page.strong-contact{grid-template-columns:.95fr 1.05fr;gap:34px;align-items:start;padding-top:38px}
.contact-aside{display:grid;gap:14px;position:sticky;top:146px}
.contact-card-large{
    background:rgba(255,253,249,.82);
    border:1px solid rgba(146,118,201,.14);
    border-radius:34px;
    padding:28px;
    box-shadow:var(--shadow-soft);
    position:relative;
    overflow:hidden;
}
.contact-card-large:before{
    content:"";
    position:absolute;
    right:-36px;top:-52px;
    width:142px;height:142px;
    border-radius:46px;
    background:rgba(217,207,242,.62);
    transform:rotate(16deg);
}
.contact-card-large.whatsapp:before{background:rgba(220,239,220,.75)}
.contact-card-large.location:before{background:rgba(244,220,145,.45)}
.contact-card-large span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:7px;position:relative;z-index:1}
.contact-card-large strong{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:clamp(24px,2.4vw,31px);line-height:1.02;letter-spacing:-.035em;position:relative;z-index:1}
.contact-card-large small{display:block;color:var(--muted);font-weight:700;margin-top:9px;position:relative;z-index:1}
.contact-card-large .button{margin-top:18px;position:relative;z-index:1}
.prep-box{
    background:linear-gradient(135deg,rgba(242,237,249,.78),rgba(248,255,247,.72));
    border:1px solid rgba(146,118,201,.13);
    border-radius:34px;
    padding:26px;
    box-shadow:var(--shadow-soft);
}
.prep-box h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;margin:0 0 12px;letter-spacing:-.035em;font-size:27px;line-height:1.08}
.prep-box ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--muted);font-weight:700}
.prep-box li{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start}
.prep-box li:before{content:"";width:10px;height:10px;margin-top:9px;border-radius:999px;background:var(--green)}
.soft-form.contact-form-strong{padding:0;overflow:hidden;background:rgba(255,253,249,.88)}
.form-head{
    padding:30px 32px 22px;
    background:linear-gradient(135deg,rgba(242,237,249,.82),rgba(220,239,220,.58));
    border-bottom:1px solid rgba(146,118,201,.12);
}
.form-head h2{font-size:36px;margin:0 0 9px}
.form-body{padding:28px 32px 32px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form-grid .full{grid-column:1/-1}
.form-note{
    margin:18px 0 0!important;
    padding:14px 16px;
    border-radius:20px;
    background:rgba(255,250,226,.56);
    color:#6d6148!important;
    font-size:14px;
    font-weight:700;
}
.contact-flow{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    padding-top:28px;
}
.contact-flow div{
    background:rgba(255,253,249,.76);
    border:1px solid rgba(146,118,201,.13);
    border-radius:30px;
    padding:24px;
    box-shadow:var(--shadow-soft);
}
.contact-flow div:nth-child(2){background:rgba(248,255,247,.76)}
.contact-flow div:nth-child(3){background:rgba(255,250,226,.58)}
.contact-flow span{font-family:'Bricolage Grotesque',system-ui,sans-serif;color:var(--lilac);font-weight:900}
.contact-flow strong{display:block;margin:8px 0 5px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:22px;letter-spacing:-.03em;line-height:1.07}
.contact-flow p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.map-placeholder.strong-map{padding-top:28px}
.map-placeholder.strong-map div{
    border-style:solid;
    border-color:rgba(146,118,201,.14);
    background:linear-gradient(135deg,rgba(255,253,249,.72),rgba(242,237,249,.48));
    display:flex;
    justify-content:space-between;
    gap:22px;
    align-items:center;
}
.map-placeholder.strong-map .button{flex:0 0 auto}
@media (max-width:900px){
    .contact-hero-card,.contact-page.strong-contact,.contact-flow{grid-template-columns:1fr}
    .contact-aside{position:static}
    .form-grid{grid-template-columns:1fr}
    .map-placeholder.strong-map div{display:block}
    .map-placeholder.strong-map .button{margin-top:16px;width:auto}
}
/* Logo final dengeli ayar */
.brand-logo {
    gap: 0 !important;
    min-width: 160px !important;
    height: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
}

.nav-wrap {
    min-height: 96px !important;
    height: 96px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    align-items: center !important;
    overflow: visible !important;
}

.nav-wrap .brand-logo {
    flex: 0 0 160px !important;
}

.site-logo {
    width: auto !important;
    height: 86px !important;
    max-height: 86px !important;
    object-fit: contain !important;
    display: block !important;
}

/* Footer logosu header'dan daha büyük */
.footer-brand.brand-logo {
    height: auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin-bottom: 18px !important;
    overflow: visible !important;
}

.footer-logo {
    width: 165px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
}

/* Tablet */
@media (max-width: 820px) {
    .brand-logo {
        min-width: 130px !important;
        height: 70px !important;
    }

    .nav-wrap {
        min-height: 82px !important;
        height: 82px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 130px !important;
    }

    .site-logo {
        height: 72px !important;
        max-height: 72px !important;
    }

    .footer-logo {
        width: 145px !important;
    }
}

/* Mobil */
@media (max-width: 520px) {
    .brand-logo {
        min-width: 112px !important;
        height: 64px !important;
    }

    .nav-wrap {
        min-height: 76px !important;
        height: 76px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 112px !important;
    }

    .site-logo {
        height: 64px !important;
        max-height: 64px !important;
    }

    .footer-logo {
        width: 132px !important;
    }
}
/* Google Maps alanı */
.map-section {
    padding-top: 34px;
}

.map-card {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 22px;
    align-items: stretch;
    background: rgba(255,253,249,.82);
    border: 1px solid rgba(146,118,201,.14);
    border-radius: 38px;
    padding: 14px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.map-info {
    padding: 34px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(242,237,249,.82), rgba(220,239,220,.58));
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.map-info h2 {
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.02;
    letter-spacing: -.04em;
    margin: 0 0 12px;
}

.map-info p {
    color: var(--muted);
    margin: 0 0 22px;
}

.map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.map-frame {
    min-height: 420px;
    border-radius: 30px;
    overflow: hidden;
    background: var(--lilac-soft);
}

.map-frame iframe {
    width: 100%;
    height: 100%;
    min-height: 420px;
    display: block;
}

@media (max-width: 900px) {
    .map-card {
        grid-template-columns: 1fr;
    }

    .map-info {
        padding: 26px;
    }

    .map-frame,
    .map-frame iframe {
        min-height: 340px;
    }
}

/* =========================================================
   Yayın Öncesi Final CSS Düzeltmeleri
   - Samsung / Android zorunlu koyu tema koruması
   - Mobil header ve sabit iletişim dengesi
   - Kart/kutu arka planlarını açık temada sabitleme
   ========================================================= */

/* Açık tema zorlaması */
:root {
    color-scheme: only light !important;

    --bg:#fbf8f2;
    --paper:#fffdf9;
    --paper-2:#f3eefb;
    --ink:#292238;
    --muted:#71677c;
    --line:rgba(67,52,88,.12);
    --lilac:#9276c9;
    --lilac-2:#d9cff2;
    --lilac-soft:#f2edf9;
    --green:#8bcf9b;
    --green-2:#dcefdc;
    --green-dark:#3f7f5d;
    --sun:#f4dc91;
}

html {
    color-scheme: only light !important;
    background-color: #fbf8f2 !important;
}

body {
    color-scheme: only light !important;
    color: var(--ink) !important;
}

/* Samsung Internet koyu tema bazı şeffaf alanları koyulaştırdığı için zeminleri sabitliyoruz */
.site-header,
.nav-wrap,
.dropdown-panel,
.portrait-card,
.intro-notes div,
.narrow-note p:last-child,
.service-row,
.service-index-row a,
.process-list li,
.contact-strip,
.service-note,
.service-side,
.values-grid div,
.gallery-tile,
.contact-cards a,
.contact-cards div,
.soft-form,
.contact-highlight,
.contact-mini-list div,
.contact-card-large,
.prep-box,
.contact-flow div,
.map-card,
.map-info,
.map-placeholder div,
.faq-block details,
.quote-box {
    color-scheme: only light !important;
}

/* Form elemanlarının Samsung koyu modda terslenmesini azaltır */
input,
textarea,
select,
button {
    color-scheme: only light !important;
}

.soft-form input,
.soft-form textarea,
.soft-form select {
    background-color: #ffffff !important;
    color: var(--ink) !important;
    -webkit-text-fill-color: var(--ink) !important;
}

/* Görseller/logolar ters renge çevrilmesin */
img,
svg,
picture,
video,
.site-logo,
.footer-logo {
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* Mobilde fixed iletişim butonlarının içerik üstüne binmesini azalt */
@media (max-width:820px) {
    body {
        padding-bottom: 86px;
    }

    .mobile-actions {
        padding-bottom: env(safe-area-inset-bottom);
    }

    .main-nav {
        max-height: calc(100vh - 96px);
        overflow-y: auto;
    }
}

/* Çok küçük ekranlarda logo/header dengesi */
@media (max-width:380px) {
    .nav-wrap {
        gap: 10px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 104px !important;
    }

    .site-logo {
        height: 58px !important;
        max-height: 58px !important;
    }

    .menu-toggle {
        width: 42px;
        height: 42px;
        border-radius: 16px;
    }
}

/* Zorla koyu tema algılandığında açık tasarımı koru */
@media (prefers-color-scheme: dark) {
    :root,
    html,
    body {
        color-scheme: only light !important;
    }

    html {
        background-color: #fbf8f2 !important;
    }

    body {
        background:
            radial-gradient(circle at 8% 8%,rgba(217,207,242,.48),transparent 28%),
            radial-gradient(circle at 86% 18%,rgba(220,239,220,.55),transparent 28%),
            radial-gradient(circle at 74% 84%,rgba(244,220,145,.26),transparent 30%),
            linear-gradient(180deg,#fffaf4 0%,#fbf8ff 54%,#f8fff7 100%) !important;
        color: var(--ink) !important;
    }

    .site-header {
        background: linear-gradient(180deg,rgba(251,247,239,.92),rgba(251,247,239,.62)) !important;
    }

    .nav-wrap,
    .dropdown-panel,
    .portrait-card,
    .intro-notes div,
    .service-row,
    .service-index-row a,
    .service-note,
    .service-side,
    .values-grid div,
    .gallery-tile,
    .contact-cards a,
    .contact-cards div,
    .soft-form,
    .map-card {
        background-color: rgba(255,253,248,.86) !important;
        color: var(--ink) !important;
    }

    .quote-box,
    .narrow-note p:last-child,
    .map-info,
    .contact-highlight,
    .prep-box {
        color: var(--ink) !important;
    }

    h1,
    h2,
    h3,
    h4,
    strong,
    summary {
        color: var(--ink) !important;
    }

    p,
    small,
    figcaption,
    li,
    .footer-grid span {
        color: var(--muted);
    }

    .site-footer,
    .process-band,
    .service-cta {
        color: #ffffff !important;
    }

    .site-footer p,
    .site-footer span,
    .site-footer a,
    .process-band p,
    .service-cta p {
        color: rgba(255,255,255,.76) !important;
    }

    .button.primary,
    .mobile-actions a:first-child {
        color: #ffffff !important;
    }

    .button.ghost {
        background: rgba(255,255,255,.82) !important;
        color: var(--ink) !important;
    }

    img,
    svg,
    picture,
    video,
    .site-logo,
    .footer-logo {
        filter: none !important;
        mix-blend-mode: normal !important;
    }
}

/* =========================================================
   Laccot Final Görsel Düzeltme + Modern Animasyon Sistemi
   - Galeri kart metinleri okunabilirlik
   - Process band / koyu zemin metin renkleri
   - Başlık giriş animasyonları
   - Kart / buton hover hissi
   ========================================================= */

:root {
    --motion-ease: cubic-bezier(.22,.84,.22,1);
    --deep-ink: #241d31;
    --soft-ink: #473a58;
    --on-dark: #ffffff;
    --on-dark-muted: rgba(255,255,255,.78);
}

/* Koyu/gradient zeminlerde yanlışlıkla koyulaşan metinleri düzelt */
.process-band,
.service-cta,
.site-footer {
    color: #ffffff !important;
}

.process-band h1,
.process-band h2,
.process-band h3,
.process-band strong,
.process-band .section-label,
.process-list strong,
.process-list span,
.service-cta h1,
.service-cta h2,
.service-cta h3,
.service-cta strong,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer strong {
    color: #ffffff !important;
}

.process-band p,
.process-list p,
.service-cta p,
.site-footer p,
.site-footer span,
.site-footer a {
    color: rgba(255,255,255,.76) !important;
}

.process-list li {
    color: #ffffff !important;
    background: rgba(255,255,255,.13) !important;
    border-color: rgba(255,255,255,.24) !important;
    box-shadow: none !important;
}

.process-list span {
    color: #ffe889 !important;
}

.process-list strong {
    color: #ffffff !important;
}

.process-band .section-label {
    color: rgba(255,255,255,.82) !important;
}

/* Galeri kartlarının kırık görselde bile daha temiz görünmesi */
.gallery-card,
.premium-gallery-card {
    background:
        linear-gradient(135deg, rgba(236,226,211,.96), rgba(215,201,181,.92)) !important;
    color: #ffffff !important;
}

.gallery-card img,
.premium-gallery-card img {
    background:
        linear-gradient(135deg, #eee1cf 0%, #d5c7b2 100%) !important;
}

.gallery-card::after,
.premium-gallery-card::after {
    background:
        linear-gradient(180deg, rgba(20,15,11,0) 28%, rgba(20,15,11,.76) 100%) !important;
}

.gallery-card-caption,
.gallery-card-caption *,
.premium-gallery-caption,
.premium-gallery-caption *,
.gallery-lightbox-caption {
    color: #ffffff !important;
}

.gallery-card-caption span,
.premium-gallery-caption small {
    color: rgba(255,255,255,.9) !important;
    background: rgba(255,255,255,.17) !important;
    border-color: rgba(255,255,255,.26) !important;
}

.gallery-card-caption strong,
.premium-gallery-caption strong {
    color: #ffffff !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.22);
}

/* Galeri görsel yüklenmezse alt yazı gibi duran kırık image text'i görünümü bozmasın */
.gallery-card img:not([src]),
.premium-gallery-card img:not([src]) {
    opacity: 0;
}

/* Genel başlık renk dengesi */
.page-head h1,
.intro-copy h1,
.sticky-title h2,
.long-copy h2,
.service-index-row h2,
.values-grid h2,
.soft-form h2,
.map-info h2,
.prep-box h2,
.faq-block h2,
.legal-copy h2 {
    color: var(--deep-ink) !important;
}

.lead,
.sticky-title p,
.long-copy p,
.values-grid p,
.service-index-row p,
.service-row small,
.contact-flow p,
.map-info p,
.prep-box li,
.faq-block p,
.legal-copy p {
    color: #675b73 !important;
}

/* Header scroll görünümü */
.site-header.is-scrolled,
[data-header].is-scrolled {
    background: linear-gradient(180deg, rgba(251,248,242,.96), rgba(251,248,242,.80)) !important;
    backdrop-filter: blur(18px);
}

.nav-wrap {
    transition: box-shadow .28s ease, transform .28s ease, border-color .28s ease, background-color .28s ease;
}

.site-header.is-scrolled .nav-wrap,
[data-header].is-scrolled .nav-wrap {
    background: rgba(255,253,248,.92) !important;
    border-color: rgba(67,52,88,.14) !important;
    box-shadow: 0 18px 54px rgba(64,42,104,.12) !important;
}

/* Açılış başlık animasyonları: JS motion class ekler, CSS hissi verir */
.motion-hero {
    opacity: 0;
    transform: translateY(18px);
    clip-path: inset(0 0 22% 0);
    filter: blur(4px);
    transition:
        opacity .62s var(--motion-ease),
        transform .62s var(--motion-ease),
        clip-path .62s var(--motion-ease),
        filter .62s var(--motion-ease) !important;
    transition-delay: var(--motion-delay, 0ms) !important;
    will-change: opacity, transform, clip-path, filter;
}

body.motion-hero-visible .motion-hero,
.motion-hero.motion-visible {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
    filter: blur(0);
}

/* Scroll ile gelen elemanlar */
.reveal,
.motion-reveal {
    opacity: 0;
    transform: translateY(26px) scale(.992);
    filter: blur(4px);
    transition:
        opacity .66s var(--motion-ease),
        transform .66s var(--motion-ease),
        filter .66s var(--motion-ease),
        box-shadow .24s ease,
        border-color .24s ease,
        background-color .24s ease !important;
    transition-delay: var(--motion-delay, 0ms);
    will-change: opacity, transform, filter;
}

.reveal.visible,
.motion-reveal.visible,
.motion-reveal.motion-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

.delay-1 { transition-delay: .10s; --motion-delay: 100ms; }
.delay-2 { transition-delay: .18s; --motion-delay: 180ms; }
.delay-3 { transition-delay: .26s; --motion-delay: 260ms; }

/* H2 başlık giriş efekti */
.motion-title {
    position: relative;
    opacity: 0;
    transform: translateY(18px);
    clip-path: inset(0 0 28% 0);
    filter: blur(3px);
    transition:
        opacity .58s var(--motion-ease),
        transform .58s var(--motion-ease),
        clip-path .58s var(--motion-ease),
        filter .58s var(--motion-ease) !important;
    transition-delay: var(--motion-delay, 0ms) !important;
}

.motion-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -.28em;
    width: min(78px, 36%);
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    opacity: .22;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .58s var(--motion-ease) .12s;
}

.motion-title.motion-visible {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
    filter: blur(0);
}

.motion-title.motion-visible::after {
    transform: scaleX(1);
}

/* Hover sistemi: belirgin ama abartısız */
.button,
.nav-contact,
.service-row,
.service-card,
.info-card,
.service-index-row a,
.contact-card-large,
.contact-flow div,
.values-grid div,
.gallery-card,
.premium-gallery-card,
.faq-block details,
.map-card,
.map-actions a {
    transition:
        transform .24s ease,
        box-shadow .24s ease,
        border-color .24s ease,
        background-color .24s ease,
        filter .24s ease !important;
    will-change: transform;
}

.button:hover,
.nav-contact:hover,
.service-row:hover,
.service-card:hover,
.info-card:hover,
.service-index-row a:hover,
.contact-card-large:hover,
.contact-flow div:hover,
.values-grid div:hover,
.gallery-card:hover,
.premium-gallery-card:hover,
.faq-block details:hover,
.map-actions a:hover {
    transform: translateY(-4px);
}

.button:hover,
.nav-contact:hover {
    box-shadow: 0 16px 38px rgba(80,55,105,.16) !important;
}

.service-row:hover,
.service-card:hover,
.info-card:hover,
.service-index-row a:hover,
.contact-card-large:hover,
.contact-flow div:hover,
.values-grid div:hover,
.faq-block details:hover {
    border-color: rgba(146,118,201,.24) !important;
    box-shadow: 0 24px 62px rgba(74,55,105,.13) !important;
}

.gallery-card:hover,
.premium-gallery-card:hover {
    box-shadow: 0 26px 76px rgba(54,39,26,.18) !important;
}

.gallery-card:hover img,
.premium-gallery-card:hover img {
    transform: scale(1.055) !important;
    filter: saturate(1.04) contrast(1.02);
}

/* Process band daha okunaklı kart yapısı */
.process-band {
    background:
        radial-gradient(circle at 88% 4%, rgba(255,232,137,.18), transparent 32%),
        linear-gradient(135deg, #322745 0%, #6f5a9b 52%, #4d8064 100%) !important;
}

.process-band h2 {
    color: #ffffff !important;
    text-shadow: 0 2px 22px rgba(0,0,0,.14);
}

.process-band .section-label {
    letter-spacing: .13em;
}

.process-list li:hover {
    background: rgba(255,255,255,.17) !important;
    border-color: rgba(255,255,255,.34) !important;
    transform: translateY(-4px);
}

/* İletişim / hizmet koyu buton okunabilirliği */
.button.primary,
.mobile-actions a:first-child,
.mobile-actions a:last-child {
    color: #ffffff !important;
}

.service-cta .button.primary {
    color: var(--deep-ink) !important;
}

/* Galeri v2 için başlık ve grid dengesini CSS tarafında da sabitle */
.gallery-v2-hero h1 {
    color: var(--deep-ink) !important;
}

.gallery-v2-side strong,
.gallery-v2-note strong {
    color: var(--deep-ink) !important;
}

.gallery-v2-side p,
.gallery-v2-note p {
    color: #675b73 !important;
}

/* Mobilde animasyonları biraz hafiflet */
@media (max-width: 820px) {
    .motion-hero,
    .reveal,
    .motion-reveal,
    .motion-title {
        filter: blur(2px);
        transform: translateY(16px);
    }

    .button:hover,
    .nav-contact:hover,
    .service-row:hover,
    .service-card:hover,
    .info-card:hover,
    .service-index-row a:hover,
    .contact-card-large:hover,
    .contact-flow div:hover,
    .values-grid div:hover,
    .gallery-card:hover,
    .premium-gallery-card:hover,
    .faq-block details:hover,
    .map-actions a:hover {
        transform: translateY(-2px);
    }

    .process-list li:hover {
        transform: translateY(-2px);
    }
}

/* Dark mode override içinde bozulan koyu zemin metinlerini son kez sabitle */
@media (prefers-color-scheme: dark) {
    .process-band,
    .service-cta,
    .site-footer,
    .process-band *,
    .service-cta *,
    .site-footer *,
    .gallery-card-caption,
    .gallery-card-caption *,
    .premium-gallery-caption,
    .premium-gallery-caption * {
        color: #ffffff !important;
    }

    .process-band p,
    .process-list p,
    .service-cta p,
    .site-footer p,
    .site-footer span,
    .site-footer a {
        color: rgba(255,255,255,.76) !important;
    }

    .service-cta .button.primary {
        color: var(--deep-ink) !important;
        background: #ffffff !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .motion-hero,
    .motion-title,
    .reveal,
    .motion-reveal {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        filter: none !important;
        transition: none !important;
    }

    .motion-title::after {
        transform: scaleX(1) !important;
    }
}

/* =========================================================
   Laccot Motion Balance Patch
   - İçerikler scroll beklemeden daha erken görünür
   - Animasyonlar hızlı, modern ve fark edilir hale gelir
   - JS yüklenmezse içerik gizli kalmaz
   ========================================================= */

/* Eski reveal sistemi yüzünden içerikler gereksiz gizli kalmasın */
.reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

/* Sadece JS hazırladığı elemanları kısa süreli animasyona sok */
body.motion-effects-ready .motion-hero:not(.motion-visible),
body.motion-effects-ready .motion-title:not(.motion-visible),
body.motion-effects-ready .motion-reveal:not(.motion-visible) {
    opacity: 0 !important;
    transform: translateY(14px) !important;
    filter: blur(2px) !important;
}

/* Hero alanı hızlı ve direkt gelsin */
.motion-hero {
    clip-path: none !important;
    transition:
        opacity .38s cubic-bezier(.22,.84,.22,1),
        transform .38s cubic-bezier(.22,.84,.22,1),
        filter .38s cubic-bezier(.22,.84,.22,1) !important;
    transition-delay: var(--motion-delay, 0ms) !important;
}

body.motion-hero-visible .motion-hero,
.motion-hero.motion-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    filter: blur(0) !important;
}

/* Bölüm başlıkları: daha net ama yormayan giriş */
.motion-title {
    clip-path: none !important;
    transition:
        opacity .42s cubic-bezier(.22,.84,.22,1),
        transform .42s cubic-bezier(.22,.84,.22,1),
        filter .42s cubic-bezier(.22,.84,.22,1) !important;
    transition-delay: var(--motion-delay, 0ms) !important;
}

.motion-title.motion-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    filter: blur(0) !important;
}

.motion-title::after {
    height: 2px;
    opacity: .18;
    transition: transform .38s cubic-bezier(.22,.84,.22,1) .08s !important;
}

/* Scroll reveal: yavaş ve geç gelmesin */
.motion-reveal {
    transition:
        opacity .42s cubic-bezier(.22,.84,.22,1),
        transform .42s cubic-bezier(.22,.84,.22,1),
        filter .42s cubic-bezier(.22,.84,.22,1),
        box-shadow .22s ease,
        border-color .22s ease,
        background-color .22s ease !important;
    transition-delay: var(--motion-delay, 0ms) !important;
}

.motion-reveal.motion-visible,
.motion-reveal.visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    filter: blur(0) !important;
}

/* Delayler daha kısa */
.delay-1 { transition-delay: .05s !important; --motion-delay: 50ms !important; }
.delay-2 { transition-delay: .09s !important; --motion-delay: 90ms !important; }
.delay-3 { transition-delay: .13s !important; --motion-delay: 130ms !important; }

/* Hover efektleri daha temiz ve fark edilir */
.button:hover,
.nav-contact:hover,
.service-row:hover,
.service-card:hover,
.info-card:hover,
.service-index-row a:hover,
.contact-card-large:hover,
.contact-flow div:hover,
.values-grid div:hover,
.gallery-card:hover,
.premium-gallery-card:hover,
.faq-block details:hover,
.map-actions a:hover {
    transform: translateY(-3px) !important;
}

.gallery-card:hover,
.premium-gallery-card:hover {
    box-shadow: 0 22px 64px rgba(54,39,26,.16) !important;
}

.service-row:hover,
.service-card:hover,
.info-card:hover,
.service-index-row a:hover,
.contact-card-large:hover,
.contact-flow div:hover,
.values-grid div:hover,
.faq-block details:hover {
    box-shadow: 0 20px 54px rgba(74,55,105,.12) !important;
}

/* İlk ekran fazla boşluk hissi vermesin */
.page-head {
    padding-top: 64px !important;
    padding-bottom: 28px !important;
}

.page-head h1 {
    color: var(--deep-ink, #241d31) !important;
}

/* Mobilde içerik gizlenmesin, sadece mini hareket olsun */
@media (max-width: 820px) {
    body.motion-effects-ready .motion-hero:not(.motion-visible),
    body.motion-effects-ready .motion-title:not(.motion-visible),
    body.motion-effects-ready .motion-reveal:not(.motion-visible) {
        transform: translateY(8px) !important;
        filter: blur(1px) !important;
    }

    .motion-hero,
    .motion-title,
    .motion-reveal {
        transition-duration: .30s !important;
    }

    .page-head {
        padding-top: 46px !important;
    }
}

/* Hareket azaltma tercihinde her şey açık kalsın */
@media (prefers-reduced-motion: reduce) {
    .motion-hero,
    .motion-title,
    .motion-reveal,
    .reveal {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        clip-path: none !important;
        transition: none !important;
    }
}

/* =========================================================
   Laccot Visual Motion Patch v2
   - Gradient/koyu bloklarda beyaz metin kesin düzeltme
   - Ana sayfa sol metin açılış animasyonu
   - Ana sayfa sağ kartlar ve portre kartı giriş animasyonu
   - Modern ama abartısız hover etkileri
   ========================================================= */

/* Koyu gradient alanlarda metin rengi kesin sabitlendi */
.process-band,
.service-cta,
.site-footer {
    color: #fff !important;
}

.process-band .section-label,
.process-band h1,
.process-band h2,
.process-band h3,
.process-band strong,
.process-band p,
.process-band li,
.process-band span,
.process-band small,
.process-list,
.process-list li,
.process-list li *,
.service-cta h1,
.service-cta h2,
.service-cta h3,
.service-cta strong,
.service-cta p,
.service-cta span,
.service-cta small,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer strong {
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
}

.process-band p,
.process-list p,
.service-cta p,
.site-footer p,
.site-footer span,
.site-footer a {
    color: rgba(255,255,255,.78) !important;
    -webkit-text-fill-color: rgba(255,255,255,.78) !important;
}

.process-list span {
    color: #ffe98a !important;
    -webkit-text-fill-color: #ffe98a !important;
}

/* Beyaz buton koyu zemin üstünde koyu metin kalmalı */
.service-cta .button.primary,
.process-band .button.ghost,
.site-footer .button.ghost {
    color: #241d31 !important;
    -webkit-text-fill-color: #241d31 !important;
}

/* Görüşme akışı alanı daha okunabilir */
.process-band {
    background:
        radial-gradient(circle at 88% 0%, rgba(255,232,137,.18), transparent 34%),
        linear-gradient(135deg, #332746 0%, #70599d 54%, #4e8064 100%) !important;
}

.process-list li {
    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    box-shadow: none !important;
}

/* Ana sayfa giriş animasyonu: sol metinler */
@keyframes laccotHeroTextIn {
    from {
        opacity: 0;
        transform: translateY(24px);
        filter: blur(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@keyframes laccotHeroCardIn {
    from {
        opacity: 0;
        transform: translateY(24px) scale(.975);
        filter: blur(7px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes laccotHeroPhotoIn {
    from {
        opacity: 0;
        transform: translateY(20px) rotate(-2.8deg) scale(.975);
        filter: blur(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0) rotate(-1.5deg) scale(1);
        filter: blur(0);
    }
}

.home-intro .intro-copy .eyebrow,
.home-intro .intro-copy h1,
.home-intro .intro-copy .lead,
.home-intro .quiet-actions,
.home-intro .portrait-card,
.home-intro .intro-notes div {
    opacity: 0;
    animation-fill-mode: both;
    animation-timing-function: cubic-bezier(.22,.84,.22,1);
}

.home-intro .intro-copy .eyebrow {
    animation-name: laccotHeroTextIn;
    animation-duration: .52s;
    animation-delay: .04s;
}

.home-intro .intro-copy h1 {
    animation-name: laccotHeroTextIn;
    animation-duration: .62s;
    animation-delay: .12s;
}

.home-intro .intro-copy .lead {
    animation-name: laccotHeroTextIn;
    animation-duration: .58s;
    animation-delay: .22s;
}

.home-intro .quiet-actions {
    animation-name: laccotHeroTextIn;
    animation-duration: .56s;
    animation-delay: .32s;
}

.home-intro .portrait-card {
    animation-name: laccotHeroPhotoIn;
    animation-duration: .72s;
    animation-delay: .20s;
}

.home-intro .intro-notes div {
    animation-name: laccotHeroCardIn;
    animation-duration: .58s;
}

.home-intro .intro-notes div:nth-child(1) { animation-delay: .30s; }
.home-intro .intro-notes div:nth-child(2) { animation-delay: .40s; }
.home-intro .intro-notes div:nth-child(3) { animation-delay: .50s; }

/* Ana sayfa sağ kart hover hissi */
.intro-notes div,
.portrait-card,
.service-row,
.service-index-row a,
.values-grid div,
.contact-card-large,
.contact-flow div,
.gallery-card,
.premium-gallery-card,
.process-list li {
    transition:
        transform .26s cubic-bezier(.22,.84,.22,1),
        box-shadow .26s ease,
        border-color .26s ease,
        background-color .26s ease,
        filter .26s ease !important;
}

.intro-notes div:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(146,118,201,.24) !important;
    box-shadow: 0 24px 62px rgba(74,55,105,.14) !important;
}

.intro-notes div:nth-child(2):hover,
.intro-notes div:nth-child(3):hover {
    transform: translateY(-6px) !important;
}

.portrait-card:hover {
    transform: translateY(-5px) rotate(-1.5deg) !important;
    box-shadow: 0 30px 82px rgba(74,55,105,.16) !important;
}

.process-list li:hover {
    transform: translateY(-5px) !important;
    background: rgba(255,255,255,.18) !important;
    border-color: rgba(255,255,255,.36) !important;
}

/* Başlık girişleri daha hızlı, içerikler saklanmadan */
.motion-hero,
.motion-title,
.motion-reveal {
    transition-duration: .36s !important;
}

body.motion-effects-ready .motion-hero:not(.motion-visible),
body.motion-effects-ready .motion-title:not(.motion-visible),
body.motion-effects-ready .motion-reveal:not(.motion-visible) {
    opacity: 0 !important;
    transform: translateY(10px) !important;
    filter: blur(1.5px) !important;
}

/* Hero / page-head kesin görünürlük güvenliği */
.page-head .eyebrow,
.page-head h1,
.page-head .lead,
.page-head .service-note {
    visibility: visible !important;
}

/* Galeri kart yazıları tekrar koyulaşmasın */
.gallery-card-caption,
.gallery-card-caption *,
.premium-gallery-caption,
.premium-gallery-caption * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Mobilde açılış animasyonu daha kısa */
@media (max-width: 820px) {
    .home-intro .intro-copy .eyebrow,
    .home-intro .intro-copy h1,
    .home-intro .intro-copy .lead,
    .home-intro .quiet-actions,
    .home-intro .portrait-card,
    .home-intro .intro-notes div {
        animation-duration: .42s !important;
    }

    .home-intro .portrait-card {
        animation-name: laccotHeroCardIn;
    }

    .intro-notes div:hover,
    .portrait-card:hover,
    .process-list li:hover {
        transform: translateY(-2px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-intro .intro-copy .eyebrow,
    .home-intro .intro-copy h1,
    .home-intro .intro-copy .lead,
    .home-intro .quiet-actions,
    .home-intro .portrait-card,
    .home-intro .intro-notes div {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
        filter: none !important;
    }
}

/* =========================================================
   Laccot Compact Info Blocks Patch
   - Bilgilendirme kutuları küçültüldü
   - Metin boyutu ve boşluklar dengelendi
   ========================================================= */

.narrow-note {
    max-width: 880px !important;
    padding-top: 18px !important;
    padding-bottom: 34px !important;
}

.narrow-note .eyebrow,
.narrow-note .section-label {
    margin-bottom: 10px !important;
}

.narrow-note p:last-child {
    padding: 22px 28px !important;
    border-radius: 26px !important;
    font-size: clamp(18px, 1.72vw, 24px) !important;
    line-height: 1.34 !important;
    letter-spacing: -.025em !important;
    box-shadow: 0 12px 34px rgba(74,55,105,.075) !important;
}

/* Hizmet detaylarındaki bilgilendirme / uyarı kutuları da küçüldü */
.quote-box {
    margin: 26px 0 !important;
    padding: 22px 26px !important;
    border-radius: 24px !important;
    font-size: clamp(18px, 1.55vw, 22px) !important;
    line-height: 1.36 !important;
    letter-spacing: -.018em !important;
    box-shadow: 0 12px 34px rgba(74,55,105,.075) !important;
}

/* Uzun yasal / bilgilendirme metinlerinde gereksiz büyüklük olmasın */
.legal-copy p {
    font-size: 16px !important;
    line-height: 1.72 !important;
}

.legal-copy h2 {
    font-size: clamp(23px, 2vw, 28px) !important;
}

/* Mobilde daha da kompakt */
@media (max-width: 820px) {
    .narrow-note {
        padding-top: 10px !important;
        padding-bottom: 26px !important;
    }

    .narrow-note p:last-child {
        padding: 20px 20px !important;
        border-radius: 22px !important;
        font-size: clamp(17px, 5.4vw, 21px) !important;
        line-height: 1.38 !important;
    }

    .quote-box {
        padding: 20px 20px !important;
        border-radius: 22px !important;
        font-size: clamp(17px, 5vw, 20px) !important;
        line-height: 1.38 !important;
    }
}

@media (max-width: 520px) {
    .narrow-note p:last-child {
        padding: 18px 18px !important;
        font-size: 18px !important;
    }

    .quote-box {
        padding: 18px !important;
        font-size: 18px !important;
    }
}

/* =========================================================
   Laccot Hover Stability Patch
   - Hover sallanma efekti yumuşatıldı
   - Görsel kalite düşüren scale/filter/rotate azaltıldı
   - Ana sayfa portre ve sağ kartlar daha stabil hale getirildi
   ========================================================= */

/* Görseller hover sırasında bulanıklaşmasın */
.portrait-card img,
.gallery-card img,
.premium-gallery-card img,
.home-intro img {
    image-rendering: auto !important;
    backface-visibility: hidden !important;
    transform: translateZ(0) !important;
    filter: none !important;
}

/* Ana görsel kartı hover'da sallanmasın; sadece gölge değişsin */
.portrait-card,
.home-intro .portrait-card {
    transform: rotate(-1.5deg) !important;
    transition:
        box-shadow .28s ease,
        border-color .28s ease,
        background-color .28s ease !important;
    will-change: auto !important;
}

.portrait-card:hover,
.home-intro .portrait-card:hover {
    transform: rotate(-1.5deg) !important;
    box-shadow: 0 24px 62px rgba(74,55,105,.13) !important;
}

.portrait-card:hover img,
.home-intro .portrait-card:hover img {
    transform: translateZ(0) !important;
    filter: none !important;
}

/* Sağdaki 01/02/03 kartlarda sert zıplama yerine çok hafif hareket */
.intro-notes div {
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background-color .22s ease !important;
    will-change: auto !important;
}

.intro-notes div:hover,
.intro-notes div:nth-child(2):hover,
.intro-notes div:nth-child(3):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 42px rgba(74,55,105,.10) !important;
    border-color: rgba(146,118,201,.18) !important;
}

/* Genel hover hareketi biraz sakinleştirildi */
.button:hover,
.nav-contact:hover,
.service-row:hover,
.service-card:hover,
.info-card:hover,
.service-index-row a:hover,
.contact-card-large:hover,
.contact-flow div:hover,
.values-grid div:hover,
.faq-block details:hover,
.map-actions a:hover {
    transform: translateY(-2px) !important;
}

/* Galeri kartlarında görsel kaliteyi düşüren sert scale azaltıldı */
.gallery-card:hover,
.premium-gallery-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 20px 56px rgba(54,39,26,.14) !important;
}

.gallery-card:hover img,
.premium-gallery-card:hover img {
    transform: scale(1.018) translateZ(0) !important;
    filter: none !important;
}

/* Önceki motion-hover rotate/tilt etkilerini devre dışı bırak */
.motion-hover,
.motion-hover:hover {
    rotate: 0deg !important;
    transform:
        translateY(var(--hover-y, 0))
        translateZ(0) !important;
}

.motion-hover:hover {
    --hover-y: -2px;
}

/* Portre ve galeri gibi görsel ağırlıklı kartlarda motion-hover transform çakışmasın */
.portrait-card.motion-hover,
.portrait-card.motion-hover:hover,
.home-intro .portrait-card.motion-hover,
.home-intro .portrait-card.motion-hover:hover {
    transform: rotate(-1.5deg) translateZ(0) !important;
}

.gallery-card.motion-hover,
.premium-gallery-card.motion-hover {
    transform: translateY(0) translateZ(0) !important;
}

.gallery-card.motion-hover:hover,
.premium-gallery-card.motion-hover:hover {
    transform: translateY(-2px) translateZ(0) !important;
}

/* Process kartları da daha az zıplasın */
.process-list li:hover {
    transform: translateY(-2px) !important;
}

/* Mobilde hover tamamen sakin olsun */
@media (max-width: 820px) {
    .portrait-card:hover,
    .home-intro .portrait-card:hover,
    .intro-notes div:hover,
    .gallery-card:hover,
    .premium-gallery-card:hover,
    .button:hover,
    .service-row:hover,
    .service-index-row a:hover,
    .contact-card-large:hover {
        transform: none !important;
    }

    .portrait-card,
    .home-intro .portrait-card {
        transform: none !important;
    }

    .gallery-card:hover img,
    .premium-gallery-card:hover img {
        transform: translateZ(0) !important;
    }
}

/* =========================================================
   Laccot Image Sharpness Patch
   - Görsel kalite düşüren GPU transform kaldırıldı
   - Ana portre görselinde hover/scale/filter tamamen kapatıldı
   - Sadece kart gölgesi değişir, görsel yeniden render edilmez
   ========================================================= */

/* Portre ve ana görseller asla transform/filter almasın */
.portrait-card img,
.home-intro .portrait-card img,
.home-intro img,
img.site-logo,
img.footer-logo {
    transform: none !important;
    scale: 1 !important;
    rotate: 0deg !important;
    filter: none !important;
    image-rendering: auto !important;
    backface-visibility: visible !important;
    will-change: auto !important;
    transition: none !important;
}

/* Portre kartında görsele değil sadece karta çok hafif gölge ver */
.portrait-card,
.home-intro .portrait-card {
    will-change: auto !important;
    transition: box-shadow .24s ease, border-color .24s ease !important;
}

.portrait-card:hover,
.home-intro .portrait-card:hover {
    transform: rotate(-1.5deg) !important;
    box-shadow: 0 22px 58px rgba(74,55,105,.12) !important;
}

.portrait-card:hover img,
.home-intro .portrait-card:hover img {
    transform: none !important;
    scale: 1 !important;
    filter: none !important;
}

/* Motion-hover portre kartına çakışmasın */
.portrait-card.motion-hover,
.portrait-card.motion-hover:hover,
.home-intro .portrait-card.motion-hover,
.home-intro .portrait-card.motion-hover:hover {
    transform: rotate(-1.5deg) !important;
}

/* Galeri dışındaki tüm içerik görsellerinde hover zoom kapalı */
.about-layout img,
.service-detail img,
.contact-page img,
.map-card img {
    transform: none !important;
    filter: none !important;
    transition: none !important;
}

/* Galeri hover zoom çok minimal ve sadece galeri için geçerli kalsın */
.gallery-card img,
.premium-gallery-card img {
    image-rendering: auto !important;
    backface-visibility: visible !important;
    will-change: auto !important;
}

.gallery-card:hover img,
.premium-gallery-card:hover img {
    transform: scale(1.01) !important;
    filter: none !important;
}

/* Mobilde tüm görsel hareketleri tamamen kapalı */
@media (max-width: 820px) {
    .portrait-card,
    .home-intro .portrait-card,
    .portrait-card:hover,
    .home-intro .portrait-card:hover,
    .portrait-card.motion-hover,
    .portrait-card.motion-hover:hover,
    .home-intro .portrait-card.motion-hover,
    .home-intro .portrait-card.motion-hover:hover {
        transform: none !important;
    }

    .gallery-card:hover img,
    .premium-gallery-card:hover img,
    .portrait-card:hover img,
    .home-intro .portrait-card:hover img {
        transform: none !important;
        filter: none !important;
    }
}

/* =========================================================
   Laccot Image Crisp Patch
   - Ana portre görselindeki bulanıklık için tüm rotate/scale/blur etkileri kapatıldı
   - Parent kart transform almadığı için görsel tekrar örneklenmez
   ========================================================= */

/* Ana sayfa portre kartında rotate tamamen kaldırıldı */
.home-intro .portrait-card,
.portrait-card,
.portrait-card.small {
    transform: none !important;
    rotate: 0deg !important;
    scale: 1 !important;
    filter: none !important;
    animation: none !important;
    will-change: auto !important;
    transition: box-shadow .22s ease, border-color .22s ease !important;
}

/* Hover'da da kart hareket etmesin; sadece gölge çok hafif değişsin */
.home-intro .portrait-card:hover,
.portrait-card:hover,
.portrait-card.small:hover {
    transform: none !important;
    rotate: 0deg !important;
    scale: 1 !important;
    filter: none !important;
    box-shadow: 0 20px 54px rgba(74,55,105,.11) !important;
}

/* Görselin kendisi hiçbir transform/filter almayacak */
.home-intro .portrait-card img,
.portrait-card img,
.portrait-card.small img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    transform: none !important;
    rotate: 0deg !important;
    scale: 1 !important;
    filter: none !important;
    animation: none !important;
    image-rendering: auto !important;
    backface-visibility: visible !important;
    will-change: auto !important;
    transition: none !important;
}

/* Hover'da görsel kesinlikle zoomlanmasın */
.home-intro .portrait-card:hover img,
.portrait-card:hover img,
.portrait-card.small:hover img {
    transform: none !important;
    rotate: 0deg !important;
    scale: 1 !important;
    filter: none !important;
}

/* JS motion-hover class'ı portre kartına hiçbir transform uygulamasın */
.home-intro .portrait-card.motion-hover,
.home-intro .portrait-card.motion-hover:hover,
.portrait-card.motion-hover,
.portrait-card.motion-hover:hover,
.portrait-card.small.motion-hover,
.portrait-card.small.motion-hover:hover {
    transform: none !important;
    rotate: 0deg !important;
    scale: 1 !important;
    filter: none !important;
}

/* Portre kartının açılış animasyonu varsa da transform kullanmasın */
.home-intro .portrait-card {
    opacity: 1 !important;
}

/* Ana fotoğrafın etrafındaki görsel form bozulmasın */
.home-intro .portrait-card {
    padding: 12px !important;
    background: rgba(255,253,248,.92) !important;
}

/* Görsel için daha net crop alanı: tarayıcı 4/5 zorlaması yapmasın */
.home-intro .portrait-card img {
    display: block !important;
    max-width: 100% !important;
}

/* Tablet/mobilde de aynı netlik */
@media (max-width: 820px) {
    .home-intro .portrait-card,
    .portrait-card,
    .portrait-card.small,
    .home-intro .portrait-card:hover,
    .portrait-card:hover,
    .portrait-card.small:hover {
        transform: none !important;
        rotate: 0deg !important;
        scale: 1 !important;
        filter: none !important;
    }

    .home-intro .portrait-card img,
    .portrait-card img,
    .portrait-card.small img {
        transform: none !important;
        filter: none !important;
        animation: none !important;
    }
}

/* =========================================================
   Laccot Mobile Hero Photo Patch
   - Mobil açılışta portre fotoğrafı ilk ekranda görünür
   - Başlık mobilde daha kompakt olur
   - Fotoğraf netliğini bozan transform kullanılmaz
   ========================================================= */

@media (max-width: 820px) {
    .home-intro {
        position: relative !important;
        min-height: auto !important;
        padding-top: 34px !important;
        padding-bottom: 42px !important;
        gap: 22px !important;
        align-items: start !important;
    }

    .home-intro:before {
        bottom: auto !important;
        top: 26px !important;
        height: 58% !important;
        border-radius: 34px !important;
    }

    .intro-copy {
        max-width: 100% !important;
    }

    .intro-copy h1 {
        font-size: clamp(34px, 8.6vw, 44px) !important;
        line-height: .96 !important;
        letter-spacing: -.05em !important;
        margin-bottom: 14px !important;
        max-width: calc(100% - 178px) !important;
    }

    .intro-copy .lead {
        font-size: 16.5px !important;
        line-height: 1.55 !important;
        max-width: calc(100% - 168px) !important;
        margin-bottom: 18px !important;
    }

    .quiet-actions {
        gap: 10px !important;
    }

    .quiet-actions .button {
        min-height: 46px !important;
        padding: 11px 16px !important;
        border-radius: 16px !important;
        width: auto !important;
    }

    .home-intro .portrait-card {
        position: absolute !important;
        top: 76px !important;
        right: 18px !important;
        width: 142px !important;
        max-width: 142px !important;
        padding: 7px !important;
        border-radius: 26px 26px 16px 26px !important;
        margin: 0 !important;
        transform: none !important;
        rotate: 0deg !important;
        z-index: 2 !important;
        box-shadow: 0 16px 42px rgba(74,55,105,.14) !important;
        background: rgba(255,253,248,.94) !important;
    }

    .home-intro .portrait-card:before {
        width: 56px !important;
        height: 56px !important;
        right: -9px !important;
        top: -11px !important;
        border-radius: 20px !important;
        opacity: .78 !important;
    }

    .home-intro .portrait-card:after {
        width: 38px !important;
        height: 38px !important;
        left: -9px !important;
        bottom: 18px !important;
        border-radius: 15px !important;
        opacity: .68 !important;
    }

    .home-intro .portrait-card img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        object-fit: cover !important;
        border-radius: 20px 20px 12px 20px !important;
        transform: none !important;
        filter: none !important;
    }

    .home-intro .portrait-card figcaption {
        display: none !important;
    }

    .intro-notes {
        margin-top: 4px !important;
    }
}

@media (max-width: 620px) {
    .home-intro {
        padding-top: 28px !important;
    }

    .intro-copy h1 {
        font-size: clamp(31px, 8.9vw, 38px) !important;
        max-width: calc(100% - 132px) !important;
        margin-bottom: 12px !important;
    }

    .intro-copy .lead {
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-top: 18px !important;
        font-size: 16px !important;
    }

    .home-intro .portrait-card {
        top: 72px !important;
        right: 14px !important;
        width: 112px !important;
        max-width: 112px !important;
        padding: 6px !important;
        border-radius: 22px 22px 14px 22px !important;
    }

    .home-intro .portrait-card img {
        border-radius: 17px 17px 10px 17px !important;
    }

    .quiet-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }

    .quiet-actions .button {
        width: 100% !important;
        font-size: 14px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

@media (max-width: 420px) {
    .intro-copy h1 {
        font-size: clamp(29px, 8.8vw, 35px) !important;
        max-width: calc(100% - 118px) !important;
    }

    .home-intro .portrait-card {
        top: 70px !important;
        right: 12px !important;
        width: 102px !important;
        max-width: 102px !important;
    }

    .intro-copy .lead {
        font-size: 15.5px !important;
    }

    .quiet-actions {
        grid-template-columns: 1fr !important;
    }
}

/* Çok dar cihazlarda metin sıkışmasın, fotoğraf başlığın altına insin ama ilk ekranda kalsın */
@media (max-width: 350px) {
    .intro-copy h1 {
        max-width: 100% !important;
    }

    .home-intro .portrait-card {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        width: 138px !important;
        max-width: 138px !important;
        margin: 12px 0 0 !important;
    }

    .intro-copy .lead {
        margin-top: 12px !important;
    }
}

/* =========================================================
   Laccot Mobile Hero Photo v2
   - Fotoğraf küçüklüğü düzeltildi
   - Mobilde fotoğraf hero alanında daha büyük ve merkezde görünür
   - Fotoğraf kalitesini bozan transform/filter yok
   ========================================================= */

@media (max-width: 820px) {
    .home-intro {
        display: flex !important;
        flex-direction: column !important;
        min-height: auto !important;
        padding-top: 34px !important;
        padding-bottom: 44px !important;
        gap: 20px !important;
        align-items: stretch !important;
    }

    .home-intro:before {
        top: 30px !important;
        bottom: auto !important;
        height: 62% !important;
        border-radius: 34px !important;
    }

    .intro-copy {
        order: 1 !important;
        max-width: 100% !important;
    }

    .intro-copy h1 {
        max-width: 100% !important;
        font-size: clamp(34px, 8.8vw, 46px) !important;
        line-height: .96 !important;
        margin-bottom: 14px !important;
    }

    .intro-copy .lead {
        max-width: 100% !important;
        font-size: 16.5px !important;
        line-height: 1.55 !important;
        margin-bottom: 18px !important;
    }

    .quiet-actions {
        display: flex !important;
        gap: 10px !important;
        flex-wrap: wrap !important;
    }

    .quiet-actions .button {
        width: auto !important;
        min-height: 46px !important;
        padding: 11px 16px !important;
        border-radius: 16px !important;
    }

    .home-intro .portrait-card {
        order: 2 !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        width: min(74vw, 320px) !important;
        max-width: 320px !important;
        margin: 4px auto 0 !important;
        padding: 9px !important;
        border-radius: 34px 34px 18px 34px !important;
        transform: none !important;
        rotate: 0deg !important;
        z-index: 2 !important;
        box-shadow: 0 18px 48px rgba(74,55,105,.14) !important;
        background: rgba(255,253,248,.94) !important;
    }

    .home-intro .portrait-card img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        object-fit: cover !important;
        border-radius: 26px 26px 14px 26px !important;
        transform: none !important;
        filter: none !important;
    }

    .home-intro .portrait-card figcaption {
        display: none !important;
    }

    .home-intro .portrait-card:before {
        width: 86px !important;
        height: 86px !important;
        right: -14px !important;
        top: -16px !important;
        border-radius: 30px !important;
        opacity: .78 !important;
    }

    .home-intro .portrait-card:after {
        width: 54px !important;
        height: 54px !important;
        left: -12px !important;
        bottom: 28px !important;
        border-radius: 20px !important;
        opacity: .68 !important;
    }

    .intro-notes {
        order: 3 !important;
        margin-top: 8px !important;
    }
}

@media (max-width: 620px) {
    .home-intro {
        padding-top: 28px !important;
        gap: 18px !important;
    }

    .intro-copy h1 {
        font-size: clamp(31px, 8.8vw, 39px) !important;
        margin-bottom: 12px !important;
    }

    .intro-copy .lead {
        font-size: 16px !important;
    }

    .home-intro .portrait-card {
        width: min(78vw, 285px) !important;
        max-width: 285px !important;
        margin-top: 2px !important;
    }

    .quiet-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }

    .quiet-actions .button {
        width: 100% !important;
        font-size: 14px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

@media (max-width: 420px) {
    .home-intro {
        padding-top: 24px !important;
        gap: 16px !important;
    }

    .intro-copy h1 {
        font-size: clamp(29px, 8.6vw, 35px) !important;
    }

    .home-intro .portrait-card {
        width: min(82vw, 260px) !important;
        max-width: 260px !important;
    }

    .quiet-actions {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 350px) {
    .home-intro .portrait-card {
        width: min(86vw, 235px) !important;
        max-width: 235px !important;
    }
}

/* =========================================================
   Laccot Mobile About Photo Patch
   - Hakkımızda sayfasında mobil açılışta fotoğraf görünür
   - Fotoğraf metinlerin altına düşmez, üst bölümde merkezde yer alır
   - Görsel netliğini bozan transform/filter kullanılmaz
   ========================================================= */

@media (max-width: 820px) {
    .page-head.slim-head {
        padding-top: 46px !important;
        padding-bottom: 16px !important;
    }

    .about-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        padding-top: 12px !important;
    }

    .about-layout .portrait-card.small {
        order: -1 !important;
        position: relative !important;
        width: min(76vw, 320px) !important;
        max-width: 320px !important;
        margin: 0 auto 4px !important;
        padding: 9px !important;
        border-radius: 34px 34px 18px 34px !important;
        transform: none !important;
        rotate: 0deg !important;
        scale: 1 !important;
        filter: none !important;
        animation: none !important;
        box-shadow: 0 18px 48px rgba(74,55,105,.14) !important;
        background: rgba(255,253,248,.94) !important;
    }

    .about-layout .portrait-card.small img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 4 / 5 !important;
        object-fit: cover !important;
        border-radius: 26px 26px 14px 26px !important;
        transform: none !important;
        filter: none !important;
        animation: none !important;
    }

    .about-layout .portrait-card.small figcaption {
        display: none !important;
    }

    .about-layout .long-copy {
        order: 2 !important;
        font-size: 16.5px !important;
        line-height: 1.68 !important;
    }

    .about-layout .long-copy p {
        margin-bottom: 16px !important;
    }

    .about-layout .long-copy h2 {
        font-size: clamp(24px, 6.4vw, 31px) !important;
        margin-top: 28px !important;
    }
}

@media (max-width: 520px) {
    .page-head.slim-head {
        padding-top: 34px !important;
        padding-bottom: 12px !important;
    }

    .page-head.slim-head h1 {
        font-size: clamp(32px, 10vw, 42px) !important;
        margin-bottom: 12px !important;
    }

    .page-head.slim-head .lead {
        font-size: 16px !important;
        line-height: 1.55 !important;
        margin-bottom: 0 !important;
    }

    .about-layout {
        gap: 20px !important;
        padding-top: 8px !important;/* Mobil farklı logo kullanımı */
.site-logo-mobile {
    display: none !important;
}

.site-logo-desktop {
    display: block !important;
}

@media (max-width: 820px) {
    .site-logo-desktop {
        display: none !important;
    }

    .site-logo-mobile {
        display: block !important;
        width: auto !important;
        height: 54px !important;
        max-height: 54px !important;
        object-fit: contain !important;
        filter: none !important;
        transform: none !important;
    }

    .brand-logo {
        min-width: 190px !important;
        width: 190px !important;
        height: 64px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 190px !important;
    }

    .nav-wrap {
        min-height: 76px !important;
        height: 76px !important;
    }
}

@media (max-width: 420px) {
    .site-logo-mobile {
        height: 48px !important;
        max-height: 48px !important;
    }

    .brand-logo {
        min-width: 170px !important;
        width: 170px !important;
        height: 58px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 170px !important;
    }
}

@media (max-width: 360px) {
    .site-logo-mobile {
        height: 44px !important;
        max-height: 44px !important;
    }

    .brand-logo {
        min-width: 155px !important;
        width: 155px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 155px !important;
    }
}
    }

    .about-layout .portrait-card.small {
        width: min(82vw, 285px) !important;
        max-width: 285px !important;
    }
}

@media (max-width: 380px) {
    .about-layout .portrait-card.small {
        width: min(86vw, 255px) !important;
        max-width: 255px !important;
    }
}
/* Mobil farklı logo kullanımı */
.site-logo-mobile {
    display: none !important;
}

.site-logo-desktop {
    display: block !important;
}

@media (max-width: 820px) {
    .site-logo-desktop {
        display: none !important;
    }

    .site-logo-mobile {
        display: block !important;
        width: auto !important;
        height: 54px !important;
        max-height: 54px !important;
        object-fit: contain !important;
        filter: none !important;
        transform: none !important;
    }

    .brand-logo {
        min-width: 190px !important;
        width: 190px !important;
        height: 64px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 190px !important;
    }

    .nav-wrap {
        min-height: 76px !important;
        height: 76px !important;
    }
}

@media (max-width: 420px) {
    .site-logo-mobile {
        height: 48px !important;
        max-height: 48px !important;
    }

    .brand-logo {
        min-width: 170px !important;
        width: 170px !important;
        height: 58px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 170px !important;
    }
}

@media (max-width: 360px) {
    .site-logo-mobile {
        height: 44px !important;
        max-height: 44px !important;
    }

    .brand-logo {
        min-width: 155px !important;
        width: 155px !important;
    }

    .nav-wrap .brand-logo {
        flex: 0 0 155px !important;
    }
}
.agency-line a {
    display: inline !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.35);
    transition: .2s ease;
}

.agency-line a:hover {
    color: #f4dc91 !important;
    border-bottom-color: #f4dc91;
}
.local-seo-note {
    margin-top: 26px;
    padding: 24px;
    border-radius: 26px;
    background: rgba(255, 253, 248, .72);
    border: 1px solid rgba(146, 118, 201, .14);
    box-shadow: var(--shadow-soft);
}

.local-seo-note h2 {
    margin: 0 0 10px;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.08;
    letter-spacing: -.03em;
    color: var(--ink);
}

.local-seo-note p {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.7;
}
.blog-inline-service {
    margin: 34px 0 0;
    padding: 24px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(242,237,249,.78), rgba(220,239,220,.54));
    border: 1px solid rgba(146,118,201,.14);
}

.blog-inline-service h2 {
    margin: 0 0 10px;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(23px, 2.1vw, 32px);
    line-height: 1.08;
    letter-spacing: -.035em;
    color: var(--ink);
}

.blog-inline-service p {
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.72;
}

.blog-inline-service a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 16px;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font-weight: 900;
}
.local-geo-block {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 22px;
}

.local-geo-card {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: clamp(26px, 4vw, 46px);
    background: linear-gradient(135deg, rgba(255,253,248,.88), rgba(242,237,249,.64));
    border: 1px solid rgba(146,118,201,.14);
    box-shadow: var(--shadow-soft);
}

.local-geo-card::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -80px;
    width: 210px;
    height: 210px;
    border-radius: 62px;
    background: rgba(220,239,220,.72);
    transform: rotate(18deg);
}

.local-geo-card > * {
    position: relative;
    z-index: 1;
}

.local-geo-card h2 {
    margin: 0 0 14px;
    max-width: 780px;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.03;
    letter-spacing: -.04em;
    color: var(--ink);
}

.local-geo-card p {
    max-width: 850px;
    margin: 0 0 16px;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.78;
}

.local-geo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.local-geo-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    color: var(--lilac);
    font-size: 13px;
    font-weight: 900;
}

.local-faq-mini {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 26px;
}

.local-faq-mini article {
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(146,118,201,.10);
}

.local-faq-mini h3 {
    margin: 0 0 8px;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: 20px;
    line-height: 1.08;
    letter-spacing: -.025em;
    color: var(--ink);
}

.local-faq-mini p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
}

@media (max-width: 760px) {
    .local-faq-mini {
        grid-template-columns: 1fr;
    }
}
.service-related-blog {
    margin-top: 34px;
    padding: 26px;
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(255,253,248,.86), rgba(242,237,249,.62));
    border: 1px solid rgba(146,118,201,.14);
    box-shadow: var(--shadow-soft);
}

.service-related-blog .section-label {
    margin-bottom: 10px;
}

.service-related-blog h2 {
    margin: 0 0 10px;
    max-width: 780px;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(24px, 2.5vw, 36px);
    line-height: 1.05;
    letter-spacing: -.035em;
    color: var(--ink);
}

.service-related-blog p {
    margin: 0 0 18px;
    max-width: 780px;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.72;
}

.service-related-blog a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 17px;
    border-radius: 999px;
    background: var(--ink);
    color: #fff;
    font-weight: 900;
}

.service-related-blog a:hover {
    transform: translateY(-1px);
}
.local-geo-tags a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255,255,255,.74);
    color: var(--lilac);
    font-size: 13px;
    font-weight: 900;
}

.local-geo-tags a:hover {
    background: var(--ink);
    color: #fff;
}