/* Motion and interaction layer. All essential content also works without it. */
[hidden]{display:none!important}
:root{--ease:cubic-bezier(.2,.7,.2,1)}
button:disabled{cursor:default}
.reading-progress{position:fixed;z-index:70;top:0;left:0;height:3px;width:100%;background:var(--teal);transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none}
.site-header{transition:box-shadow .3s,background .3s;backdrop-filter:blur(14px)}
.site-header.is-scrolled{box-shadow:0 5px 28px #102c3a0c;background:#fbfcfaf5}
.button-teal{background:var(--deep-teal);border-color:var(--deep-teal);box-shadow:0 5px 18px #008c8212}
.button-teal:hover{background:var(--ink);border-color:var(--ink);box-shadow:0 9px 24px #102c3a20}
.button svg{transition:transform .25s var(--ease)}
.button:hover svg:last-child,.text-link:hover svg{transform:translateX(3px)}
.home-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 15%,#e3f3eb99,transparent 60%)}
.hero-copy{animation:hero-enter .8s var(--ease) both}
.hero-copy h1 span{background:linear-gradient(100deg,var(--teal),var(--deep-teal),var(--teal));background-size:200%;background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-copy .lead{max-width:460px}
.hero-actions{gap:20px}
.hero-actions .button{gap:12px}
.hero-actions .text-link{font-size:12px;gap:10px}
.hero-footnote{margin-top:27px;font-size:11px;color:var(--deep-teal)}
.hero-location{font-size:11px;color:var(--muted);margin-top:5px;padding-left:15px}
.hero-image{animation:hero-enter 1s .12s var(--ease) both}
.hero-photo{box-shadow:0 16px 45px #102c3a15;transition:transform .8s var(--ease)}
.hero-image:hover .hero-photo{transform:scale(1.012)}
.hero-tag{position:absolute;top:20px;left:20px;z-index:2;display:flex;align-items:center;gap:9px;background:#ffffffed;backdrop-filter:blur(8px);box-shadow:0 3px 20px #102c3a0a;padding:10px 15px;border-radius:30px;color:var(--ink);font-size:11px}
.hero-tag .dot{box-shadow:0 0 0 4px #008c8212;animation:gentle-pulse 3.5s ease-in-out infinite}
.hero-orbit{position:absolute;width:370px;height:370px;right:-155px;top:-100px;border:1px solid #008c8225;border-radius:50%;z-index:-1}
.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;inset:28px;border:1px solid #008c8225;border-radius:50%}
.hero-orbit:after{inset:60px}
.photo-caption{bottom:92px;padding:17px 23px;animation:caption-float 7s ease-in-out infinite}
.hero-prompt{position:absolute;bottom:19px;left:22px;right:22px;display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center;padding:15px 19px;background:var(--ink);color:#fff;border-radius:5px;box-shadow:0 8px 24px #102c3a20;transition:background .25s,transform .25s}
.hero-prompt>span{font-size:10px;color:var(--mint);letter-spacing:.3px}
.hero-prompt strong{font-size:15px;line-height:1.5;grid-column:1}
.hero-prompt>svg{width:25px;height:25px;grid-column:2;grid-row:1/3;transition:transform .25s}
.hero-prompt:hover{background:var(--deep-teal);transform:translateY(-3px)}
.hero-prompt:hover>svg{transform:translateX(4px)}
.service-strip a{position:relative;transition:color .25s,background .25s}
.service-strip a:hover{background:#d9ede6}
.service-strip a svg{transition:transform .25s}
.service-strip a:hover svg{transform:translate(2px,-2px)}
.reveal{opacity:0;transform:translateY(23px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.steps-grid article:nth-child(2),.principles-grid article:nth-child(2){transition-delay:.09s}
.steps-grid article:nth-child(3),.principles-grid article:nth-child(3){transition-delay:.18s}
.service-overview{padding-top:0}
.service-finder{background:var(--paper)}
.finder-grid{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;box-shadow:0 15px 50px #102c3a05}
.finder-tabs{padding:20px;display:flex;flex-direction:column;gap:8px;background:#f0f6f3;border-right:1px solid var(--line)}
.finder-tabs button{display:flex;align-items:center;text-align:left;gap:15px;min-height:82px;padding:19px 21px;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--ink);font-size:16px;transition:background .25s,box-shadow .25s,color .25s,transform .25s}
.finder-tabs button>span{font-size:11px;color:var(--teal)}
.finder-tabs button>svg{width:21px;height:21px;margin-left:auto;color:var(--teal)}
.finder-tabs button:hover{background:#e1efe8;transform:translateX(2px)}
.finder-tabs button[aria-selected=true]{background:var(--ink);color:#fff;box-shadow:0 6px 16px #102c3a12}
.finder-tabs button[aria-selected=true]>span,.finder-tabs button[aria-selected=true]>svg{color:var(--mint)}
.finder-panel{padding:34px 40px;position:relative;overflow:hidden;min-height:390px}
.finder-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.finder-panel .eyebrow{margin:0;font-size:10px}
.finder-symbol{display:block;width:38px;height:38px;opacity:.3}
.finder-panel h3{font-size:32px;line-height:1.17;letter-spacing:-1px;max-width:490px;margin-bottom:18px}
.finder-panel>p{font-size:14px;max-width:500px}
.finder-points{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0 29px}
.finder-points li{font-size:10px;padding:6px 10px;background:var(--mist);color:var(--deep-teal);border-radius:30px}
.finder-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.finder-actions .button{font-size:12px;gap:12px}
.finder-actions .text-link{font-size:12px;gap:8px}
.panel-changed>h3,.panel-changed>p,.panel-changed>ul{animation:panel-enter .35s var(--ease) both}
.steps-grid article{position:relative}
.steps-grid article>span{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #b6d9cc;border-radius:50%;background:var(--mist)}
.faq-list summary>span{transition:transform .25s}
.faq-list details[open] p{animation:panel-enter .3s var(--ease)}
.cta-section{position:relative;overflow:hidden;background:linear-gradient(120deg,#102c3a,#0b4147)}
.cta-section:before{content:'';position:absolute;right:-95px;top:-180px;width:500px;height:500px;border:1px solid #bde4d220;border-radius:50%;box-shadow:0 0 0 35px #bde4d207,0 0 0 70px #bde4d207;pointer-events:none}
.cta-inner{position:relative}
.cta-secondary{display:block;color:var(--mint);font-size:12px;margin-top:17px;width:fit-content;text-decoration:underline;text-underline-offset:5px}
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}
.social-links a{display:inline-flex;align-items:center;gap:8px;font-size:11px;padding:8px 11px;min-height:38px;border:1px solid currentColor;border-radius:4px;transition:background .2s,transform .2s}
.social-links a>svg{width:14px;height:14px}
.social-links a:hover{background:#008c8212;transform:translateY(-2px)}
.site-footer .social-links{color:var(--mint);margin-top:24px}
.site-footer .social-links a{font-size:10px}
.site-footer .footer-telegram{display:flex;align-items:center;gap:8px;color:var(--mint)}
.footer-telegram>svg{width:17px;height:17px}
.contact-section{padding-top:65px}
.contact-telegram-card{background:var(--mist);border:1px solid #cae3d9;border-radius:9px;padding:22px;margin:0 0 35px;max-width:335px}
.contact-telegram-card p{font-size:13px;margin:13px 0 0;color:var(--ink)}
.contact-telegram-card p>span{font-size:11px;color:var(--muted)}
.contact-information .role{margin-bottom:26px}
.contact-method .social-links{margin-top:10px}
.contact-method .social-links a{font-size:12px;gap:8px;margin:0}
.enquiry-panel{border-radius:12px;box-shadow:0 12px 45px #102c3a07;scroll-margin-top:125px}
.enquiry-panel>.eyebrow{font-size:10px;margin-bottom:15px}
.enquiry-panel .form-intro{margin-bottom:25px}
.enquiry-form .field{margin-bottom:18px}
.enquiry-form textarea{min-height:90px;font-size:14px}
.enquiry-form input,.enquiry-form select{border-radius:5px;font-size:14px;transition:border-color .2s,box-shadow .2s}
.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #008c8210;outline-offset:2px}
.field-hint{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:6px}
.message-preview{padding:15px 18px;background:#edf6f1;border:1px solid #d9e9e1;border-radius:7px;margin:21px 0}
.preview-label{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:var(--deep-teal);font-weight:700}
.message-preview p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.65;color:var(--ink);margin:8px 0 0;max-height:180px;overflow-y:auto}
.enquiry-send{width:100%;justify-content:flex-start;gap:12px;font-size:14px}
.enquiry-send>svg:last-child{margin-left:auto}
.send-note{font-size:10px;text-align:center;margin:9px 0 18px}
.enquiry-alternatives{display:flex;align-items:center;justify-content:center;gap:24px}
.enquiry-alternatives a,.enquiry-alternatives button{border:0;padding:5px 0;background:none;color:var(--deep-teal);text-decoration:underline;text-underline-offset:4px;font-size:11px;min-height:35px}
.enquiry-form .privacy-note{text-align:center;font-size:9px;margin:18px 0 0}
.enquiry-form .form-status:empty{display:none}
.copy-fallback{margin-top:18px}
.copy-fallback label{font-size:11px;display:block;margin-bottom:7px}
.dialog-open{overflow:hidden}
.enquiry-dialog{border:1px solid var(--line);border-radius:13px;width:min(590px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:31px 34px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #102c3a33;overscroll-behavior:contain}
.enquiry-dialog::backdrop{background:#0c293c88;backdrop-filter:blur(4px)}
.enquiry-dialog[open]{animation:dialog-enter .25s var(--ease)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}
.dialog-header .eyebrow{font-size:9px;margin:0}
.dialog-close{border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);width:35px;height:35px;display:grid;place-items:center;font-size:26px;line-height:1;flex-shrink:0}
.enquiry-dialog h2{font-size:30px;letter-spacing:-1px;line-height:1.15;margin-bottom:12px}
.dialog-intro{font-size:12px;margin-bottom:21px}
.enquiry-dialog .field label{font-size:11px;margin-bottom:6px}
.enquiry-dialog .field{margin-bottom:13px}
.enquiry-dialog .message-preview{margin:16px 0}
.enquiry-dialog .message-preview p{max-height:100px}
.enquiry-dialog input,.enquiry-dialog select{padding:10px 11px;min-height:43px;font-size:13px}
.enquiry-dialog textarea{padding:10px 11px;min-height:75px;font-size:13px}
.contact-dock{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;align-items:flex-end;flex-direction:column;gap:13px}
.dock-toggle{background:var(--ink);color:#fff;border:1px solid #ffffff40;box-shadow:0 5px 24px #102c3a29;border-radius:40px;display:flex;align-items:center;gap:11px;padding:14px 21px;font-size:12px;min-height:51px;transition:transform .2s,background .2s}
.dock-toggle>svg{width:21px;height:21px;color:var(--mint)}
.dock-toggle:hover{transform:translateY(-3px);background:var(--deep-teal)}
.dock-close{display:none;font-size:23px;line-height:1}
.dock-toggle[aria-expanded=true] .dock-close{display:block}
.contact-dock-panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 50px #102c3a24;border-radius:12px;padding:24px;width:310px;animation:panel-enter .2s var(--ease)}
.dock-person{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mist);color:var(--deep-teal);font-size:14px}
.dock-person strong{display:block;font-size:13px}
.dock-person div>span{display:block;font-size:10px;color:var(--muted)}
.contact-dock-panel p{font-size:12px;margin-bottom:20px}
.contact-dock-panel .button{width:100%;min-height:47px;font-size:12px;gap:10px}
.dock-enquiry{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;padding:13px 0;color:var(--deep-teal)}
.dock-enquiry svg{width:17px;height:17px}
.dock-call{display:block;font-size:10px;text-align:center;border-top:1px solid var(--line);padding-top:12px}
.mobile-contact-bar{display:none}
@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes caption-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes gentle-pulse{0%,100%{box-shadow:0 0 0 3px #008c8212}50%{box-shadow:0 0 0 6px #008c8208}}
@keyframes panel-enter{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:1100px){.hero-actions{gap:15px}.hero-actions .text-link{font-size:11px}.finder-panel{padding:30px}.finder-tabs{padding:15px}.finder-tabs button{padding:17px 15px;font-size:14px;gap:11px}.finder-actions{gap:15px}.finder-panel h3{font-size:29px}.header-inner{gap:25px}.header-cta{gap:9px;font-size:11px}.header-cta svg{width:18px;height:18px}}
@media(max-width:820px){.finder-grid{grid-template-columns:.85fr 1.15fr}.finder-tabs{padding:12px}.finder-tabs button{padding:15px 10px;font-size:12px;gap:10px;min-height:80px}.finder-tabs button>svg{width:16px;height:16px}.finder-panel{padding:25px}.finder-panel h3{font-size:26px}.finder-panel>p{font-size:12px}.finder-actions .button{font-size:11px}.hero-prompt{left:15px;right:15px;padding:13px}.hero-prompt strong{font-size:13px}.hero-tag{left:15px;font-size:9px;padding:9px 12px}.hero-actions .text-link{font-size:11px}.contact-telegram-card{grid-column:1/-1;max-width:400px}.contact-dock{right:18px;bottom:18px}}
@media(max-width:600px){
  body{padding-bottom:72px}
  .hero-copy h1{font-size:clamp(38px,11vw,44px)}
  .hero-actions{display:flex;gap:12px 23px}
  .hero-actions .button{font-size:13px;gap:10px;padding:14px 18px}
  .hero-actions .text-link{font-size:12px;padding:10px 0}
  .hero-footnote{margin-top:20px}
  .hero-location{font-size:10px}
  .hero-image{height:340px}
  .photo-caption{bottom:96px;left:13px;padding:11px 14px;gap:12px}
  .photo-caption img{width:27px;height:27px}
  .hero-tag{top:14px;left:14px;font-size:9px}
  .hero-prompt{bottom:15px;left:13px;right:13px;padding:13px 15px}
  .hero-prompt strong{font-size:14px}
  .hero-prompt>span{font-size:9px}
  .hero-image:before{inset:12px -10px -12px 14px}
  .finder-grid{grid-template-columns:1fr;border-radius:10px}
  .finder-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-right:0;border-bottom:1px solid var(--line);padding:12px}
  .finder-tabs button{min-height:75px;font-size:11px;padding:13px 11px;gap:9px;line-height:1.5}
  .finder-tabs button>span{font-size:9px}
  .finder-tabs button>svg{display:none}
  .finder-panel{min-height:350px;padding:25px 22px}
  .finder-panel h3{font-size:28px;max-width:360px}
  .finder-panel>p{font-size:13px}
  .finder-panel-top{margin-bottom:17px}
  .finder-points{margin:20px 0 24px}
  .finder-points li{font-size:9px}
  .finder-actions{gap:17px}
  .finder-actions .button{font-size:11px;padding:13px 15px;min-height:48px}
  .finder-actions .text-link{font-size:11px}
  .service-overview{padding-top:0}
  .service-row h3{font-size:22px}
  .steps-grid article>span{width:28px;height:28px;font-size:9px}
  .contact-dock{display:none}
  .mobile-contact-bar{position:fixed;z-index:46;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 15px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -4px 25px #102c3a0a;background:#fbfcfaf5;backdrop-filter:blur(10px)}
  .mobile-contact-bar>a{min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;border-radius:5px}
  .mobile-contact-bar>.button{padding:10px 15px}
  .mobile-contact-bar>a:last-child{border:1px solid var(--line);color:var(--ink)}
  .mobile-contact-bar svg{width:19px;height:19px}
  .enquiry-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:22px 21px;border-radius:10px}
  .enquiry-dialog h2{font-size:26px}
  .enquiry-dialog .form-row{grid-template-columns:1fr 1fr;gap:12px}
  .enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea,.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px}
  .enquiry-dialog input::placeholder{font-size:10px}
  .enquiry-dialog .field label{font-size:10px;line-height:1.5}
  .enquiry-dialog .field label span{font-size:9px}
  .enquiry-dialog .message-preview p{max-height:100px;font-size:10px}
  .enquiry-dialog .send-note{font-size:9px}
  .contact-section{padding-top:40px}
  .contact-telegram-card{max-width:none}
  .enquiry-panel{padding:26px 21px}
  .enquiry-panel h2{font-size:27px}
  .enquiry-send{font-size:12px;gap:9px}
  .enquiry-send>svg{width:20px;height:20px}
  .contact-method .social-links a{font-size:12px}
  .site-footer{padding-bottom:10px}
  .site-footer .social-links{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .hero-copy,.hero-image{opacity:1;transform:none}
  .hero-image:hover .hero-photo{transform:none}
}
@media print{.contact-dock,.mobile-contact-bar,.reading-progress,.enquiry-dialog{display:none!important}.reveal{opacity:1;transform:none}body{padding-bottom:0}}
