
    :root { --paper:#F8F9F6; --white:#FFFFFF; --ink:#202A32; --cobalt:#335CB5; --muted:#57616A; --line:#D9DEE5; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.55 Arial,Helvetica,sans-serif; }
    a { color:inherit; text-underline-offset:3px; }
    a:hover { color:var(--cobalt); }
    button,a { -webkit-tap-highlight-color:transparent; }
    :focus-visible { outline:3px solid var(--cobalt); outline-offset:4px; }
    .en { display:none; }
    html[lang="en"] .fr { display:none; }
    html[lang="en"] .en { display:initial; }
    .wrap { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
    .site-header { border-bottom:1px solid var(--line); background:var(--white); }
    .header-inner { min-height:78px; display:flex; align-items:center; gap:24px; }
    .brand { display:flex; align-items:center; gap:11px; text-decoration:none; flex:1; font-weight:700; letter-spacing:-.025em; }
    .brand img { width:42px; height:42px; }
    nav { display:flex; align-items:center; gap:28px; font-size:.93rem; font-weight:600; }
    .lang-switch { border:1px solid var(--ink); background:var(--white); color:var(--ink); font:700 .84rem Arial,sans-serif; padding:9px 11px; cursor:pointer; min-width:48px; }
    .lang-switch:hover { background:var(--paper); }
    .hero { padding:78px 0 86px; }
    .hero-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(245px,.65fr); gap:7%; align-items:end; }
    .eyeline { margin:0 0 20px; color:var(--cobalt); font-weight:700; font-size:.93rem; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; }
    h1 { font-size:clamp(2.85rem,5.3vw,5.5rem); line-height:1.09; margin:0 0 31px; max-width:950px; }
    .hero-rule { border-left:9px solid var(--cobalt); padding-left:24px; }
    .hero-copy { font-size:1.16rem; max-width:610px; color:var(--muted); margin:0 0 28px; }
    .actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }
    .button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; background:var(--cobalt); border:1px solid var(--cobalt); color:var(--white); font-weight:700; text-decoration:none; padding:11px 20px; }
    .button:hover { background:#24468d; color:var(--white); }
    .text-link { font-weight:700; }
    .portrait { border:1px solid var(--line); background:#E7ECF8; aspect-ratio:4/5; display:grid; place-items:center; position:relative; overflow:hidden; }
    .portrait img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
    .portrait-fallback { text-align:center; color:var(--muted); padding:24px; font-size:.92rem; }
    .portrait-fallback strong { display:block; margin-top:12px; color:var(--ink); font-size:1.05rem; }
    .portrait-symbol { width:86px; height:86px; border:2px solid var(--cobalt); border-radius:50%; margin:auto; position:relative; }
    .portrait-symbol:before { content:""; width:27px; height:27px; border:2px solid var(--cobalt); border-radius:50%; position:absolute; top:14px; left:27px; }
    .portrait-symbol:after { content:""; width:52px; height:23px; border:2px solid var(--cobalt); border-radius:52px 52px 0 0; position:absolute; bottom:12px; left:15px; }
    .proof { background:var(--white); border-block:1px solid var(--line); }
    .proof-inner { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding-block:27px; }
    .proof p { margin:0; font-size:.91rem; line-height:1.4; }
    .proof strong { display:block; font-size:1.1rem; color:var(--ink); margin-bottom:3px; }
    section.content { padding:90px 0; }
    .section-intro { max-width:670px; margin-bottom:39px; }
    h2 { font-size:clamp(2.3rem,4vw,3.7rem); line-height:1.13; margin-bottom:15px; }
    .section-intro p { color:var(--muted); font-size:1.06rem; margin:0; }
    .services { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
    .service-group { border-top:4px solid var(--cobalt); padding-top:22px; }
    .service-group h3 { font:400 2rem/1.2 Georgia,'Times New Roman',serif; letter-spacing:-.03em; margin-bottom:23px; }
    .service-list { margin:0; padding:0; list-style:none; }
    .service-list li { padding:19px 0; border-top:1px solid var(--line); }
    .service-list strong { display:block; margin-bottom:4px; font-size:1.02rem; }
    .service-list span { color:var(--muted); }
    .more-it { margin-top:20px; padding:19px 21px; background:var(--white); border-left:3px solid var(--ink); }
    .more-it strong { display:block; margin-bottom:4px; }
    .more-it p { margin:0; color:var(--muted); }
    .process { background:var(--white); border-block:1px solid var(--line); }
    .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
    .step { border-top:1px solid var(--line); padding-top:22px; }
    .step-num { color:var(--cobalt); font:400 2.3rem/1 Georgia,serif; margin-bottom:18px; }
    .step h3 { font-size:1.12rem; margin-bottom:8px; }
    .step p { color:var(--muted); margin:0; }
    .price-amount { font-weight:700; font-size:1.09rem; white-space:nowrap; }
    .price-time { color:var(--muted); font-size:.94rem; }
    .about { background:var(--white); border-block:1px solid var(--line); }
    .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:65px; }
    .about p { color:var(--muted); font-size:1.02rem; line-height:1.65; }
    .about-facts { padding-left:26px; border-left:3px solid var(--cobalt); }
    .about-facts p:last-child { margin-bottom:0; }
    .contact { padding:82px 0 90px; }
    .contact-box { border:1px solid var(--line); background:var(--white); padding:40px; display:flex; justify-content:space-between; align-items:end; gap:32px; }
    .contact-box h2 { max-width:640px; margin-bottom:12px; }
    .contact-box p { color:var(--muted); margin:0; }
    .contact-links { display:grid; gap:13px; white-space:nowrap; }
    .contact-links a { font-weight:700; font-size:1.12rem; }
    footer { background:var(--white); border-top:1px solid var(--line); padding:35px 0 44px; }
    .footer-inner { display:grid; grid-template-columns:190px 1fr; gap:38px; }
    .footer-name { font-weight:700; }
    .privacy { color:var(--muted); font-size:.95rem; line-height:1.6; max-width:820px; }
    .privacy p { margin:0; }
    @media(max-width:760px) {
      .wrap { width:min(100% - 36px,1120px); }
      .header-inner { min-height:69px; gap:12px; }
      .brand img { width:36px; height:36px; }
      nav { gap:14px; }
      nav { order:3; width:100%; overflow-x:auto; gap:22px; padding:0 0 12px; white-space:nowrap; }
      nav a { display:block; flex:none; }
      .header-inner { flex-wrap:wrap; row-gap:0; }
      .hero { padding:47px 0 55px; }
      .hero-grid { grid-template-columns:1fr; gap:38px; }
      h1 { font-size:clamp(2.55rem,10vw,4.25rem); }
      .hero-rule { border-left-width:6px; padding-left:16px; }
      .portrait { width:min(210px,100%); aspect-ratio:4/5; }
      .proof-inner { grid-template-columns:1fr; gap:16px; padding-block:22px; }
      .proof p { border-left:2px solid var(--line); padding-left:13px; }
      .service-list li { padding:16px 0; }
      section.content { padding:60px 0; }
      .services,.steps,.about-grid { grid-template-columns:1fr; gap:34px; }
      .price-time { grid-column:1/-1; }
      .about-facts { padding-left:18px; }
      .contact { padding:56px 0; }
      .contact-box { display:block; padding:25px; }
      .contact-links { margin-top:26px; }
      .footer-inner { grid-template-columns:1fr; gap:14px; }
    }
    @media(max-width:400px) {
      .brand span { font-size:.95rem; }
      h1 { font-size:2.48rem; }
      .hero-copy { font-size:1.04rem; }
      .price-time { grid-column:auto; }
      .contact-links a { font-size:1rem; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
    :root { --paper:#F4F4F2; --white:#FFFFFF; --ink:#101010; --cobalt:#202020; --muted:#515151; --line:#D5D5D2; }
    body { font-family:'DM Sans',Arial,sans-serif; }
    h1,h2,h3 { font-family:Manrope,Arial,sans-serif; }
    h1,h2 { font-weight:800; letter-spacing:-.055em; }
    h1 { line-height:1.04; }
    .site-header { position:sticky; top:0; z-index:20; box-shadow:0 1px 0 var(--line); }
    .header-inner { min-height:72px; }
    .brand-mark { display:block; width:48px; height:54px; position:relative; overflow:hidden; flex:none; }
    .brand-mark img { position:absolute; width:115px; height:115px; max-width:none; left:-34px; top:-26px; }
    .hero { background:var(--white); padding:76px 0 88px; }
    .hero-grid { grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr); align-items:center; }
    .eyeline { display:inline-block; color:var(--ink); background:#ECECEA; border-radius:30px; padding:7px 14px; font-size:.84rem; margin-bottom:24px; }
    .hero-rule { border:0; padding:0; }
    .hero-copy { color:var(--muted); }
    .portrait { background:var(--paper); border:0; border-radius:180px 180px 8px 8px; }
    .proof { background:var(--ink); color:#E6E6E6; border:0; }
    .proof strong { color:#FFFFFF; }
    .proof-inner { padding-block:26px; }
    .service-group { border-top:2px solid var(--ink); }
    .service-group h3 { font-size:1.65rem; font-weight:800; }
    .more-it { border-left-color:var(--ink); }
    .work { background:#ECECEA; }
    .work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
    .work-item { background:var(--white); padding:32px; border-top:4px solid var(--cobalt); }
    .work-item h3 { font-size:1.3rem; line-height:1.25; letter-spacing:-.035em; margin-bottom:18px; }
    .work-item p { color:var(--muted); margin:0 0 13px; }
    .work-item p:last-child { margin-bottom:0; }
    .n2l { background:#EDEAF4; }
    .n2l-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .n2l-card { display:flex; flex-direction:column; min-height:245px; padding:30px; border:1px solid var(--line); background:var(--white); }
    .n2l-card h3 { font-size:1.45rem; line-height:1.25; margin:0 0 13px; }
    .n2l-card p { color:var(--muted); margin:0 0 24px; }
    .n2l-card a { margin-top:auto; font-weight:700; color:var(--cobalt); }
    .work-item strong { color:var(--ink); }
    .process { background:var(--ink); color:var(--white); }
    .process .section-intro p,.process .step p { color:#D2D2D2; }
    .process .step { border-top-color:#777; }
    .step-num { color:#E0E0E0; font-family:Manrope,Arial,sans-serif; font-weight:800; }
    .contact { background:var(--ink); }
    .contact-box { border:0; background:var(--white); }
    .button { border-radius:4px; }
    .button:hover { background:#414141; }
    .site-header .brand { gap:6px; }
    .hero::before { content:""; position:absolute; right:0; top:74px; width:min(30vw,380px); height:1px; background:var(--line); }
    .hero { position:relative; }
    .service-group, .work-item { border-top-color:var(--ink); }
    .contact-box { border-top:7px solid var(--white); }
    .lang-switch { border-radius:50%; width:43px; height:43px; min-width:43px; padding:0; }
    @media(max-width:760px) { .hero { padding:48px 0 58px; } .hero-grid,.work-grid { grid-template-columns:1fr; } .portrait { width:190px; justify-self:center; } .site-header { position:static; } }
    /* The Y mark supplies the arc, horizontal rule and power-ring geometry. */
    :root { --paper:#F5F4F2; --white:#FFFFFF; --ink:#191721; --cobalt:#6350BA; --muted:#514D5D; --line:#D8D5DF; --ember:#F3B880; }
    body { background:var(--paper); color:var(--ink); }
    .site-header { background:rgba(250,249,252,.94); backdrop-filter:blur(18px); border-bottom-color:var(--line); }
    .header-inner { min-height:76px; }
    .lang-switch { border-color:var(--ink); }
    .language-picker { display:flex; flex:none; align-items:center; border:1px solid var(--ink); border-radius:22px; padding:3px; gap:2px; }
    .language-picker button { border:0; border-radius:18px; padding:6px 9px; background:transparent; color:var(--ink); font:700 .76rem 'DM Sans',Arial,sans-serif; cursor:pointer; }
    .language-picker button[aria-pressed="true"] { background:var(--ink); color:var(--white); }
    .language-picker button:hover:not([aria-pressed="true"]) { background:#E9E6F1; }
    .hero { isolation:isolate; min-height:640px; display:flex; align-items:center; overflow:hidden; background:radial-gradient(circle at 75% 35%,#35304C 0,#1A1824 43%,#111017 100%); color:var(--white); padding:78px 0 92px; }
    .hero::before { width:100%; height:100%; top:0; right:0; background:linear-gradient(90deg,rgba(151,133,231,.07) 1px,transparent 1px),linear-gradient(rgba(151,133,231,.07) 1px,transparent 1px); background-size:66px 66px; mask-image:linear-gradient(90deg,transparent,#000); pointer-events:none; }
    .hero-grid { grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); gap:3%; position:relative; z-index:1; }
    .hero .eyeline { background:rgba(239,232,255,.12); border:1px solid rgba(239,232,255,.26); color:#F0E9FF; border-radius:2px; letter-spacing:.03em; }
    .hero h1 { font-size:clamp(3.1rem,5.2vw,5.25rem); max-width:790px; }
    .hero-copy { color:#D9D5E5; max-width:620px; }
    .hero .text-link { color:#F3E9FF; }
    .hero .button,.booking .button { color:#17131D; background:var(--ember); border-color:var(--ember); }
    .hero .button:hover,.booking .button:hover { background:#FFD0A6; border-color:#FFD0A6; color:#17131D; }
    .hero-art { height:490px; position:relative; perspective:680px; overflow:visible; }
    .grid-plane { position:absolute; left:-17%; right:-17%; bottom:-27%; height:108%; transform:rotateX(64deg) rotateZ(-17deg); transform-origin:center bottom; background-image:linear-gradient(rgba(174,155,245,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(174,155,245,.28) 1px,transparent 1px); background-size:45px 45px; border:1px solid rgba(174,155,245,.15); box-shadow:0 0 80px rgba(125,92,240,.12); mask-image:radial-gradient(ellipse at 50% 52%,#000 18%,transparent 72%); }
    .art-core { position:absolute; width:290px; height:290px; top:84px; left:50%; transform:translateX(-50%) rotate(-8deg); border:1px solid rgba(228,218,255,.38); border-radius:34px; background:linear-gradient(135deg,rgba(253,251,255,.22),rgba(138,112,240,.08)); box-shadow:0 40px 100px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.3); backdrop-filter:blur(13px); display:grid; place-items:center; }
    .art-core::before { content:""; position:absolute; inset:14px; border:1px solid rgba(230,216,255,.22); border-radius:25px; }
    .art-core img { display:block; width:270px; height:270px; object-fit:cover; filter:invert(1); mix-blend-mode:screen; }
    .art-orbit { position:absolute; border:1px solid rgba(220,202,255,.35); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%) rotateX(65deg) rotate(-18deg); }
    .art-orbit-one { width:440px; height:440px; }
    .art-orbit-two { width:540px; height:540px; border-color:rgba(243,184,128,.24); }
    .art-coordinate { position:absolute; right:4px; bottom:6px; color:#C9BCE8; font:600 .72rem/1.2 'DM Sans',Arial,sans-serif; letter-spacing:.16em; }
    .proof { background:#17151E; border-top:1px solid rgba(255,255,255,.14); }
    .proof-inner { gap:50px; }
    section.content { padding-block:104px; }
    .section-intro { max-width:790px; }
    h2 { font-size:clamp(2.4rem,4.2vw,4.4rem); }
    .service-group { border-top:2px solid var(--ink); }
    .service-group h3 { font-size:1.7rem; }
    .service-art,.work-art { margin:0; overflow:hidden; background:#191721; }
    .service-art { margin:22px 0 26px; aspect-ratio:2.2; }
    .service-art img,.work-art img { display:block; width:100%; height:100%; object-fit:cover; }
    .service-art img { object-position:center 59%; }
    .work-art { aspect-ratio:4.1; margin:0 0 27px; }
    .work-art img { object-position:center 65%; }
    .service-list li { border-color:#CDC9D6; }
    .more-it { background:#EAE6F3; border-left-color:var(--cobalt); }
    .work { background:#EDEAF4; }
    .work-item { border:1px solid #D9D3E7; border-top:5px solid var(--cobalt); box-shadow:0 18px 35px rgba(35,24,67,.06); }
    .process { background:linear-gradient(145deg,#201B30,#15131D); }
    .process .section-intro p,.process .step p { color:#D4CEDF; }
    .process .step { border-top-color:#70677F; }
    .step-num { color:var(--ember); }
    .about { background:#FBFAFC; }
    .about-grid { grid-template-columns:1.1fr .9fr; }
    .portrait-about { width:170px; aspect-ratio:4/5; margin:0 0 28px; border-radius:6px; }
    .portrait-about img { filter:grayscale(1); }
    .booking { color:var(--white); background:radial-gradient(circle at 80% 20%,#453269,#1A1626 64%); position:relative; overflow:hidden; }
    .booking::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(184,161,240,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(184,161,240,.09) 1px,transparent 1px); background-size:58px 58px; transform:perspective(750px) rotateX(67deg) scale(1.4); transform-origin:bottom; pointer-events:none; }
    .booking-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:8%; align-items:center; }
    .booking h2 { font-size:clamp(2.5rem,4.7vw,4.7rem); }
    .booking p { color:#D8D1E5; }
    .booking-tag { letter-spacing:.17em; font-size:.75rem; font-weight:700; color:var(--ember)!important; }
    .booking-panel { padding:34px; border:1px solid rgba(245,235,255,.3); background:rgba(255,255,255,.08); box-shadow:0 35px 85px rgba(0,0,0,.24); backdrop-filter:blur(15px); }
    .booking-panel h3 { font-size:1.55rem; margin:18px 0 5px; }
    .booking-calendar { display:flex; align-items:baseline; gap:8px; color:var(--ember); border-bottom:1px solid rgba(255,255,255,.24); padding-bottom:14px; }
    .booking-calendar span { font:800 4.4rem/.95 Manrope,Arial,sans-serif; letter-spacing:-.09em; }
    .booking-calendar small { font-size:.83rem; font-weight:700; letter-spacing:.15em; }
    .booking-button { margin:15px 0 12px; width:100%; }
    .booking-note { font-size:.78rem; margin:0; }
    .contact { background:var(--paper); }
    .contact-box { border:1px solid var(--line); border-left:7px solid var(--cobalt); }
    :focus-visible { outline-color:var(--ember); }
    @media(max-width:950px) { .hero-grid { grid-template-columns:1fr 300px; } .hero-art { height:390px; } .art-core { width:220px; height:220px; top:72px; } .art-core img { width:210px; height:210px; } .art-orbit-one { width:320px; height:320px; } .art-orbit-two { width:390px; height:390px; } }
    @media(max-width:760px) { .hero { padding:62px 0 34px; } .hero-grid,.booking-grid { grid-template-columns:1fr; } .hero h1 { font-size:clamp(2.7rem,10vw,4.2rem); } .hero-art { height:285px; margin-top:5px; } .art-core { width:175px; height:175px; top:35px; } .art-core img { width:170px; height:170px; } .art-orbit-one { width:245px; height:245px; } .art-orbit-two { width:305px; height:305px; } .art-coordinate { bottom:3px; right:10px; } section.content { padding-block:70px; } .booking-grid { gap:35px; } .booking-panel { padding:25px; } .about-grid { grid-template-columns:1fr; } }
    @media(max-width:760px) { .service-art { aspect-ratio:1.8; } .work-art { aspect-ratio:2.2; } }
    @media(max-width:400px) { .hero h1 { font-size:2.52rem; } .hero-art { height:255px; } .art-coordinate { font-size:.58rem; } .booking h2 { font-size:2.45rem; } }
    /* Small companion tiles echo the tilted glass card in the hero. */
    .service-group { display:grid; grid-template-columns:minmax(0,1fr) 140px; column-gap:20px; align-items:center; }
    .service-group h3 { grid-column:1; grid-row:1; margin:0; }
    .service-group .service-art { grid-column:2; grid-row:1; width:140px; height:112px; aspect-ratio:auto; margin:4px 0 0; border:1px solid #9588B7; border-radius:15px; box-shadow:0 12px 25px rgba(24,18,44,.18); transform:rotate(-5deg); }
    .service-list,.more-it { grid-column:1/-1; }
    .service-list { margin-top:18px; }
    .service-art img { transform:scale(1.75); }
    .service-group:first-child .service-art img { object-position:72% 58%; transform-origin:70% 58%; }
    .service-group:nth-child(2) .service-art img { object-position:50% 64%; transform-origin:50% 64%; }
    .work-item { display:flow-root; }
    .work-art { float:right; width:112px; height:92px; aspect-ratio:auto; margin:0 0 12px 18px; border:1px solid #9588B7; border-radius:14px; box-shadow:0 10px 22px rgba(24,18,44,.16); transform:rotate(5deg); }
    .work-art img { transform:scale(1.7); transform-origin:50% 66%; }
    @media(max-width:760px) { .service-group { grid-template-columns:minmax(0,1fr) 98px; gap:12px; } .service-group .service-art { width:98px; height:86px; } .work-art { width:95px; height:75px; } }
    @media(max-width:760px) { .n2l-grid { grid-template-columns:1fr; } .n2l-card { min-height:0; padding:25px; } }
    @media(prefers-reduced-motion:no-preference) { .art-core { transition:transform .45s ease, box-shadow .45s ease; } .hero-art:hover .art-core { transform:translateX(-50%) rotate(-4deg) translateY(-8px); box-shadow:0 52px 110px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.3); } }
    /* Minimal service artwork: transparent lines integrated with the layout. */
    .n2l-grid { gap:0 42px; }
    .n2l-card { position:relative; min-height:225px; padding:30px 92px 30px 0; border:0; border-top:1px solid #c9c2dc; background:transparent; }
    .n2l-card::before { content:""; position:absolute; width:68px; height:68px; right:7px; top:24px; background:var(--card-art) center/contain no-repeat; opacity:.9; }
    .n2l-card:nth-child(1) { --card-art:url('art-ads.svg'); }
    .n2l-card:nth-child(2) { --card-art:url('art-social.svg'); }
    .n2l-card:nth-child(3) { --card-art:url('art-dev.svg'); }
    .n2l-card:nth-child(4) { --card-art:url('art-ai.svg'); }
    .n2l-card h3 { max-width:440px; }
    .service-group .service-art,.work-art { border:0; border-radius:0; box-shadow:none; transform:none; background:transparent; overflow:visible; }
    .service-group .service-art { width:104px; height:104px; margin:0; }
    .service-art img,.work-art img { object-fit:contain; transform:none; }
    .work-art { width:88px; height:88px; }
    @media(max-width:760px) { .n2l-card { min-height:0; padding:25px 78px 28px 0; } .n2l-card::before { width:52px; height:52px; right:0; top:24px; } .service-group .service-art { width:70px; height:70px; } .work-art { width:66px; height:66px; } }
