
:root{--ink:#0a1825;--navy:#071723;--navy2:#102638;--ivory:#f4f2ed;--gold:#b59b73;--steel:#aebbc5;--white:#fff;--muted:#687781}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1376px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:.23em;font-weight:700;text-transform:uppercase}.gold{color:var(--gold)}.topnav{height:86px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff}.brand{display:flex;align-items:center;gap:14px}.logo-mark{width:46px;height:44px;border:1px solid rgba(255,255,255,.72);display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 90%,90% 100%,0 100%)}.brand-words{display:flex;flex-direction:column;font-size:24px;line-height:.92;font-weight:800;letter-spacing:.22em}.brand-words small{font-size:8px;font-weight:500;letter-spacing:.36em;margin-top:8px}.navlinks{display:flex;align-items:center;gap:39px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.navlinks a{transition:color .2s}.navlinks a:hover{color:#e3c69a}.nav-contact{border:1px solid rgba(255,255,255,.45);padding:14px 22px}.hamburger{display:none;background:none;color:inherit;border:1px solid #7b858b;padding:8px 12px;cursor:pointer}.hero{min-height:800px;height:min(900px,100svh);background:radial-gradient(ellipse at 75% 52%,rgba(65,95,111,.26),transparent 44%),linear-gradient(117deg,#06121d 2%,#0a1e2d 57%,#18354b 100%);color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,22,.97) 0%,rgba(4,13,22,.85) 28%,rgba(4,13,22,.04) 82%);z-index:2}.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#91b0c1 1px,transparent 1px),linear-gradient(90deg,#91b0c1 1px,transparent 1px);background-size:86px 86px;transform:skewY(-7deg) scale(1.5);z-index:0}.hero-art{position:absolute;top:16%;left:24%;width:95%;height:77%;z-index:1;opacity:.86}.hero-art svg{width:100%;height:100%}.hero-copy{z-index:3;position:relative;width:min(820px,60vw);padding-top:56px}.hero-tag{display:flex;align-items:center;gap:17px;color:#c3aa85}.hero-tag:before{content:'';width:32px;height:1px;background:#c3aa85}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(56px,6.4vw,108px);line-height:1.05;font-weight:300;letter-spacing:-.055em;margin:30px 0 32px}.hero h1 b{font-weight:700}.hero p{font-size:15px;line-height:1.95;max-width:440px;color:#c1cbd1}.hero-buttons{display:flex;align-items:center;gap:32px;margin-top:43px}.primary{background:var(--gold);color:var(--navy);padding:17px 26px;font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;gap:23px;align-items:center;transition:background .2s}.primary:hover{background:#d3b789}.plain{display:inline-flex;align-items:center;gap:13px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.arrowcircle{width:31px;height:31px;border:1px solid currentColor;display:grid;place-items:center;border-radius:50%}.hero-bottom{position:absolute;z-index:4;bottom:0;left:0;width:100%;padding:30px 5%;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;color:#a9b7c1;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.aside-index{position:absolute;right:5%;top:49%;z-index:4;writing-mode:vertical-rl;letter-spacing:.28em;color:#c4c8ca;font-size:10px}.intro{padding:120px 0 135px}.introgrid{display:grid;grid-template-columns:34% 1fr;gap:70px}.intro-title{font-size:14px;font-weight:600;color:#8b7c65}.intro h2{font-family:Manrope,sans-serif;font-size:clamp(35px,4vw,64px);font-weight:400;line-height:1.19;letter-spacing:-.045em;margin:0}.intro strong{color:#8a949a;font-weight:400}.intro-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:50px;color:#62717b;font-size:15px;line-height:1.9}.intro-detail a{font-size:11px;letter-spacing:.13em;font-weight:700;color:#152938;border-bottom:1px solid #b69c75;padding-bottom:10px;display:inline-block}.services{background:#fff;padding:100px 0 120px}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:65px}.sectionhead h2{font-size:clamp(42px,5vw,74px);line-height:1.05;letter-spacing:-.05em;font-weight:400;margin:18px 0 0}.sectionhead p{font-size:13px;color:#71808a;max-width:300px;line-height:1.8}.service-list{border-top:1px solid #d9dddf}.service{display:grid;grid-template-columns:80px minmax(230px,1.05fr) minmax(230px,1fr) 55px;gap:24px;align-items:center;min-height:133px;border-bottom:1px solid #d9dddf;transition:background .2s;padding:20px 18px 20px 0}.service:hover{background:#f5f5f1}.number{font-size:12px;color:#9c8a6b}.service h3{font-weight:600;font-size:clamp(19px,2vw,28px);letter-spacing:-.035em;margin:0}.service p{font-size:13px;color:#6c7881;line-height:1.65;margin:0}.serv-arrow{height:43px;width:43px;border:1px solid #c6cdd1;border-radius:100%;display:grid;place-items:center;font-size:21px}.feature{background:var(--navy);color:#fff;min-height:530px;display:grid;grid-template-columns:1fr 1fr}.feature .visual{position:relative;background:radial-gradient(ellipse at 30% 70%,rgba(83,119,131,.32),transparent 50%),linear-gradient(135deg,#142e40,#07131c);overflow:hidden}.feature .visual svg{position:absolute;inset:0;width:100%;height:100%}.feature .copy{padding:100px min(9%,110px);display:flex;justify-content:center;flex-direction:column}.feature h2{font-size:clamp(34px,3.5vw,58px);font-weight:400;line-height:1.22;letter-spacing:-.04em;margin:24px 0}.feature p{color:#a4b4bf;font-size:14px;line-height:1.95;max-width:490px}.feature .plain{margin-top:24px;color:#ddc9aa}.projects{padding:120px 0}.project-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.project{min-height:420px;background:linear-gradient(132deg,#102537,#234458);position:relative;display:flex;flex-direction:column;justify-content:end;padding:36px;color:#fff;overflow:hidden}.project.small{background:linear-gradient(137deg,#425d69,#0b2233)}.project:before{content:'';position:absolute;inset:-100px 0 0;background:repeating-linear-gradient(0deg,transparent,transparent 62px,rgba(255,255,255,.07) 63px),repeating-linear-gradient(90deg,transparent,transparent 76px,rgba(255,255,255,.05) 77px);transform:skewX(-12deg)}.project>*{z-index:1;position:relative}.project h3{font-weight:400;font-size:34px;letter-spacing:-.04em;margin:12px 0}.project p{font-size:13px;color:#cbd8dd}.project .caption{position:absolute;top:28px;left:35px;color:#e9d0a7}.project:after{content:'';position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);letter-spacing:.2em;font-size:10px;color:rgba(255,255,255,.25);white-space:nowrap}.cta{background:#0a1b2b;color:white;padding:110px 0}.cta .container{display:flex;justify-content:space-between;gap:50px;align-items:end}.cta h2{font-size:clamp(38px,5vw,74px);font-weight:400;letter-spacing:-.05em;line-height:1.18;margin:20px 0 0}.footer{background:#06121d;color:#c4cbd0;padding:34px 0}.footer .container{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:950px){.container{width:calc(100% - 48px)}.navlinks{display:none;position:absolute;top:86px;left:0;right:0;background:#081926;flex-direction:column;align-items:stretch;padding:28px}.navlinks.active{display:flex}.hamburger{display:block}.hero{height:760px;min-height:680px}.hero-copy{width:100%}.hero-art{left:13%;width:120%;top:18%;opacity:.45}.hero:before{background:linear-gradient(90deg,rgba(4,13,22,.9),rgba(4,13,22,.48))}.introgrid{grid-template-columns:1fr;gap:30px}.feature{grid-template-columns:1fr}.feature .visual{min-height:340px;order:2}.feature .copy{padding:70px 7%}.feature .copy{order:1}.service{grid-template-columns:45px 1fr 45px}.service p{grid-column:2;grid-row:2}.serv-arrow{grid-column:3;grid-row:1/3}.project-grid{grid-template-columns:1fr}.cta .container{align-items:start;flex-direction:column}.aside-index{display:none}}@media(max-width:560px){.container{width:calc(100% - 36px)}.topnav{height:74px;padding:0 18px}.navlinks{top:74px}.brand-words{font-size:20px}.brand-words small{font-size:7px}.logo-mark{width:35px;height:36px}.hero{height:690px;min-height:690px}.hero-copy{padding-top:45px}.hero h1{font-size:52px}.hero p{font-size:13px}.hero-buttons{flex-wrap:wrap;gap:24px}.hero-bottom{padding:24px 18px;gap:20px}.hero-bottom span:last-child{display:none}.intro{padding:82px 0}.intro-detail{grid-template-columns:1fr;gap:16px}.services{padding:85px 0}.sectionhead{align-items:start;flex-direction:column;margin-bottom:42px}.service{padding:20px 8px 20px 0;gap:10px}.service h3{font-size:20px}.service p{font-size:12px}.projects{padding:83px 0}.project{min-height:330px}.cta{padding:85px 0}.footer .container{flex-direction:column;align-items:start}}

/* Theme integration / accessibility */
.hero-art img,.feature .visual img{width:100%;height:100%;object-fit:contain;display:block}
.hero-art img{max-width:none}
.axis-skip-link{position:absolute;top:-100px;left:16px;background:#fff;color:#071723;padding:12px 18px;z-index:1000}
.axis-skip-link:focus{top:12px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.navlinks ul.axis-menu{display:flex;align-items:center;gap:39px;margin:0;padding:0;list-style:none}
.navlinks ul.axis-menu>li>a{display:inline-block}
.navlinks a:focus-visible,.primary:focus-visible,.plain:focus-visible,.hamburger:focus-visible{outline:2px solid #ddc9aa;outline-offset:5px}
.hamburger{font-size:18px}
body.admin-bar .topnav{top:32px}
.site-page-wrap{padding:150px 0 105px;min-height:70vh;background:var(--ivory)}
.site-page-header{padding:80px 0 68px;background:#091c2b;color:#fff}
.site-page-header .eyebrow{color:var(--gold);margin-bottom:24px}
.site-page-title{font-family:'Manrope',sans-serif;font-size:clamp(38px,5vw,72px);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:0}
.site-page-content{max-width:1050px;margin:70px auto 0;font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.site-page-content :is(h2,h3,h4){font-family:'Manrope',sans-serif;line-height:1.25;letter-spacing:-.025em;color:var(--ink)}
.site-page-content a:not(.elementor-button){color:#6e5434;text-decoration:underline;text-underline-offset:4px}
.site-page-content img{max-width:100%;height:auto}
.site-page-content .wp-block-image img{display:block}
.site-page-content p{margin:0 0 22px}
.site-page-content ul,.site-page-content ol{padding-left:26px}
.site-page-content input:not([type=submit]),.site-page-content textarea,.site-page-content select{max-width:100%;padding:14px;border:1px solid #bbc6cd;background:#fff;border-radius:0;font:inherit}
.site-page-content :is(input[type=submit],button){padding:14px 20px;background:var(--navy);color:#fff;border:0;cursor:pointer;font:inherit}
.site-page-content .elementor{max-width:none}
.pagination,.post-nav-links{display:flex;gap:18px;margin-top:40px}
.archive-entry{border-bottom:1px solid #cbd4d7;padding:22px 0}
.archive-entry a{text-decoration:none;color:var(--ink)}
.project:not(:has(.project-cover))::after{content:''}
.project:has(.project-cover)::after{display:none}
.project-cover{position:absolute;inset:0;z-index:0!important;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.project:has(.project-cover)::before{z-index:1}
@media(max-width:950px){.navlinks ul.axis-menu{display:flex;flex-direction:column;align-items:stretch;gap:24px}.navlinks{z-index:21}.navlinks .nav-contact{display:inline-block}.topnav.is-open .hamburger{border-color:var(--gold)}}
@media(max-width:782px){body.admin-bar .topnav{top:46px}}
@media(max-width:560px){.site-page-wrap{padding-top:100px}.site-page-header{padding:65px 0 50px}.site-page-content{margin-top:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The dark masthead remains legible across existing interior WordPress pages. */
body:not(.home) .topnav{position:relative;top:auto;background:var(--navy)}
body:not(.home).admin-bar .topnav{top:auto}
body:not(.home) .site-page-wrap{padding:0 0 105px}
body:not(.home) .site-page-header{padding:80px 0 68px}
.axis-custom-logo{max-height:55px;width:auto;display:block}
@media(max-width:560px){body:not(.home) .site-page-header{padding:60px 0 55px}}

/* v1.1: Existing WordPress media integration, official brand assets */
.hero-photo{position:absolute;inset:0;z-index:0;opacity:.64}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero:has(.hero-photo) .hero-art{opacity:.42}
.hero:has(.hero-photo):before{background:linear-gradient(90deg,rgba(4,13,22,.97) 0%,rgba(4,13,22,.87) 38%,rgba(4,13,22,.47) 100%)}
.feature .visual .feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.68) saturate(.7)}
.brand .axis-custom-logo{max-width:min(225px,38vw);max-height:62px;width:auto;height:auto;object-fit:contain;display:block}
@media(max-width:560px){.brand .axis-custom-logo{max-width:165px;max-height:49px}}

/* ============================================
 AXIS PREMIUM / COMPLETE EDITORIAL SYSTEM v2.0
 Compatible with existing media and WordPress pages
 ============================================ */
:root{--axis-gold:#b59b73;--axis-navy:#071723;--axis-ivory:#f4f2ed}
html{scroll-padding-top:20px}body{overflow-x:hidden}
.topnav{height:98px}body.admin-bar .topnav{top:32px}
.brand:has(.axis-custom-logo){background:rgba(247,248,248,.95);border:1px solid rgba(255,255,255,.7);padding:7px 14px;min-height:76px;min-width:110px;display:flex;align-items:center;justify-content:center}
.brand .axis-custom-logo{max-height:76px;max-width:185px;width:auto;height:auto;object-fit:contain;filter:contrast(1.15)}
.hero-photo{opacity:.53!important}.hero-photo img{object-position:center 48%;filter:saturate(.8) contrast(1.05)}
.hero:has(.hero-photo):before{background:linear-gradient(90deg,rgba(3,15,26,.96),rgba(3,15,26,.82) 45%,rgba(3,15,26,.45))}
.hero:has(.hero-photo) .hero-art{opacity:.19}
.hero h1{max-width:800px}.hero-copy{width:min(920px,67vw)}
.project:not(:has(.project-cover))::after{content:''}
.subpage-hero{padding:145px 0 105px;background:radial-gradient(circle at 84% 65%,#18344a,transparent 54%),linear-gradient(125deg,#06141f,#0d2839);color:#fff;position:relative;overflow:hidden;min-height:400px}
.subpage-hero:after{content:'';position:absolute;inset:0;opacity:.10;pointer-events:none;background-image:linear-gradient(#a1b0ba 1px,transparent 1px),linear-gradient(90deg,#a1b0ba 1px,transparent 1px);background-size:90px 90px;transform:skewY(-5deg) scale(1.4)}
.subpage-hero .container{position:relative;z-index:1}
.subpage-hero h1{font-family:Manrope,sans-serif;font-weight:300;font-size:clamp(45px,6.5vw,90px);line-height:1.13;letter-spacing:-.06em;margin:34px 0 25px;max-width:1020px}
.subpage-hero h1 em{font-weight:700;font-style:normal}.subpage-lead{max-width:610px;color:#c6d2d9;line-height:1.85;font-size:16px}
.editorial-section{padding:115px 0;background:var(--ivory)}
.editorial-section.slim{padding:95px 0 62px}
.split-editorial{display:grid;grid-template-columns:.95fr 1fr;gap:10%}
.split-editorial h2{font-size:clamp(38px,4.5vw,70px);font-weight:400;letter-spacing:-.055em;line-height:1.15;margin:20px 0}
.section-kicker{color:#927750}.editorial-copy{padding-top:38px;max-width:600px}.editorial-copy p{font-size:16px;line-height:1.96;color:#52616c;margin:0 0 26px}
.value-grid-section{background:#fff;padding:105px 0}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value-grid article{padding:43px 35px 48px;background:#f7f7f3;border-top:2px solid #baa280}
.value-grid article span,.process-grid span{font-size:11px;color:#917954;letter-spacing:.2em;font-weight:700}
.value-grid h3{font-size:31px;font-weight:400;letter-spacing:-.04em;margin:32px 0 16px}
.value-grid p,.process-grid p{font-size:14px;line-height:1.85;color:#677580;margin:0}
.process-section{padding:118px 0;background:#102638;color:#fff}
.process-section h2{font-size:clamp(42px,5vw,76px);font-weight:400;line-height:1.15;letter-spacing:-.055em;margin:28px 0 74px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.process-grid>div{padding:35px 10px 35px 0;border-top:1px solid #738692}
.process-grid h3{font-size:23px;font-weight:500;letter-spacing:-.03em;margin:27px 0 14px}
.process-grid p{color:#a9bbc8}
.cta-section{padding:118px 0;background:#081a29;color:#fff}
.cta-section h2{font-size:clamp(42px,5.8vw,80px);font-weight:400;letter-spacing:-.055em;line-height:1.15;margin:24px 0 46px}
.service-detail-section{background:#fff;padding:20px 0 110px}
.service-detail{display:grid;grid-template-columns:26% 1fr;gap:8%;padding:70px 0;border-bottom:1px solid #d8dedf;scroll-margin-top:35px}
.service-detail .sindex{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#927750;font-weight:700}
.service-detail h2{font-size:clamp(32px,4vw,59px);font-weight:400;letter-spacing:-.045em;line-height:1.16;margin:0 0 28px}
.service-detail p{font-size:16px;line-height:1.95;color:#52636f;max-width:750px}
.service-detail ul{columns:2;gap:45px;list-style:none;padding:22px 0 0;margin:0;max-width:760px}
.service-detail li{break-inside:avoid;border-bottom:1px solid #e1e5e7;padding:14px 0;font-size:13px;color:#465864}
.service-detail li:before{content:'↗';color:#ad8964;margin-right:12px}
.portfolio-list{padding:15px 0 120px;background:var(--ivory)}
.real-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.real-project{display:block;min-width:0;padding-bottom:28px;border-bottom:1px solid #bdc9ce}
.real-project-visual{width:100%;aspect-ratio:16/10;background:linear-gradient(145deg,#12374c,#071723);position:relative;overflow:hidden;margin-bottom:20px}
.real-project-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.real-project:hover .real-project-visual img{transform:scale(1.035)}
.real-project .project-schematic{position:absolute;inset:10%;border:1px solid rgba(223,233,235,.15);background:repeating-linear-gradient(0deg,transparent,transparent 35px,rgba(223,233,235,.09) 36px),repeating-linear-gradient(90deg,transparent,transparent 50px,rgba(223,233,235,.09) 51px)}
.real-project-meta{display:flex;justify-content:space-between;color:#88704f;letter-spacing:.18em;font-size:11px;font-weight:700}
.real-project h3{font-size:clamp(25px,2.8vw,38px);font-weight:400;letter-spacing:-.04em;margin:16px 0 9px}
.real-project p{font-size:14px;color:#697780;line-height:1.8}
.contact-section{padding:120px 0;background:var(--ivory)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.contact-details h2{font-size:clamp(35px,4.3vw,64px);font-weight:400;letter-spacing:-.05em;line-height:1.2;margin:25px 0 26px}
.contact-details>p:not(.eyebrow){line-height:1.9;color:#56636f;max-width:500px}
.contact-line{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:start;border-top:1px solid #c3cbd0;padding:30px 0}
.contact-line span{color:#9a815d;font-size:11px;font-weight:700;letter-spacing:.2em}
.contact-line strong{font-size:17px;font-weight:500;line-height:1.65}
.contact-line a{text-decoration:underline;text-underline-offset:5px}
.contact-note{font-size:13px;color:#60707d;line-height:1.85;margin-top:24px;max-width:510px}
.contact-form-area{background:#fff;padding:48px;min-width:0;box-shadow:0 15px 42px rgba(6,20,31,.05)}
.contact-form-area h3{font-size:34px;font-weight:400;letter-spacing:-.04em;margin:14px 0 30px}
.contact-form-area label{display:block;font-size:13px;line-height:1.6;font-weight:600;margin:10px 0}
.contact-form-area input:not([type=submit]):not([type=checkbox]),.contact-form-area textarea,.contact-form-area select{display:block;width:100%;max-width:100%;padding:13px 15px;font:inherit;border:1px solid #cbd3d5;border-radius:0;background:#fff;color:#142636;margin-top:8px}
.contact-form-area input[type=submit]{background:var(--gold);padding:16px 28px;border:0;font-weight:700;letter-spacing:.1em;cursor:pointer}
.contact-form-area :is(input,textarea,select):focus-visible{outline:2px solid #b59b73;outline-offset:2px}
.contact-form-area .form-hint{font-size:14px;line-height:1.85;color:#62737c}
.footer{padding:50px 0 45px}.footer .footer-inner{align-items:start;gap:38px}
.footer-brand strong{color:#fff;font-size:18px;letter-spacing:.19em}.footer-brand strong span{font-size:10px;letter-spacing:.16em;font-weight:400}
.footer-brand p{font-size:12px;letter-spacing:normal;text-transform:none;margin:10px 0 0}
.footer-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.footer-links a{color:#e5e9ec;font-size:11px;letter-spacing:.13em}
.footer-links a:hover{color:#b59b73}.footer-legal{text-align:right;line-height:2;color:#a7b4bd}
@media(max-width:950px){.topnav{height:91px}.navlinks{top:91px}.brand:has(.axis-custom-logo){min-height:70px}.hero-copy{width:100%}.hero h1{font-size:clamp(50px,8.5vw,75px)}.value-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.footer .footer-inner{display:grid;grid-template-columns:1fr 1fr}.footer-legal{text-align:left}}
@media(max-width:680px){.topnav{height:85px;padding:0 17px}.navlinks{top:85px}.brand:has(.axis-custom-logo){padding:5px 10px;min-height:64px;min-width:90px}.brand .axis-custom-logo{max-height:62px;max-width:128px}.hero{min-height:700px;height:auto;padding-bottom:87px}.hero-copy{padding-top:136px;padding-bottom:48px}.hero h1{font-size:clamp(43px,10.5vw,62px);margin:28px 0;line-height:1.07;overflow-wrap:normal}.hero p{font-size:14px;line-height:1.75}.hero-buttons{margin-top:35px;gap:20px}.hero-bottom{padding:20px 18px}.hero-photo img{object-position:65% center}.hero-art{top:31%;left:3%;width:155%;opacity:.38}.hero-tag{font-size:10px;letter-spacing:.14em;gap:10px}.subpage-hero{padding:100px 0 86px;min-height:300px}.subpage-hero h1{font-size:clamp(38px,9vw,55px)}.subpage-lead{font-size:14px;line-height:1.85}.editorial-section{padding:75px 0}.split-editorial{grid-template-columns:1fr;gap:10px}.editorial-copy{padding-top:0}.editorial-copy p{font-size:14px}.value-grid-section,.process-section,.contact-section{padding:75px 0}.value-grid,.process-grid,.real-project-grid{grid-template-columns:1fr}.value-grid article{padding:29px}.process-section h2{margin-bottom:35px}.service-detail{grid-template-columns:1fr;gap:24px;padding:55px 0}.service-detail ul{columns:1}.service-detail h2{font-size:34px}.cta-section{padding:85px 0}.contact-layout{grid-template-columns:1fr;gap:60px}.contact-form-area{padding:26px}.contact-line{grid-template-columns:100px 1fr}.footer .footer-inner{grid-template-columns:1fr;gap:24px}.footer-links{gap:16px}.footer-legal{text-align:left}.project-grid{gap:18px}}
@media(max-width:410px){.hero h1{font-size:clamp(40px,10.2vw,47px)}.hero-buttons .primary{padding:16px 17px}.hero-tag:before{width:19px}}


/* ==============================================================
   AXIS SHIP DESIGN — PREMIUM V3 / CONSISTENT EDITORIAL SYSTEM
   Existing uploads: design treatments are purely CSS and reversible.
   All source image files remain untouched in the media library.
   ============================================================== */
:root { --axis-gold:#b59b73; --axis-night:#06141f; --axis-steel:#91a3b1; }
html:focus-within { scroll-behavior:smooth; }
body { background:var(--axis-night); }
.topnav, .brand { view-transition-name:none; }
body .topnav { transition:background-color .35s ease, border-color .35s ease; }
.navlinks a, .footer-links a { text-transform:none !important; }
.navlinks a { white-space:nowrap; letter-spacing:.135em; }
.navlinks a[aria-current="page"] { color:#e9c99b; }
.navlinks a[aria-current="page"]:after{content:"";display:block;height:1px;width:100%;background:#b59b73;margin-top:7px}
.navlinks .nav-contact { display:inline-flex; gap:14px; align-items:center; }
.brand:has(.axis-custom-logo) { background:rgba(250,250,248,.97); }
.brand .axis-custom-logo {max-width:205px;max-height:82px;filter:contrast(1.12)}
.footer .axis-footer-logo {max-width:180px;max-height:68px;width:auto;height:auto;object-fit:contain;background:#f4f2ed;padding:8px;border-radius:2px}
/* One visual grammar for ALL inner pages, directly derived from the home hero. */
body:not(.home) .topnav { position:absolute; inset:0 0 auto; top:0; background:rgba(4,14,23,.6);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(15px); }
body:not(.home).admin-bar .topnav { top:32px; }
.axis-inner-hero {height:min(790px,92svh);min-height:640px;padding:0;display:flex;align-items:center;isolation:isolate;background:radial-gradient(circle at 80% 55%,#2f5265 0%,#0b2636 48%,#06141f 100%);}
.axis-inner-hero:before {content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,15,26,.97) 0%,rgba(3,15,26,.9) 34%,rgba(3,15,26,.56) 68%,rgba(3,15,26,.28) 100%)}
.axis-inner-hero .hero-grid {z-index:2;opacity:.13}
.axis-inner-hero .axis-inner-photo{position:absolute;inset:0;z-index:0;opacity:.7!important;}
.axis-inner-hero .axis-inner-photo img{height:100%;width:100%;object-fit:cover;object-position:center 48%;filter:grayscale(.28) saturate(.78) contrast(1.12)}
.axis-inner-hero .axis-inner-art{z-index:1;opacity:.19;width:86%;left:31%;top:14%;transform:rotate(-2deg);}
.axis-inner-hero:has(.axis-inner-photo) .axis-inner-art{opacity:.11}
.axis-inner-hero .axis-inner-copy{position:relative;z-index:4;padding-top:128px;padding-bottom:100px;width:min(1020px,calc(100% - 112px));}
.axis-inner-copy h1 {font-family:Manrope,sans-serif;font-size:clamp(53px,6.25vw,98px);font-weight:300;line-height:1.1;max-width:1000px;letter-spacing:-.065em;color:#fff;margin:32px 0 27px;}
.axis-inner-copy h1 em {font-style:normal;font-weight:700;color:#f6f4ef;}
.axis-inner-copy .eyebrow {font-size:11px;color:#d5b98d}
.axis-inner-copy>p {font-size:16px;line-height:1.85;max-width:610px;color:#c7d4dd;margin:0;}
.axis-hero-scroll {display:inline-flex;align-items:center;gap:18px;color:#ead2ac;border-bottom:1px solid rgba(233,209,166,.5);padding:15px 0;margin-top:35px;font-size:10px;letter-spacing:.21em;font-weight:700}
.axis-hero-scroll span{font-size:18px;transition:transform .3s}
.axis-hero-scroll:hover span{transform:translateY(5px)}
.axis-inner-hero .hero-bottom{z-index:5}
.axis-inner-about .axis-inner-photo img{object-position:center 45%;}
.axis-inner-services .axis-inner-photo img{object-position:70% center;}
.axis-inner-projects .axis-inner-photo img{object-position:center 57%;}
.axis-inner-contact .axis-inner-photo img{object-position:60% center;filter:saturate(.45) contrast(1.12)}
/* Broad, gallery-like layouts: intentional editorial photography vs random image grid. */
.axis-visual-break{background:var(--ivory);padding:0 0 105px}
.axis-visual-break .container{position:relative}
.axis-editorial-photo{position:relative;min-height:470px;height:min(54vw,690px);overflow:hidden;background:linear-gradient(125deg,#091d2a,#214557 58%,#0a1c2a);isolation:isolate;}
.axis-editorial-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,12,20,.73),transparent 55%);z-index:2;pointer-events:none;}
.axis-editorial-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,30,.2),transparent),repeating-linear-gradient(0deg,transparent,transparent 110px,rgba(200,218,227,.05) 111px);pointer-events:none;z-index:2;}
.axis-photo-image{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center 52%;display:block;filter:saturate(.72) contrast(1.06);transition:transform 1s cubic-bezier(.17,.67,.27,1),filter 1s;}
.axis-editorial-photo:hover .axis-photo-image{transform:scale(1.035);filter:saturate(.86) contrast(1.05)}
.axis-editorial-photo .axis-drawing{object-fit:contain!important;padding:7%;filter:brightness(.75)}
.axis-photo-services .axis-photo-image{object-position:center 48%}
.axis-photo-contact .axis-photo-image{object-position:center 66%}
.axis-photo-caption{position:absolute;z-index:3;left:42px;right:42px;bottom:35px;color:#f4e4c6;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.21em;font-weight:700;text-transform:none}
.axis-contact-visual{padding:0 0 115px}
.axis-contact-visual .axis-editorial-photo{height:min(46vw,570px)}
.axis-visual-services{padding:0 0 15px}
/* Projects are presented as an architectural portfolio, not generic cards. */
.real-project-grid{row-gap:75px;column-gap:38px;align-items:start}
.real-project:first-child{grid-row:span 1}
.real-project-visual{aspect-ratio:1.3;box-shadow:0 18px 65px rgba(7,22,36,.12)}
.real-project:first-child .real-project-visual{aspect-ratio:1.16}
.real-project:nth-child(2n) {padding-top:70px}
.real-project-visual img{filter:saturate(.75) contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.26,1),filter .6s}
.real-project:hover .real-project-visual img{transform:scale(1.065);filter:saturate(.95)}
.real-project:hover h3{color:#ad8759;transition:color .3s}
.real-project .real-project-visual:after {content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11);pointer-events:none}
/* Next-section cinematic transition strip — aligns the four standalone pages. */
.axis-next{background:#071925;color:#fff}
.axis-next-link{display:block;color:inherit;text-decoration:none;position:relative;overflow:hidden;transition:background-color .35s}
.axis-next-link:hover{background:#102f43}
.axis-next-link:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 115px,rgba(177,209,225,.045) 116px);opacity:.58}
.axis-next-inner{position:relative;min-height:300px;padding:60px 0;display:flex;flex-direction:column;justify-content:center;gap:14px}
.axis-next-eyebrow{font-size:11px;letter-spacing:.21em;color:#bda27d;font-weight:700}
.axis-next-label{display:flex;justify-content:space-between;gap:30px;align-items:center;font-family:Manrope,sans-serif;font-size:clamp(55px,8vw,118px);font-weight:300;letter-spacing:-.065em;line-height:1.03}
.axis-next-arrow{font-family:sans-serif;font-size:clamp(38px,6vw,80px);color:#cbb28b;transition:transform .4s}
.axis-next-link:hover .axis-next-arrow{transform:translate(10px,-10px)}
.axis-next-small{font-size:13px;color:#91a4b1}
/* Gentle depth and entrance motion, never essential for layout. */
.axis-inner-copy .eyebrow{animation:axis-rise .65s .05s both}
.axis-inner-copy h1{animation:axis-rise .85s .13s both}
.axis-inner-copy>p{animation:axis-rise .9s .24s both}
.axis-inner-copy .axis-hero-scroll{animation:axis-rise .9s .34s both}
@keyframes axis-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
/* Browsers supporting cross-document transitions get seamless navy->navy navigation. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:axis-out .26s ease both}
::view-transition-new(root){animation:axis-in .42s ease both}
@keyframes axis-out{to{opacity:.4;filter:blur(3px)}}
@keyframes axis-in{from{opacity:.15;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
.axis-reveal{transition:opacity .6s,transform .7s cubic-bezier(.2,.7,.25,1)}
/* Reveal gracefully: no hidden-before-JS layout, all content remains readable. */
@media(min-width:951px){.service-detail:hover{background:linear-gradient(90deg,rgba(180,153,111,.04),transparent 60%)}}
@media(max-width:950px){
 body:not(.home) .topnav{background:rgba(4,14,23,.85)}
 .axis-inner-hero{height:730px;min-height:630px}
 .axis-inner-hero .axis-inner-copy{width:calc(100% - 48px);padding-top:125px}
 .axis-inner-copy h1{font-size:clamp(48px,7.7vw,74px)}
 .axis-inner-hero .axis-inner-art{width:135%;left:5%;top:30%}
 .axis-inner-hero:before{background:linear-gradient(90deg,rgba(3,15,26,.97),rgba(3,15,26,.7))}
 .real-project:nth-child(2n){padding-top:0}
 .axis-editorial-photo{min-height:410px;height:56vw}
}
@media(max-width:680px){
 body:not(.home).admin-bar .topnav{top:46px}
 .axis-inner-hero{height:auto;min-height:700px}
 .axis-inner-hero .axis-inner-copy{padding-top:168px;padding-bottom:160px;width:calc(100% - 36px)}
 .axis-inner-copy h1{font-size:clamp(42px,10.2vw,60px);line-height:1.08;overflow-wrap:normal}
 .axis-inner-copy>p{font-size:14px;line-height:1.85}
 .axis-inner-hero .hero-bottom{font-size:9px;padding:22px 18px}
 .axis-inner-hero .hero-bottom span:last-child{display:none}
 .axis-inner-hero .axis-inner-photo img{object-position:62% center}
 .axis-visual-break{padding-bottom:75px}
 .axis-editorial-photo{height:440px;min-height:0}
 .axis-photo-caption{left:20px;bottom:21px;right:20px;font-size:9px;letter-spacing:.12em}
 .axis-next-inner{min-height:238px;padding:50px 0}
 .axis-next-label{font-size:clamp(49px,12.5vw,74px)}
 .axis-next-arrow{font-size:37px}
 .real-project-grid{gap:50px}
 .real-project-visual,.real-project:first-child .real-project-visual{aspect-ratio:1.24}
 .navlinks {padding:28px 23px;gap:4px}
 .navlinks a{padding:13px 0}
 .footer .axis-footer-logo{max-width:165px}
}
@media(prefers-reduced-motion:reduce){
 .axis-inner-copy .eyebrow,.axis-inner-copy h1,.axis-inner-copy>p,.axis-inner-copy .axis-hero-scroll{animation:none!important}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .axis-photo-image,.axis-next-arrow,.real-project-visual img{transition:none!important}
 html{scroll-behavior:auto!important}
}

/* v3.1: matching section navigation in the rare case of an unrelated 404 */
.axis-error-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:40px}
.axis-error-links a{font-size:12px;letter-spacing:.16em;font-weight:700;border-bottom:1px solid #b59b73;padding:7px 0;text-decoration:none;color:#091d2b}
.axis-error-links a:hover{color:#b59b73}

/* v3.2 final QA: all four hero scroll links land below the header */
#axis-content, .service-detail[id] { scroll-margin-top: 95px; }
@media (max-width:680px) { #axis-content, .service-detail[id] { scroll-margin-top: 88px; } }
