/*
 * JFS Atelier 2026 — industrial editorial direction.
 * Brand tokens: midnight architecture, mineral white, safety cyan.
 * No frontend framework, font CDN or animation dependency.
 */
:root{
  --ink:#101f2b;--night:#081721;--night-2:#122b38;
  --muted:#526775;--paper:#f3f6f5;--line:#dae3e6;
  --blue:#18b8ee;--blue-dark:#006b9d;--white:#fff;
  --container:1296px;--radius:24px;
}
html{scroll-padding-top:122px}
body{background:#f5f7f6;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:16px}
::selection{background:#2dbde4;color:#062230}
.container{width:min(calc(100% - 80px),var(--container))}
h1,h2,h3{letter-spacing:-.052em}
h1{font-weight:850}h2{font-weight:820;font-size:clamp(2.55rem,4.2vw,4.7rem);line-height:1.06}
h3{font-weight:790}
.section{padding:clamp(88px,10vw,144px) 0}
.eyebrow{font-size:11px;font-weight:850;letter-spacing:.17em;color:#066c93;gap:12px;margin-bottom:24px}
.eyebrow-on-dark{color:#77d6f3}
.eyebrow-line{width:31px;height:2px;background:var(--blue)}
.button{min-height:56px;border-radius:999px;padding:14px 25px;font-weight:770;gap:25px;transition:transform .28s,background .28s,box-shadow .28s,border-color .28s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:#19baf0;color:#052333;box-shadow:0 12px 30px #16abd031}
.button-primary:hover{background:#70dbfc;box-shadow:0 17px 34px #18afd04e}
.button-dark{background:#0e2531;color:#fff}
.button-outline{border-color:#71919b8a;background:#ffffff05}
.button-outline:hover{background:#ffffff12;border-color:#7bdaf4}
.button-white{background:#f7fbfb;color:#102a36}
.topline{background:#07151e;border-bottom:1px solid #ffffff16;color:#a8c4cd;font-size:10px;letter-spacing:.15em}
.topline-inner{height:35px}
.signal{background:#24d6df;box-shadow:0 0 0 5px #24d6df1a}
.header{position:sticky;top:0;z-index:60;background:#091923f5;border-bottom:1px solid #ffffff1d;backdrop-filter:blur(18px) saturate(1.28);-webkit-backdrop-filter:blur(18px) saturate(1.28)}
.header.is-scrolled{background:#07151ef7;box-shadow:0 8px 34px #030a1257}
.header-inner{min-height:101px;gap:30px}
.brand-official{display:grid;place-items:center;flex:none;background:#fff;width:105px;height:84px;min-width:0;padding:2px 12px 4px;border-radius:8px;box-shadow:inset 0 0 0 1px #d9e0e0,0 9px 24px #00000026;overflow:hidden;transition:transform .25s}
.brand-official:hover{transform:translateY(-2px)}
.brand-official-image{width:76px;height:81px;max-width:none;object-fit:contain;transform:none}
.brand-official:hover .brand-official-image{transform:none}
.navigation{gap:clamp(12px,1.8vw,28px);margin-left:auto}
.navigation a{color:#b5ccd5;font-size:12px;letter-spacing:.02em;font-weight:750;transition:color .25s}
.navigation a:hover,.navigation a[aria-current=page]{color:#fff}
.navigation a::after{background:#40c6f2;height:2px}
.lang-switch{background:#ffffff10;border:1px solid #ffffff1a;padding:3px;border-radius:100px;gap:2px}
.lang-switch a{color:#d1e2e7;font-size:10px;padding:6px 8px;border-radius:100px}
.lang-switch a[aria-current=true]{color:#052132;background:#72d7f7}
.header-cta{border-radius:999px;background:#21bbee;color:#062634;min-height:42px;gap:17px;padding:8px 18px;font-size:12px}
.header-cta:hover{background:#87e4ff;color:#09232e}
.mobile-toggle span{background:#fff}
.floating-whatsapp{
  position:fixed;right:24px;bottom:25px;z-index:70;
  display:grid;place-items:center;width:65px;height:65px;min-height:0;padding:0;
  color:#fff;background:#22c65b;border:2px solid #ffffffb8;
  border-radius:50%;box-shadow:0 15px 34px #0d442c63,0 1px 4px #061c1e18;
  transition:transform .26s,box-shadow .26s,background .26s;isolation:isolate
}
.floating-whatsapp:hover{background:#1eb85a;transform:translateY(-5px) scale(1.06);box-shadow:0 23px 38px #145f3f5e}
.floating-whatsapp:before{content:"";position:absolute;inset:-9px;border:1px solid #33d57c61;border-radius:50%;pointer-events:none;animation:jfs-ring 3.5s ease-in-out infinite}
.floating-whatsapp svg{width:32px;height:32px;fill:currentColor;stroke:none}
.floating-whatsapp span{
  position:absolute;right:calc(100% + 12px);top:50%;
  width:max-content;max-width:210px;padding:11px 15px;
  color:#11301f;background:#fff;border:1px solid #d9eee3;border-radius:12px;
  box-shadow:0 9px 32px #062f1837;font-size:12px;font-weight:800;
  opacity:0;pointer-events:none;transform:translate(7px,-50%) scale(.97);
  transition:opacity .2s,transform .2s
}
.floating-whatsapp:hover span,.floating-whatsapp:focus-visible span{opacity:1;transform:translate(0,-50%) scale(1)}
@keyframes jfs-ring{0%,100%{opacity:.55;transform:scale(.95)}55%{opacity:.12;transform:scale(1.14)}}

/* Immersive, photographic hero */
.home-hero{overflow:hidden;isolation:isolate;background:#071822;color:#fff}
.home-hero::before{content:"";position:absolute;z-index:0;inset:0;
  background:radial-gradient(ellipse 58% 80% at 17% 34%,#144c5e89,transparent 70%),
  radial-gradient(circle at 90% 6%,#1687b139,transparent 40%),
  linear-gradient(90deg,#071822 0%,#091e29 62%,#132934 100%)}
.home-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);
  background-size:90px 90px;mask-image:linear-gradient(90deg,#000 0%,transparent 86%)}
.home-hero .hero-grid{position:relative;z-index:2;min-height:755px;align-items:center;gap:3.9vw;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  padding-top:72px;padding-bottom:98px}
.hero-ident{display:flex;align-items:center;gap:13px;font:800 10px/1.2 ui-monospace,Consolas,monospace;color:#abcede;letter-spacing:.1em;margin-bottom:36px}
.hero-ident-dot{width:7px;height:7px;background:#28dfdb;border-radius:50%;box-shadow:0 0 0 5px #28dfdb19}
.hero-ident-rule{width:35px;height:1px;background:#86bac470}
.hero-copy{position:relative;z-index:4;padding:0}
.hero-copy h1{font-size:clamp(3.75rem,6.1vw,7.5rem);line-height:.98;letter-spacing:-.076em;max-width:780px;margin:0 0 34px;font-weight:880;text-wrap:balance}
.hero-copy .eyebrow{margin-bottom:25px;font-size:11px}
.hero-description{font-size:clamp(16px,1.26vw,19px);line-height:1.7;max-width:560px;color:#bdd0d9;margin-bottom:34px}
.hero-buttons{gap:14px}
.hero-buttons .button{min-height:60px;padding:15px 28px}
.hero-checks{border-top:1px solid #bedce235;padding-top:25px;margin-top:48px;gap:22px;color:#cfdee3;font-size:12px}
.hero-watermark{position:absolute;pointer-events:none;z-index:1;left:4%;bottom:20px;color:#ffffff0a;font-size:clamp(12rem,30vw,34rem);font-weight:930;letter-spacing:-.13em;line-height:.7}
.hero-watermark span{color:#23c8ee17}
.hero-visual{z-index:3;min-height:630px;align-self:stretch}
.hero-photo-wrap{position:absolute;inset:0;border-radius:28px 28px 125px 28px;overflow:hidden;border:1px solid #d1e7e42d;background:#09252e;
  box-shadow:0 32px 82px #0008;clip-path:none;transform:rotate(.5deg)}
.hero-photo{height:100%;width:100%;object-fit:cover;object-position:center 41%;filter:saturate(.86) contrast(1.09);
  transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.hero-visual:hover .hero-photo{transform:scale(1.045)}
.hero-photo-shade{background:linear-gradient(0deg,#071c23a8 0%,transparent 44%),linear-gradient(90deg,#03111d48,transparent 50%)}
.hero-floating{position:absolute;left:-55px;bottom:65px;max-width:300px;
  border:1px solid #ffffff35;background:#f4fbfc;color:#132f3a;
  border-radius:18px;padding:19px 22px;gap:16px;box-shadow:0 24px 50px #00000066}
.hero-floating>span:last-child{display:flex;flex-direction:column;gap:4px}
.hero-floating small{font:800 10px/1 ui-monospace,Consolas,monospace;letter-spacing:.11em;color:#417b94}
.hero-floating strong{font-size:13px;font-weight:870}
.hero-floating-icon{border-radius:12px;background:#c4f1fc;color:#03608a;font-size:27px}
.hero-image-index{position:absolute;z-index:4;right:24px;top:26px;border:1px solid #ffffff58;border-radius:50px;
  padding:8px 16px;color:#fff;background:#0517208a;font:800 10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.11em}
.hero-image-index span{color:#4ed9f4;margin-left:13px}
.hero-photo-caption{bottom:21px;right:24px;text-shadow:0 1px 8px #0009}
.hero-base{z-index:2;height:48px;border-color:#ffffff25;background:#0818229a;letter-spacing:.15em;color:#c3dce4}

/* Trusted project names as a high-contrast typographic strip */
.credibility-section{padding:70px 0 64px;background:#eef3f3;border-bottom:1px solid #d6e2e4}
.proof-top{grid-template-columns:1.15fr .65fr;gap:70px}
.proof-top h2{font-size:clamp(2.4rem,3.3vw,3.8rem);line-height:1.08;max-width:780px}
.proof-top>p{font-size:15px;color:#465e69}
.proof-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #cbd9dc;gap:8px;padding-top:22px;margin-top:33px}
.proof-logos span{display:flex;align-items:center;gap:10px;padding:10px 8px;color:#213c48;font-size:clamp(14px,1.4vw,18px);font-weight:850;line-height:1.3}
.proof-logos span:before{content:"";width:8px;height:8px;flex:none;background:#0dbce5;border-radius:50%}
.expertise-ribbon{overflow:hidden;isolation:isolate;background:#17b8e8;border-block:1px solid #0075a1;padding:15px 0;color:#092330}
.expertise-ribbon-track{display:flex;align-items:center;gap:28px;width:max-content;animation:jfs-ticker 55s linear infinite}
.expertise-ribbon-track span{flex:none;font:850 12px/1.1 ui-sans-serif,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.expertise-ribbon-track i{font-style:normal;font-size:17px;opacity:.63}
@keyframes jfs-ticker{to{transform:translateX(-50%)}}

/* Asymmetrical services bento */
.section-head{margin-bottom:55px;align-items:end;gap:60px}
.section-head h2{max-width:780px}
.section-head>div:last-child p,.section-head>p{color:#536975;font-size:15px;line-height:1.8}
.section-text-link{font-weight:820;font-size:13px;letter-spacing:.015em;border-bottom:1px solid #264658;transition:color .22s}
.services-section{background:#f7faf9;position:relative}
.services-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#d8e4e6}
.services-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;border:0}
.service-card{grid-column:span 3;min-height:290px;padding:27px;
  background:#fff;border:1px solid #e0e9eb;border-radius:22px;
  display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate;
  position:relative;box-shadow:0 7px 21px #102d3810;transition:transform .38s,box-shadow .38s,border-color .38s}
.service-card:nth-child(1),.service-card:nth-child(5),.service-card:nth-child(7),.service-card:nth-child(8){grid-column:span 6}
.service-card:nth-child(1),.service-card:nth-child(5){min-height:370px}
.service-card:nth-child(7),.service-card:nth-child(8){min-height:285px;background:#e8f4f7}
.service-card::before{content:"";z-index:4;position:absolute;top:0;left:0;right:100%;height:3px;background:#19b8ee;transition:right .45s;transform:none}
.service-card:hover{background:#fafdfe;border-color:#9bd6e7;z-index:2;transform:translateY(-6px);box-shadow:0 25px 55px #0f384124}
.service-card:hover::before{right:0}
.service-card-top,.service-card-content{position:relative;z-index:3}
.service-card-top{margin-bottom:40px}
.service-number{font:750 11px/1 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:#4a7488}
.service-arrow{display:grid;place-items:center;border-radius:100px;width:35px;height:35px;background:#ecf5f7;color:#09688b;font-size:22px;transition:transform .3s,background .3s}
.service-card:hover .service-arrow{transform:rotate(45deg);background:#c8f0fc}
.service-card h3{font-size:clamp(20px,1.8vw,28px);line-height:1.16;letter-spacing:-.047em;margin:0 0 12px}
.service-card p{font-size:13px;color:#506878;line-height:1.7;max-width:375px;margin-bottom:22px}
.service-link{font-size:12px;color:#065d80;letter-spacing:.01em;display:inline-flex;align-items:center;gap:10px}
.service-card-featured{background:#071e29;border-color:#284753;color:#fff}
.service-card-featured:hover{background:#071e29;border-color:#3fbede}
.service-card-featured .service-card-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  opacity:.73;filter:saturate(.8) contrast(1.13);transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.service-card-featured:hover .service-card-image{transform:scale(1.06)}
.service-card-image-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#081922dd 0%,#0719238b 64%,#06172230),linear-gradient(0deg,#061822d9 0%,transparent 68%)}
.service-card-featured .service-number{color:#e7f5fb}
.service-card-featured .service-arrow{color:#0d2837;background:#e0faff}
.service-card-featured h3{font-size:clamp(25px,2.35vw,36px);color:#fff;max-width:440px}
.service-card-featured p{color:#d9e8ee;font-size:14px;max-width:450px}
.service-card-featured .service-link{color:#90e1fc}

/* Editorial proof + dark photo section */
.atelier-story{background:#071721;padding:120px 0;position:relative;overflow:hidden}
.atelier-story:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 27%,#13a0c71e,transparent 51%)}
.about-feature-inner{position:relative;z-index:1;grid-template-columns:.98fr 1.02fr;gap:clamp(50px,7vw,105px)}
.about-feature-photo{height:700px;border-radius:28px 28px 130px 28px;border:1px solid #bedde031;box-shadow:0 30px 90px #0005}
.about-feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#05243079,transparent 40%);pointer-events:none}
.about-feature-text>h2{font-size:clamp(3rem,4.3vw,5rem);font-weight:830;line-height:1.08;max-width:700px}
.about-feature-text>p:not(.eyebrow){color:#c1d1d7}
.about-values{border-color:#ffffff2a}
.about-value{grid-template-columns:60px 1fr;padding:22px 0;border-color:#ffffff22}
.about-value>span{font:750 14px/1.4 ui-monospace,Consolas,monospace;color:#40ccee}
.about-value h3{font-size:17px}
.about-value p{color:#b4c7d1}
.photo-stamp{z-index:2;border-radius:0 18px 0 0;padding:18px 23px;background:#26bfed}

/* Photo-first project masonry */
.atelier-projects{background:#fbfcfb}
.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:27px}
.project-card{grid-column:span 5;display:flex;flex-direction:column;min-width:0}
.project-card:first-child{grid-column:span 7;grid-row:span 2}
.project-card:nth-child(2){grid-column:span 5}
.project-card:nth-child(3){grid-column:span 5}
.project-photo{height:285px;border-radius:22px;overflow:hidden;background:#d8e4e6;border:1px solid #d6e4e5}
.project-card:first-child .project-photo{height:610px}
.project-photo img{transition:transform .85s cubic-bezier(.2,.7,.3,1);filter:saturate(.88) contrast(1.05)}
.project-card:hover .project-photo img{transform:scale(1.065)}
.photo-index{font:800 11px/1.1 ui-monospace,Consolas,monospace;border-radius:99px;padding:11px 15px;left:18px;top:18px;background:#102938de}
.project-meta{font-size:11px;letter-spacing:.11em;color:#056a91;margin-top:19px;font-weight:870}
.project-card h3{font-size:clamp(22px,1.9vw,30px);margin:8px 0 7px}
.project-card p{color:#58707d;font-size:14px;line-height:1.65}
.project-card:first-child h3{font-size:clamp(28px,2.7vw,41px)}

/* Process as a connected industrial timeline */
.atelier-process,.process-section{background:#e8f0f2;position:relative}
.process-section{padding:clamp(95px,9vw,135px) 0}
.process-title{margin-bottom:54px}
.process-title h2{max-width:820px}
.process-grid{gap:16px;position:relative}
.process-grid:before{content:"";position:absolute;top:28px;left:50px;right:50px;height:2px;background:linear-gradient(90deg,#1fbce9,#4b9fbe);z-index:0}
.process-card{background:#fff;border:1px solid #d6e3e6;border-radius:20px;min-height:265px;padding:33px 28px;z-index:1;position:relative;
  box-shadow:0 11px 30px #0a354310;transition:transform .35s,box-shadow .35s}
.process-card:hover{transform:translateY(-7px);box-shadow:0 22px 42px #103c4d20}
.process-number{display:grid;place-items:center;border:1px solid #77bfda;background:#ddf6fe;color:#076e93;
  height:54px;width:54px;border-radius:50%;margin:0 0 35px;font:800 17px/1 ui-monospace,Consolas,monospace}
.process-card h3{font-size:22px}
.process-card p{font-size:14px;color:#516b79;line-height:1.73}

/* Fresh supporting visual + FAQs */
.area-section{background:#f8fbfb;padding:110px 0}
.area-inner{gap:clamp(45px,6vw,95px);align-items:center}
.area-inner h2{font-size:clamp(2.9rem,4.1vw,4.8rem);max-width:600px}
.area-inner p:not(.eyebrow){font-size:16px;color:#506773;line-height:1.85}
.area-photo{border-radius:28px 28px 110px 28px;overflow:hidden;height:480px;box-shadow:0 25px 65px #0d263429}
.area-photo img{filter:saturate(.92) contrast(1.05)}
.faq-section{background:#eaf1f3}
.faq-list{border-top:1px solid #becfd6}
.faq-list details{border-bottom:1px solid #c7d6dc;transition:background .3s,padding .3s;border-radius:9px}
.faq-list details[open]{background:#fff;padding:0 22px;box-shadow:0 9px 27px #10334210}
.faq-list summary{padding:26px 0;font-weight:780;letter-spacing:-.02em}
.faq-list summary span{color:#057da8;transition:transform .25s}
.faq-list details[open] summary span{transform:rotate(45deg)}

/* Form is a strong conversion experience */
.atelier-contact,.contact-section{background:#071822;color:#fff}
.contact-section{padding:clamp(98px,9vw,135px) 0}
.contact-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 17% 15%,#1b86ad29,transparent 55%)}
.contact-grid{position:relative;z-index:1;gap:clamp(55px,6vw,85px)}
.contact-intro h2{font-size:clamp(3rem,4.5vw,5rem);line-height:1.07}
.contact-intro>p:not(.eyebrow){font-size:16px;color:#b7cbd2}
.contact-alt{padding-top:28px;border-top:1px solid #ffffff33}
.contact-alt a{color:#8addf6}
.contact-side-photo{border-radius:25px 25px 100px 25px;filter:saturate(.75) contrast(1.06);max-height:360px}
.form-panel{background:#f7fafb;color:#102836;border:1px solid #e1edf0;border-radius:28px;padding:42px;
  box-shadow:0 38px 75px #00000045}
.form-panel h3,.form-panel h2{font-size:29px}
.form-panel>p{color:#526776}
.form-field input,.form-field select,.form-field textarea{background:#fff;border:1px solid #cbdbe1;border-radius:10px;color:#1b3643}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#0899cc;box-shadow:0 0 0 3px #23baea20;outline:none}
.form-bottom .button{border-radius:100px}
.form-status{border-radius:10px}
.footer{background:#06131c;color:#bdd0d8;padding:90px 0 36px;border-top:1px solid #ffffff1e}
.footer-top{gap:50px}
.footer-official-mark{background:#fff;border-radius:15px;padding:10px;width:165px;box-shadow:0 13px 34px #0003}
.footer-official-mark img{filter:none;mix-blend-mode:normal;width:100%;height:auto}
.footer-column h3{color:#f1fbff;font-weight:800}
.footer-column a{color:#bacfd6}
.footer-column a:hover,.footer-wa:hover{color:#75dcfa}
.footer-company-id,.footer-bottom{border-color:#ffffff22;color:#aec7d1}

/* Inner pages retain semantic HTML but share the premium art direction */
.page-hero,.detail-hero,.privacy-hero{background:#071b25;color:#fff;position:relative;overflow:hidden}
.page-hero:before,.detail-hero:before{content:"";position:absolute;pointer-events:none;inset:0;
  background:radial-gradient(ellipse at 8% 42%,#1689ab3b,transparent 63%),
  repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 95px)}
.page-hero-inner,.detail-hero-grid{position:relative;z-index:1}
.page-hero h1,.detail-hero h1,.contact-page-heading h1{font-size:clamp(3.2rem,5.8vw,6.3rem);font-weight:840;line-height:1.02;letter-spacing:-.068em;text-wrap:balance}
.page-hero-inner img,.detail-hero img{border-radius:25px 25px 95px 25px;box-shadow:0 26px 65px #0004;object-fit:cover}
.detail-sidebar .detail-side-card{border-radius:22px}
.detail-body h2{font-size:clamp(2.2rem,3.2vw,3.9rem)}
.detail-checklist li{border-color:#cddae0}
.related-links a{border-radius:17px;transition:background .2s,transform .25s}
.related-links a:hover{background:#def5fc;transform:translateY(-2px)}
.project-story-image,.about-side-photo,.about-history-inner img{border-radius:24px;overflow:hidden}
.project-story h2{font-size:clamp(2.3rem,3.8vw,4rem)}
.gallery-photo{border-radius:20px;overflow:hidden}
.gallery-photo img{transition:transform .55s}
.gallery-photo:hover img{transform:scale(1.045)}
.company-facts{border-color:#ffffff2d}
.company-fact{background:#ffffff08;border-color:#ffffff2d}
.company-fact dt{color:#b4d3e1}
.company-registration{background:#0c202d}
.values-cards>div{border-radius:20px}
.cta-band{background:#102e3c}
.cta-band-inner{gap:30px}
.cta-band h2{font-size:clamp(2.3rem,3.6vw,4.3rem)}

/* Motion only when the user hasn't requested reduced motion. */
@media(prefers-reduced-motion:no-preference){
  .expertise-ribbon-track{animation:jfs-ticker 65s linear infinite}
  .service-card-featured img,.project-photo img{will-change:transform}
}
@media(prefers-reduced-motion:reduce){
  .expertise-ribbon-track{animation:none!important}
  .floating-whatsapp:before{animation:none!important}
  .service-card-featured img,.project-photo img{will-change:auto}
}
@media(max-width:1160px){
  .container{width:min(calc(100% - 56px),var(--container))}
  .header-inner{gap:18px}
  .brand-official{width:92px;height:79px;padding:4px}
  .brand-official-image{width:74px;height:76px}
  .navigation{gap:14px}
  .hero-grid{gap:32px}
  .hero-copy h1{font-size:clamp(3.5rem,5.8vw,6.2rem)}
  .hero-visual{min-height:610px}
}
@media(max-width:980px){
  html{scroll-padding-top:88px}
  .header-inner{min-height:86px}
  .brand-official{height:68px;width:82px}
  .brand-official-image{width:61px;height:66px}
  .mobile-toggle span{background:#fff}
  .navigation{background:#09202c;border:1px solid #ffffff25;box-shadow:0 15px 35px #05131f35}
  .navigation a{color:#d6e7eb}
  .hero-grid{grid-template-columns:1fr 1fr;gap:28px;min-height:0;padding-top:62px}
  .hero-copy h1{font-size:clamp(3.3rem,5.6vw,5.5rem)}
  .hero-visual{min-height:560px}
  .hero-floating{left:-18px;max-width:240px;padding:14px}
  .service-card:nth-child(n){grid-column:span 6}
  .service-card:nth-child(1),.service-card:nth-child(5){min-height:330px}
  .service-card{min-height:240px}
  .about-feature-inner{grid-template-columns:1fr 1fr;gap:34px}
  .about-feature-photo{height:590px}
  .project-card:first-child .project-photo{height:480px}
  .project-photo{height:215px}
  .process-grid:before{display:none}
}
@media(max-width:700px){
  .container{width:min(calc(100% - 36px),var(--container))}
  .topline-inner{height:30px}
  .topline-right{display:none}
  .header-inner{min-height:77px}
  .brand-official{height:64px;width:76px;padding:3px}
  .brand-official-image{height:61px;width:57px}
  .lang-switch{margin-left:auto}
  .lang-switch a{font-size:10px;padding:7px}
  .home-hero .hero-grid{grid-template-columns:1fr;gap:36px;padding-top:48px;padding-bottom:83px}
  .hero-ident{margin-bottom:28px}
  .hero-copy h1{font-size:clamp(3.3rem,11.5vw,5.3rem);line-height:1.02;margin-bottom:25px;max-width:600px}
  .hero-description{font-size:16px;line-height:1.7;max-width:530px;margin-bottom:30px}
  .hero-copy .eyebrow{font-size:10px}
  .hero-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero-buttons .button{padding:13px 16px;min-height:56px;font-size:12px;gap:10px;white-space:normal;text-align:center}
  .hero-checks{margin-top:28px;padding-top:20px;gap:10px;font-size:11px}
  .hero-visual{min-height:470px}
  .hero-photo-wrap{position:relative;height:470px;border-radius:22px 22px 85px 22px;transform:none}
  .hero-image-index{right:15px;top:15px}
  .hero-floating{left:14px;bottom:25px;max-width:225px;padding:13px 14px;border-radius:14px}
  .hero-floating strong{font-size:12px}
  .hero-floating-icon{height:38px;width:38px}
  .hero-watermark{font-size:clamp(10rem,42vw,20rem);bottom:70px;left:0}
  .hero-base{height:34px}
  .expertise-ribbon{padding:12px 0}
  .expertise-ribbon-track span{font-size:10px}
  .credibility-section{padding:61px 0}
  .proof-top{grid-template-columns:1fr;gap:16px}
  .proof-top h2{font-size:clamp(2.25rem,8vw,3rem)}
  .proof-logos{grid-template-columns:1fr;gap:4px;margin-top:25px}
  .proof-logos span{padding:10px 0}
  .section{padding:85px 0}
  .section-head{gap:19px;margin-bottom:33px}
  .section-head h2{font-size:clamp(2.65rem,9vw,3.6rem)}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .service-card:nth-child(n){grid-column:span 1;min-height:260px;padding:20px;border-radius:17px}
  .service-card:nth-child(1),.service-card:nth-child(5){grid-column:span 2;min-height:345px}
  .service-card:nth-child(7),.service-card:nth-child(8){min-height:248px}
  .service-card-top{margin-bottom:30px}
  .service-card h3{font-size:clamp(18px,4.25vw,23px)}
  .service-card p{font-size:12px}
  .service-card-featured h3{font-size:clamp(26px,7vw,34px)}
  .service-arrow{width:31px;height:31px}
  .atelier-story{padding:86px 0}
  .about-feature-inner{grid-template-columns:1fr;gap:45px}
  .about-feature-photo{height:480px;border-radius:23px 23px 75px 23px}
  .about-feature-text>h2{font-size:clamp(2.7rem,9vw,3.7rem)}
  .project-grid{grid-template-columns:1fr;gap:40px}
  .project-card:nth-child(n){grid-column:span 1;grid-row:auto}
  .project-photo,.project-card:first-child .project-photo{height:340px}
  .project-card h3,.project-card:first-child h3{font-size:clamp(24px,6vw,35px)}
  .process-section{padding:87px 0}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .process-card{min-height:240px;padding:22px 17px;border-radius:15px}
  .process-number{width:44px;height:44px;font-size:14px;margin-bottom:30px}
  .process-card h3{font-size:17px}
  .process-card p{font-size:12px}
  .area-section{padding:90px 0}
  .area-photo{height:320px;border-radius:22px 22px 70px 22px}
  .faq-list summary{font-size:16px;padding:20px 0}
  .contact-section{padding:90px 0}
  .contact-grid{grid-template-columns:1fr;gap:35px}
  .contact-intro h2{font-size:clamp(2.9rem,9vw,3.9rem)}
  .form-panel{padding:29px 20px;border-radius:20px}
  .footer{padding:77px 0 110px}
  .footer-official-mark{width:156px}
  .floating-whatsapp{right:17px;bottom:calc(73px + env(safe-area-inset-bottom,0px));height:59px;width:59px}
  .floating-whatsapp svg{height:30px;width:30px}
  .floating-whatsapp span{display:none}
  .mobile-sticky-cta{z-index:65;min-height:59px;background:#17b8ee}
  .page-hero h1,.detail-hero h1,.contact-page-heading h1{font-size:clamp(2.8rem,9.5vw,4.4rem)}
  .page-hero-inner img,.detail-hero img{border-radius:20px 20px 60px 20px}
}
@media(max-width:390px){
  .hero-buttons{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .service-card:nth-child(n){grid-column:1}
  .service-card:nth-child(1),.service-card:nth-child(5){min-height:330px}
  .service-card:nth-child(n+2):not(.service-card-featured){min-height:220px}
  .process-grid{grid-template-columns:1fr}
  .process-card{min-height:0}
}


/* Rio 2 Shopping editorial case study — grounded, multilingual project content. */
.rio2-case-hero{padding:55px 0 95px;overflow:hidden;position:relative;background:#071b25}
.rio2-case-heading{display:grid;grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr);gap:clamp(36px,5vw,90px);align-items:center;padding:56px 0 24px}
.rio2-case-heading h1{max-width:780px;font-size:clamp(3.15rem,5.4vw,6.1rem);line-height:1.02;letter-spacing:-.069em;text-wrap:balance}
.rio2-case-lead{font-size:clamp(16px,1.36vw,19px);color:#c2d9e1;line-height:1.75;max-width:625px;margin:30px 0}
.rio2-case-actions{display:flex;flex-wrap:wrap;gap:13px}
.rio2-case-cover{margin:0;overflow:hidden;border:1px solid #ffffff3b;border-radius:25px 25px 100px 25px;background:#0d2631;box-shadow:0 32px 65px #0005}
.rio2-case-cover img{display:block;width:100%;height:475px;object-fit:cover;transition:transform .8s}
.rio2-case-cover:hover img{transform:scale(1.035)}
.rio2-case-cover figcaption{font-size:11px;line-height:1.55;padding:14px 19px;color:#d4e9ef;background:#102d39}
.rio2-case-metrics{background:#e4f2f5;border-bottom:1px solid #bedbe5}
.rio2-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.rio2-metric{padding:42px 29px 41px;border-left:1px solid #abc9d4}
.rio2-metric:last-child{border-right:1px solid #abc9d4}
.rio2-metric strong{display:block;font-size:clamp(32px,3.7vw,57px);font-weight:860;line-height:1;letter-spacing:-.055em;color:#092e41}
.rio2-metric span{font-size:12px;display:block;margin-top:11px;color:#335c71;font-weight:750;letter-spacing:.025em}
.rio2-case-main{background:#fcfdfc}
.rio2-case-layout{display:grid;grid-template-columns:minmax(0,1.53fr) minmax(290px,.75fr);gap:clamp(48px,8vw,115px);align-items:start}
.rio2-case-prose>h2{font-size:clamp(2.7rem,4vw,4.45rem);max-width:760px}
.rio2-intro{font-size:17px;line-height:1.87;color:#3e5868;max-width:780px;margin:24px 0 44px}
.rio2-case-step{display:grid;grid-template-columns:65px 1fr;gap:12px;padding:31px 0;border-top:1px solid #d9e5e7}
.rio2-case-step h3{font-size:clamp(20px,2.15vw,28px);line-height:1.25;margin-bottom:12px}
.rio2-case-step p{max-width:725px;color:#496375;font-size:15px;line-height:1.85}
.rio2-step-index{font:850 13px/1.9 ui-monospace,Consolas,monospace;color:#007cac;letter-spacing:.12em}
.rio2-safety-note{border-left:3px solid #18b9e5;background:#e8f5f8;color:#2a5267;font-size:13px;line-height:1.9;padding:22px 25px;margin-top:22px;border-radius:0 12px 12px 0}
.rio2-case-aside{position:sticky;top:120px;background:#081d29;color:#f5fbff;border-radius:24px;padding:34px;box-shadow:0 25px 45px #102e3717}
.rio2-case-aside h3{font-size:27px}
.rio2-case-aside p:not(.eyebrow){font-size:14px;line-height:1.7;color:#bfd0d8;margin:13px 0 25px}
.rio2-case-aside .button{width:100%;justify-content:center}
.rio2-case-aside-links{display:flex;flex-direction:column;gap:0;margin-top:34px;border-top:1px solid #ffffff28}
.rio2-case-aside-links a{display:flex;justify-content:space-between;gap:8px;padding:17px 0;border-bottom:1px solid #ffffff28;color:#d3e8f0;font-size:13px;font-weight:650}
.rio2-case-aside-links a:hover{color:#56d1f5}
.rio2-gallery-section{background:#eaf2f3}
.rio2-photo-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:17px}
.rio2-photo{margin:0;background:#fff;border-radius:19px;overflow:hidden;box-shadow:0 10px 24px #0a283615;min-width:0}
.rio2-photo-lead{grid-column:span 2}
.rio2-photo img{display:block;width:100%;height:300px;object-fit:cover;background:#dbe7e9;transition:transform .5s}
.rio2-photo:hover img{transform:scale(1.035)}
.rio2-photo-lead img{height:435px}
.rio2-photo figcaption{padding:14px 17px;color:#476371;font-size:12px;line-height:1.65}
.rio2-highlight-section{background:#e8f2f4;padding:75px 0}
.rio2-project-highlight{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;text-decoration:none;border-radius:23px;overflow:hidden;background:#0b2532;color:#fff;box-shadow:0 30px 60px #132e3e2a}
.rio2-project-highlight>img{width:100%;height:420px;object-fit:cover}
.rio2-project-highlight>div{padding:clamp(30px,4.5vw,70px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.rio2-project-highlight h2{font-size:clamp(2.4rem,3.2vw,3.8rem);margin-bottom:20px;color:#fff;line-height:1.08}
.rio2-project-highlight p:not(.eyebrow){color:#cce0e8;line-height:1.7;margin-bottom:25px}
.rio2-related-project{margin:30px 0;padding:32px;background:#e6f4f7;border-left:4px solid #1aafd9;border-radius:0 18px 18px 0}
.rio2-related-project h3{font-size:25px}
.rio2-related-project p:not(.eyebrow){color:#3f5c6c;line-height:1.7;margin:12px 0}
.project-card-rio2 .project-photo{overflow:hidden}
.project-card-rio2 h3 a{color:inherit;text-decoration:none}
.project-card-rio2 h3 a:hover{color:#027dab}
@media(max-width:980px){
 .rio2-case-heading{grid-template-columns:1fr;gap:38px}
 .rio2-case-cover img{height:390px}
 .rio2-case-layout{grid-template-columns:1fr}
 .rio2-case-aside{position:static}
 .rio2-metric{padding:30px 16px}
 .rio2-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rio2-photo-lead{grid-column:span 2}
 .rio2-project-highlight>img{height:380px}
}
@media(max-width:700px){
 .rio2-case-hero{padding:27px 0 54px}
 .rio2-case-heading{padding:32px 0 0}
 .rio2-case-heading h1{font-size:clamp(2.75rem,10vw,4rem)}
 .rio2-case-lead{margin:21px 0;font-size:16px}
 .rio2-case-actions{gap:9px}
 .rio2-case-actions .button{font-size:12px;gap:7px}
 .rio2-case-cover{border-radius:18px 18px 63px 18px}
 .rio2-case-cover img{height:290px}
 .rio2-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rio2-metric{padding:24px 18px;border-bottom:1px solid #c8dfe5}
 .rio2-case-step{grid-template-columns:44px 1fr;gap:9px;padding:24px 0}
 .rio2-case-step p{font-size:14px}
 .rio2-case-aside{padding:27px}
 .rio2-photo-grid{grid-template-columns:1fr;gap:18px}
 .rio2-photo-lead{grid-column:span 1}
 .rio2-photo img,.rio2-photo-lead img{height:285px}
 .rio2-highlight-section{padding:65px 0}
 .rio2-project-highlight{grid-template-columns:1fr}
 .rio2-project-highlight>img{height:285px}
 .rio2-project-highlight>div{padding:28px}
 .rio2-project-highlight h2{font-size:2.5rem}
}
@media(prefers-reduced-motion:reduce){.rio2-case-cover img,.rio2-photo img{transition:none}}
