:root{--navy:#023b60;--navy-dark:#071a2a;--gold:#c9a227;--gold-soft:#eadba4;--cream:#f6f1e7;--paper:#fbfaf7;--ink:#15191d;--muted:#6e7478;--line:rgba(21,25,29,.14);--radius:30px;--shadow:0 24px 70px rgba(7,26,42,.15)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.noise{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.11),transparent 68%);transform:translate(-50%,-50%);pointer-events:none;z-index:0;transition:width .3s,height .3s}.section{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:90;width:min(1240px,calc(100% - 32px));height:76px;padding:10px 12px 10px 20px;border:1px solid rgba(255,255,255,.35);background:rgba(251,250,247,.83);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 40px rgba(7,26,42,.08);transition:.35s ease}.site-header.scrolled{top:8px;height:68px}.brand img{display:block;width:250px;max-height:54px}.desktop-nav{display:flex;gap:30px;font-size:14px;font-weight:600}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.3s}.desktop-nav a:hover:after{right:0}.header-cta{display:flex;align-items:center;gap:16px;background:var(--navy-dark);color:#fff;padding:15px 19px;border-radius:15px;font-size:14px;font-weight:700}.header-cta span{color:var(--gold-soft)}.menu-toggle{display:none;border:0;background:none;width:48px;height:48px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:7px auto;transition:.3s}.mobile-menu{position:fixed;inset:0;z-index:80;background:var(--cream);padding:130px 34px 40px;transform:translateY(-110%);transition:.6s cubic-bezier(.77,0,.18,1);display:flex;flex-direction:column;justify-content:space-between}.mobile-menu.open{transform:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(42px,12vw,72px);line-height:1.12;border-bottom:1px solid var(--line);padding:12px 0}.mobile-menu-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.hero{min-height:100svh;padding:154px max(24px,calc((100vw - 1180px)/2)) 56px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:66px;position:relative;background:linear-gradient(145deg,#fbfaf7 0%,#f7f4ed 62%,#eef3f3 100%)}.hero:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(2,59,96,.08);border-radius:50%;left:-220px;top:210px}.eyebrow,.section-kicker{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700;color:var(--navy)}.eyebrow:before{content:"";width:36px;height:1px;background:var(--gold)}h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;margin:0;font-weight:600;letter-spacing:-.045em}.hero h1{font-size:clamp(54px,6vw,92px);line-height:.96;max-width:750px;margin:24px 0 28px}.hero-description{font-size:18px;line-height:1.65;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:12px;margin-top:38px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;cursor:pointer;border-radius:16px;padding:17px 20px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s}.button-primary{background:var(--navy);color:#fff;box-shadow:0 14px 30px rgba(2,59,96,.22)}.button-primary:hover,.button-gold:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(2,59,96,.28)}.button-ghost{border:1px solid var(--line);background:rgba(255,255,255,.48)}.hero-visual{position:relative;min-height:620px}.hero-image-wrap{position:absolute;inset:0 0 30px 40px;border-radius:220px 220px 30px 30px;overflow:hidden;background:#ddd;box-shadow:var(--shadow)}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:heroZoom 10s ease-out forwards}.image-sheen{position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.23) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 6s 1.8s infinite}.floating-card{position:absolute;background:rgba(255,255,255,.89);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.6);box-shadow:0 18px 46px rgba(7,26,42,.14)}.card-project{left:0;bottom:0;padding:19px 22px;border-radius:18px;display:grid;gap:4px;min-width:220px}.card-project span,.card-project small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}.card-project strong{font-family:"Bricolage Grotesque"}.card-note{right:-26px;top:62px;padding:14px 18px;border-radius:999px;display:flex;align-items:center;gap:10px}.card-note p{margin:0;font-size:12px;font-weight:700}.pulse-dot{width:9px;height:9px;border-radius:50%;background:#57a66c;box-shadow:0 0 0 0 rgba(87,166,108,.5);animation:pulse 2s infinite}.orbit-mark{position:absolute;left:2px;top:18px;width:112px;height:112px;border-radius:50%;background:var(--gold);display:grid;place-items:center;animation:spin 18s linear infinite;box-shadow:0 15px 32px rgba(201,162,39,.25)}.orbit-mark span{font-size:9px;font-weight:800;letter-spacing:.16em;width:86px;text-align:center;color:#fff}.hero-scroll{position:absolute;bottom:20px;left:max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.hero-scroll i{display:block;width:54px;height:1px;background:var(--line);position:relative;overflow:hidden}.hero-scroll i:after{content:"";position:absolute;width:20px;height:1px;background:var(--gold);animation:scrollLine 2s infinite}.stats{background:var(--navy-dark);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:0 max(24px,calc((100vw - 1180px)/2))}.stat{padding:42px 30px;border-left:1px solid rgba(255,255,255,.12)}.stat:last-child{border-right:1px solid rgba(255,255,255,.12)}.stat strong{font:600 42px/1 "Bricolage Grotesque";display:block;color:var(--gold-soft)}.stat span{font-size:13px;opacity:.68}.about{padding-block:130px}.section-kicker span{display:grid;place-items:center;width:31px;height:31px;border:1px solid currentColor;border-radius:50%;font-size:9px}.section-kicker p{margin:0}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;margin-top:54px;align-items:center}.about-visual{position:relative}.about-visual img{display:block;width:100%;height:690px;object-fit:cover;object-position:center top;border-radius:28px;filter:saturate(.82)}.about-badge{position:absolute;right:-38px;bottom:40px;background:var(--gold);color:#fff;border-radius:20px;padding:22px;width:220px;box-shadow:0 18px 40px rgba(128,94,9,.25)}.about-badge strong,.about-badge span{display:block}.about-badge span{font-size:12px;opacity:.82;margin-top:5px}.about-copy h2,.section-head h2,.portfolio-head h2,.faq h2,.contact h2{font-size:clamp(46px,5.2vw,78px);line-height:1.02}.about-copy>p{color:var(--muted);font-size:18px;line-height:1.8;margin:32px 0}.about-copy blockquote{margin:0 0 35px;border-left:2px solid var(--gold);padding-left:22px;font:500 23px/1.5 "Bricolage Grotesque"}.text-link{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{color:var(--gold);margin-left:10px}.services{padding-block:80px 130px}.section-head,.portfolio-head{display:grid;grid-template-columns:1fr .6fr;gap:70px;align-items:end}.section-head h2,.portfolio-head h2{margin-top:25px}.section-head>p{color:var(--muted);font-size:17px;line-height:1.65;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px}.service-card{min-height:320px;padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:.45s cubic-bezier(.2,.8,.2,1)}.service-card:before{content:"";position:absolute;inset:auto -40px -70px auto;width:170px;height:170px;border-radius:50%;background:var(--cream);transition:.45s}.service-card:hover{transform:translateY(-8px);background:var(--navy);color:#fff;box-shadow:0 24px 60px rgba(2,59,96,.2)}.service-card:hover:before{transform:scale(2);opacity:.08}.service-card svg{width:35px;height:35px;stroke:var(--gold);fill:none;stroke-width:1.6}.service-number{position:absolute;right:24px;top:24px;font-size:11px;color:var(--muted)}.service-card h3{font-size:28px;margin-bottom:12px}.service-card p{color:var(--muted);line-height:1.65;margin:0;position:relative}.service-card:hover p,.service-card:hover .service-number{color:rgba(255,255,255,.7)}.portfolio{background:var(--cream);padding-block:130px}.portfolio-controls{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.filter-btn{border:1px solid var(--line);background:transparent;padding:10px 16px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:700}.filter-btn.active{background:var(--navy-dark);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:58px}.project-card{grid-column:span 6;position:relative;border-radius:24px;overflow:hidden;cursor:pointer;min-height:540px;background:#ddd}.project-card:nth-child(3n){grid-column:span 5}.project-card:nth-child(4n){grid-column:span 7}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.project-card:hover img{transform:scale(1.07)}.project-overlay{position:absolute;inset:auto 0 0;padding:90px 26px 25px;background:linear-gradient(transparent,rgba(4,16,25,.82));color:#fff}.project-overlay span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;opacity:.75}.project-overlay h3{font-size:30px;margin-top:8px}.project-open{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.87);backdrop-filter:blur(10px);font-size:20px;transform:scale(.7) rotate(-30deg);opacity:0;transition:.35s}.project-card:hover .project-open{opacity:1;transform:none}.process{padding-block:130px}.process-list{margin-top:60px;border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:90px 1fr 1.2fr 48px;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:.3s}.process-row:hover{padding-left:16px;background:linear-gradient(90deg,rgba(201,162,39,.08),transparent)}.process-row>span{font-size:11px;color:var(--gold);font-weight:700}.process-row h3{font-size:30px}.process-row p{color:var(--muted);line-height:1.6;margin:0}.process-row i{font-style:normal;font-size:22px}.testimonial-section{background:var(--navy);color:#fff;overflow:hidden}.testimonial-stage{padding-block:120px;position:relative}.quote-mark{position:absolute;right:4%;top:15px;font:300 260px/1 Georgia;color:rgba(255,255,255,.06)}.testimonial-track{min-height:260px;position:relative}.testimonial{position:absolute;inset:0;opacity:0;transform:translateX(40px);transition:.6s;pointer-events:none}.testimonial.active{opacity:1;transform:none;pointer-events:auto}.testimonial blockquote{font:500 clamp(34px,4vw,60px)/1.2 "Bricolage Grotesque";max-width:960px;margin:0 0 38px;letter-spacing:-.03em}.testimonial strong{display:block;color:var(--gold-soft)}.testimonial span{font-size:13px;opacity:.6}.testimonial-controls{display:flex;align-items:center;gap:16px;justify-content:flex-end}.testimonial-controls button{width:45px;height:45px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer}.testimonial-controls span{font-size:12px;min-width:54px;text-align:center}.faq{padding-block:130px;display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro>p{color:var(--muted);line-height:1.6;max-width:360px}.faq-intro h2{margin:24px 0}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:none;padding:25px 0;display:flex;justify-content:space-between;gap:20px;text-align:left;font:600 21px "Bricolage Grotesque";cursor:pointer}.faq-question i{font-style:normal;color:var(--gold);transition:.3s}.faq-answer{display:grid;grid-template-rows:0fr;transition:.35s}.faq-answer p{overflow:hidden;color:var(--muted);line-height:1.7;margin:0}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer p{padding-bottom:24px}.faq-item.open .faq-question i{transform:rotate(45deg)}.contact{background:var(--navy-dark);color:#fff}.contact-inner{padding-block:120px;display:grid;grid-template-columns:1fr .85fr;gap:80px}.section-kicker.light{color:var(--gold-soft)}.contact-copy h2{margin:28px 0}.contact-copy>p{max-width:580px;color:rgba(255,255,255,.66);font-size:17px;line-height:1.7}.contact-details{display:grid;gap:10px;margin-top:40px}.contact-details a,.contact-details span{font-size:15px;color:rgba(255,255,255,.84)}.contact-form{background:#fff;color:var(--ink);padding:28px;border-radius:26px;box-shadow:0 30px 70px rgba(0,0,0,.2)}.contact-form label{display:grid;gap:8px;font-size:12px;font-weight:700;margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid #dfe3e5;background:#f9faf9;border-radius:12px;padding:14px;outline:none;transition:.2s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.12)}.button-gold{width:100%;background:var(--gold);color:#fff}.form-status{font-size:12px;margin:12px 0 0;text-align:center;color:#34764c}.footer{padding-block:70px 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line)}.footer-top img{width:280px}.footer-top p{color:var(--muted)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding:42px 0}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);font-weight:700;margin-bottom:8px}.footer-grid a,.footer-grid p{font-size:14px;color:var(--muted);margin:0}.admin-link{opacity:.38;margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:11px;color:var(--muted)}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:70;background:#fff;padding:12px 17px 12px 12px;border-radius:999px;box-shadow:0 14px 40px rgba(0,0,0,.16);display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700}.whatsapp-float svg{width:27px;height:27px;fill:#28a968}.project-modal{position:fixed;inset:0;z-index:120;background:#fff;display:grid;grid-template-columns:1.3fr .7fr;transform:translateY(110%);transition:.6s cubic-bezier(.77,0,.18,1)}.project-modal.open{transform:none}.modal-close{position:absolute;right:24px;top:24px;z-index:2;width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:30px;cursor:pointer}.modal-media img{width:100%;height:100vh;object-fit:cover}.modal-content{padding:120px 50px 50px;display:flex;flex-direction:column;justify-content:center}.modal-content>span{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.modal-content h3{font-size:52px;margin:16px 0}.modal-content p{color:var(--muted);line-height:1.7}.modal-content>div{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1)}}@keyframes sheen{0%,65%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(87,166,108,0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scrollLine{from{left:-20px}to{left:100%}}
@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.site-header{height:68px}.brand img{width:215px}.hero{grid-template-columns:1fr;padding-top:130px;gap:46px}.hero-visual{min-height:620px}.hero-image-wrap{inset:0 30px 20px 30px}.hero-scroll{display:none}.about-grid{grid-template-columns:1fr;gap:55px}.about-visual img{height:650px}.about-badge{right:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.section-head,.portfolio-head{grid-template-columns:1fr}.portfolio-controls{justify-content:flex-start}.faq,.contact-inner{grid-template-columns:1fr}.faq{gap:45px}.project-card,.project-card:nth-child(3n),.project-card:nth-child(4n){grid-column:span 6}.project-modal{grid-template-columns:1fr}.modal-media img{height:52vh}.modal-content{padding:34px}.modal-content h3{font-size:38px}}
@media(max-width:640px){.section{width:min(100% - 30px,1180px)}.cursor-glow{display:none}.site-header{top:8px;width:calc(100% - 16px);padding-left:14px}.brand img{width:190px}.hero{padding:116px 16px 54px;min-height:auto}.hero h1{font-size:52px}.hero-description{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-visual{min-height:490px}.hero-image-wrap{inset:0 6px 16px 20px;border-radius:130px 130px 22px 22px}.orbit-mark{width:88px;height:88px}.card-project{min-width:190px}.card-note{right:0;top:42px}.stats{grid-template-columns:1fr;padding-inline:18px}.stat{padding:24px 16px;border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}.stat:last-child{border-right:0}.stat strong{font-size:34px}.about,.services,.process,.faq{padding-block:90px}.about-grid{margin-top:38px}.about-visual img{height:540px}.about-badge{right:10px;bottom:20px;width:190px}.about-copy h2,.section-head h2,.portfolio-head h2,.faq h2,.contact h2{font-size:44px}.about-copy>p{font-size:16px}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.portfolio{padding-block:90px}.project-grid{gap:12px}.project-card,.project-card:nth-child(3n),.project-card:nth-child(4n){grid-column:span 12;min-height:430px}.process-row{grid-template-columns:48px 1fr 30px}.process-row p{grid-column:2/-1}.testimonial-stage{padding-block:90px}.testimonial-track{min-height:350px}.testimonial blockquote{font-size:34px}.contact-inner{padding-block:90px}.form-row{grid-template-columns:1fr}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-top img{width:240px}.whatsapp-float span{display:none}.whatsapp-float{padding:12px}.project-modal{display:block;overflow:auto}.modal-media img{height:45vh}.modal-content>div{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Theme, journal and interaction system */
:root{--surface:#fff;--surface-2:#f5f3ee;--ink:#14202a;--muted:#68717a;--line:rgba(8,28,43,.13);--shadow:0 24px 70px rgba(7,26,42,.12)}
html[data-theme="dark"]{--surface:#07131d;--surface-2:#0c1d2a;--ink:#f4f1e8;--muted:#aeb8c0;--line:rgba(255,255,255,.12);--shadow:0 30px 90px rgba(0,0,0,.4);color-scheme:dark}
html[data-theme="dark"] body{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .site-header.scrolled{background:rgba(7,19,29,.86);border-color:var(--line)}
html[data-theme="dark"] .service-card,html[data-theme="dark"] .faq-item,html[data-theme="dark"] .journal-card,html[data-theme="dark"] .contact-form{background:var(--surface-2);border-color:var(--line)}
html[data-theme="dark"] .footer{background:#03090e}
html[data-theme="dark"] .brand img,html[data-theme="dark"] .footer img{filter:brightness(0) invert(1)}
.theme-toggle{width:46px;height:46px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;position:relative;overflow:hidden;transition:.35s ease}
.theme-toggle span{position:absolute;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s}.theme-toggle span:last-child{transform:translateY(30px);opacity:0}html[data-theme="dark"] .theme-toggle span:first-child{transform:translateY(-30px);opacity:0}html[data-theme="dark"] .theme-toggle span:last-child{transform:none;opacity:1}.theme-toggle:hover{transform:rotate(12deg) scale(1.06);border-color:var(--gold)}
.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1);transform-origin:left}
.journal-preview{padding-top:130px;padding-bottom:130px}.journal-grid,.journal-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.journal-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .4s}.journal-card:hover{transform:translateY(-10px);box-shadow:var(--shadow);border-color:rgba(201,162,39,.55)}.journal-image{height:280px;display:block;position:relative;overflow:hidden}.journal-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.journal-image span{position:absolute;right:18px;bottom:18px;background:#fff;color:#071a2a;padding:10px 14px;border-radius:999px;transform:translateY(16px);opacity:0;transition:.4s}.journal-card:hover .journal-image img{transform:scale(1.08)}.journal-card:hover .journal-image span{transform:none;opacity:1}.journal-card-body{padding:25px}.journal-card-body h2,.journal-card-body h3{font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(1.35rem,2vw,2rem);line-height:1.08;margin:12px 0}.journal-card-body h2 a,.journal-card-body h3 a{color:inherit;text-decoration:none}.journal-card-body p{color:var(--muted);line-height:1.7}.journal-meta{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.journal-hero{min-height:78vh;padding:190px max(6vw,30px) 90px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;background:radial-gradient(circle at 80% 20%,rgba(201,162,39,.14),transparent 32%),var(--surface)}.journal-hero h1{font:600 clamp(3.8rem,8vw,8.5rem)/.88 "Bricolage Grotesque",sans-serif;max-width:1000px;letter-spacing:-.065em;margin:20px 0}.journal-hero p:not(.eyebrow){font-size:1.15rem;color:var(--muted);max-width:620px;line-height:1.7}.journal-orbit{width:min(34vw,430px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative;animation:float 5s ease-in-out infinite}.journal-orbit i{width:42%;aspect-ratio:1;border-radius:50%;background:var(--gold);box-shadow:0 0 80px rgba(201,162,39,.35)}.journal-orbit span{position:absolute;font-size:.72rem;letter-spacing:.32em;animation:spin 18s linear infinite}.journal-index{padding-top:90px;padding-bottom:140px}.journal-index-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;border-bottom:1px solid var(--line);padding-bottom:25px}.journal-index-head p{max-width:570px;color:var(--muted);line-height:1.65}.journal-index-grid .featured{grid-column:span 2}.journal-index-grid .featured .journal-image{height:500px}
.article-hero{padding:190px max(7vw,32px) 85px;text-align:center;max-width:1250px;margin:auto}.article-back{display:inline-block;margin-bottom:45px;color:var(--muted);text-decoration:none}.article-meta{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;letter-spacing:.1em}.article-hero h1{font:600 clamp(3.1rem,7.2vw,7.3rem)/.93 "Bricolage Grotesque",sans-serif;letter-spacing:-.06em;margin:30px auto;max-width:1150px}.article-hero>p{font-size:1.25rem;line-height:1.7;color:var(--muted);max-width:760px;margin:auto}.article-author{margin-top:36px;display:flex;gap:10px;justify-content:center}.article-cover{margin:0 max(4vw,20px);height:min(75vh,850px);border-radius:34px;overflow:hidden}.article-cover img{width:100%;height:100%;object-fit:cover}.article-layout{max-width:1120px;margin:90px auto 130px;display:grid;grid-template-columns:150px minmax(0,760px);gap:80px;padding:0 24px}.article-share{position:sticky;top:130px;align-self:start;display:flex;flex-direction:column;gap:12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.article-share button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:999px;padding:11px;cursor:pointer}.article-content{font-size:1.16rem;line-height:1.9;color:var(--ink)}.article-content p{margin:0 0 1.7em}.article-content h2{font:600 clamp(2rem,4vw,3.2rem)/1.05 "Bricolage Grotesque",sans-serif;letter-spacing:-.04em;margin:1.6em 0 .55em}.article-content blockquote{border-left:3px solid var(--gold);margin:2.5em 0;padding:15px 0 15px 30px;font:500 1.8rem/1.4 "Bricolage Grotesque",sans-serif}.reading-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left}.related-journal{padding-bottom:130px}.error-page{min-height:100vh;display:grid;place-content:center;text-align:center;padding:30px;background:var(--surface);color:var(--ink)}.error-page>span{font:700 10rem/1 "Bricolage Grotesque";color:var(--gold)}.error-page h1{font-size:3rem;margin:10px}.error-page p{color:var(--muted);margin-bottom:30px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-15px)}}
@media(max-width:900px){.theme-toggle{margin-left:auto}.journal-grid,.journal-index-grid{grid-template-columns:1fr}.journal-index-grid .featured{grid-column:auto}.journal-index-grid .featured .journal-image{height:300px}.journal-hero{grid-template-columns:1fr;padding-top:150px}.journal-orbit{display:none}.article-layout{grid-template-columns:1fr;margin-top:55px}.article-share{position:static;flex-direction:row}.article-cover{height:50vh}.journal-index-head{display:block}.journal-index-head p{margin-top:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ===== v2.4 PRODUCT UI SYSTEM: complete light/dark coverage ===== */
:root{
  --page:#fbfaf7;--page-alt:#f4f1ea;--panel:#ffffff;--panel-raised:#ffffff;
  --text:#14202a;--text-soft:#56626c;--text-faint:#7b858c;
  --border:rgba(8,28,43,.13);--border-strong:rgba(8,28,43,.22);
  --glass:rgba(251,250,247,.86);--glass-border:rgba(255,255,255,.55);
  --field:#f8f9f8;--field-text:#14202a;--field-placeholder:#7b858c;
  --overlay:rgba(3,12,18,.74);--focus:rgba(201,162,39,.22);
  --success:#34764c;--danger:#b33d45;
  color-scheme:light;
}
html[data-theme="dark"]{
  --page:#07131d;--page-alt:#0a1924;--panel:#0d1d29;--panel-raised:#102431;
  --text:#f4f1e8;--text-soft:#b8c1c7;--text-faint:#8f9da7;
  --border:rgba(255,255,255,.12);--border-strong:rgba(255,255,255,.22);
  --glass:rgba(7,19,29,.88);--glass-border:rgba(255,255,255,.10);
  --field:#081722;--field-text:#f4f1e8;--field-placeholder:#82919c;
  --overlay:rgba(0,0,0,.82);--focus:rgba(201,162,39,.28);
  --success:#7bc496;--danger:#ff8f98;
  --cream:#0a1924;--paper:#07131d;--ink:#f4f1e8;--muted:#b8c1c7;--line:rgba(255,255,255,.12);
  color-scheme:dark;
}
html,body{background:var(--page);color:var(--text)}
body{transition:background-color .32s ease,color .32s ease}
::selection{background:rgba(201,162,39,.28);color:var(--text)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}

/* Global surfaces and typography */
.hero{background:radial-gradient(circle at 78% 15%,rgba(201,162,39,.11),transparent 26%),linear-gradient(145deg,var(--page) 0%,var(--page-alt) 100%)}
.services,.about,.process,.faq,.journal-preview,.journal-index,.article-page main,.journal-page main{background:var(--page);color:var(--text)}
.portfolio{background:var(--page-alt);color:var(--text)}
.section-head>p,.about-copy>p,.faq-intro>p,.journal-card-body p,.journal-index-head p,.article-hero>p,.article-content p,.modal-content p{color:var(--text-soft)}
.text-link{border-color:var(--text);color:var(--text)}
.eyebrow,.section-kicker{color:var(--navy)}
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .section-kicker{color:var(--gold-soft)}

/* Header and navigation */
.site-header,.site-header.scrolled{background:var(--glass);border-color:var(--glass-border);box-shadow:0 12px 44px rgba(3,12,18,.10)}
html[data-theme="dark"] .site-header,html[data-theme="dark"] .site-header.scrolled{box-shadow:0 16px 60px rgba(0,0,0,.35)}
.desktop-nav a{color:var(--text)}
.menu-toggle{color:var(--text);border-radius:12px;cursor:pointer}
.menu-toggle span{background:currentColor}
.mobile-menu{background:var(--page);color:var(--text)}
.mobile-menu nav a{border-color:var(--border)}
.mobile-menu-foot{color:var(--text-soft)}
.theme-toggle{background:var(--panel);color:var(--text);border-color:var(--border)}
.header-cta{background:var(--navy-dark);color:#fff}
html[data-theme="dark"] .header-cta{background:var(--gold);color:#07131d}
html[data-theme="dark"] .header-cta span{color:#07131d}

/* Logo treatment */
html[data-theme="dark"] .brand img,html[data-theme="dark"] .footer img{filter:brightness(0) invert(1) saturate(0) brightness(1.08)}

/* Cards, controls and icon surfaces */
.service-card,.faq-item,.journal-card,.contact-form,.floating-card{background:var(--panel);color:var(--text);border-color:var(--border)}
.service-card p,.service-number,.faq-answer,.journal-meta,.journal-card time,.card-project span,.card-project small{color:var(--text-soft)}
.service-card:before{background:var(--page-alt)}
.service-card:hover{background:var(--navy);color:#fff;border-color:transparent}
html[data-theme="dark"] .service-card:hover{background:#123653}
.filter-btn,.testimonial-controls button,.article-share button,.modal-close{background:var(--panel);color:var(--text);border-color:var(--border)}
.filter-btn:hover,.testimonial-controls button:hover,.article-share button:hover{border-color:var(--gold);transform:translateY(-2px)}
.filter-btn.active{background:var(--navy-dark);color:#fff;border-color:var(--navy-dark)}
html[data-theme="dark"] .filter-btn.active{background:var(--gold);color:#07131d;border-color:var(--gold)}
.button-ghost{background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--text);border-color:var(--border)}
.button-ghost:hover{background:var(--panel);border-color:var(--gold)}

/* Portfolio and modal */
.project-card{background:var(--panel-raised);box-shadow:0 12px 36px rgba(3,12,18,.08)}
.project-card:focus-visible{outline-offset:5px}
.project-overlay{background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.82));color:#fff}
.project-modal{background:var(--page);color:var(--text)}
.modal-content>div{border-color:var(--border)}
.modal-close{box-shadow:0 8px 28px rgba(0,0,0,.15)}

/* Process, FAQ, testimonial */
.process-row,.faq-item{border-color:var(--border)}
.process-row p,.faq-answer{color:var(--text-soft)}
.process-row:hover{background:var(--page-alt)}
.faq-question{color:var(--text)}
.faq-question button,.faq-question .faq-icon{color:var(--text)}
.testimonial-section{background:var(--navy-dark);color:#fff}
.testimonial p,.testimonial cite{color:rgba(255,255,255,.72)}

/* Forms: every state in both themes */
.contact-form label{color:var(--text)}
.contact-form input,.contact-form textarea,.contact-form select{
  background:var(--field);color:var(--field-text);border-color:var(--border);
  caret-color:var(--gold);
}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--field-placeholder);opacity:1}
.contact-form input:hover,.contact-form textarea:hover,.contact-form select:hover{border-color:var(--border-strong)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--gold);box-shadow:0 0 0 4px var(--focus)}
.contact-form select option{background:var(--panel);color:var(--text)}
.form-status{color:var(--success)}

/* Footer and floating action */
.footer{background:var(--page);color:var(--text)}
.footer-top,.footer-bottom{border-color:var(--border)}
.footer-top p,.footer-grid a,.footer-grid p,.footer-bottom{color:var(--text-soft)}
.footer-grid a:hover,.footer-bottom a:hover{color:var(--text)}
.whatsapp-float{background:var(--panel);color:var(--text);border:1px solid var(--border)}

/* Journal and article */
.journal-hero{background:radial-gradient(circle at 80% 20%,rgba(201,162,39,.14),transparent 32%),var(--page);color:var(--text)}
.journal-card{box-shadow:0 12px 32px rgba(3,12,18,.05)}
html[data-theme="dark"] .journal-card{box-shadow:0 16px 48px rgba(0,0,0,.24)}
.journal-image span{background:var(--panel);color:var(--text);border:1px solid var(--border)}
.article-back,.article-meta,.article-share{color:var(--text-soft)}
.article-content{color:var(--text)}
.article-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.article-content strong{color:var(--text)}
.article-content blockquote{color:var(--text);background:var(--page-alt);border-radius:0 16px 16px 0;padding-right:24px}
.article-cover{background:var(--panel-raised)}
.error-page{background:var(--page);color:var(--text)}

/* Motion quality and tactile reactions */
.button,.filter-btn,.theme-toggle,.menu-toggle,.testimonial-controls button,.article-share button,.whatsapp-float,.text-link{transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease,color .24s ease,border-color .24s ease}
.button:active,.filter-btn:active,.theme-toggle:active,.testimonial-controls button:active,.whatsapp-float:active{transform:scale(.97)}
.service-card,.journal-card,.project-card,.faq-item,.process-row{will-change:transform}
.project-card img{transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.project-card:hover img{transform:scale(1.055);filter:saturate(1.05)}
.faq-item:hover{background:var(--panel);box-shadow:0 14px 38px rgba(3,12,18,.06)}
html[data-theme="dark"] .faq-item:hover{box-shadow:0 16px 44px rgba(0,0,0,.22)}

/* Prevent theme flash and maintain safe rendering */
html:not([data-theme]) body{visibility:hidden}
html[data-theme] body{visibility:visible}

/* Responsive product polish */
@media(max-width:1100px){
  .desktop-nav{gap:20px}.brand img{width:220px}.header-cta{padding:14px 16px}
}
@media(max-width:980px){
  .site-header{padding-right:10px}.theme-toggle{margin-left:auto;margin-right:4px}
  .mobile-menu{padding-top:112px}
}
@media(max-width:640px){
  .site-header{border-radius:18px}.brand img{width:min(180px,48vw)}
  .theme-toggle{width:42px;height:42px}.menu-toggle{width:42px;height:42px}
  .mobile-menu{padding:104px 22px 28px}.mobile-menu nav a{font-size:clamp(36px,12vw,56px);padding:10px 0}
  .hero h1{font-size:clamp(44px,14vw,58px);line-height:.98}.hero-description{line-height:1.58}
  .hero-visual{min-height:440px}.card-note{max-width:190px}.card-note p{font-size:10px}
  .about-copy h2,.section-head h2,.portfolio-head h2,.faq h2,.contact h2{font-size:clamp(38px,12vw,48px)}
  .about-visual img{height:min(132vw,540px)}.about-badge{width:min(190px,58vw)}
  .project-card,.project-card:nth-child(3n),.project-card:nth-child(4n){min-height:min(118vw,470px)}
  .contact-form{padding:20px;border-radius:22px}.contact-inner{gap:42px}
  .journal-hero{min-height:auto;padding:132px 18px 70px}.journal-hero h1{font-size:clamp(3rem,15vw,4.8rem)}
  .article-hero{padding:132px 18px 58px}.article-hero h1{font-size:clamp(2.65rem,13vw,4.5rem)}
  .article-cover{margin-inline:12px;border-radius:22px;height:42vh}.article-layout{padding-inline:18px;margin-bottom:90px}
  .article-content{font-size:1.06rem;line-height:1.82}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{font-size:12px;line-height:1.6}
}
@media(hover:none){
  .journal-image span{transform:none;opacity:1}.service-card:hover,.journal-card:hover{transform:none}
}
html:not([data-theme]) body{visibility:visible}

/* ===== v2.5 MOBILE NAVIGATION CONTAINMENT FIX =====
   The mobile drawer must never participate in desktop painting or scrolling. */
.mobile-menu{
  display:none;
  visibility:hidden;
  pointer-events:none;
}
body.menu-open{overflow:hidden;overscroll-behavior:none}

@media (max-width:980px){
  .mobile-menu{
    display:flex;
    visibility:hidden;
    pointer-events:none;
    opacity:0;
    transform:translate3d(0,-105%,0);
    will-change:transform,opacity;
    transition:transform .55s cubic-bezier(.77,0,.18,1),opacity .2s ease,visibility 0s linear .55s;
    contain:layout paint;
  }
  .mobile-menu.open{
    visibility:visible;
    pointer-events:auto;
    opacity:1;
    transform:translate3d(0,0,0);
    transition:transform .55s cubic-bezier(.77,0,.18,1),opacity .2s ease,visibility 0s;
  }
  .mobile-menu-foot{position:relative;z-index:1}
}

@media (min-width:981px){
  .mobile-menu,.mobile-menu.open{display:none!important;visibility:hidden!important;pointer-events:none!important;transform:none!important}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu,.mobile-menu.open{transition:none!important}
}


/* v2.6 — clickable brand marks, explicit light-first theme, enhanced WhatsApp booking CTA */
.brand,.footer-logo{display:inline-flex;align-items:center;text-decoration:none}
.brand:focus-visible,.footer-logo:focus-visible{outline:3px solid var(--gold);outline-offset:6px;border-radius:8px}
.footer-logo img{display:block}
.whatsapp-float{right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);min-height:64px;padding:8px 18px 8px 9px!important;gap:11px;border-radius:999px;background:#ffffff!important;color:#10241a!important;border:1px solid rgba(21,128,61,.20)!important;box-shadow:0 18px 48px rgba(5,46,22,.20),0 0 0 0 rgba(37,211,102,.35);font-size:14px;font-weight:800;line-height:1.05;isolation:isolate;animation:whatsappAttention 3.2s ease-in-out infinite}
.whatsapp-float::before{content:"";position:absolute;inset:-7px;border:1.5px solid rgba(37,211,102,.42);border-radius:inherit;z-index:-1;animation:whatsappRing 2.2s ease-out infinite}
.whatsapp-float svg{width:45px!important;height:45px!important;flex:0 0 45px;fill:#25d366;filter:drop-shadow(0 5px 10px rgba(37,211,102,.25));animation:whatsappIcon 2.6s ease-in-out infinite}
.whatsapp-float span{display:block!important;white-space:nowrap;letter-spacing:.01em}
.whatsapp-float i{display:block;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#16803d;position:absolute;left:65px;bottom:8px;opacity:.82}
.whatsapp-float span{padding-bottom:11px}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.025);box-shadow:0 24px 58px rgba(5,46,22,.27),0 0 0 7px rgba(37,211,102,.10)}
html[data-theme="dark"] .whatsapp-float{background:#10251a!important;color:#f5fff8!important;border-color:rgba(74,222,128,.34)!important;box-shadow:0 20px 54px rgba(0,0,0,.42),0 0 0 0 rgba(37,211,102,.32)}
html[data-theme="dark"] .whatsapp-float i{color:#74e99c}
@keyframes whatsappRing{0%{opacity:.75;transform:scale(.92)}75%,100%{opacity:0;transform:scale(1.18)}}
@keyframes whatsappIcon{0%,76%,100%{transform:rotate(0) scale(1)}80%{transform:rotate(-9deg) scale(1.08)}84%{transform:rotate(8deg) scale(1.08)}88%{transform:rotate(-5deg) scale(1.05)}92%{transform:rotate(0) scale(1)}}
@keyframes whatsappAttention{0%,100%{box-shadow:0 18px 48px rgba(5,46,22,.20),0 0 0 0 rgba(37,211,102,.30)}50%{box-shadow:0 20px 52px rgba(5,46,22,.24),0 0 0 6px rgba(37,211,102,.08)}}
@media(max-width:640px){.whatsapp-float{min-height:58px;padding:7px 15px 7px 8px!important;gap:9px;font-size:13px}.whatsapp-float svg{width:41px!important;height:41px!important;flex-basis:41px}.whatsapp-float i{left:58px;bottom:7px;font-size:8px}.whatsapp-float span{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float::before,.whatsapp-float svg{animation:none!important}}

/* v2.8 editorial journal, 404 and SEO-facing polish */
.journal-hero-v2{min-height:86vh;grid-template-columns:minmax(0,1fr) auto;gap:60px;overflow:hidden;position:relative}
.journal-hero-v2:before{content:"";position:absolute;width:44vw;height:44vw;border:1px solid var(--border);border-radius:50%;right:-12vw;top:8%;opacity:.7}
.journal-hero-v2 h1 em{font-family:"Playfair Display",Georgia,serif;font-weight:400;color:var(--gold);font-style:italic;letter-spacing:-.035em}
.journal-hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.journal-editorial-mark{width:260px;aspect-ratio:1;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;z-index:1;background:color-mix(in srgb,var(--page) 88%,transparent);backdrop-filter:blur(16px)}
.journal-editorial-mark strong{font:600 5.4rem/.8 "Bricolage Grotesque",sans-serif;color:var(--gold);letter-spacing:-.08em}.journal-editorial-mark span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-soft);line-height:1.5}
.journal-feature-strip{min-height:62px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;padding:14px 5vw;border-block:1px solid var(--border);background:var(--page-alt);color:var(--text-soft);font-size:.72rem;letter-spacing:.16em}.journal-feature-strip i{width:4px;height:4px;background:var(--gold);border-radius:50%}
.journal-index-head>div h2{font:600 clamp(2.5rem,5vw,5rem)/.95 "Bricolage Grotesque",sans-serif;letter-spacing:-.055em;margin:10px 0 0}.journal-index-grid{align-items:start}.journal-card.featured{display:grid;grid-template-columns:1.25fr .75fr;grid-column:1/-1}.journal-card.featured .journal-image{height:560px}.journal-card.featured .journal-card-body{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.journal-card.featured .journal-card-body h2{font-size:clamp(2.3rem,4vw,4.4rem)}
.journal-cta{margin-bottom:120px;border-radius:32px;background:linear-gradient(135deg,var(--navy),#062d46);color:#fff;display:flex;align-items:end;justify-content:space-between;gap:36px;padding:clamp(34px,6vw,80px)}.journal-cta h2{font:600 clamp(2.5rem,5vw,5.2rem)/.95 "Bricolage Grotesque",sans-serif;letter-spacing:-.05em;max-width:850px;margin:10px 0 0}.journal-cta .eyebrow{color:#d9c16c}.journal-empty{text-align:center;padding:90px 30px;border:1px solid var(--border);border-radius:28px;background:var(--panel)}
.article-cover figcaption{padding:12px 6px 0;color:var(--text-soft);font-size:.86rem}.article-share a{display:block;border:1px solid var(--border);border-radius:999px;padding:11px;text-align:center;color:var(--text);text-decoration:none;text-transform:none;letter-spacing:0}.article-content>p:first-child:first-letter{float:left;font:600 5.5rem/.78 "Bricolage Grotesque",sans-serif;color:var(--gold);padding:10px 12px 0 0}
.not-found-page{background:var(--page);color:var(--text);min-height:100vh}.not-found-shell{min-height:100vh;display:flex;flex-direction:column;padding:28px max(4vw,24px)}.not-found-brand img{width:154px;height:auto}.not-found-card{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(40px,7vw,100px)}.not-found-copy h1{font:600 clamp(3.2rem,7vw,7.2rem)/.88 "Bricolage Grotesque",sans-serif;letter-spacing:-.065em;margin:18px 0}.not-found-copy>p:not(.eyebrow){max-width:620px;color:var(--text-soft);font-size:1.12rem;line-height:1.72;margin-bottom:30px}.not-found-visual{height:520px;border-radius:40px;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--page-alt),var(--panel));border:1px solid var(--border);box-shadow:var(--shadow)}.nf-wall{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,var(--border) 50%,transparent 50.2%)}.nf-frame{position:absolute;left:50%;top:16%;transform:translateX(-50%);display:grid;place-items:center;width:56%;height:42%;border:12px solid var(--panel);box-shadow:0 18px 45px rgba(0,0,0,.12);background:var(--gold);color:#fff;font:700 clamp(4rem,8vw,7rem)/1 "Bricolage Grotesque",sans-serif}.nf-table{position:absolute;left:18%;right:18%;height:14px;bottom:20%;background:var(--text);border-radius:999px}.nf-table:before,.nf-table:after{content:"";position:absolute;width:10px;height:120px;top:8px;background:var(--text)}.nf-table:before{left:12%}.nf-table:after{right:12%}.nf-vase{position:absolute;left:50%;bottom:22%;transform:translateX(-50%);width:70px;height:92px;background:var(--navy);border-radius:14px 14px 30px 30px;z-index:2}.nf-vase:before{content:"";position:absolute;width:80px;height:110px;left:-6px;bottom:74px;border-left:3px solid var(--gold);border-radius:60%}.not-found-note{text-align:center;color:var(--text-soft);font-size:.86rem;padding-top:20px}
@media(max-width:900px){.journal-hero-v2{grid-template-columns:1fr}.journal-editorial-mark{width:180px}.journal-card.featured{display:block}.journal-card.featured .journal-image{height:320px}.journal-card.featured .journal-card-body{padding:26px}.journal-cta{align-items:flex-start;flex-direction:column}.not-found-card{grid-template-columns:1fr;padding:50px 0}.not-found-visual{height:350px;order:2}.not-found-copy{order:1}.not-found-copy h1{font-size:clamp(3rem,14vw,5rem)}}
@media(max-width:560px){.journal-feature-strip{gap:12px;font-size:.62rem}.journal-editorial-mark{display:none}.journal-hero-v2:before{width:90vw;height:90vw;right:-45vw}.not-found-shell{padding:20px}.not-found-visual{height:300px;border-radius:26px}.nf-frame{border-width:8px}.not-found-note{font-size:.75rem}}

/* v2.9 managed pages and footer socials */
.footer-socials{display:flex;flex-direction:column;gap:.55rem}.footer-socials a{color:inherit;text-decoration:none;transition:transform .2s ease,color .2s ease}.footer-socials a:hover{transform:translateX(4px);color:var(--accent)}
.page-hero{padding-top:clamp(9rem,14vw,13rem);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:center}.page-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}.page-hero h1{font-size:clamp(3rem,7vw,7rem);line-height:.94;letter-spacing:-.06em;margin:.4rem 0 1.25rem}.page-hero p{max-width:62ch;color:var(--muted);line-height:1.75}.article-body{max-width:860px;margin:auto;font-size:clamp(1.03rem,1.4vw,1.18rem);line-height:1.9}.article-body h2{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em;margin:2.5em 0 .6em}.article-body h3{font-size:1.55rem;margin:2em 0 .5em}.article-body blockquote{font-family:'Playfair Display',serif;font-size:1.5rem;border-left:4px solid var(--accent);padding:1rem 0 1rem 1.5rem;margin:2.5rem 0}.article-body img{max-width:100%;border-radius:20px;margin:2rem 0}@media(max-width:800px){.page-hero{grid-template-columns:1fr;padding-top:8rem}.page-hero img{order:2}.page-hero h1{font-size:clamp(2.8rem,15vw,5rem)}}

.footer-socials a{display:flex;align-items:center;gap:.65rem}.footer-socials i{width:1.65rem;height:1.65rem;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-style:normal;font-size:.72rem;font-weight:700;opacity:.82}.footer-socials a:hover i{transform:rotate(-8deg) scale(1.08)}
