:root{font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:92px}
html[data-theme="navy"]{color-scheme:dark;--bg:#050b16;--bg2:#091427;--panel:#0c1728;--panel2:#0f2139;--text:#edf5ff;--muted:#a5b6ce;--soft:#7c94af;--line:rgba(143,190,255,.18);--strong-line:rgba(153,199,255,.38);--accent:#5dbdff;--accent2:#a5d9ff;--accent-rgb:88,188,255;--hero-bg:#050c1d;--glass:rgba(14,30,52,.67);--shadow:0 28px 100px rgba(0,0,0,.22);--nav:rgba(4,11,22,.82);--glow:rgba(48,151,255,.22);--inverse:#031425;--footer:#020713;--poster:#12243a}
html[data-theme="ivory"]{color-scheme:light;--bg:#ebe9e2;--bg2:#f0eee8;--panel:#fcfaf4;--panel2:#f4f0e9;--text:#26313a;--muted:#626b73;--soft:#7a838a;--line:rgba(103,87,65,.17);--strong-line:rgba(160,133,91,.48);--accent:#987444;--accent2:#ba955e;--accent-rgb:170,133,82;--hero-bg:#f4f0e7;--glass:rgba(255,255,252,.68);--shadow:0 28px 90px rgba(83,68,43,.11);--nav:rgba(238,234,224,.87);--glow:rgba(190,156,100,.2);--inverse:#fffaf0;--footer:#1c252c;--poster:#d7c7ae}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.55;transition:background .45s,color .45s}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif}h2{font-size:clamp(38px,4.9vw,76px);line-height:1.1;letter-spacing:-.065em;font-weight:400}h2 em,h1 em,.addons em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;color:var(--accent2)}h3{letter-spacing:-.05em}::selection{background:var(--accent);color:var(--inverse)}
.topbar{height:79px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(18px,3vw,68px);background:var(--nav);backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;width:max-content;line-height:1}.brand-mark{font-size:29px;font-weight:300;letter-spacing:.22em;line-height:1.05}.brand small{font-size:9px;font-weight:600;letter-spacing:.29em;margin-top:6px;color:var(--muted)}.brand-dot{color:var(--accent);padding:0 5px}.desktop-nav{display:flex;align-items:center;gap:clamp(10px,1.55vw,29px)}.desktop-nav a{font-size:12px;color:var(--muted);white-space:nowrap;transition:color .2s}.desktop-nav a:hover,.footer a:hover{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:9px;flex:none}.theme-toggle,.icon-btn{display:flex;align-items:center;justify-content:center;gap:9px;height:39px;background:var(--glass);border:1px solid var(--line);border-radius:20px;color:var(--text);font-size:11px;padding:0 13px}.theme-toggle:hover,.icon-btn:hover{border-color:var(--strong-line)}.theme-icon{font-size:16px;color:var(--accent2)}.toggle-track{position:relative;width:31px;height:16px;border-radius:20px;background:var(--line);border:1px solid var(--strong-line)}.toggle-track i{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--accent);transition:transform .25s}html[data-theme="ivory"] .toggle-track i{transform:translateX(15px)}.account-desktop{font-size:11px}.icon-btn{position:relative;min-width:40px;font-size:20px}.count{min-width:17px;height:17px;display:grid;place-items:center;background:var(--accent);color:var(--inverse);border-radius:100%;font-size:10px;font-weight:700;margin-left:0}.menu-toggle{display:none}.mobile-nav{position:sticky;z-index:99;top:79px;background:var(--panel);padding:20px 5%;border-bottom:1px solid var(--line)}.mobile-nav:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.mobile-nav a{font-size:14px;color:var(--text)}
.eyebrow,.overline,.card-index,.small-label,.pricing-category,.pro-n{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--accent2)}.signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 11px var(--accent);margin-right:9px;vertical-align:middle}.hero{min-height:min(820px,calc(100svh - 79px));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:70px 20px 110px;background:radial-gradient(ellipse at 50% 45%,var(--glow),transparent 54%),linear-gradient(145deg,var(--hero-bg),var(--bg))}.hero-grid{position:absolute;inset:-30%;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:90px 90px;transform:perspective(600px) rotateX(68deg) translateY(45%);opacity:.15}.hero-glow{position:absolute;width:min(900px,96vw);height:700px;top:8%;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 66%);pointer-events:none;filter:blur(20px)}.hero-copy{position:relative;z-index:2;text-align:center;max-width:1060px}.hero-copy .eyebrow{letter-spacing:.23em}.hero-orb{width:208px;height:160px;margin:16px auto 9px;position:relative;display:grid;place-items:center}.orb-core{position:relative;z-index:2;display:block;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle at 30% 22%,#e8faff 0%,#92c7f8 9%,#294f82 31%,#081b39 58%,#02122b 76%,#72b2ed 96%);box-shadow:inset 11px 5px 20px rgba(228,255,255,.4),inset -12px -13px 20px rgba(2,8,33,.95),0 0 20px rgba(97,185,255,.7),0 0 72px var(--glow);animation:float 7s ease-in-out infinite}html[data-theme="ivory"] .orb-core{background:radial-gradient(circle at 30% 22%,#ffffff,#f8f6e9 11%,#c6c8be 35%,#777e7d 64%,#eae4d7 86%,#ae9164);box-shadow:inset 10px 8px 20px #ffffffad,inset -8px -10px 22px #5a5b555f,0 6px 45px #bba57b7e}.orb-halo{position:absolute;inset:0;background:radial-gradient(circle,var(--glow),transparent 65%);filter:blur(12px)}.orb-ring{position:absolute;width:188px;height:72px;border:1px solid var(--accent);border-radius:50%;opacity:.55;box-shadow:0 0 15px var(--glow);transform:rotate(-29deg);animation:orbit-a 24s linear infinite}.orb-ring.second{width:170px;height:63px;transform:rotate(55deg);opacity:.33;animation:orbit-b 32s linear infinite}.orb-spark{position:absolute;width:5px;height:5px;background:var(--accent2);border-radius:50%;top:20px;right:37px;box-shadow:0 0 18px 3px var(--accent)}.overline{color:var(--accent2);margin:13px 0 12px;letter-spacing:.35em;font-size:9px}.hero h1{font-weight:300;font-size:clamp(63px,7.3vw,113px);line-height:1.05;letter-spacing:-.082em;margin:0 0 27px}.hero h1 em{font-style:italic}.hero-sub{max-width:690px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.9}.hero-buttons{display:flex;gap:13px;align-items:center;justify-content:center;margin-top:28px}.btn{border:1px solid var(--strong-line);border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 20px;font-size:12px;font-weight:600;letter-spacing:.012em;transition:transform .22s,border-color .22s,background .22s;white-space:normal;text-align:center}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:var(--inverse);border-color:var(--accent);box-shadow:0 8px 35px var(--glow)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost,.btn-outline{background:transparent;color:var(--text)}.btn-ghost:hover,.btn-outline:hover{background:var(--glass);border-color:var(--accent)}.hero-foot{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:56px;color:var(--soft);letter-spacing:.16em;font-size:9px}.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:20px;white-space:nowrap;color:var(--soft);font-size:9px;letter-spacing:.2em}.scroll-hint span{color:var(--accent)}
.section{padding:110px max(5%,calc((100% - 1370px)/2));position:relative;overflow:hidden}.section-heading{display:grid;grid-template-columns:1.65fr 1fr;align-items:end;gap:40px;margin-bottom:48px}.section-heading h2{margin:21px 0 0}.section-heading>p{margin:0 0 6px;color:var(--muted);font-size:14px;line-height:1.85;max-width:410px}.glass-card{background:var(--glass);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(15px);box-shadow:var(--shadow)}.particle-host{position:relative;isolation:isolate;overflow:hidden}.particle-window{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.78}.particle-host > :not(.particle-window){z-index:2}.hero>.particle-window{z-index:1}.hero .hero-grid,.hero .hero-glow{z-index:0}.hero .scroll-hint{z-index:2}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-card{min-height:345px;padding:25px 24px 26px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}.service-card:hover,.pro-card:hover,.price-card:hover{border-color:var(--strong-line);transform:translateY(-4px)}.service-icon{font-size:42px;color:var(--accent);font-weight:300;margin-bottom:20px;line-height:1}.card-index{color:var(--soft)}.service-card h3{font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.2;margin:12px 0}.service-card p{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 28px}.text-link{margin-top:auto;display:inline-flex;align-items:center;gap:12px;align-self:flex-start;background:none;border:0;border-bottom:1px solid var(--strong-line);padding:0 0 6px;color:var(--accent2);font-size:12px;letter-spacing:.03em}.text-link:hover{border-color:var(--accent)}
.portfolio{background:linear-gradient(135deg,var(--bg2),var(--bg))}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.project-card{border:1px solid var(--line);background:var(--glass);border-radius:16px;overflow:hidden;min-width:0}.project-featured{grid-column:1/-1}.project-visual{height:330px;position:relative;overflow:hidden;background:var(--panel2)}.project-featured .project-visual{height:clamp(280px,46vw,600px)}.project-visual.screenshot img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-visual.screenshot:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(2,8,24,.46));pointer-events:none}.project-label{position:absolute!important;left:22px;bottom:21px;z-index:3!important;padding:8px 12px;border:1px solid rgba(207,229,255,.35);background:rgba(5,12,26,.7);backdrop-filter:blur(8px);border-radius:20px;color:#cde9ff;font-size:9px;letter-spacing:.15em;font-weight:700}.project-details{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:25px 28px 30px}.project-details h3{font-size:29px;font-weight:400;margin:7px 0 7px}.project-details p{margin:0;max-width:750px;font-size:13px;line-height:1.7;color:var(--muted)}.round-arrow{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid var(--strong-line);border-radius:50%;color:var(--accent);font-size:20px}.music-preview{background:radial-gradient(ellipse at 60% 38%,rgba(86,74,203,.34),transparent 48%),linear-gradient(135deg,#0d1030,#0b1533 65%,#12172c);color:#dfebff}.preview-meta{position:absolute!important;left:31px;top:30px;z-index:3!important;display:flex;flex-direction:column;gap:13px;color:#e1edff}.preview-meta small,.preview-meta span{font-size:9px;letter-spacing:.2em;color:#adbbde}.preview-meta strong{font-size:44px;line-height:1.12;letter-spacing:.14em;font-weight:300}.wave-wrap{position:absolute!important;display:flex;gap:6px;height:150px;align-items:center;right:5%;top:38%;opacity:.68;transform:perspective(300px) rotateY(-22deg)}.wave-wrap i{width:5px;height:var(--h,55px);background:linear-gradient(180deg,transparent,#8b98fa,#72d2ff,transparent);border-radius:10px;box-shadow:0 0 12px #9894ff;animation:wave 1.8s ease-in-out infinite alternate;animation-delay:calc(var(--i,1)*-0.13s)}.wave-wrap i:nth-child(1),.wave-wrap i:nth-child(15){--h:25px;--i:1}.wave-wrap i:nth-child(2),.wave-wrap i:nth-child(14){--h:62px;--i:2}.wave-wrap i:nth-child(3),.wave-wrap i:nth-child(13){--h:95px;--i:3}.wave-wrap i:nth-child(4),.wave-wrap i:nth-child(12){--h:49px;--i:4}.wave-wrap i:nth-child(5),.wave-wrap i:nth-child(11){--h:115px;--i:5}.wave-wrap i:nth-child(6),.wave-wrap i:nth-child(10){--h:70px;--i:6}.wave-wrap i:nth-child(7),.wave-wrap i:nth-child(9){--h:130px;--i:7}.wave-wrap i:nth-child(8){--h:150px;--i:8}.pro-preview{background:radial-gradient(ellipse at 65% 50%,#0c4e5b65,transparent 60%),linear-gradient(135deg,#071522,#09232b 60%,#0a1121);color:#e4fbff}.blueprint-grid{position:absolute!important;inset:0;background-image:linear-gradient(#7de7f522 1px,transparent 1px),linear-gradient(90deg,#7de7f522 1px,transparent 1px);background-size:37px 37px;opacity:.45;transform:perspective(280px) rotateX(25deg) scale(1.6)}.factory-shape{position:absolute!important;right:17%;top:26%;font-size:105px;color:#67c5d8;opacity:.65}.factory-hex{position:absolute;display:block;filter:drop-shadow(0 0 15px #83e8f6)}.factory-hex.one{transform:translate(-50px,10px) rotate(28deg)}.factory-hex.two{transform:translate(40px,-36px)}.factory-hex.three{transform:translate(52px,83px);font-size:67px}.honesty-note{font-size:11px;color:var(--soft);margin:24px 0 0;line-height:1.8}
.graphic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.graphic-tile{min-width:0}.graphic-tile h3{font-weight:500;font-size:20px;margin:23px 0 5px}.graphic-tile p{color:var(--muted);font-size:13px;margin-bottom:0}.visual{height:345px;border-radius:14px;overflow:hidden;display:flex;position:relative;isolation:isolate}.graphic-poster{background:linear-gradient(145deg,#e6d9c7,#bd9c77);color:#30333a;flex-direction:column;justify-content:space-between;padding:26px}.mini-top,.mini-bottom{font-size:9px;letter-spacing:.18em}.graphic-poster strong{font-size:clamp(38px,4vw,67px);line-height:.92;font-weight:500;letter-spacing:-.08em}.graphic-poster i,.social-preview i{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}.graphic-business{align-items:center;justify-content:center;background:linear-gradient(130deg,#142038,#080e18)}.business-card-one,.business-card-two{position:absolute;width:63%;height:46%;background:#e5d9c2;border:1px solid #f9f1e2;box-shadow:0 18px 65px #0008;display:flex;justify-content:center;align-items:center;flex-direction:column;transform:rotate(-15deg) translate(-32px,-10px);color:#1f252d}.business-card-one b{font-size:59px;font-weight:300;letter-spacing:.12em}.business-card-one b span{color:#a18a62}.business-card-one small{font-size:7px;letter-spacing:.17em}.business-card-two{transform:rotate(12deg) translate(43px,30px);background:#2c323e;color:#d6bf9a;letter-spacing:.14em;font-size:12px;font-weight:600;text-align:center}.business-card-two span{font-size:26px;margin-top:9px}.graphic-social{flex-direction:column;justify-content:space-between;padding:27px;background:radial-gradient(circle at 55% 52%,#536d9a,#12243c 40%,#0a101e);color:#e7eef8}.social-tag{font-size:9px;letter-spacing:.15em}.social-orb{width:155px;height:155px;border-radius:50%;position:absolute;top:65px;left:50%;transform:translateX(-50%);background:radial-gradient(circle at 35% 25%,#f0faff,#96b6dc 12%,#2d548c 38%,#132a50 65%,#7e9ece 95%);box-shadow:0 0 60px #8dbaff77}.graphic-social strong{z-index:2;font-size:45px;line-height:.92;font-weight:300;letter-spacing:-.075em;margin:auto 0 14px}.graphic-social strong i{font-family:Georgia,serif;font-weight:400}.graphic-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:32px;color:var(--muted);font-size:12px}.graphic-foot>span{color:var(--text);border:1px solid var(--line);border-radius:20px;padding:5px 10px}.graphic-foot .text-link{margin-left:auto}
.pro-section{background:radial-gradient(ellipse at 15% 7%,var(--glow),transparent 52%),linear-gradient(135deg,var(--bg2),var(--bg))}.pro-intro{max-width:790px}.pro-lockup{font-size:clamp(58px,9vw,135px);letter-spacing:.09em;font-weight:200;line-height:1.25;margin:11px 0;color:var(--text)}.pro-lockup span{color:var(--accent)}.pro-intro h2{font-size:clamp(36px,4.5vw,62px)}.pro-intro>p{max-width:720px;font-size:15px;line-height:1.9;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;border:1px solid var(--strong-line);border-radius:25px;padding:9px 14px;color:var(--accent2);font-size:10px;letter-spacing:.14em;margin:9px 0 43px}.pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pro-card{min-height:244px;padding:24px;display:flex;flex-direction:column;transition:transform .24s,border-color .24s}.pro-n{font-size:13px;color:var(--accent)}.pro-card h3{font-size:21px;font-weight:500;margin:24px 0 11px}.pro-card p{font-size:13px;line-height:1.8;color:var(--muted)}.dev-status{margin-top:auto;font-size:10px;letter-spacing:.08em;color:var(--accent2)}
.pricing-category{padding:19px 0;border-top:1px solid var(--line);margin-top:46px;margin-bottom:20px}.pricing-category span{letter-spacing:0;color:var(--muted);font-weight:400}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.price-card{padding:27px 21px;display:flex;flex-direction:column;min-height:465px;transition:transform .24s,border-color .24s}.price-card.featured{border-color:var(--strong-line);background:linear-gradient(145deg,var(--panel2),var(--glass))}.price-card h3{font-size:clamp(23px,2.5vw,32px);font-weight:500;margin:20px 0 8px}.price-card>p{font-size:13px;color:var(--muted);min-height:68px}.price-card .price{margin:12px 0 13px;font-size:13px;color:var(--muted)}.price-card .price strong{font-size:clamp(23px,2.6vw,34px);font-weight:400;color:var(--text);display:block;white-space:nowrap}.price-card .price small{display:block;font-size:10px;color:var(--soft)}.price-card ul{margin:13px 0 24px;padding:0;list-style:none}.price-card li{font-size:12px;line-height:1.4;border-top:1px solid var(--line);padding:11px 0}.price-card li:before{content:'✧';color:var(--accent);margin-right:8px}.price-card .btn{margin-top:auto;display:flex;justify-content:space-between;padding:12px 15px}.addons{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:center;background:var(--glass);border:1px solid var(--line);padding:37px;margin-top:23px;border-radius:16px}.addons h3{font-size:33px;font-weight:400;margin:16px 0}.addons p{font-size:13px;line-height:1.8;color:var(--muted)}.addon-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.small-add{border:1px solid var(--line);border-radius:9px;padding:17px 13px;display:flex;justify-content:space-between;gap:10px;text-align:left;color:var(--text);background:var(--panel);font-size:12px}.small-add:hover{border-color:var(--accent)}.small-add span{color:var(--accent);font-size:17px}
.contact-section{background:linear-gradient(150deg,var(--bg2),var(--bg))}.contact-layout{display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:start}.contact-layout h2{margin:25px 0}.contact-layout>div>p{max-width:440px;color:var(--muted);line-height:1.9}.contact-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.contact-chips span{font-size:11px;border:1px solid var(--line);border-radius:22px;padding:8px 13px;color:var(--muted)}.contact-form{padding:30px}.contact-form label,.form-stack label{display:flex;flex-direction:column;font-size:12px;color:var(--muted);gap:7px;margin-bottom:19px}.contact-form input,.contact-form textarea,.contact-form select,.form-stack input,.form-stack textarea{width:100%;background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:13px 14px;outline:none;font-size:15px;min-height:47px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,.form-stack input:focus,.form-stack textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:11px!important;line-height:1.6;color:var(--muted)}.check input{width:17px!important;height:17px!important;min-height:17px!important;flex:none;margin:2px 0 0;accent-color:var(--accent)}.check a{color:var(--accent2);text-decoration:underline}.submit-contact{width:100%;justify-content:space-between}.form-note{font-size:11px;color:var(--soft);line-height:1.6;margin:13px 0 0}.honey{position:absolute!important;top:-9999px;left:-9999px;opacity:0}.footer{background:var(--footer);color:#d7e4f5;padding:70px max(5%,calc((100% - 1370px)/2)) 24px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-main p{font-size:13px;color:#889bb5;margin:25px 0}.footer-links{display:flex;flex-direction:column;gap:12px}.footer-links a{font-size:12px;color:#b8c8dc}.footer-bottom{border-top:1px solid #ffffff20;display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;margin-top:55px;padding-top:22px;font-size:10px;letter-spacing:.07em;color:#7f91a9}
.scrim{position:fixed;inset:0;background:rgba(1,6,15,.65);backdrop-filter:blur(5px);z-index:200}.scrim[hidden]{display:none}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(450px,100vw);background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:210;display:flex;flex-direction:column;padding:25px;overflow-y:auto}.drawer[hidden]{display:none}.drawer-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px}.drawer-top h2{font-size:30px;margin:12px 0 0}.drawer-top h2 span{font-size:16px;color:var(--accent)}.close-btn{border:1px solid var(--line);background:var(--glass);width:40px;height:40px;border-radius:50%;color:var(--text);font-size:24px}.cart-items{overflow-y:auto;flex:1;padding:10px 0}.cart-row{display:flex;gap:13px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.cart-row h3{font-size:16px;font-weight:500;margin:0 0 6px}.cart-row p{color:var(--muted);margin:0;font-size:12px}.remove-item{color:var(--accent2);border:0;background:transparent;font-size:12px;align-self:flex-start}.empty-cart{color:var(--muted);font-size:13px;margin-top:35px;text-align:center}.cart-estimate{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px}.cart-estimate span{color:var(--muted);font-size:12px}.cart-estimate strong{white-space:nowrap;font-size:19px;font-weight:500}.drawer-bottom>p{font-size:11px;line-height:1.6;color:var(--soft);margin:12px 0 23px}.full{width:100%}.drawer-bottom .btn+.btn{margin-top:9px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.modal{width:min(510px,calc(100vw - 25px));max-height:min(92vh,920px);overflow-y:auto;background:var(--panel);color:var(--text);padding:37px;border-radius:17px;border:1px solid var(--strong-line);box-shadow:0 30px 100px #0007}.modal::backdrop{background:#0009;backdrop-filter:blur(6px)}.modal-close{position:absolute;right:18px;top:18px}.modal h2{font-size:36px;margin:15px 35px 10px 0}.modal-intro{font-size:13px;color:var(--muted);line-height:1.7}.auth-tabs{display:flex;margin:21px 0 23px;border-bottom:1px solid var(--line)}.auth-tabs button{flex:1;border:none;background:none;color:var(--muted);padding:12px;font-size:13px;border-bottom:2px solid transparent}.auth-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.form-stack label{margin-bottom:17px}.form-stack .btn{margin-top:12px}.form-stack[hidden],.auth-tabs[hidden],#account-view[hidden]{display:none}.subtle-link{margin:13px auto;color:var(--muted)}.danger-link{margin-top:25px;color:#e88888}.account-greeting{font-size:14px;color:var(--muted)}.account-requests{border:1px solid var(--line);border-radius:12px;padding:18px;margin:25px 0}.account-requests h3{font-size:16px;font-weight:500;margin:0 0 13px}.account-request{border-top:1px solid var(--line);padding:13px 0;font-size:12px}.account-request strong{font-size:13px}.account-request p{color:var(--muted);margin:5px 0 0}.account-requests .none{font-size:12px;color:var(--muted)}#quote-summary{padding:15px;border:1px solid var(--line);border-radius:9px;margin:16px 0 22px}#quote-summary p{font-size:12px;margin:0 0 7px;color:var(--muted)}#quote-summary p:last-child{margin:0}#toast{position:fixed;z-index:300;bottom:24px;left:50%;max-width:min(490px,calc(100vw - 30px));transform:translate(-50%,30px);background:var(--panel2);border:1px solid var(--strong-line);color:var(--text);border-radius:12px;padding:13px 20px;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;box-shadow:var(--shadow);font-size:13px;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes float{50%{transform:translateY(-9px)}}@keyframes orbit-a{50%{transform:rotate(150deg)}100%{transform:rotate(330deg)}}@keyframes orbit-b{50%{transform:rotate(-145deg)}100%{transform:rotate(-305deg)}}@keyframes wave{to{height:calc(var(--h)*.46)}}
@media(max-width:1300px){.desktop-nav{gap:12px}.desktop-nav a{font-size:11px}.section{padding:95px 5%}.price-card{padding:22px 16px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:315px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card{min-height:405px}}
@media(max-width:940px){.topbar{padding:0 20px}.desktop-nav{display:none}.menu-toggle{display:flex}.hero{min-height:720px}.section-heading{grid-template-columns:1fr;gap:20px}.section-heading>p{max-width:750px}.pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.graphic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout>div>p{max-width:850px}}
@media(max-width:670px){.topbar{height:70px;padding:0 12px;gap:5px}.brand-mark{font-size:23px}.brand small{font-size:7px}.top-actions{gap:6px}.theme-toggle{padding:0 10px}.theme-toggle #theme-label,.account-desktop{display:none}.icon-btn{padding:0 9px;height:38px}.mobile-nav{top:70px}.hero{min-height:710px;padding:75px 18px 115px}.hero h1{font-size:clamp(53px,12.2vw,79px)}.hero-sub{font-size:13px}.hero-buttons{flex-direction:column;align-items:stretch;max-width:320px;margin:29px auto 0}.hero-foot{gap:12px;flex-wrap:wrap;font-size:8px;margin-top:38px}.hero .eyebrow{font-size:8px}.section{padding:74px 5%}.section-heading h2{font-size:clamp(39px,9vw,56px)}.service-grid,.pro-grid,.graphic-grid,.pricing-grid,.portfolio-grid{grid-template-columns:1fr}.project-featured{grid-column:auto}.service-card{min-height:270px}.project-visual{height:285px}.project-featured .project-visual{height:265px}.project-details{padding:20px}.project-details h3{font-size:23px}.preview-meta strong{font-size:32px}.wave-wrap{right:-12%}.graphic-grid{gap:29px}.graphic-tile .visual{height:360px}.graphic-foot .text-link{margin-left:0}.pro-lockup{font-size:80px}.price-card{min-height:365px}.price-card>p{min-height:auto}.addons{grid-template-columns:1fr;padding:23px;gap:23px}.addon-actions{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:23px}.footer{padding:65px 5% 24px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{font-size:9px}.modal{padding:27px 22px}.scroll-hint{font-size:8px}}
@media(max-width:380px){.brand-mark{font-size:21px}.theme-icon{font-size:13px}.top-actions{gap:4px}.icon-btn{min-width:35px}.addon-actions{grid-template-columns:1fr}.graphic-poster strong{font-size:48px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.particle-window{display:none}}


/* IDA Studio V10 — navigation typographique, précision visuelle et galerie native */
:root{--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI Variable Display","Segoe UI Variable Text","Segoe UI",Arial,sans-serif}
body,button,input,textarea,select{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
.brand-mark{font-family:var(--font-sans);letter-spacing:.175em;font-weight:200;font-size:30px}
.brand small{font-weight:550;letter-spacing:.23em}
.topbar{border-bottom:1px solid var(--line);box-shadow:0 6px 30px rgba(2,8,22,.045)}
.desktop-nav{gap:clamp(8px,1.3vw,27px)}
.desktop-nav a{font-family:var(--font-sans);font-size:12.7px;letter-spacing:-.022em;font-weight:540;line-height:1.1;color:var(--text);opacity:.72;padding:30px 2px 29px;position:relative;transition:opacity .22s,color .22s}
.desktop-nav a::after{content:"";position:absolute;bottom:18px;left:0;right:100%;height:1.5px;border-radius:20px;background:var(--accent);transition:right .26s ease}
.desktop-nav a:hover,.desktop-nav a:focus-visible,.desktop-nav a.is-current{opacity:1;color:var(--text)}
.desktop-nav a:hover::after,.desktop-nav a.is-current::after{right:0}
.theme-toggle,.icon-btn{font-weight:520;letter-spacing:-.018em}
.top-actions{gap:10px}
.mobile-nav a{font-weight:520;letter-spacing:-.017em}
/* Precise 2026 glass: subdued transparent borders instead of heavy shadows */
.service-card,.project-card,.pro-card,.price-card,.glass-card{transition:border-color .3s,transform .3s,box-shadow .3s}
.service-card:hover,.pro-card:hover,.price-card:hover{box-shadow:0 14px 46px rgba(13,87,173,.09)}
html[data-theme="ivory"] .service-card:hover,html[data-theme="ivory"] .pro-card:hover{box-shadow:0 16px 46px rgba(111,84,43,.095)}
.btn{transition:transform .2s ease,border-color .2s,box-shadow .2s,background .2s}
.btn:hover{box-shadow:0 8px 30px rgba(var(--accent-rgb),.17)}
/* Gallery is a true slide deck. No blurred CSS upscale, no image cropped by object-fit:cover. */
.showcase-carousel{border-radius:22px;background:var(--panel);box-shadow:0 36px 95px rgba(0,5,18,.15);position:relative}
.showcase-heading{height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(17px,2.7vw,38px);border-bottom:1px solid var(--line)}
.showcase-heading-left,.showcase-head-right{display:flex;align-items:center;gap:11px;color:var(--muted);letter-spacing:.135em;font-size:9px;font-weight:650}
.showcase-head-right{letter-spacing:.11em;color:var(--soft)}
.showcase-live{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.showcase-stage{position:relative;background:linear-gradient(130deg,#050a14,#0d1623 45%,#090c15);isolation:isolate;overflow:hidden}
.showcase-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 60% at 50% 46%,rgba(90,171,234,.11),transparent 75%);z-index:0}
.showcase-slides{position:relative;z-index:1}
.showcase-slide{margin:0;display:grid;grid-template-columns:minmax(0,1fr);animation:gallery-in .55s cubic-bezier(.2,.7,.2,1) both}
.showcase-slide[hidden]{display:none!important}
.showcase-image-wrap{height:clamp(270px,36vw,520px);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:clamp(9px,2.1vw,29px) clamp(24px,4.4vw,69px) 9px}
.showcase-image-wrap img{display:block;max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;object-position:center;box-shadow:0 16px 65px rgba(0,0,0,.23);border:1px solid rgba(255,255,255,.17);border-radius:9px;image-rendering:auto}
.showcase-caption{position:relative;min-height:127px;display:grid;grid-template-columns:1fr minmax(170px,.68fr);align-items:center;column-gap:26px;padding:21px clamp(22px,3.9vw,54px) 26px;background:linear-gradient(0deg,rgba(3,10,21,.96),rgba(7,17,31,.9));color:#eaf4ff}
.showcase-caption .showcase-category{grid-column:1/-1;font-size:9px;font-weight:630;letter-spacing:.15em;text-transform:uppercase;color:#88c6fa;margin-bottom:3px}
.showcase-caption h3{font-size:clamp(24px,2.9vw,37px);font-weight:350;letter-spacing:-.055em;margin:0}
.showcase-caption p{font-size:12px;color:#aebdd2;line-height:1.7;margin:0;max-width:470px}
.showcase-stage-actions{position:absolute;right:20px;top:18px;z-index:5}
.showcase-expand{border:1px solid #ffffff3e;border-radius:100px;background:#07182ed9;color:#f0f7ff;backdrop-filter:blur(15px);display:flex;align-items:center;gap:10px;padding:9px 15px;font-size:10px;font-weight:600;letter-spacing:.07em}
.showcase-expand span:first-child{font-size:17px;line-height:1}
.showcase-expand:hover{background:#14314fd9}
.showcase-arrows{position:absolute;inset:0 14px 128px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:5}
.showcase-arrow{pointer-events:auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(7,22,43,.82);color:#ecf7ff;border:1px solid rgba(180,210,255,.38);font-size:21px;backdrop-filter:blur(18px);transition:transform .2s,background .2s,border-color .2s}
.showcase-arrow:hover{transform:scale(1.08);background:#153b60;border-color:#8ad9ff}
.showcase-footer{min-height:82px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px clamp(20px,3vw,38px);position:relative;z-index:3}
.showcase-position{display:flex;align-items:baseline;gap:7px;color:var(--soft);font-size:15px;font-variant-numeric:tabular-nums}
.showcase-position strong{color:var(--text);font-size:22px;font-weight:400;letter-spacing:-.06em}
.showcase-position small{margin-left:13px;font-size:9px;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.showcase-dots{display:flex;align-items:center;gap:8px}
.showcase-dot{display:flex;align-items:center;gap:6px;background:transparent;color:var(--soft);border:0;padding:11px 6px;font-size:10px;cursor:pointer}
.showcase-dot span{display:block;width:27px;height:3px;border-radius:5px;background:var(--line);transition:width .25s,background .25s}
.showcase-dot small{font-size:9px;color:var(--soft)}
.showcase-dot.is-active span{width:49px;background:var(--accent)}
.showcase-dot.is-active small{color:var(--text)}
.showcase-play{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);background:var(--glass);color:var(--muted);border-radius:100px;font-size:11px}
.showcase-play:hover{border-color:var(--strong-line);color:var(--text)}
.showcase-play-icon{font-weight:900;line-height:1}
@keyframes gallery-in{from{opacity:.6;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
/* Lightbox displays the original pixels and permits enlargement */
.showcase-lightbox{position:fixed;inset:0;margin:auto;max-width:none;max-height:none;width:100vw;height:100dvh;padding:0;border:0;background:rgba(3,9,19,.985);color:white;overflow:hidden}
.showcase-lightbox::backdrop{background:rgba(1,4,10,.88)}
.showcase-lightbox[open]{display:flex;flex-direction:column}
.showcase-lightbox-top,.showcase-lightbox-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(18px,4vw,65px);flex-shrink:0}
.showcase-lightbox-top>div{display:flex;flex-direction:column;gap:2px}
.showcase-lightbox-top span{font-size:9px;color:#77c6ff;letter-spacing:.2em}
.showcase-lightbox-top strong{font-size:19px;font-weight:400;letter-spacing:-.03em}
.showcase-lightbox-close{width:44px;height:44px;border-radius:50%;border:1px solid #50617a;background:transparent;color:white;font-size:17px}
.showcase-lightbox-figure{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 4vw;overflow:auto}
.showcase-lightbox-figure img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 110px #0009}
.showcase-lightbox-foot{border-top:1px solid #182a41;font-variant-numeric:tabular-nums;font-size:12px;color:#a0aec5}
.showcase-lightbox-foot button{border:1px solid #48617c;border-radius:100px;background:#111f33;color:#fff;padding:10px 18px}
@media(max-width:1200px){.showcase-position small{display:none}}
@media(max-width:720px){.showcase-heading{height:50px}.showcase-head-right{display:none}.showcase-image-wrap{height:clamp(225px,68vw,420px);padding:15px 16px 4px}.showcase-caption{min-height:142px;display:block;padding:18px 21px 22px}.showcase-caption h3{font-size:24px;margin:4px 0}.showcase-caption p{font-size:11px}.showcase-arrows{inset:0 5px 140px}.showcase-arrow{height:38px;width:38px;font-size:18px}.showcase-expand{padding:7px 10px}.showcase-expand span:last-child{display:none}.showcase-stage-actions{right:12px;top:12px}.showcase-footer{padding:10px 13px;gap:8px;min-height:68px}.showcase-position{gap:4px}.showcase-position strong{font-size:18px}.showcase-dot{padding:8px 3px;gap:3px}.showcase-dot span{width:14px;height:3px}.showcase-dot.is-active span{width:29px}.showcase-dot small{display:none}.showcase-play{padding:10px;font-size:10px}.showcase-play-label{display:none}.brand-mark{letter-spacing:.13em}}
@media(prefers-reduced-motion:reduce){.showcase-slide{animation:none!important}}


/* IDA Studio V11 / COSMOS — animated detail in the service of the content.
 * Inspired by the IDA HubAtmosphere deterministic starfield, LivingGlass pointer
 * reflections, and Design System motion/accessibility guidance.
 */
html[data-theme="navy"]{--cosmos-tint:100,198,255;--cosmos-cold:164,185,255;--cosmos-fog:.72}
html[data-theme="ivory"]{--cosmos-tint:177,138,86;--cosmos-cold:201,167,103;--cosmos-fog:.17}
.hero{background:radial-gradient(ellipse at 52% 43%, rgba(11,45,88,.57), transparent 59%),linear-gradient(152deg,#020611 2%,#061528 48%,#010710 100%)}
html[data-theme="ivory"] .hero{background:radial-gradient(ellipse at 54% 40%,rgba(226,203,165,.45),transparent 64%),linear-gradient(150deg,#f4f0e8,#eae8e1)}
.cosmos-nebula{position:absolute;inset:-18% -14%;z-index:0;pointer-events:none;opacity:.72;filter:blur(34px);background:radial-gradient(ellipse 35% 41% at 17% 58%,rgba(29,110,197,.20),transparent 92%),radial-gradient(ellipse 39% 33% at 78% 25%,rgba(64,86,178,.17),transparent 90%),radial-gradient(ellipse 28% 36% at 70% 80%,rgba(13,173,211,.12),transparent 85%);animation:nebula-drift 39s ease-in-out infinite alternate}
html[data-theme="ivory"] .cosmos-nebula{opacity:.11}
.cosmos-depth{position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 56%, transparent 12%,rgba(0,3,12,.10) 63%,rgba(0,1,8,.34) 100%)}
html[data-theme="ivory"] .cosmos-depth{opacity:0}
.hero-grid{opacity:.085;mask-image:linear-gradient(to bottom,transparent,black 64%,transparent)}
.hero .hero-copy{isolation:isolate}
.hero h1{text-wrap:balance;text-shadow:0 4px 36px rgba(2,8,26,.30)}
html[data-theme="ivory"] .hero h1{text-shadow:none}
.hero .hero-sub{text-wrap:pretty}
.particle-window{position:absolute;inset:0;pointer-events:none;z-index:1!important;opacity:1;contain:strict}
.particle-host > :not(.particle-window){position:relative;z-index:2}
.particle-host .cosmos-nebula,.particle-host .cosmos-depth,.hero .hero-glow,.hero .hero-grid{position:absolute!important;z-index:0!important}
.hero .scroll-hint{position:absolute!important;z-index:3}
.hero .motion-toggle{position:absolute!important;z-index:6}
.particle-host:is(.glass-card,.pro-card,.project-card,.price-card,.showcase-carousel){--glass-light-x:50%;--glass-light-y:50%;transition:transform .5s cubic-bezier(.2,.75,.18,1),border-color .3s,box-shadow .35s}
.particle-host:is(.glass-card,.pro-card,.project-card,.price-card,.showcase-carousel)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;border-radius:inherit;background:radial-gradient(270px circle at var(--glass-light-x) var(--glass-light-y),rgba(var(--cosmos-tint),.115),transparent 72%);transition:opacity .45s}
.particle-host[data-glass-hot="true"]::after{opacity:1}
.particle-host[data-glass-hot="true"]{border-color:rgba(var(--cosmos-tint),.43);box-shadow:0 22px 75px rgba(1,6,20,.24),inset 0 1px 0 rgba(var(--cosmos-tint),.14)}
html[data-theme="ivory"] .particle-host[data-glass-hot="true"]{box-shadow:0 22px 70px rgba(89,65,30,.12),inset 0 1px 0 rgba(var(--cosmos-tint),.15)}
.particle-host .particle-window + *{position:relative}
.hero-orb{filter:drop-shadow(0 0 12px rgba(78,166,255,.13))}
.hero-orb::after{content:"";position:absolute;inset:8px 6px;border:1px solid rgba(var(--cosmos-tint),.14);border-radius:50%;transform:rotate(-17deg) scaleX(1.13) scaleY(.68);pointer-events:none;animation:orb-outer-breath 14s ease-in-out infinite alternate}
html[data-theme="ivory"] .hero-orb{filter:none}
.hero .eyebrow{position:relative}
.hero .eyebrow::after{content:"";display:block;width:84px;height:1px;margin:19px auto 2px;background:linear-gradient(90deg,transparent,rgba(var(--cosmos-tint),.65),transparent);opacity:.8}
.motion-toggle{right:clamp(18px,4vw,54px);bottom:28px;min-height:34px;display:inline-flex;align-items:center;gap:9px;padding:6px 11px;border:1px solid var(--line);border-radius:100px;background:rgba(11,23,43,.65);color:#afcee8;font-size:9px;font-weight:650;letter-spacing:.15em;backdrop-filter:blur(15px);transition:border-color .25s,color .25s}
.motion-toggle:hover{border-color:var(--accent2);color:#fff}
.motion-toggle-signal{width:5px;height:5px;display:inline-block;border-radius:50%;background:#62befe;box-shadow:0 0 13px rgba(92,190,255,.88)}
html[data-theme="ivory"] .motion-toggle{background:rgba(253,249,239,.68);color:#856d50}
html[data-theme="ivory"] .motion-toggle-signal{background:#987444;box-shadow:0 0 9px rgba(149,107,63,.35)}
.motion-toggle[aria-pressed="false"] .motion-toggle-signal{box-shadow:none;opacity:.4}
.hero:has(.motion-toggle[aria-pressed="false"]) .cosmos-nebula{animation-play-state:paused}
@keyframes nebula-drift{from{transform:translate3d(-1.5%,-1%,0) rotate(-1deg)}to{transform:translate3d(1.2%,1.5%,0) rotate(2deg)}}
@keyframes orb-outer-breath{0%{opacity:.38;transform:rotate(-17deg) scaleX(1.08) scaleY(.65)}100%{opacity:.79;transform:rotate(13deg) scaleX(1.18) scaleY(.72)}}
@media(max-width:720px){.hero{min-height:740px}.motion-toggle{bottom:72px;right:50%;transform:translateX(50%)}.hero .scroll-hint{bottom:23px}.cosmos-nebula{filter:blur(30px)}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.cosmos-nebula,.hero-orb::after{animation:none!important}.particle-window{display:block!important}}
@media(forced-colors:active){.cosmos-nebula,.cosmos-depth{display:none}.motion-toggle{background:Canvas;color:CanvasText;border:1px solid ButtonText}}

/* V12 — signature : anamorphic Penrose emblem + 3D morph laboratories */
.brand-lockup{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;height:32px;perspective:150px}
.penrose-mark{width:31px;height:31px;display:inline-grid;place-items:center;flex:none;transform-style:preserve-3d;animation:penrose-tumble 18s cubic-bezier(.42,.12,.58,.88) infinite;filter:drop-shadow(0 1px 7px rgba(126,190,251,.18));color:var(--accent)}
.penrose-mark svg{display:block;width:100%;height:100%;overflow:visible}
@keyframes penrose-tumble{0%{transform:rotateX(-18deg) rotateY(-26deg) rotateZ(-17deg)}24%{transform:rotateX(16deg) rotateY(28deg) rotateZ(43deg)}48%{transform:rotateX(-13deg) rotateY(-32deg) rotateZ(161deg)}73%{transform:rotateX(19deg) rotateY(24deg) rotateZ(245deg)}100%{transform:rotateX(-18deg) rotateY(-26deg) rotateZ(343deg)}}
html[data-theme="ivory"] .penrose-mark{filter:drop-shadow(0 1px 4px rgba(132,105,72,.16))}
html[data-theme="ivory"] .penrose-mark svg{filter:sepia(.5) saturate(.65)}
.graphic-orbit-grid .graphic-tile{min-width:0}
.morph-visual{height:365px;display:block;background:radial-gradient(ellipse at 50% 58%,rgba(46,62,110,.48),transparent 42%),linear-gradient(145deg,#10192e 0%,#080f1f 58%,#0c1324 100%);border:1px solid rgba(158,191,241,.21);border-radius:17px;overflow:hidden;isolation:isolate;position:relative;contain:layout paint;transition:border-color .36s,box-shadow .36s}
.morph-visual[data-accent="champagne"]{background:radial-gradient(ellipse at 51% 57%,rgba(119,92,86,.35),transparent 48%),linear-gradient(145deg,#1b2029,#0e121c 61%,#1a1b22)}
.morph-visual[data-accent="polar"]{background:radial-gradient(ellipse at 49% 58%,rgba(39,86,119,.38),transparent 46%),linear-gradient(145deg,#081c31,#070d19 62%,#0d2232)}
.graphic-tile:hover .morph-visual{border-color:rgba(187,216,255,.43);box-shadow:0 14px 36px rgba(15,33,58,.19)}
.morph-webgl{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;pointer-events:none}
.morph-index,.morph-footer{position:absolute;inset:auto 23px 20px;z-index:4;display:flex;align-items:center;justify-content:space-between;color:rgba(216,226,244,.68);font-size:9px;font-weight:600;letter-spacing:.15em;pointer-events:none}
.morph-index{bottom:auto;top:23px;color:rgba(217,228,249,.53);font-size:9px;letter-spacing:.16em}
.morph-footer{bottom:20px;gap:8px;color:#e5ebfa}
.morph-label{font-size:10px;font-weight:450;letter-spacing:.17em}
.morph-label i{font-style:normal;opacity:.5;padding:0 4px}
.morph-dash{color:rgba(196,216,242,.51)}
.morph-grain{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:.28;background:linear-gradient(180deg,transparent 27%,rgba(3,8,16,.15) 80%,rgba(3,8,16,.48))}
.morph-visual:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:radial-gradient(circle,#a6cfff 0 .55px,transparent .8px);background-size:29px 31px;opacity:.12;mask-image:linear-gradient(180deg,black,transparent 78%)}
.morph-fallback{position:absolute;z-index:1;left:50%;top:48%;width:164px;height:164px;transform:translate(-50%,-50%);filter:drop-shadow(0 0 21px rgba(125,166,248,.18))}
.fallback-core{position:absolute;inset:14px;border-radius:50%;background:radial-gradient(circle at 30% 26%,#edf5ff,#8fb2f5 16%,#536abd 41%,#192754 75%,#7389c6 96%);box-shadow:inset -10px -14px 26px #050e30c9}
.fallback-ring{position:absolute;inset:47px -33px;border:12px solid rgba(185,204,251,.65);border-top:9px solid #dbe6ff;transform:rotate(-23deg);border-radius:50%;z-index:3}
.morph-visual[data-accent="champagne"] .fallback-core{background:radial-gradient(circle at 28% 25%,#fff3d9,#d8b993 20%,#917261 57%,#332734 100%)}
.morph-visual[data-accent="champagne"] .fallback-ring{border-color:#d3bd9e}
.morph-visual[data-accent="polar"] .fallback-core{background:radial-gradient(circle at 28% 25%,#efffff,#75dee9 20%,#187ba7 57%,#08243f 100%)}
.morph-visual[data-accent="polar"] .fallback-ring{border-color:#8bdfef}
.morph-visual.webgl-ready .morph-fallback{display:none}
html[data-theme="ivory"] .morph-visual{border-color:rgba(100,109,123,.17)}
@media(max-width:670px){.brand-lockup{gap:2px;height:26px}.penrose-mark{width:24px;height:24px}.graphic-orbit-grid .morph-visual{height:346px}}
@media(prefers-reduced-motion:reduce){.penrose-mark{animation:none!important;transform:rotateX(-11deg) rotateY(-18deg) rotateZ(12deg)}.morph-visual{transition:none}}
@media(forced-colors:active){.morph-visual{forced-color-adjust:none;border:1px solid CanvasText}.morph-webgl{display:none}.morph-fallback{display:block}}
/* Reliable 3D-styled morph animation when WebGL is disabled or blocked. */
.morph-fallback{transform-style:preserve-3d;perspective:480px;animation:morph-float 10s ease-in-out infinite}
.morph-fallback .fallback-ring{width:225px;height:105px;inset:31px auto auto -30px;border-width:9px;border-style:solid;transform:rotateX(63deg) rotateZ(-32deg);transform-style:preserve-3d;animation:morph-ring 12s linear infinite}
.morph-fallback .fallback-core{z-index:2;animation:core-poster 11.5s cubic-bezier(.6,.05,.25,.98) infinite;box-shadow:inset -11px -17px 30px #071329d9,0 0 37px #718dcc1a}
.morph-visual[data-morph="card"] .fallback-core{animation-name:core-card;animation-delay:-1.13s}
.morph-visual[data-morph="triangle"] .fallback-core{animation-name:core-triangle;animation-delay:-2.26s}
.morph-visual[data-morph="card"] .fallback-ring{animation-delay:-2.6s}
.morph-visual[data-morph="triangle"] .fallback-ring{animation-delay:-5.3s}
@keyframes morph-float{0%,100%{transform:translate(-50%,-50%) rotateY(-10deg)}50%{transform:translate(-50%,-53%) rotateY(13deg)}}
@keyframes morph-ring{0%{transform:rotateX(63deg) rotateZ(-32deg)}50%{transform:rotateX(67deg) rotateZ(138deg)}100%{transform:rotateX(63deg) rotateZ(328deg)}}
@keyframes core-poster{0%,24%,86%,100%{border-radius:50%;transform:scale(1) rotate(0deg)}43%,64%{border-radius:11%;transform:scale(.70,1.37) rotate(-5deg)}}
@keyframes core-card{0%,24%,86%,100%{border-radius:50%;transform:scale(1) rotate(0deg)}43%,64%{border-radius:13%;transform:scale(1.39,.67) rotate(-6deg)}}
@keyframes core-triangle{0%,24%,86%,100%{border-radius:50%;transform:scale(1) rotate(0deg);clip-path:polygon(50% 0,86% 14%,100% 50%,86% 86%,50% 100%,14% 86%,0 50%,14% 14%)}43%,64%{border-radius:6%;transform:scale(1.10,1.12) rotate(-3deg);clip-path:polygon(50% 1%,98% 88%,98% 88%,98% 88%,2% 88%,2% 88%,2% 88%,50% 1%)}}
html[data-ida-motion-off="true"] .morph-fallback,html[data-ida-motion-off="true"] .morph-fallback *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.morph-fallback,.morph-fallback *{animation:none!important}}


/* V14 — IDA PRO / ultra-fine chromatic edge tracing. No image content yet. */
@property --ida-edge-angle {syntax:"<angle>";initial-value:0deg;inherits:false}
.pro-grid .pro-card{position:relative;isolation:isolate;overflow:hidden;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.pro-grid .pro-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:4;background:conic-gradient(from var(--ida-edge-angle),transparent 0deg,transparent 95deg,rgba(55,180,255,.10) 135deg,rgba(64,240,242,.60) 155deg,rgba(112,92,255,.76) 171deg,rgba(235,80,203,.66) 185deg,rgba(255,153,92,.34) 199deg,transparent 226deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.58;animation:ida-pro-trace 12s linear infinite}
.pro-grid .pro-card:nth-child(2n)::before{animation-delay:-5.5s;animation-duration:15s}
.pro-grid .pro-card:nth-child(3n)::before{animation-delay:-9s;animation-duration:13.5s}
.pro-grid .pro-card:hover{box-shadow:var(--shadow),0 0 24px rgba(88,190,255,.07);border-color:rgba(122,191,244,.26)}
.pro-grid .pro-card:hover::before{opacity:.95}
html[data-theme="ivory"] .pro-grid .pro-card::before{opacity:.43;filter:saturate(.63)}
html[data-theme="ivory"] .pro-grid .pro-card:hover::before{opacity:.72}
@keyframes ida-pro-trace{to{--ida-edge-angle:360deg}}
@supports not (background:color-mix(in srgb,red,blue)){.pro-grid .pro-card{border-color:var(--line)}}
@media(prefers-reduced-motion:reduce){.pro-grid .pro-card::before{animation:none;--ida-edge-angle:55deg;opacity:.38!important}}
@media(forced-colors:active){.pro-grid .pro-card::before{display:none}.pro-grid .pro-card{border:1px solid CanvasText}}