/* ASÖZ SPA v2 — monochrome identity, full-colour photography. */
.hero-photo{width:65%}.hero-photo img{object-position:55% 51%;filter:brightness(1.17)}
.hero-shade{z-index:1;background:linear-gradient(90deg,#111 0%,#111 20%,rgba(17,17,17,.94) 31%,rgba(17,17,17,.37) 51%,rgba(17,17,17,0) 78%),linear-gradient(0deg,rgba(17,17,17,.8),transparent 23%)}
.hero-content{z-index:4}.hero-bottom{z-index:4}.hero-flower{z-index:3;right:39%;top:13%;opacity:.7;color:#fff}
.about-visual img{filter:none;object-position:center}.about-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.image-caption{z-index:1}.location-photo{opacity:.7;object-position:center 55%}.location-banner:after{background:linear-gradient(90deg,#111e 0%,#1118 50%,#1114)}
.ambient-motion{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;isolation:isolate}.ambient-motion>span{position:absolute;display:block;pointer-events:none}
.light-beam{height:1px;width:55vw;min-width:440px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),rgba(255,255,255,.9),rgba(255,255,255,.2),transparent);box-shadow:0 0 12px #fff5;opacity:.65;transform-origin:center}
.beam-one{top:19%;left:-45%;animation:beam-travel 13s ease-in-out infinite}.beam-two{top:64%;right:-42%;animation:beam-return 18s ease-in-out infinite -6s}.beam-three{top:80%;left:-20%;animation:beam-travel 21s ease-in-out infinite -11s}
.motion-orbit{border:1px solid #ffffff48;border-radius:50%;box-shadow:inset 0 0 30px #fff05,0 0 20px #fff04}
.orbit-one{width:390px;height:390px;right:6%;top:14%;border-left-color:transparent;border-bottom-color:#ffffff13;animation:ring-drift 24s linear infinite}
.orbit-two{width:260px;height:260px;right:14%;top:23%;border-style:dashed;border-color:#ffffff30;animation:ring-reverse 42s linear infinite}
.orbit-three{width:210px;height:210px;left:32%;bottom:8%;border-right-color:transparent;animation:ring-drift 31s linear infinite -5s;opacity:.5}
.floating-pebble{width:28px;height:40px;border-radius:45% 65% 52% 70%;border:1px solid #ffffff75;background:linear-gradient(135deg,#ffffff30,#ffffff03);box-shadow:inset 1px 1px 5px #ffffff40,0 0 16px #ffffff16}
.pebble-one{left:43%;top:19%;animation:pebble-drift 9s ease-in-out infinite}.pebble-two{right:8%;bottom:23%;width:20px;height:29px;animation:pebble-drift 12s ease-in-out infinite -4s}.pebble-three{left:10%;bottom:13%;width:17px;height:23px;animation:pebble-drift 10s ease-in-out infinite -3s}
.spark-particle{left:var(--x);top:var(--y);height:3px;width:3px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff,0 0 20px #ffffff65;animation:particle-float var(--duration) ease-in-out infinite var(--delay);opacity:.65}
.spark-particle:nth-of-type(3n){width:5px;height:5px}.star-glint{left:var(--x);top:var(--y);width:18px;height:18px;animation:star-twinkle 6.5s ease-in-out infinite var(--delay);filter:drop-shadow(0 0 5px #fff8)}
.star-glint:before,.star-glint:after{content:'';position:absolute;inset:0;margin:auto;background:linear-gradient(transparent,#fff,transparent);width:1px;height:100%;border-radius:50%}.star-glint:after{transform:rotate(90deg)}
.cta-motion{opacity:.45;z-index:0}.cta-inner{z-index:2}.cta-motion .motion-orbit{right:-5%;top:15%}.cta-motion .orbit-three{left:-7%}.cta-motion .floating-pebble{opacity:.4}
@keyframes particle-float{0%,100%{opacity:.12;transform:translate3d(0,15px,0) scale(.6)}45%{opacity:.92}70%{opacity:.48;transform:translate3d(25px,-42px,0) scale(1.2)}}
@keyframes star-twinkle{0%,100%{opacity:.05;transform:scale(.3) rotate(0)}45%{opacity:.85;transform:scale(1.1) rotate(45deg)}65%{opacity:.25;transform:scale(.6) rotate(65deg)}}
@keyframes pebble-drift{0%,100%{transform:translateY(8px) rotate(-15deg);opacity:.35}50%{transform:translate(22px,-28px) rotate(38deg);opacity:.9}}
@keyframes ring-drift{0%{transform:translate(0,0) rotate(0)}50%{transform:translate(14px,-17px) rotate(180deg)}100%{transform:translate(0,0) rotate(360deg)}}
@keyframes ring-reverse{to{transform:rotate(-360deg)}}
@keyframes beam-travel{0%{transform:translate(-25vw,40px) rotate(-26deg);opacity:0}20%{opacity:.5}65%{opacity:.6}100%{transform:translate(120vw,-100px) rotate(-26deg);opacity:0}}
@keyframes beam-return{0%{transform:translate(40vw,-20px) rotate(-24deg);opacity:0}25%{opacity:.5}70%{opacity:.4}100%{transform:translate(-120vw,95px) rotate(-24deg);opacity:0}}

.service-grid{border:0;gap:26px;align-items:stretch}.service-card{padding:0;border:1px solid #d9d9d9;background:#fff;display:flex;flex-direction:column;transition:box-shadow .35s,background .35s;min-width:0}.service-card:hover{background:#fff;box-shadow:0 18px 42px #0000000e}
.card-photo{position:relative;overflow:hidden;aspect-ratio:4/3;width:100%;background:#e1dedb}.card-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .8s cubic-bezier(.2,.65,.3,1);filter:none}.service-card:hover .card-photo>img{transform:scale(1.055)}.card-photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 35%,transparent 80%,#0004)}
.photo-number{position:absolute;left:23px;top:19px;color:white;font-size:12px;letter-spacing:.08em}.photo-category{position:absolute;left:23px;bottom:20px;font-size:8px;letter-spacing:.2em;color:white}
.card-body{padding:27px;display:flex;flex-direction:column;flex:1}.card-body h3{margin-bottom:15px;font-size:32px}.card-body p{font-size:13px;color:#666;line-height:1.9;margin-bottom:25px;flex:1}.card-body .card-link{padding-top:20px;border-top:1px solid #ddd}.card-tag{font-size:10px;color:#666;margin-bottom:10px}.card-link{font-size:11px}
.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1){grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;min-height:300px}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-photo{height:100%;aspect-ratio:auto;min-height:300px}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-photo>img{position:absolute;inset:0;object-position:center 62%}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-body{padding:38px 45px;justify-content:center}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-body p{max-width:480px;flex:0}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-body .card-link{margin-top:10px}
.service-photo-hero{position:absolute;right:0;top:0;bottom:0;width:46%;overflow:hidden}.service-photo-hero img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:none}.service-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#151515 38%,#151515eb 51%,#15151533 76%,#15151515)}.service-hero .container{z-index:2}.service-intro-copy{width:68%}.service-intro-copy h1{font-size:clamp(48px,5vw,76px)}.service-intro-copy p{max-width:620px;font-size:14px}.service-hero{min-height:640px}.service-hero .breadcrumb{max-width:80%}.service-hero h1 em{font-size:.72em}.noscript-nav{display:flex;justify-content:center;gap:25px;padding:15px 20px;font-size:12px}.service-card .service-motif{display:none}
@media(max-width:1100px){.card-body{padding:24px}.card-body h3{font-size:28px}.service-grid{gap:18px}.service-intro-copy{width:72%}.hero-flower{right:31%;top:13%}}
@media(max-width:800px){.hero-photo{width:76%}.hero-flower{right:14%}.hero-shade{background:linear-gradient(90deg,#111 0%,#111e 24%,#1118 52%,#1110 85%),linear-gradient(0deg,#111d,transparent 25%)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1){grid-template-columns:1fr 1fr;min-height:320px}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-body{padding:25px}.service-intro-copy{width:80%}.service-photo-hero{width:65%}.service-hero-shade{background:linear-gradient(90deg,#151515 16%,#151515d9 42%,#15151540)}.service-intro-copy h1{font-size:58px}.ambient-motion .orbit-one{width:300px;height:300px;right:0}.ambient-motion .orbit-two{width:220px;height:220px;right:6%}.service-hero{min-height:650px}}
@media(max-width:600px){.hero-photo{width:100%;top:18%;height:82%;opacity:1}.hero-photo img{object-position:center 50%;filter:brightness(1.2)}.hero-shade{background:linear-gradient(90deg,#111c 0%,#1118 55%,#1113),linear-gradient(180deg,#111 0%,#111b 24%,#1110 64%,#111c 100%)}.hero-flower{right:15px;top:auto;bottom:115px;opacity:.7}.hero-content>p{text-shadow:0 1px 4px #000;color:#eee}.hero .eyebrow{color:#e7e7e7}.hero h1{text-shadow:0 2px 25px #0003}.hero h1 em{color:#dedede}.ambient-motion .orbit-one{width:200px;height:200px;right:-60px;top:38%;opacity:.7}.ambient-motion .orbit-two{width:155px;height:155px;right:-25px;top:42%;opacity:.6}.ambient-motion .orbit-three{width:150px;height:150px;left:-80px;bottom:15%;opacity:.4}.spark-particle:nth-of-type(n+23){display:none}.star-glint{width:13px;height:13px}.star-glint.star-4,.star-glint.star-5,.star-glint.star-6{display:none}.light-beam{min-width:300px}.floating-pebble.pebble-three{display:none}.pebble-one{left:75%;top:23%;width:18px;height:27px}.service-grid{grid-template-columns:1fr;gap:24px}.card-photo{aspect-ratio:1.2}.card-body{padding:26px}.card-body h3{font-size:32px}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1){display:flex;grid-column:auto;min-height:0}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-photo{min-height:0;height:auto;aspect-ratio:1.2}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-photo>img{position:static;object-position:center 54%}.service-grid:not(.related-grid)>.service-card:last-child:nth-child(3n+1) .card-body{padding:26px}.service-intro-copy{width:100%}.service-intro-copy h1{font-size:44px}.service-intro-copy p{font-size:13px}.service-hero .breadcrumb{max-width:100%}.service-photo-hero{width:100%;top:23%;opacity:.7}.service-hero-shade{background:linear-gradient(90deg,#151515dd,#15151588),linear-gradient(180deg,#151515 0%,#151515d9 23%,#15151522 65%,#151515a1)}.service-hero{min-height:680px}.cta-motion{opacity:.35}.noscript-nav{flex-wrap:wrap;gap:12px 20px}.related-grid>.service-card{grid-column:auto!important}.about-visual{min-height:370px}}
@media(prefers-reduced-motion:reduce){.ambient-motion *{animation:none!important}.spark-particle{opacity:.3}.star-glint{opacity:.2}.light-beam{opacity:.1}.service-card .card-photo>img{transition:none!important}}

/* Blend the actual photograph edge into the hero background without changing its crop. */
.hero{background:#111}
@media(min-width:601px){
 .hero-photo{
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.42) 14%,rgba(0,0,0,.78) 23%,#000 34%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.42) 14%,rgba(0,0,0,.78) 23%,#000 34%);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
 }
}
