:root{--bg:#fafaf7;--ink:#152a36;--ink-2:#233949;--accent:#1b977e;--accent-dark:#087a66;--mint:#eaf7f1;--text:#243844;--muted:#64727b;--line:#e1e7e3;--white:#fff;--shadow:0 24px 65px rgba(20,43,49,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #f3b45a;outline-offset:4px}button{font:inherit}::selection{background:#bde9da;color:var(--ink)}.wrap{width:min(1192px,calc(100% - 88px));margin:0 auto}.skip{position:absolute;top:-60px;left:12px;z-index:5000;background:white;padding:10px 16px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:rgba(250,250,247,.92);border-bottom:1px solid rgba(22,46,55,.075)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1;letter-spacing:-1.35px}.brand-mark{font-weight:850;font-size:32px;color:var(--ink);letter-spacing:-2px}.brand-dot{color:var(--accent)}.brand-name{margin-left:6px;font-weight:430;font-size:29px;color:var(--ink);letter-spacing:-1.55px}.brand-blip{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:3px;background:var(--accent);transform:translateY(-16px)}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto;margin-right:18px}.main-nav a{font-size:13.5px;font-weight:650;color:#3c4b53;transition:color .2s}.main-nav a:hover{color:var(--accent-dark)}.header-actions{display:flex;align-items:center;gap:20px}.lang-switch{font-size:12px;white-space:nowrap;display:flex;gap:7px;align-items:center;color:#52626b;font-weight:700}.lang-switch .lang-current{color:var(--ink)}.lang-arrow{opacity:.8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:12px;font-weight:700;font-size:13px;transition:transform .22s,background .22s,box-shadow .22s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:white;padding:15px 21px}.btn-dark:hover{background:#204959;box-shadow:0 12px 24px rgba(18,48,57,.18)}.btn-large{padding:18px 24px;font-size:14px;border-radius:11px}.icon{height:18px;width:18px;flex-shrink:0}.menu-button{display:none;border:0;background:transparent;cursor:pointer;width:34px;padding:7px 2px}.menu-button span{height:2px;background:var(--ink);display:block;margin:5px 0;border-radius:4px}
.hero{background:radial-gradient(circle at 85% 22%,#eef5ee 0%,transparent 36%),#fafaf7;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.08fr .95fr;align-items:center;min-height:693px;gap:34px;padding:72px 0 82px}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--accent-dark);margin:0 0 27px;display:flex;gap:12px;align-items:center}.tiny-dot{height:8px;width:8px;display:inline-block;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(36,164,132,.12);flex-shrink:0}.hero h1{font-size:clamp(45px,5.25vw,74px);line-height:1.095;letter-spacing:-3.9px;font-weight:775;color:var(--ink);max-width:690px;margin:0 0 24px;text-wrap:balance}.hero h1 em,.section h2 em,.principles h2 em,.contact-box h2 em{font-style:normal;color:var(--accent)}.hero-lead{font-size:17px;line-height:1.83;color:#586973;max-width:510px;margin:0 0 29px}.hero-buttons{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.underlined{font-weight:725;font-size:13px;border-bottom:1px solid #bdc8c7;padding-bottom:6px;transition:color .2s}.underlined:hover{color:var(--accent-dark)}.underlined span{margin-left:7px}.hero-highlights{margin-top:41px;display:flex;align-items:center;gap:19px;flex-wrap:wrap}.hero-highlights>span{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:650;color:#596871}.check-round{font-style:normal;color:var(--accent-dark);font-size:10px;background:var(--mint);height:18px;width:18px;display:inline-grid;place-items:center;border-radius:50%}
.hero-visual{position:relative;min-width:0;height:500px;display:flex;align-items:center}.hero-blob{position:absolute;width:470px;height:470px;top:13px;right:-33px;border-radius:40% 57% 47% 46%;background:#dceee6;transform:rotate(-11deg)}.orbit{position:absolute;border:1.2px solid rgba(46,141,119,.24);border-radius:50%;pointer-events:none}.orbit-one{width:560px;height:560px;right:-68px;top:-41px}.orbit-two{width:398px;height:398px;right:19px;top:42px}.website-window{background:white;box-shadow:var(--shadow);overflow:hidden}.primary-window{width:514px;max-width:calc(100% + 35px);height:337px;z-index:2;position:absolute;top:67px;left:0;border-radius:13px;transform:rotate(-2deg);border:1px solid #e0e9e7}.window-chrome{height:37px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #edf0ee}.traffic{display:flex;gap:5px}.traffic i{width:7px;height:7px;border-radius:50%;background:#ffb0a4}.traffic i:nth-child(2){background:#f4d49b}.traffic i:nth-child(3){background:#9dccba}.address-pill{font-size:9px;background:#f3f5f4;border-radius:15px;color:#889399;padding:4px 55px}.browser-menu{color:#82979a;font-size:18px;line-height:1}.mini-psr{background:#f7f7f0;height:300px;position:relative}.mini-psr-header{height:53px;display:flex;justify-content:space-between;align-items:center;padding:0 21px;background:#fff;font-size:8px;color:#516168}.mini-psr-header b{color:#183342;font-size:18px;display:flex;align-items:center;gap:5px}.mini-psr-header .psr-sign{letter-spacing:-1px}.mini-psr-header .psr-under{max-width:66px;font-size:7px;line-height:1.3;font-weight:500}.mini-psr-main{height:235px;padding:24px 0 0 24px;display:grid;grid-template-columns:57% 43%;overflow:hidden}.mini-psr-main small,.preview-psr-body small{font-size:8px;font-weight:800;letter-spacing:1px;color:#a87e4c}.mini-psr-main h3{font-size:23px;line-height:1.14;letter-spacing:-.8px;color:#153744;max-width:270px;margin:12px 0 11px}.mini-psr-main p{font-size:9px;color:#63777a}.faux-button{display:inline-flex;background:#1b454d;color:white;font-size:8px;padding:9px 11px;border-radius:4px;margin-top:13px;gap:11px}.scene{position:relative;overflow:hidden}.psr-scene{background:linear-gradient(155deg,#f6e5c9 2%,#b2d6d6 56%,#6baca8 100%);border-radius:8px 0 0 0;margin:5px 0 0 0}.psr-scene .sun{height:68px;width:68px;background:#fff6d7;border-radius:50%;position:absolute;top:30px;left:65px;filter:blur(1px)}.mountain{position:absolute;width:340px;height:150px;transform:rotate(-13deg);border-radius:50%;left:-85px}.mountain.back{bottom:-11px;background:#729ea0}.mountain.front{bottom:-65px;left:-25px;background:#477f82}.villa{position:absolute;height:73px;width:160px;background:#f9f1df;left:30px;bottom:13px;box-shadow:0 -10px 0 #decdb2,0 12px 0 #4f867d}.villa:before{content:"";position:absolute;height:11px;left:-7px;right:-8px;top:-19px;background:#d5c4a6;transform:skew(-19deg)}.villa span{height:37px;width:22px;display:inline-block;background:#426b75;margin:12px 0 0 18px}.phone-window{height:297px;width:171px;right:-1px;bottom:0;z-index:4;position:absolute;border-radius:23px;border:7px solid #243d40;background:#fff;transform:rotate(7deg);box-shadow:0 25px 42px rgba(22,47,45,.20)}.phone-notch{width:56px;height:9px;position:absolute;top:-1px;left:50%;transform:translateX(-50%);border-radius:0 0 8px 8px;background:#243d40;z-index:2}.phone-top{height:46px;background:#faf9f3;display:flex;align-items:center;justify-content:space-between;font-size:8px;padding:15px 13px 4px;color:#414e42}.phone-top b{font-size:14px}.phone-top b span{font-weight:400}.phone-scene{height:112px;position:relative;background:#d6ddd0;overflow:hidden}.hanger-line{position:absolute;height:2px;background:#899687;left:0;right:0;top:18px}.hanger-line:before,.hanger-line:after{content:"";position:absolute;height:30px;width:2px;background:#899687;top:-4px}.hanger-line:before{left:20px}.hanger-line:after{right:16px}.fabric{position:absolute;top:24px;border-radius:12px 12px 0 0;clip-path:polygon(20% 0%,40% 4%,50% 7%,60% 4%,80% 0%,100% 24%,83% 42%,81% 100%,20% 100%,17% 42%,0 24%)}.fabric-a{background:#a4b49d;width:70px;height:114px;left:-16px;transform:rotate(7deg)}.fabric-b{background:#faf2db;width:88px;height:135px;left:38px;transform:rotate(-3deg);box-shadow:inset 1px 0 8px #e5d6b9}.fabric-c{background:#8b9e90;width:74px;height:125px;right:-34px;transform:rotate(10deg)}.phone-body{text-align:center;padding:14px 10px 0;display:flex;flex-direction:column;align-items:center;gap:7px}.phone-body small{font-size:6.5px;color:#8c8467;letter-spacing:.8px}.phone-body strong{font-size:13px;line-height:1.13;letter-spacing:-.35px;color:#35443b}.phone-body>span{font-size:7px;color:#6e766b}.phone-body i{background:#4d654e;width:88px;height:18px;border-radius:3px}.floating-note{position:absolute;z-index:5;left:2%;bottom:20px;display:flex;align-items:center;gap:11px;background:#fff;box-shadow:0 12px 35px rgba(16,45,45,.12);padding:14px 20px;border-radius:13px;transform:rotate(-4deg);max-width:258px}.note-star{color:var(--accent);font-size:30px}.floating-note small{display:block;font-size:8px;letter-spacing:1.2px;font-weight:800;color:#8c9c9d;margin-bottom:5px}.floating-note b{display:block;font-size:12px;color:var(--ink);line-height:1.25}
.value-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.value-grid{display:grid;grid-template-columns:repeat(3,1fr)}.value-grid div{padding:24px 30px;text-align:center;font-size:12.5px;font-weight:750;color:#50626b;border-right:1px solid var(--line)}.value-grid div:last-child{border-right:0}.value-symbol{display:inline-block;font-size:20px;color:var(--accent);margin-right:12px;vertical-align:-2px}
.section{padding:126px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:47px}.section h2,.principles h2,.contact-box h2{font-size:clamp(36px,4vw,55px);line-height:1.12;letter-spacing:-2px;color:var(--ink);margin:0;font-weight:760;text-wrap:balance}.section-heading h2{max-width:650px}.section-kicker{margin-bottom:19px}.section-summary{max-width:330px;margin:0 0 6px;color:var(--muted);font-size:15px;line-height:1.8}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#f7f9f6;border:1px solid #e7ece7;border-radius:15px;min-height:322px;padding:30px 29px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px rgba(19,61,49,.075);border-color:#c3ddd4}.card-row{display:flex;justify-content:space-between;align-items:start;margin-bottom:34px}.card-number{font-size:11px;color:#a4b1aa;font-weight:800;letter-spacing:1px}.service-icon{display:grid;place-items:center;width:58px;height:58px;background:#e8f2eb;color:var(--accent-dark);border-radius:14px}.service-icon svg{width:29px;height:29px}.service-card h3{color:var(--ink);font-size:21px;letter-spacing:-.6px;margin:0 0 13px}.service-card p{color:#65757c;font-size:13px;line-height:1.8;margin:0 0 25px}.card-link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dfe9e1;padding-top:16px;font-size:12px;font-weight:790;color:var(--ink)}.card-link b{font-size:20px;color:var(--accent)}
.portfolio{background:#f6f7f2}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.project-image{height:323px;border-radius:14px;overflow:hidden;display:block;position:relative;transition:box-shadow .25s}.project-image:hover{box-shadow:0 18px 30px rgba(23,58,64,.13)}.project-psr{background:linear-gradient(135deg,#e9ded1,#d6e7dc);padding:34px 37px 0 46px}.project-rc{background:linear-gradient(130deg,#d9e3d4,#e8e1cf);padding:34px 37px 0 46px}.project-preview{background:#f9f7f2;min-width:460px;width:100%;height:320px;box-shadow:0 6px 18px rgba(30,58,50,.14);border-radius:8px 8px 0 0;transform:rotate(-3deg);overflow:hidden}.preview-nav{height:47px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:7px;color:#879391}.preview-nav b{font-size:17px;color:#1b3b42}.preview-nav b span{font-weight:400;font-size:8px}.preview-psr-body{height:273px;position:relative;padding:46px 35px;background:linear-gradient(90deg,#f9f7ef 0%,#f9f7ef 56%,#b9d3d0 56%,#8bafa9 100%);overflow:hidden}.preview-psr-body h3{max-width:245px;font-size:24px;color:#204752;letter-spacing:-.7px;line-height:1.22;margin:12px 0}.tiny-fake-btn{display:inline-block;background:#1d424a;color:#fff;font-size:9px;padding:10px 16px;border-radius:4px;margin-top:8px}.preview-horizon{width:44%;position:absolute;right:0;bottom:0;height:80px;background:#557e7e;clip-path:polygon(0 60%,25% 45%,60% 68%,100% 25%,100% 100%,0 100%)}.preview-horizon span{display:block;background:#f6ecd9;width:88px;height:49px;position:absolute;bottom:0;left:60px}.project-corner{position:absolute;right:18px;top:18px;color:var(--ink);background:#fff;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:18px;z-index:2}.rc-preview{transform:rotate(2.5deg)}.rc-preview .preview-nav b{color:#455b49}.rc-preview-body{height:273px;padding:39px 28px;background:#f6f5ea;display:grid;grid-template-columns:55% 45%;position:relative}.rc-preview-body small{color:#8d9270;letter-spacing:1px;font-size:8px}.rc-preview-body h3{font-size:27px;max-width:225px;line-height:1.2;color:#405244;letter-spacing:-.75px;margin:16px 0 10px}.rc-preview-body p{font-size:10px;color:#6a786c}.rc-preview-body .tiny-fake-btn{background:#49614a}.rc-art{position:relative;background:#cfdbcc;border-radius:9px 0 0 0;overflow:hidden}.thread-line{height:3px;background:#abb6a5;position:absolute;left:0;right:0;top:30px}.tailor-panel{position:absolute;bottom:-50px;left:15px;right:15px;height:260px;border-radius:100px 100px 0 0;background:#d2b99b}.tailor-fabric{background:#8d9d8a;clip-path:polygon(0 30%,35% 0,65% 0,100% 30%,80% 100%,20% 100%);height:210px;position:absolute;left:20px;right:20px;top:50px}.needle{position:absolute;height:140px;width:4px;background:#8c6f55;top:34px;left:50%;z-index:4;transform:rotate(18deg)}.project-info{padding:24px 2px 0}.project-category{font-size:10px;letter-spacing:1.35px;font-weight:800;color:var(--accent-dark)}.project-info h3{font-size:23px;letter-spacing:-.8px;color:var(--ink);margin:12px 0 9px}.project-info h3 a:hover{color:var(--accent-dark)}.project-info p{font-size:13px;color:var(--muted);line-height:1.75;max-width:440px;margin:0}.coming-note{display:flex;gap:13px;align-items:center;justify-content:center;font-size:12px;color:#7c8789;margin-top:44px}
.principles{background:#18323f;color:white;position:relative;overflow:hidden;padding:115px 0}.principles:after{content:"";position:absolute;right:-230px;top:-160px;height:600px;width:600px;border:1px solid rgba(185,242,222,.10);border-radius:50%;box-shadow:0 0 0 74px rgba(185,242,222,.025),0 0 0 148px rgba(185,242,222,.018)}.principles-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:130px;position:relative;z-index:2}.light-kicker{color:#8cdac0}.principles h2{color:white;max-width:640px}.principles h2 em{color:#8cddc0}.principles-intro{max-width:550px;font-size:16px;line-height:1.9;color:#bfd0d2;margin:25px 0 37px}.principle-quote{font-size:15px;font-weight:650;color:#ace3d2;border-left:3px solid #6bcbaa;padding:10px 0 10px 17px;max-width:500px}.principle-list{padding-top:50px}.principle-list>div{display:grid;grid-template-columns:36px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid rgba(220,242,235,.15)}.principle-list>div:first-child{border-top:1px solid rgba(220,242,235,.15)}.principle-list>div>span{font-size:11px;color:#7fcbaa;font-weight:800;padding-top:5px}.principle-list h3{font-size:18px;margin:0 0 9px;color:white}.principle-list p{font-size:12.5px;line-height:1.8;color:#b6c8cc;margin:0}
.process{background:#fff}.process-header{text-align:center;max-width:610px;margin:0 auto 64px}.process-header .section-kicker{justify-content:center}.process-header p:last-child{font-size:14px;line-height:1.8;color:var(--muted);max-width:460px;margin:21px auto 0}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}.steps-grid:before{content:"";position:absolute;top:32px;height:1px;left:9%;right:9%;background:#d1e3d9}.step{position:relative;background:white;padding:0 15px}.step-num{height:64px;width:64px;border-radius:50%;display:grid;place-items:center;border:1px solid #cae3d8;background:#f2faf6;color:var(--accent-dark);font-size:15px;font-weight:800;position:relative;z-index:1;margin:0 auto 25px}.step-dot{height:8px;width:8px;border-radius:50%;background:#9bdfc7;display:block;margin:0 auto 16px}.step h3{font-size:16px;color:var(--ink);margin:0 0 10px;text-align:center}.step p{font-size:12.5px;line-height:1.8;color:#6d7d80;text-align:center;margin:0}
.contact-section{padding:23px 0 115px;background:#fff}.contact-box{position:relative;isolation:isolate;overflow:hidden;border-radius:23px;background:#e8f6ee;text-align:center;padding:82px 20px 76px}.contact-deco{position:absolute;inset:0;z-index:-1;overflow:hidden}.contact-deco span{position:absolute;border:1px solid #c7e5d4;border-radius:50%;height:460px;width:460px;top:-220px;left:-210px}.contact-deco span:nth-child(2){left:auto;right:-190px;top:70px;width:500px;height:500px}.contact-deco span:nth-child(3){left:auto;right:-70px;top:190px;width:230px;height:230px}.contact-box .section-kicker{justify-content:center}.contact-box h2{max-width:700px;margin:0 auto}.contact-box>p:not(.section-kicker){margin:23px auto 27px;max-width:480px;font-size:15px;color:#567069;line-height:1.8}.contact-email{font-size:11.5px;margin-top:24px;color:#6d837b}.contact-email a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px;font-weight:750;margin-left:5px}
.site-footer{background:#152d39;color:#fff;padding:71px 0 26px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.05fr;gap:100px;padding-bottom:52px}.footer-brand .brand-mark,.footer-brand .brand-name{color:#fff}.footer-main>div:first-child>p{max-width:330px;color:#b8c9ce;line-height:1.9;font-size:13px;margin:22px 0}.footer-locale{font-size:12px;color:#92b1b7}.footer-col{display:flex;flex-direction:column;gap:15px}.footer-col h4{margin:5px 0 8px;font-size:11px;color:#87d9bf;letter-spacing:1.1px;text-transform:uppercase}.footer-col a{font-size:13px;color:#c5d4d7}.footer-col a:hover{color:white}.footer-group{border-top:1px solid rgba(200,224,222,.12);padding:21px 0;font-size:12px;color:#a2b8bd;line-height:1.8}.footer-group a{color:#a0e8d2;text-decoration:underline;text-underline-offset:3px;margin-left:8px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid rgba(200,224,222,.12);padding-top:23px;color:#839da5;font-size:10.5px}
@media(max-width:1170px){.wrap{width:min(1100px,calc(100% - 58px))}.main-nav{gap:16px}.hero-layout{grid-template-columns:1fr .89fr}.hero h1{font-size:59px}.hero-visual{transform:scale(.91);transform-origin:center left}.hero-highlights{gap:12px}.hero-highlights>span{font-size:10px}.principles-grid{gap:70px}}
@media(max-width:920px){.header-inner{height:74px}.main-nav{gap:13px}.main-nav a{font-size:11.5px}.header-cta{display:none}.hero-layout{grid-template-columns:1fr 1fr;min-height:625px;gap:0;padding:55px 0}.hero h1{font-size:47px;letter-spacing:-2.7px}.hero-lead{font-size:14px}.hero-visual{transform:scale(.75);transform-origin:center left;width:135%}.hero-highlights{margin-top:24px}.hero-highlights>span{font-size:9px}.service-card{padding:26px 20px;min-height:350px}.service-card h3{font-size:18px}.section{padding:95px 0}.section h2,.principles h2,.contact-box h2{font-size:42px}.project-image{height:260px}.project-psr,.project-rc{padding-left:18px;padding-right:20px}.project-preview{transform:rotate(-3deg) scale(.85);transform-origin:top left}.rc-preview{transform:rotate(2deg) scale(.85)}.principles-grid{gap:45px}.footer-main{gap:40px}}
@media(max-width:700px){html{scroll-padding-top:76px}.wrap{width:calc(100% - 40px)}.header-inner{height:68px}.brand-mark{font-size:29px}.brand-name{font-size:26px}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fafaf7;flex-direction:column;align-items:stretch;padding:12px 23px 24px;gap:0;box-shadow:0 15px 20px rgba(27,54,55,.10);border-top:1px solid var(--line)}.main-nav.is-open{display:flex}.main-nav a{font-size:15px;padding:14px 0;border-bottom:1px solid #e5ece7}.menu-button{display:block}.header-actions{gap:18px}.hero-layout{display:flex;flex-direction:column;gap:0;padding:63px 0 45px}.hero-copy{width:100%}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:23px}.hero h1{font-size:clamp(43px,10vw,58px);line-height:1.11;letter-spacing:-2.7px;margin-bottom:20px}.hero-lead{font-size:15px;line-height:1.8}.hero-buttons{gap:22px}.btn-large{padding:17px 19px;font-size:12px}.hero-highlights{gap:11px 17px;margin-top:27px}.hero-highlights>span{font-size:10px}.hero-visual{width:100%;height:390px;transform:none;margin-top:13px}.hero-blob{width:340px;height:340px;right:-33px;top:10px}.orbit-one{width:370px;height:370px;right:-26px;top:-10px}.orbit-two{width:250px;height:250px;right:24px;top:36px}.primary-window{width:375px;height:267px;top:43px;left:0;transform:rotate(-2deg) scale(.90);transform-origin:top left}.phone-window{transform:rotate(7deg) scale(.76);transform-origin:bottom right;right:0;bottom:0}.floating-note{left:0;bottom:10px;transform:rotate(-3deg) scale(.84);transform-origin:bottom left}.mini-psr-header{height:47px}.mini-psr-main{height:190px}.mini-psr-main h3{font-size:19px}.value-grid{grid-template-columns:1fr}.value-grid div{border:0;border-bottom:1px solid var(--line);padding:17px 0;text-align:left;font-size:12px}.value-grid div:last-child{border:0}.value-symbol{margin-left:5px}.section{padding:76px 0}.section-heading{display:block;margin-bottom:28px}.section-heading h2{max-width:580px}.section h2,.principles h2,.contact-box h2{font-size:clamp(35px,9vw,47px);letter-spacing:-1.7px}.section-summary{margin-top:19px;max-width:520px;font-size:14px}.service-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:265px;padding:26px}.card-row{margin-bottom:19px}.service-card h3{font-size:21px}.service-card p{font-size:13px}.portfolio-grid{grid-template-columns:1fr;gap:40px}.project-image{height:290px}.project-psr,.project-rc{padding:29px 0 0 29px}.project-preview{transform:rotate(-3deg) scale(.85)}.rc-preview{transform:rotate(2deg) scale(.85)}.project-info{padding-top:20px}.project-info h3{font-size:21px}.coming-note{margin-top:33px;justify-content:flex-start;line-height:1.6}.principles{padding:74px 0}.principles-grid{grid-template-columns:1fr;gap:15px}.principles-intro{font-size:14px}.principle-list{padding-top:16px}.principle-list>div{padding:22px 0}.process-header{text-align:left;margin-bottom:35px}.process-header .section-kicker{justify-content:flex-start}.process-header p:last-child{margin-left:0}.steps-grid{grid-template-columns:1fr;gap:22px}.steps-grid:before{top:25px;bottom:35px;left:24px;right:auto;height:auto;width:1px}.step{padding:0 0 0 0;display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:20px;align-items:start}.step-num{width:50px;height:50px;grid-row:1/3;grid-column:1;margin:0;font-size:12px}.step-dot{display:none}.step h3{text-align:left;margin:5px 0 5px;grid-column:2}.step p{text-align:left;grid-column:2;max-width:400px}.contact-section{padding:0 0 75px}.contact-box{padding:67px 20px 60px;border-radius:18px}.contact-box>p:not(.section-kicker){font-size:13px}.contact-email{line-height:1.8}.site-footer{padding-top:58px}.footer-main{grid-template-columns:1fr 1fr;gap:40px 15px}.footer-main>div:first-child{grid-column:1/3}.footer-bottom{flex-direction:column}.footer-group a{display:inline-block}}
@media(max-width:405px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:43px}.hero-visual{height:352px}.primary-window{transform:rotate(-2deg) scale(.77);top:40px}.phone-window{transform:rotate(7deg) scale(.64)}.floating-note{bottom:4px}.hero-buttons{gap:15px}.underlined{font-size:12px}.project-image{height:250px}.project-preview{transform:rotate(-3deg) scale(.72)}.rc-preview{transform:rotate(2deg) scale(.72)}.footer-col a{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-card{transition:none}}
/* Prevent decorative portfolio mockups from setting mobile grid track width. */
.project{min-width:0}
@media(max-width:700px){.portfolio-grid{grid-template-columns:minmax(0,1fr)}}

/* GTG Studio production identity — stacked group-family wordmark */
.brand{display:inline-flex;align-items:center;letter-spacing:normal;flex:none}
.brand img{display:block;width:112px;height:auto}
.footer-brand img{width:130px}
.main-nav a[aria-current="page"]{color:var(--accent-dark)}
.main-nav a[aria-current="page"]::after{content:"";display:block;height:2px;background:var(--accent);margin-top:6px;border-radius:5px}
/* Interior pages: same design language, approachable content */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 84% 14%,#eaf7f0 0%, transparent 35%),#fafaf7;border-bottom:1px solid var(--line)}
.page-hero .wrap{padding:100px 0 95px}
.page-hero-inner{display:grid;grid-template-columns:1.35fr .8fr;gap:80px;align-items:center}
.page-hero h1{font-size:clamp(44px,5vw,67px);line-height:1.1;letter-spacing:-3.2px;max-width:780px;margin:0 0 24px;color:var(--ink)}
.page-hero h1 em{font-style:normal;color:var(--accent)}
.page-hero .hero-lead{margin-bottom:24px}
.hero-info-card{background:#fff;border:1px solid #dde9e1;border-radius:25px;box-shadow:0 25px 75px rgba(18,49,52,.08);padding:34px 30px;position:relative}
.hero-info-card:before{content:"";position:absolute;width:145px;height:145px;border:1px solid #c5e8d9;border-radius:50%;right:-30px;top:-40px;pointer-events:none}
.hero-info-card .eyebrow{font-size:10px;margin-bottom:21px}
.hero-info-card h3{font-size:27px;color:var(--ink);letter-spacing:-1px;margin:0 0 21px;line-height:1.25}
.hero-info-card ul,.text-list{list-style:none;padding:0;margin:0}
.hero-info-card li,.text-list li{position:relative;padding:11px 0 11px 28px;border-top:1px solid #edf3ef;font-size:14px;color:#4d626b;line-height:1.5}
.hero-info-card li:before,.text-list li:before{content:"✓";position:absolute;left:3px;top:11px;color:var(--accent);font-weight:800}
.interior-section{padding:98px 0;background:#fff}
.interior-section.soft{background:#f4f8f5}
.interior-section .section-heading{margin-bottom:42px}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.info-card{border:1px solid #e2eae5;border-radius:16px;background:white;padding:33px;min-height:244px}
.info-card .info-num{font-size:11px;letter-spacing:1.1px;color:var(--accent-dark);font-weight:800}
.info-card h3{font-size:21px;color:var(--ink);letter-spacing:-.5px;margin:28px 0 15px}
.info-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.two-col h2,.interior-section h2{font-size:clamp(35px,3.9vw,51px);letter-spacing:-2px;line-height:1.17;color:var(--ink);margin:0 0 21px}
.two-col h2 em,.interior-section h2 em{font-style:normal;color:var(--accent)}
.two-col p,.wide-copy{color:var(--muted);line-height:1.86;font-size:15px}
.rounded-note{background:#e8f6ee;padding:38px 42px;border-radius:22px;position:relative}
.rounded-note strong{font-size:19px;color:#133b37}
.rounded-note p{margin-bottom:0}
.bottom-cta{padding:30px 0 105px;background:#fff}
.bottom-cta .contact-box{padding-top:69px;padding-bottom:68px}
.breadcrumb{font-size:12px;color:#6c817e;margin-bottom:37px}
.breadcrumb a{color:var(--accent-dark)}
.portfolio-intro{max-width:760px;margin:0 0 45px}
.portfolio-intro p{font-size:16px;line-height:1.8;color:var(--muted)}
.portfolio .project-image{height:310px}
.contact-layout{display:grid;grid-template-columns:1.18fr .82fr;gap:54px;align-items:start}
.contact-panel{background:#fff;border-radius:23px;border:1px solid #e0eae4;padding:38px;box-shadow:0 22px 65px rgba(21,47,50,.06)}
.contact-panel h2{font-size:29px;letter-spacing:-.9px;margin:0 0 9px}
.contact-panel>p{margin:0 0 27px;color:var(--muted);font-size:14px;line-height:1.7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.form-field{margin-bottom:19px}
.form-field.full{grid-column:1/-1}
.form-field label{display:block;font-size:12px;font-weight:700;color:#3c5058;margin-bottom:8px}
.form-field input,.form-field select,.form-field textarea{background:#fbfcfa;width:100%;border:1px solid #dbe5df;border-radius:9px;padding:14px 15px;font:inherit;font-size:14px;color:var(--ink)}
.form-field textarea{min-height:151px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #6ac5a4;border-color:#6ac5a4}
.form-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#5c7176;line-height:1.65;margin:5px 0 21px}
.form-check input{margin-top:4px;accent-color:var(--accent)}
.form-check a,.privacy-link{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.help-note{font-size:11px;color:#75858b;margin:12px 0 0}
.contact-side{padding:10px 0}
.contact-side h3{font-size:27px;line-height:1.25;letter-spacing:-.6px;color:var(--ink);margin:0 0 18px}
.contact-side>p{font-size:15px;line-height:1.8;color:var(--muted)}
.contact-detail{display:block;padding:19px 0;border-bottom:1px solid #e0e8e1;font-size:14px}
.contact-detail small{display:block;font-size:11px;letter-spacing:1px;color:var(--accent-dark);font-weight:800;margin-bottom:8px}
.contact-detail b{font-size:16px;color:var(--ink)}
.notice-banner{margin:20px 0;padding:17px 20px;border-radius:11px;background:#e7f7ed;color:#1b624e;font-size:14px;line-height:1.6}
.notice-banner.error{background:#fff2ef;color:#943c2c}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.field-error{display:block;color:#b73d31;font-size:12px;margin-top:6px}
.prose{max-width:850px;margin:0 auto}.prose h2{font-size:28px;margin:34px 0 10px}.prose p{font-size:15px;color:#596b71;line-height:1.9}.prose a{color:var(--accent-dark);text-decoration:underline}
@media(max-width:960px){.page-hero-inner{grid-template-columns:1.15fr .8fr;gap:30px}.page-hero h1{font-size:48px}.contact-layout{gap:30px}.info-grid{gap:12px}.info-card{padding:26px}}
@media(max-width:700px){.brand img{width:101px}.footer-brand img{width:124px}.main-nav a[aria-current="page"]::after{display:none}.page-hero .wrap{padding:64px 0}.page-hero-inner,.two-col,.contact-layout{grid-template-columns:1fr;gap:22px}.page-hero h1{font-size:clamp(40px,10vw,51px);letter-spacing:-2.5px}.hero-info-card{margin-top:17px;padding:26px}.interior-section{padding:70px 0}.info-grid{grid-template-columns:1fr}.info-card{min-height:0}.two-col{gap:20px}.rounded-note{padding:27px}.contact-panel{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:0}.contact-side{margin-top:20px}.bottom-cta{padding:10px 0 75px}}

/* V1.1 — precise GTG-family logo, real portfolio, clean contact-page navigation */
.brand img{width:104px;height:auto;max-width:none}
.footer-brand img{width:124px;height:auto}
/* Header is sticky; menu stacking and form focus are handled below. */
.project-image{display:flex;align-items:flex-start;justify-content:center}
.project-capture{position:relative;display:block;width:110%;height:auto;min-width:0;border:7px solid rgba(255,255,255,.94);border-radius:13px;overflow:hidden;box-shadow:0 13px 32px rgba(18,44,48,.16);transform:translate(0,3px) rotate(-2.4deg);transform-origin:50% 30%;background:#fff;transition:transform .25s ease}
.project-rc .project-capture{transform:translate(0,2px) rotate(2deg)}
.project-image:hover .project-capture{transform:translate(0,-5px) rotate(0deg)}
.project-capture img{display:block;width:100%;height:auto;aspect-ratio:957/631;object-fit:cover;object-position:center top}
.project-rc .project-capture img{aspect-ratio:950/602}
.hero-psr-shot{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}
.hero-rc-shot{display:block;width:100%;height:100%;object-fit:cover;object-position:right top}
.phone-window{background:#fff}
@media(max-width:700px){.brand img{width:92px}.footer-brand img{width:118px}.project-capture{width:112%}.site-header{position:sticky;top:0}}
@media(prefers-reduced-motion:reduce){.project-capture{transition:none}}

/* GTG Studio v1.4: subtle release badge and practical bilingual service content */
.site-version{display:inline-block;margin-left:12px;padding:3px 7px;border:1px solid rgba(232,246,241,.3);border-radius:5px;color:#b6d3cb;font-size:10px;letter-spacing:.35px;vertical-align:middle;white-space:nowrap}
.studio-depth{background:#fff}.studio-depth .wrap>h2{font-size:clamp(32px,4vw,46px);color:var(--ink);line-height:1.15;letter-spacing:-1.6px;margin:0 0 18px}.studio-depth .wrap>h2 em{color:var(--accent);font-style:normal}.studio-depth-intro{max-width:790px;font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 33px}
.depth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.depth-grid article{border:1px solid var(--line);border-radius:15px;padding:25px;background:#fafcf9}.depth-grid h3{margin:13px 0 10px;font-size:19px;color:var(--ink);letter-spacing:-.4px}.depth-grid p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}.studio-faq{max-width:850px;margin-top:55px}.studio-faq h2{color:var(--ink);font-size:clamp(26px,3vw,34px);letter-spacing:-1px;margin:0 0 20px}.studio-faq details{border-bottom:1px solid var(--line);padding:17px 0}.studio-faq summary{cursor:pointer;font-size:16px;font-weight:700;color:var(--ink);list-style-position:inside}.studio-faq details p{margin:12px 0 5px;font-size:14px;line-height:1.85;color:var(--muted);max-width:740px}
@media(max-width:760px){.depth-grid{grid-template-columns:1fr}.studio-depth .wrap>h2{letter-spacing:-1px}.site-version{margin:6px 0 0 8px}}

/* GTG Studio pre-release footer, inspired by Gesturas Technology Group */
.studio-footer.site-footer{background:#101719;color:#d0dbdc;padding:48px 0 18px}
.studio-footer .studio-footer-main{display:grid;grid-template-columns:minmax(225px,1.34fr) minmax(124px,.85fr) minmax(112px,.8fr) minmax(214px,1.15fr);gap:clamp(20px,4vw,65px);padding:0 0 37px}
.studio-footer .studio-footer-brand p{max-width:320px;font-size:13px;line-height:1.72;color:#a0afb2;margin:12px 0 0}
.studio-footer .footer-brand img{width:136px;height:auto}
.studio-footer .studio-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.studio-footer .studio-footer-column h4{margin:4px 0 8px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:750;color:#fff}
.studio-footer .studio-footer-column>a{display:flex;align-items:flex-start;gap:10px;color:#aab7b9;font-size:13px;line-height:1.48;overflow-wrap:anywhere;transition:color .2s}
.studio-footer .studio-footer-column>a:hover,.studio-footer .studio-footer-legal a:hover,.studio-footer .studio-footer-credit a:hover{color:#88e3c9}
.studio-footer .studio-footer-contact svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.studio-footer .studio-footer-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;border-top:1px solid #2d383a;padding-top:18px}
.studio-footer .studio-footer-credit{color:#93a3a6;font-size:11px;line-height:1.75;max-width:650px}
.studio-footer .studio-footer-credit>a{color:#caebe1;text-decoration:underline;text-decoration-color:#557771;text-underline-offset:3px}
.studio-footer .studio-footer-legal{display:flex;gap:17px;justify-content:flex-end;align-items:center;flex-wrap:wrap;flex-shrink:0}
.studio-footer .studio-footer-legal a{color:#aab7b9;font-size:11px;white-space:nowrap;line-height:1.7}
.studio-footer .site-version{display:inline-block;vertical-align:middle;margin:0 0 0 8px;padding:2px 6px;border:1px solid #3c5654;border-radius:4px;color:#a8c5bc;font-size:10px;white-space:nowrap}
@media(max-width:1040px){.studio-footer .studio-footer-main{grid-template-columns:1.35fr .82fr .82fr;gap:30px}.studio-footer .studio-footer-brand{grid-column:1/-1}.studio-footer .studio-footer-bottom{flex-direction:column;gap:12px}.studio-footer .studio-footer-legal{justify-content:flex-start;flex-shrink:1}}
@media(max-width:700px){.studio-footer.site-footer{padding-top:43px}.studio-footer .studio-footer-main{grid-template-columns:1fr 1fr;gap:31px 20px}.studio-footer .studio-footer-brand{grid-column:1/-1}.studio-footer .studio-footer-contact{grid-column:1/-1}.studio-footer .studio-footer-column{gap:11px}.studio-footer .studio-footer-bottom{gap:15px}.studio-footer .studio-footer-legal{gap:12px 18px}}
@media(max-width:390px){.studio-footer .studio-footer-column>a{font-size:12px}.studio-footer .studio-footer-legal{gap:10px 13px}}

/* Case studies and project-focused enquiry paths */
.case-heading{padding-bottom:42px}.case-heading h1{max-width:960px;font-size:clamp(36px,5vw,66px);line-height:1.13;letter-spacing:-2.8px;margin:0 0 24px;color:var(--ink)}.case-heading .hero-lead{max-width:790px;font-size:17px}.case-actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.case-heading .case-actions{margin-top:26px}
.case-image-section{padding:0 0 48px;background:#fafaf7}.case-hero-media{background:#fff;margin:0 auto;max-width:1030px;border:1px solid #dbe7df;border-radius:18px;overflow:hidden;box-shadow:0 20px 55px rgba(20,43,49,.10)}.case-hero-media>img{display:block;width:100%;height:auto;object-fit:cover}.case-hero-media figcaption{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding:12px 22px}
.case-content{background:#fff}.case-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start;margin:0 0 66px}.case-intro h2,.case-subhead h2,.case-solution h2{font-size:clamp(28px,3.7vw,43px);letter-spacing:-1.4px;line-height:1.19;color:var(--ink);margin:0}.case-intro>p{max-width:690px;line-height:1.85;font-size:16px;color:var(--muted);margin:0}
.case-subhead{margin-bottom:26px}.case-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:74px}.case-goals article{border:1px solid var(--line);border-radius:15px;padding:27px;background:#f8fbf8}.case-goals .case-step{color:var(--accent-dark);font-size:12px;font-weight:800;letter-spacing:1.3px}.case-goals h3{font-size:19px;line-height:1.3;color:var(--ink);margin:16px 0 10px}.case-goals p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.case-solution{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:55px;padding:40px 0 36px;border-top:1px solid var(--line)}.case-solution p{line-height:1.85;color:var(--muted);font-size:15px}.case-solution ul{padding:22px 30px 22px 43px;margin:10px 0;background:var(--mint);border-radius:15px}.case-solution li{line-height:1.8;margin:0 0 12px;font-size:14px}
.case-outcome{padding:26px 30px;background:#f6faf7;border-radius:15px;margin-top:22px}.case-outcome p:not(.section-kicker){line-height:1.75;max-width:850px;color:var(--muted)}.case-outcome a{color:var(--accent-dark);font-weight:750;border-bottom:1px solid currentColor}.case-more{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding-top:35px}.case-more a,.case-card-link{color:var(--accent-dark);font-size:13px;font-weight:750}.case-more a:hover,.case-card-link:hover{text-decoration:underline;text-underline-offset:4px}.case-card-link{display:inline-block;margin-top:13px}
.case-service-proof{background:#edf7f1;padding:20px 28px;border-radius:14px;width:min(1050px,calc(100% - 88px));margin:0 auto 38px}.case-service-proof strong{font-size:16px;color:var(--ink)}.case-service-proof p{font-size:14px;color:var(--muted);margin:9px 0 0;line-height:1.75}.case-service-proof a{color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.case-heading h1{letter-spacing:-1.4px}.case-intro,.case-solution{grid-template-columns:1fr;gap:22px}.case-goals{grid-template-columns:1fr;gap:14px}.case-hero-media{border-radius:13px}.case-service-proof{width:calc(100% - 40px)}}

/* GTG Studio: bilingual Costa del Sol web-design landing page */
.service-local-link{display:block;margin-top:12px;font-size:12px;font-weight:750;color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.case-service-proof .service-local-intro{margin:5px 0 10px}
.costa-hero{background:linear-gradient(112deg,#f7fbf7 0%,#f0f7f1 58%,#e5f0ea 100%);overflow:hidden}
.costa-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(25px,4vw,65px);min-height:580px}
.costa-hero-content h1{font-size:clamp(39px,5vw,68px);line-height:1.11;letter-spacing:-2.7px;color:var(--ink);margin:0 0 23px}
.costa-hero-content h1 em,.costa-intro h2 em,.costa-features h2 em,.costa-work h2 em,.costa-process h2 em,.costa-local h2 em,.costa-faq h2 em{font-style:normal;color:var(--accent)}
.costa-hero-content .hero-lead{max-width:650px;font-size:16px;line-height:1.82}
.costa-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin:27px 0 0}
.costa-points{display:flex;flex-wrap:wrap;gap:12px 19px;margin-top:29px}
.costa-points span{font-size:12px;color:#3c6156;font-weight:650;display:flex;align-items:center;gap:7px}
.costa-points b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#d9eee5;color:#207b61;font-size:11px}
.costa-hero-images{position:relative;padding:42px 0 86px 2px;min-width:0}
.costa-browser{background:#fff;border:1px solid #d7e8de;border-radius:15px;box-shadow:0 25px 55px rgba(24,65,65,.16);overflow:hidden;transform:rotate(-2deg);width:100%}
.costa-browser-top{height:35px;display:flex;gap:13px;align-items:center;padding:0 15px;font-size:11px;color:#60766d;background:#e9f1ec}
.costa-browser-top span:first-child{color:#a7c5b2;font-size:12px;letter-spacing:2px}
.costa-browser img{width:100%;height:253px;object-fit:cover;object-position:center top;display:block}
.costa-browser-small{width:55%;max-width:275px;position:absolute;bottom:11px;left:-37px;transform:rotate(5deg);box-shadow:0 20px 50px rgba(24,65,65,.17)}
.costa-browser-small img{height:132px}
.costa-intro h2,.costa-features h2,.costa-work h2,.costa-process h2,.costa-local h2,.costa-faq h2{max-width:900px;font-size:clamp(29px,4.3vw,45px);line-height:1.16;letter-spacing:-1.5px;color:var(--ink);margin:0 0 20px}
.costa-lead{max-width:840px;line-height:1.82;color:var(--muted);font-size:16px;margin:0 0 31px}
.costa-grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.costa-grid-three article{border-radius:14px;border:1px solid var(--line);padding:28px;background:#fff}
.costa-grid-three h3{font-size:19px;line-height:1.37;color:var(--ink);margin:15px 0 11px}
.costa-grid-three p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.costa-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.costa-feature-grid article{display:flex;gap:17px;align-items:start;background:#fff;border:1px solid var(--line);padding:22px;border-radius:12px}
.costa-check{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#14896a;background:#e4f4ea;flex-shrink:0;font-weight:800}
.costa-feature-grid h3{font-size:17px;color:var(--ink);margin:0 0 8px}
.costa-feature-grid p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.costa-head-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}
.costa-head-row h2{margin-bottom:0}
.costa-head-row>p{max-width:340px;color:var(--muted);line-height:1.75;font-size:14px;margin:0}
.costa-projects{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.costa-projects article{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.costa-projects article>a{display:block}
.costa-projects img{width:100%;height:230px;display:block;object-fit:cover;object-position:top}
.costa-projects article>div{padding:24px}
.costa-projects h3{font-size:20px;color:var(--ink);margin:0 0 9px}
.costa-projects p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 16px}
.costa-step{color:var(--accent-dark);font-weight:800;letter-spacing:.6px;font-size:13px}
.costa-local-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:center}
.costa-local-grid p{font-size:15px;line-height:1.85;color:var(--muted);max-width:770px}
.costa-local-grid .underlined{display:inline-block;margin-top:14px;font-weight:700}
.costa-local-note{border:1px solid #cee7d7;border-radius:20px;padding:34px 29px;background:#f0f8f2}
.costa-local-note>span{font-size:33px;color:var(--accent-dark);display:block;margin-bottom:12px}
.costa-local-note strong{display:block;font-size:22px;color:var(--ink)}
.costa-local-note p{font-size:13px;line-height:1.95;margin:13px 0 0}
.costa-faq .studio-faq{margin-top:13px}
.costa-faq .studio-faq details{max-width:880px}
@media(max-width:1050px){.costa-hero-grid{gap:25px}.costa-browser-small{left:-15px}.costa-hero-content h1{font-size:clamp(36px,4.3vw,55px)}}
@media(max-width:760px){.costa-hero-grid{grid-template-columns:1fr}.costa-hero{padding-bottom:15px}.costa-hero-images{max-width:565px;padding:10px 0 54px 25px}.costa-browser img{height:190px}.costa-browser-small img{height:95px}.costa-browser-small{bottom:0}.costa-grid-three,.costa-feature-grid,.costa-projects,.costa-local-grid{grid-template-columns:1fr}.costa-head-row{display:block}.costa-head-row>p{margin-top:15px}.costa-projects img{height:215px}}
@media(max-width:460px){.costa-hero-content h1{letter-spacing:-1.5px}.costa-hero-images{padding-left:10px}.costa-browser-small{left:0}.costa-hero-content .hero-lead{font-size:15px}}

/* Accessible motion preferences and touch-sized navigation control */
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:1040px){.menu-button{min-width:44px;min-height:44px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center}.menu-button span{width:24px}}

/* Two-position language selector: current locale has a clear filled state. */
.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid #cbded5;border-radius:999px;background:#edf4ef;color:#405d55;box-shadow:inset 0 1px 2px rgba(21,42,54,.04);font-size:12px;line-height:1.2;font-weight:750;text-decoration:none}
.lang-switch>span{min-width:35px;min-height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px}
.lang-switch .lang-current{background:#137e69;color:#fff;box-shadow:0 2px 5px rgba(19,126,105,.2)}
.lang-switch .lang-arrow{display:none}
.lang-switch:hover{border-color:#137e69;background:#e0f0e8}
.lang-switch:focus-visible{outline:3px solid #f3b45a;outline-offset:3px}

/* Lighthouse accessibility: stronger small-label and process-copy contrast. */
.address-pill{color:#4a5b62}
.floating-note small{color:#40575a}
.card-number{color:#425e53}
.step p{color:#40545b}
.studio-footer .studio-footer-column h2{margin:4px 0 8px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:750;color:#fff;line-height:1.5}

/* Sticky navigation on every page, desktop and mobile. */
.site-header{position:sticky;top:0;z-index:1000;isolation:isolate;background:rgba(250,250,247,.96);border-bottom:1px solid rgba(22,46,55,.10);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 5px 20px rgba(19,43,45,.045)}
html{scroll-padding-top:100px}
@media(max-width:1040px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fafaf7;flex-direction:column;align-items:stretch;padding:12px 23px 22px;gap:0;box-shadow:0 16px 26px rgba(21,46,48,.16);border-top:1px solid #deebe4;max-height:calc(100vh - 74px);overflow-y:auto;overscroll-behavior:contain}
  .main-nav.is-open{display:flex}
  .main-nav a{display:block;font-size:15px;line-height:1.5;padding:12px 3px;border-bottom:1px solid #e3ece7}
  .main-nav a[aria-current="page"]::after{display:none}
  .menu-button{width:44px}
}
@media(max-width:700px){
  .main-nav{top:100%;padding:12px 20px 22px;max-height:calc(100vh - 68px)}
  html{scroll-padding-top:82px}
}
@media(min-width:701px) and (max-width:920px){html{scroll-padding-top:90px}}
