@font-face{font-family:"Poppins";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/poppins-300.woff") format("woff")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-400.woff") format("woff")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-500.woff") format("woff")}
  :root{
    --white:  #FFFFFF;
    --lilac:  #CBBDCF;
    --violet: #7a6386;
    --dark:   #3C3440;
    --blue:   #8BBBD3;
    --lilac-soft: #F4F0F5;
    --lilac-mid:  #E6DDE8;
    --text: #3C3440;
    --muted: #7B6C83;
    --tracking: .15em;
    --header-h: 78px;
    --radius: 22px;
    --maxw: 1240px;
  }
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:"Poppins",system-ui,sans-serif;
    font-weight:400;
    color:var(--text);
    background:var(--white);
    line-height:1.7;
    letter-spacing:.02em;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block}
  a{color:inherit}
  section{scroll-margin-top:calc(var(--header-h) + 20px)}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  h1,h2,h3{font-weight:400;letter-spacing:var(--tracking);margin:0;line-height:1.3}
  .eyebrow{
    display:inline-flex;align-items:center;gap:.7em;
    font-size:.78rem;text-transform:uppercase;letter-spacing:var(--tracking);
    color:var(--violet);margin-bottom:14px;
  }
  .eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:var(--violet)}
  .section-title{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--dark)}
  .section-lead{color:var(--muted);max-width:620px;margin:16px 0 0}
  .heart{color:var(--lilac)}
  .site-header{
    position:sticky;top:0;z-index:100;
    height:var(--header-h);
    background:var(--dark);
    box-shadow:0 6px 24px rgba(60,52,64,.18);
  }
  .header-inner{
    height:100%;max-width:1400px;margin:0 auto;padding:0 28px;
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  }
  .logo{
    display:flex;align-items:flex-start;gap:16px;text-decoration:none;justify-self:start;
    height:var(--header-h);position:relative;z-index:3;
  }
  .logo-badge{
    flex:none;width:92px;height:92px;margin-top:9px;border-radius:50%;
    background:var(--white);display:flex;align-items:center;justify-content:center;
    box-shadow:0 0 0 4px var(--lilac), 0 10px 24px rgba(60,52,64,.28);
    transition:transform .35s ease;
  }
  .logo-badge img{width:76%;height:auto}
  .logo:hover .logo-badge{transform:rotate(-6deg) scale(1.04)}
  .logo-script{height:50px;width:auto;align-self:center}
  .main-nav ul{list-style:none;display:flex;gap:44px;margin:0;padding:0}
  .main-nav a{
    text-decoration:none;color:var(--white);font-size:.85rem;
    text-transform:uppercase;letter-spacing:var(--tracking);
    position:relative;padding:6px 0;transition:color .25s;
  }
  .main-nav a::after{
    content:"";position:absolute;left:0;right:var(--tracking);bottom:0;height:1px;
    background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s;
  }
  .main-nav a:hover,.main-nav a.active{color:var(--lilac)}
  .main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
  .header-phone{
    justify-self:end;display:inline-flex;align-items:center;gap:10px;
    color:var(--white);text-decoration:none;font-size:.85rem;letter-spacing:.1em;
    padding:10px 18px;border:1px solid rgba(203,189,207,.45);border-radius:999px;
    transition:background .25s,border-color .25s;
  }
  .header-phone:hover{background:var(--violet);border-color:var(--violet)}
  .header-phone svg{width:17px;height:17px;color:var(--blue)}
  .nav-toggle{display:none;background:none;border:0;color:var(--white);cursor:pointer;padding:8px;justify-self:end}
  .nav-toggle svg{width:26px;height:26px}
  .bubbles{
    position:absolute;left:0;right:0;top:100%;height:74px;
    pointer-events:none;overflow:hidden;
  }
  .bubbles::before{
    content:"";position:absolute;inset:0;opacity:0;transition:opacity .4s ease;
    background:linear-gradient(to bottom, rgba(255,255,255,.95) 0%, rgba(255,255,255,.7) 55%, rgba(255,255,255,0) 100%);
  }
  .bubbles.show-bg::before{opacity:1}
  .bubble{
    position:absolute;border-radius:50%;
    background:
      radial-gradient(circle at 32% 28%, rgba(255,255,255,.95) 0 9%, rgba(255,255,255,0) 22%),
      radial-gradient(circle at 50% 50%, rgba(139,187,211,.06) 45%, rgba(139,187,211,.28) 72%, rgba(139,187,211,.75) 100%);
    box-shadow:inset 0 0 0 1px rgba(139,187,211,.55), 0 2px 6px rgba(139,187,211,.18);
    scale:0;opacity:0;
    transition:scale .7s cubic-bezier(.34,1.56,.64,1), opacity .5s ease;
    animation:float var(--dur,6s) ease-in-out var(--delay,0s) infinite alternate;
  }
  .bubble.on{scale:1;opacity:1}
  @keyframes float{
    from{translate:0 0}
    to{translate:var(--dx,4px) var(--dy,-8px)}
  }
  .landing{
    --h:min(calc(100vh - var(--header-h) - 40px), 720px);
    --skew:calc(var(--h) * 0.268);   
    position:relative;height:var(--h);min-height:520px;margin-top:0;
  }
  .panel{position:absolute;top:0;bottom:0}
  .panel-1{left:0;width:calc(33.333% + var(--skew));z-index:3}
  .panel-2{left:33.333%;width:calc(33.333% + var(--skew));z-index:2}
  .panel-3{left:66.666%;width:33.334%;z-index:1}
  .panel-1,.panel-2{filter:drop-shadow(18px 0 22px rgba(60,52,64,.65))}
  .panel-inner{
    position:absolute;inset:0;overflow:hidden;
    clip-path:polygon(0 0,100% 0,calc(100% - var(--skew)) 100%,0 100%);
  }
  .panel-3 .panel-inner{clip-path:none}
  .panel-media{
    position:absolute;inset:0;
    background:linear-gradient(160deg,var(--lilac) 0%,var(--blue) 100%);
  }
  .panel-2 .panel-media{background:linear-gradient(160deg,var(--blue) 0%,var(--violet) 100%)}
  .panel-3 .panel-media{background:linear-gradient(160deg,var(--violet) 0%,var(--dark) 100%)}
  .panel-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
  .panel:hover .panel-media img{transform:scale(1.04)}
  .panel-2 .panel-media img{object-position:28% 36%}
  .panel-1{--fade:176,158,186}
  .panel-2{--fade:150,132,160}
  .panel-3{--fade:123,108,131}
  .panel-inner::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to top, rgba(var(--fade),.92) 0%, rgba(var(--fade),.35) 42%, rgba(var(--fade),0) 70%);
  }
  .panel-text{
    position:absolute;z-index:2;left:44px;right:calc(var(--skew) + 24px);bottom:48px;color:var(--white);
  }
  .panel-2 .panel-text{left:calc(var(--skew) * .55 + 24px)}
  .panel-3 .panel-text{left:calc(var(--skew) * .55 + 24px);right:40px}
  .panel-num{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:50%;margin-bottom:14px;
    background:var(--lilac);color:var(--dark);font-size:.72rem;letter-spacing:.08em;
  }
  .panel-text h2{font-size:clamp(1.25rem,2vw,1.75rem);text-transform:uppercase}
  .panel-text p{margin:8px 0 0;font-size:.95rem;color:rgba(255,255,255,.85);letter-spacing:.06em}
  .services{
    position:relative;padding:130px 0 110px;overflow:hidden;
    background:linear-gradient(180deg,var(--white) 0%,var(--lilac-soft) 18%,var(--lilac-soft) 82%,var(--white) 100%);
  }
  .blob{position:absolute;pointer-events:none;z-index:0}
  .blob path{fill:var(--lilac);opacity:.6}
  .services .blob{width:520px;right:-180px;top:40px}
  .services .wrap,.about .wrap{position:relative;z-index:1}
  .section-head{text-align:center;margin-bottom:60px}
  .section-head .eyebrow{justify-content:center}
  .section-head .eyebrow::after{content:"";width:28px;height:2px;border-radius:2px;background:var(--violet)}
  .section-head .section-lead{margin:16px auto 0}
  .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .card{
    position:relative;overflow:hidden;
    background:var(--white);border:1px solid var(--lilac-mid);border-radius:var(--radius);
    padding:38px 32px 30px;display:flex;flex-direction:column;
    box-shadow:0 10px 30px rgba(123,108,131,.10);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s;
  }
  .card::before{
    content:"";position:absolute;left:0;right:0;top:0;height:5px;
    background:linear-gradient(90deg,var(--lilac),var(--violet));
  }
  .card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(123,108,131,.22);border-color:var(--lilac)}
  .card-head{display:flex;align-items:center;gap:16px}
  .icon{
    flex:none;width:54px;height:54px;border-radius:16px;
    background:var(--lilac);color:var(--dark);
    display:flex;align-items:center;justify-content:center;
    transition:background .3s,box-shadow .3s;
  }
  .card:hover .icon{background:var(--white);box-shadow:inset 0 0 0 2px var(--violet)}
  .icon svg,.icon img{width:28px;height:28px}
  .card h3{font-size:1.02rem;text-transform:uppercase;color:var(--dark)}
  .card .sub{color:var(--muted);font-size:.92rem;margin:14px 0 18px}
  .card ul{list-style:none;margin:0 0 24px;padding:0;flex:1}
  .card li{position:relative;padding:7px 0 7px 26px;font-size:.92rem;border-bottom:1px dashed var(--lilac-mid)}
  .card li:last-child{border-bottom:0}
  .card li::before{
    content:"";position:absolute;left:2px;top:15px;width:9px;height:9px;border-radius:50%;
    background:radial-gradient(circle at 35% 35%,#fff 0 20%,var(--blue) 70%);
    box-shadow:inset 0 0 0 1px rgba(139,187,211,.8);
  }
  .price{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin:0 -32px -30px;padding:18px 32px 20px;
    background:var(--lilac-soft);border-top:1px solid var(--lilac-mid);
  }
  .price small{color:var(--muted);font-size:.78rem;letter-spacing:.08em}
  .price strong{font-weight:500;font-size:1.3rem;color:var(--violet);letter-spacing:.06em;white-space:nowrap}
  .cta{
    margin-top:56px;border-radius:calc(var(--radius) + 6px);
    background:var(--violet);color:var(--white);
    padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
    position:relative;overflow:hidden;
    box-shadow:0 20px 40px rgba(123,108,131,.3);
  }
  .cta::before,.cta::after{content:"";position:absolute;border-radius:50%;background:var(--lilac)}
  .cta::before{width:320px;height:320px;right:-90px;top:-150px;opacity:.28}
  .cta::after{width:160px;height:160px;right:180px;bottom:-110px;opacity:.18}
  .cta > *{position:relative;z-index:1}
  .cta h3{font-size:1.35rem;text-transform:uppercase}
  .cta p{margin:8px 0 0;color:rgba(255,255,255,.9);font-size:.95rem}
  .cta-actions{display:flex;gap:14px;flex-wrap:wrap}
  .btn{
    display:inline-flex;align-items:center;gap:10px;text-decoration:none;
    font-size:.82rem;text-transform:uppercase;letter-spacing:var(--tracking);
    padding:15px 26px;border-radius:999px;border:1px solid transparent;
    transition:transform .25s, background .25s, color .25s, border-color .25s;
  }
  .btn svg{width:18px;height:18px}
  .btn:hover{transform:translateY(-2px)}
  .btn-blue{background:var(--blue);color:var(--dark)}
  .btn-blue:hover{background:#A3CAE0}
  .btn-ghost{border-color:var(--lilac);color:var(--white)}
  .btn-ghost:hover{background:var(--white);color:var(--dark);border-color:var(--white)}
  .about{position:relative;padding:110px 0 70px;overflow:hidden}
  .about .blob{width:560px;left:-240px;bottom:40px}
  .about-grid{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center}
  .about-media{position:relative}
  .about-media::before{
    content:"";position:absolute;inset:26px -26px -26px 26px;border-radius:var(--radius);
    background:var(--violet);opacity:.9;
  }
  .about-img{
    position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;
    background:linear-gradient(160deg,var(--lilac),var(--blue));
    box-shadow:0 22px 50px rgba(60,52,64,.18);
  }
  .about-img img{width:100%;height:100%;object-fit:cover}
  .about-img img + .ph-label,.slide-img img +
  .about-text h2{margin-bottom:26px}
  .facts{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px;padding:0;list-style:none}
  .facts li{
    display:inline-flex;align-items:center;gap:9px;padding:9px 18px;border-radius:999px;
    background:var(--lilac);font-size:.86rem;color:var(--dark);letter-spacing:.06em;
  }
  .facts svg{width:16px;height:16px;color:var(--dark)}
  .about-text p{margin:0 0 16px;color:#5B5060}
  .philosophy{
    margin:30px 0 0;padding:26px 30px;border-left:4px solid var(--violet);
    background:linear-gradient(90deg,var(--lilac-mid),rgba(230,221,232,0));
    border-radius:0 16px 16px 0;
  }
  .philosophy span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:var(--tracking);color:var(--violet);margin-bottom:8px}
  .philosophy q{font-size:1.08rem;color:var(--dark);quotes:"„" "“"}
  .gallery{
    margin-top:100px;padding:48px 44px 30px;border-radius:calc(var(--radius) + 8px);
    background:var(--lilac-soft);border:1px solid var(--lilac-mid);
  }
  .gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
  .gallery-head h3{font-size:1.25rem;text-transform:uppercase;color:var(--dark)}
  .gallery-head p{margin:6px 0 0;color:var(--muted);font-size:.92rem}
  .carousel-btns{display:flex;gap:10px}
  .carousel-btn{
    width:48px;height:48px;border-radius:50%;border:0;background:var(--lilac);
    color:var(--dark);cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:background .25s,color .25s;
  }
  .carousel-btn:hover{background:var(--violet);color:var(--white)}
  .carousel-btn svg{width:18px;height:18px}
  .track{
    display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    padding:6px 4px 26px;scrollbar-width:none;
  }
  .track::-webkit-scrollbar{display:none}
  .slide{flex:0 0 calc((100% - 3 * 22px) / 4);scroll-snap-align:start;margin:0}
  .slide-img{
    position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;
    background:linear-gradient(160deg,var(--lilac-soft),var(--lilac));
    box-shadow:0 12px 26px rgba(60,52,64,.1);
  }
  .slide:nth-child(even) .slide-img{background:linear-gradient(160deg,#E4F0F6,var(--blue))}
  .slide-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
  .slide:hover .slide-img img{transform:scale(1.05)}
  .slide figcaption{
    display:flex;align-items:center;gap:10px;margin-top:14px;
    font-size:.88rem;text-transform:uppercase;letter-spacing:var(--tracking);color:var(--dark);
  }
  .slide figcaption::before{
    content:"";width:10px;height:10px;border-radius:50%;flex:none;background:var(--violet);
  }
  .slide figcaption small{color:var(--muted);text-transform:none;letter-spacing:.04em;font-size:.8rem}
  .site-footer{
    position:relative;background:var(--violet);color:rgba(255,255,255,.92);
    padding:70px 0 0;font-size:.9rem;margin-top:60px;
  }
  .site-footer::before{
    content:"";position:absolute;left:0;right:0;top:-59px;height:60px;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C 240 0 480 60 720 30 S 1200 0 1440 30 V60 H0Z' fill='%23CBBDCF'/%3E%3Cpath d='M0 45 C 300 20 540 70 800 42 S 1220 22 1440 44 V60 H0Z' fill='%237B6C83'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  }
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
  .footer-logo{display:flex;align-items:center;gap:16px;margin-bottom:18px}
  .footer-logo .logo-badge{width:96px;height:96px;margin:0}
  .footer-logo .logo-script{height:56px}
  .footer-brand p{margin:0;color:rgba(255,255,255,.85);font-size:.76rem;letter-spacing:var(--tracking);text-transform:uppercase}
  .site-footer h4{
    display:inline-block;margin:0 0 16px;font-weight:400;font-size:.76rem;text-transform:uppercase;
    letter-spacing:var(--tracking);color:var(--white);
    padding-bottom:6px;border-bottom:2px solid var(--lilac);
  }
  .site-footer ul{list-style:none;margin:0;padding:0}
  .site-footer li{margin-bottom:8px}
  .site-footer a{text-decoration:none;transition:color .2s}
  .site-footer a:hover{color:var(--white);text-decoration:underline;text-decoration-color:var(--lilac);text-underline-offset:4px}
  .site-footer address{font-style:normal;line-height:1.8}
  .footer-bottom{
    border-top:1px solid rgba(203,189,207,.45);padding:22px 0;
    display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
    font-size:.78rem;color:rgba(255,255,255,.8);letter-spacing:.06em;
  }
  .paw{position:absolute;pointer-events:none;fill:var(--lilac);z-index:0}
  .paw-s1{width:118px;left:5%;top:90px;transform:rotate(-20deg);opacity:.55}
  .paw-s2{width:64px;right:6%;top:360px;transform:rotate(24deg);opacity:.5;fill:var(--violet)}
  .paw-s3{width:84px;left:3%;bottom:260px;transform:rotate(14deg);opacity:.4}
  .paw-cta{width:190px;right:120px;bottom:-54px;transform:rotate(-18deg);fill:var(--white);opacity:.12;z-index:0}
  .paw-about{width:74px;right:-44px;top:-34px;transform:rotate(18deg);fill:var(--lilac);z-index:2;
    filter:drop-shadow(0 6px 10px rgba(123,108,131,.25))}
  .paw-trail{position:absolute;left:50%;top:14px;width:340px;height:80px;pointer-events:none;z-index:0}
  .paw-trail .paw{
    position:absolute;width:30px;fill:var(--violet);
    left:calc(var(--i) * 52px);top:10px;rotate:90deg;
    opacity:0;scale:.5;transition:opacity .45s ease, scale .45s ease;
    transition-delay:calc(var(--i) * .25s);
  }
  .paw-trail .paw:nth-child(even){top:40px}
  .paw-trail.visible .paw{opacity:.4;scale:1}
  .slide figcaption::before{
    width:14px;height:14px;border-radius:0;background:var(--violet);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='20' cy='44' rx='9' ry='12' transform='rotate(-22 20 44)'/%3E%3Cellipse cx='38' cy='25' rx='10' ry='13' transform='rotate(-8 38 25)'/%3E%3Cellipse cx='62' cy='25' rx='10' ry='13' transform='rotate(8 62 25)'/%3E%3Cellipse cx='80' cy='44' rx='9' ry='12' transform='rotate(22 80 44)'/%3E%3Cpath d='M50 49C34 49 21 65 21 77c0 11 11 16 20 12 4-2 6-3 9-3s5 1 9 3c9 4 20-1 20-12 0-12-13-28-29-28z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='20' cy='44' rx='9' ry='12' transform='rotate(-22 20 44)'/%3E%3Cellipse cx='38' cy='25' rx='10' ry='13' transform='rotate(-8 38 25)'/%3E%3Cellipse cx='62' cy='25' rx='10' ry='13' transform='rotate(8 62 25)'/%3E%3Cellipse cx='80' cy='44' rx='9' ry='12' transform='rotate(22 80 44)'/%3E%3Cpath d='M50 49C34 49 21 65 21 77c0 11 11 16 20 12 4-2 6-3 9-3s5 1 9 3c9 4 20-1 20-12 0-12-13-28-29-28z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .site-footer{overflow-x:clip}
  .site-footer .wrap{position:relative;z-index:1}
  .paw-f1{width:150px;right:4%;bottom:70px;transform:rotate(-16deg);opacity:.16}
  @media (max-width:900px){
    .paw-s1{width:80px;left:auto;right:4%;top:40px}
    .paw-s3{display:none}
    .paw-about{width:58px;right:-6px;top:-26px}
    .paw-trail{left:auto;right:6%;transform:scale(.8);transform-origin:top right}
  }
  @media (max-width:640px){
    .paw-s2{display:none}
    .paw-trail{display:none}
    .paw-cta{width:130px;right:-20px;bottom:-36px}
  }
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease}
  .reveal.visible{opacity:1;transform:none}
  @media (max-width:1100px){
    .service-grid{grid-template-columns:repeat(2,1fr)}
    .slide{flex-basis:calc((100% - 2 * 22px) / 3)}
    .main-nav ul{gap:28px}
  }
  @media (max-width:900px){
    .header-inner{grid-template-columns:auto 1fr auto auto}
    .logo{gap:10px}
    .logo-badge{width:70px;height:70px;margin-top:8px}
    .logo-script{height:38px}
    .nav-toggle{display:block}
    .header-phone span{display:none}
    .header-phone{padding:10px;grid-column:3}
    .nav-toggle{grid-column:4}
    .main-nav{
      position:absolute;top:100%;left:0;right:0;background:var(--dark);
      max-height:0;overflow:hidden;transition:max-height .4s ease;z-index:5;
    }
    .main-nav.open{max-height:320px}
    .main-nav ul{flex-direction:column;gap:0;padding:10px 28px 24px}
    .main-nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(203,189,207,.15)}
    .main-nav a::after{display:none}
    .landing{height:auto;min-height:0;--skew:24vw}
    .panel{position:relative;left:auto !important;width:100% !important;height:clamp(420px,64vh,580px)}
    .panel + .panel{margin-top:calc(var(--skew) * -1)}
    .panel-1,.panel-2{filter:drop-shadow(0 16px 18px rgba(60,52,64,.65))}
    .panel-inner{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--skew)),0 100%)}
    .panel-text{left:28px !important;right:28px !important;bottom:calc(var(--skew) * .35 + 30px)}
    .panel-3 .panel-text{bottom:40px}
    .panel-2 .panel-media img{object-position:28% 24%}
    .panel-2 .panel-text,.panel-3 .panel-text{top:auto}
    .about-grid{grid-template-columns:1fr;gap:56px}
    .about-media{max-width:420px}
    .footer-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:640px){
    .wrap{padding:0 20px}
    .service-grid{grid-template-columns:1fr}
    .services{padding:100px 0 80px}
    .cta{padding:34px 26px}
    .slide{flex-basis:72%}
    .gallery{padding:34px 18px 20px}
    .gallery-head{align-items:flex-start;flex-direction:column}
    .footer-grid{grid-template-columns:1fr}
    .header-inner{padding:0 16px;gap:10px}
    .logo-script{height:32px}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .bubble{animation:none}
    .reveal{opacity:1;transform:none;transition:none}
  }
.footer-bottom{align-items:center}
.credit{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.8);text-decoration:none}
.credit img{height:28px;width:auto}
.credit strong{font-weight:500;color:var(--white);letter-spacing:.08em}
.site-footer a.credit:hover{text-decoration:none}
.site-footer a.credit:hover strong{color:var(--lilac)}
.legal{padding:150px 0 90px;background:linear-gradient(180deg,var(--white) 0%,var(--lilac-soft) 100%)}
.legal .wrap{max-width:860px}
.legal h1{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--dark);margin-bottom:34px}
.legal h2{font-size:1rem;text-transform:uppercase;color:var(--violet);margin:38px 0 12px}
.legal p,.legal address{margin:0 0 12px;color:#5B5060;font-style:normal}
.legal .back{display:inline-flex;margin-top:40px}
@media (max-width:640px){
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}
  .legal{padding:120px 0 70px}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
