: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;
    }
}