
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
600;700;800;900&family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display&family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Jost:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&family=Playfair+Display:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#f8f6f1;--ink:#202c2c;--muted:#687374;--accent:#ba805e;--surface:#fff;--border:rgba(30,36,35,.15);--serif:Georgia,serif;--sans:Arial,sans-serif;--radius:0px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body,main{overflow-x:clip}
a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08}h1{font-family:var(--serif);font-size:clamp(3.5rem,7.1vw,8.5rem);font-weight:600;letter-spacing:-.055em}h2{font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,5.2vw,6.2rem);letter-spacing:-.05em}h3{font-size:clamp(1.15rem,1.9vw,1.7rem);letter-spacing:-.027em}p{line-height:1.7}button,input,textarea,select{font:inherit}button{cursor:pointer}.skip{position:absolute;top:-100px;left:10px;background:white;color:black;padding:8px;z-index:100}.skip:focus{top:10px}.demo-banner{text-align:center;padding:8px 16px;background:#131b1b;color:#fff;letter-spacing:.11em;font-size:10px;text-transform:uppercase}
.site-header{position:relative;z-index:10;border-bottom:1px solid var(--border)}.site-nav{margin:auto;max-width:1560px;padding:18px clamp(21px,4vw,64px);min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:800;letter-spacing:-.02em;font-size:20px}.logo-mark{font-family:var(--serif);font-size:32px;font-weight:400;color:var(--accent)}.logo-sub{display:block;letter-spacing:.18em;font-size:8px;opacity:.55;margin-top:2px}.navlinks{display:flex;gap:clamp(10px,2vw,32px);align-items:center;font-size:12px;font-weight:700}.navlinks a:not(.button){position:relative;padding:8px 0}.navlinks a:not(.button):hover,.navlinks a[aria-current=page]{color:var(--accent)}.nav-toggle{display:none;background:transparent;color:inherit;border:1px solid var(--border);padding:10px 13px;font-size:17px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;background:var(--ink);color:var(--bg);padding:16px 23px;font-size:13px;font-weight:700;border:1px solid transparent;cursor:pointer;border-radius:var(--radius);min-height:53px;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-2px);filter:brightness(1.14)}.button.secondary{background:transparent;color:var(--ink);border-color:currentColor}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-block}.micro,.section-tag{font-size:10px;letter-spacing:.23em;font-weight:800;text-transform:uppercase}.hero{position:relative;min-height:650px}.hero-art{height:100%;width:100%;object-fit:cover}.hero h1{margin:19px 0 27px}.hero p{max-width:570px}.hero .buttons{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:30px}.inner{max-width:1512px;padding:0 clamp(22px,5vw,78px);margin:0 auto}.editorial-block{padding:clamp(72px,8vw,135px) 0}.block-intro{background:var(--surface)}.block-intro .inner{display:grid;grid-template-columns:1fr 1.4fr .25fr;gap:4vw;align-items:start}.intro-text h2{margin-bottom:22px}.intro-text p{max-width:700px;font-size:clamp(17px,1.6vw,22px);color:var(--muted);margin-bottom:30px}.intro-mark{font-family:var(--serif);font-size:130px;color:var(--accent);opacity:.45;line-height:1}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:45px}.section-heading h2{max-width:790px;margin:15px 0 0}.section-heading p{max-width:300px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.service-tile{padding:clamp(22px,2vw,35px);background:var(--surface);border:1px solid var(--border);min-height:320px;display:flex;flex-direction:column;transition:transform .2s,background .2s}.service-tile:hover{transform:translateY(-6px)}.service-id{font-size:10px;letter-spacing:.13em;color:var(--accent)}.service-tile h3{margin:36px 0 15px}.service-tile p{font-size:13px;color:var(--muted);line-height:1.7}.tile-arrow{font-size:22px;margin-top:auto;align-self:flex-end}.block-projects{background:var(--ink);color:var(--bg)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-card{background:rgba(255,255,255,.055);padding:15px 15px 24px;min-height:400px}.feature-number{display:block;opacity:.65;margin:10px;font-size:11px;letter-spacing:.13em}.feature-art{height:clamp(180px,24vw,320px);overflow:hidden;display:block}.feature-art img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.feature-card:hover img{transform:scale(1.07)}.feature-card:nth-child(2) .feature-art img{transform:scale(1.18) rotate(5deg)}.feature-card:nth-child(3) .feature-art img{transform:scale(1.2) translateX(-5%)}.feature-card h3{margin:22px 10px 7px}.feature-cta{font-size:12px;opacity:.65;margin-left:10px}.block-steps{background:var(--surface)}.block-steps .inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.block-steps h2{margin:25px 0}.block-steps p{color:var(--muted);max-width:380px}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;align-items:center;gap:30px;padding:26px 0;border-bottom:1px solid var(--border)}.steps span{font-size:12px;color:var(--accent);font-weight:800}.steps b{font-family:var(--serif);font-weight:500;font-size:clamp(23px,2.5vw,39px)}.block-articles .section-heading{margin-bottom:25px}.article-row{display:grid;grid-template-columns:180px 1fr 30px;gap:20px;align-items:center;padding:24px 0;border-top:1px solid var(--border)}.article-row:last-child{border-bottom:1px solid var(--border)}.article-row span{font-size:10px;letter-spacing:.12em;color:var(--accent)}.article-row strong{font-size:clamp(20px,2.5vw,37px);font-weight:500;letter-spacing:-.04em}.article-row:hover strong{color:var(--accent)}.last-cta{background:var(--accent);padding:clamp(80px,9vw,130px) 0}.last-cta .inner{max-width:1100px;text-align:center}.last-cta h2{margin:20px 0}.last-cta p{margin:0 auto 30px;max-width:600px}.site-footer{background:#121b1c;color:#f9f8ef;padding:60px 0 23px}.footer-content{max-width:1500px;padding:0 clamp(22px,5vw,78px);margin:auto;display:flex;align-items:start;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-content h3{font-size:27px;margin-bottom:12px}.footer-content p{max-width:390px;font-size:12px;color:#bfc3c1}.footer-links{display:flex;flex-wrap:wrap;gap:24px;font-size:12px}.footer-links a:hover{text-decoration:underline}.footer-bottom{text-align:center;border-top:1px solid #ffffff25;margin:50px auto 0;max-width:1350px;padding:22px;font-size:10px;letter-spacing:.07em;color:#abb5b5}
.page-hero{padding:105px 0 80px;background:var(--surface);border-bottom:1px solid var(--border)}.page-hero .inner{display:grid;grid-template-columns:1.2fr .6fr;gap:12%;align-items:end}.page-hero h1{font-size:clamp(3.2rem,6.6vw,7rem);max-width:930px;margin:21px 0 0}.page-hero p{font-size:18px;color:var(--muted);line-height:1.7}.page-section{padding:75px 0 110px}.page-section .inner{max-width:1420px}.page-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.page-card{background:var(--surface);padding:clamp(28px,4vw,55px);border:1px solid var(--border);min-height:260px;display:flex;flex-direction:column}.page-card span{font-size:11px;color:var(--accent)}.page-card h2{font-size:clamp(25px,3.5vw,46px);margin:25px 0 15px}.page-card p{color:var(--muted);font-size:15px}.page-card a{margin-top:auto;display:inline-block;font-weight:700;font-size:12px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.work-tile{background:var(--surface);border:1px solid var(--border);padding:16px}.work-tile .work-illustration{height:280px;background:var(--bg);overflow:hidden}.work-tile img{width:100%;height:100%;object-fit:cover}.work-tile h2{margin:20px 10px 10px;font-size:clamp(25px,3vw,38px)}.work-tile p{padding:0 10px 17px;color:var(--muted);font-size:14px}.story-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:start}.story-layout>div:first-child img{border:14px solid var(--surface)}.story-layout p{margin-bottom:23px;font-size:19px;color:var(--muted)}.story-layout h2{margin:17px 0 30px}.story-points{padding:0;list-style:none}.story-points li{padding:16px 0;border-bottom:1px solid var(--border);font-size:15px}.insight-list{max-width:1000px;margin:auto}.insight-item{padding:32px 0;border-bottom:1px solid var(--border)}.insight-item span{color:var(--accent);font-size:11px;letter-spacing:.12em}.insight-item h2{margin:15px 0 15px;font-size:clamp(30px,3.8vw,53px)}.insight-item p{color:var(--muted);font-size:16px}.privacy-block{background:var(--surface);max-width:900px;padding:50px;margin:0 auto}.privacy-block p{margin:16px 0;color:var(--muted)}.faq details{border-bottom:1px solid var(--border);padding:18px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted);padding-top:12px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%}.contact-explain h2{font-size:clamp(30px,4vw,58px);margin:20px 0}.contact-explain p{margin:20px 0;color:var(--muted)}.contact-form{background:var(--surface);padding:clamp(23px,4vw,56px);border:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field.wide{grid-column:1/-1}.field label{display:block;font-size:12px;margin-bottom:7px;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid #9b9e9d63;background:transparent;color:var(--ink);padding:14px;min-height:51px;border-radius:1px}.field textarea{height:134px;resize:vertical}.checkrow{display:flex;gap:12px;align-items:start;font-size:12px;margin:22px 0}.checkrow input{margin-top:3px}.status{margin:15px 0;font-size:13px}.status.ok{color:#236a4a}.status.err{color:#b43b3b}.hidden{position:absolute!important;width:1px!important;height:1px!important;left:-9999px;overflow:hidden}.contact-notice{font-size:12px;line-height:1.65;border-top:1px solid var(--border);margin-top:33px;padding-top:22px}
@media(max-width:980px){.site-nav{min-height:72px}.nav-toggle{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);z-index:15;flex-direction:column;align-items:stretch;padding:24px;box-shadow:0 15px 20px #0002}.navlinks.open{display:flex}.navlinks>a{padding:12px 4px!important}.service-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(3,1fr)}.block-intro .inner{grid-template-columns:1fr 2fr}.intro-mark{display:none}.page-hero .inner{grid-template-columns:1fr}.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:670px){h1{font-size:clamp(2.7rem,12.5vw,5rem)}.site-header{position:relative}.logo{font-size:16px}.logo-sub{font-size:7px}.navlinks{gap:12px}.inner{padding:0 22px}.hero{min-height:unset}.editorial-block{padding:70px 0}.section-heading{display:block}.section-heading p{margin-top:16px}.block-intro .inner,.block-steps .inner{grid-template-columns:1fr}.service-grid,.feature-grid,.page-cards,.work-grid,.story-layout,.contact-layout{grid-template-columns:1fr}.service-tile{min-height:250px}.feature-art{height:260px}.article-row{grid-template-columns:1fr 22px;gap:7px}.article-row span{grid-column:1/-1}.page-section{padding:55px 0 75px}.page-hero{padding:72px 0 54px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.footer-content{flex-direction:column}.footer-links{gap:14px 20px}.site-nav{min-width:0}.logo{white-space:normal;min-width:0;max-width:calc(100% - 65px)}.logo-sub{max-width:220px;letter-spacing:.08em;white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

:root{--bg:#f5f9ff;--ink:#152d60;--accent:#ff9454}
body{--bg:#f2f7ff;--ink:#16386d;--muted:#647c98;--surface:#fff;--accent:#f68d52;--serif:'Outfit',Arial,sans-serif;--sans:'DM Sans',sans-serif;--radius:22px}.site-header{background:#f2f7ff}.logo{font-family:'Outfit';font-size:25px}.hero-academy{background:#dfecff;display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;gap:3%;align-items:center;padding:90px 6% 70px;overflow:hidden}.academy-bubble{position:absolute;right:5%;top:28px;background:#ffae7d;padding:13px 24px;border-radius:100px;font-size:10px;letter-spacing:.14em;transform:rotate(5deg)}.academy-left h1{font-size:clamp(4.5rem,8.4vw,9rem);font-weight:800;line-height:.94}.academy-left p{font-size:19px}.academy-left .button{background:#f68d52;color:#193f76}.academy-art{position:relative;transform:rotate(4deg);filter:drop-shadow(16px 20px 0 #b5ccec)}.academy-art img{height:530px;object-fit:contain}.grade-stamp{position:absolute;right:0;bottom:20px;background:#164785;color:#fff;padding:24px;border-radius:50%;width:130px;height:130px;display:grid;place-items:center;font-size:17px;font-weight:900;line-height:1.18;transform:rotate(-13deg)}.academy-note{position:absolute;bottom:20px;left:6%;font-size:9px;letter-spacing:.1em}.block-steps{background:#fff2d9}.block-offer{background:#e7f0ff}.service-tile{border-radius:22px;background:#fff}.block-projects{background:#173c74}.feature-card{border-radius:14px}.last-cta{background:#ffa477;color:#183d77}@media(max-width:850px){.hero-academy{grid-template-columns:1fr;padding:80px 24px 70px}.academy-art img{height:350px}.academy-note{position:static}.academy-bubble{font-size:8px;top:15px}}
@media(max-width:670px){.academy-left h1{font-size:clamp(2.9rem,11.5vw,4.5rem);overflow-wrap:anywhere}.academy-left p{font-size:16px}}

/* WEBTECHIO MOBILE QA PATCH v2 — scoped to responsive viewports only. */
@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; }
  html, body { max-width: 100%; }
  img, picture, video, canvas, svg { max-width: 100%; }
  iframe { max-width: 100%; }
  input, select, textarea { max-width: 100%; min-width: 0; }
  button, [role="button"], a { touch-action: manipulation; }
  :is(main, header, footer, section, article, aside, .container, .wrap, .grid, .hero, .hero-copy) { min-width: 0; }
  :is(h1, h2, h3, h4, p, a, button) { overflow-wrap: break-word; }
  [hidden] { display: none !important; }
}
@media (max-width: 480px) {
  html, body { max-width: 100%; }
  :is(input, select, textarea) { font-size: max(16px, 1em); }
  :is(.page-title, .hero-title, .hero h1) { max-width: 100%; }
  :is(.button-group, .hero-actions, .cta-actions) { flex-wrap: wrap; }
  table { max-width: 100%; }
  :is(.table-wrap,.table-responsive,.table-scroll) { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}


/* WEBTECHIO-QA31-20261102: non-invasive responsive/touch hardening */
@media (max-width: 980px) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-menu.is-open) {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  :where(form,fieldset,.form-grid,.contact-form,.booking-form) { min-width:0; }
  :where(form input:not([type=checkbox]):not([type=radio]),form textarea,form select) {
    min-width:0; max-width:100%;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) {
    flex-wrap: wrap;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) > :is(a,button) {
    max-width:100%;
  }
}
@media (max-width: 767px) and (pointer:coarse) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-nav.open,.mobile-nav.is-open) a {
    min-height:44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
}
@media(max-width:980px){.navlinks.open{max-height:calc(100dvh - 85px);overflow-y:auto;padding-bottom:max(20px,env(safe-area-inset-bottom,0px));}}
