
:root{--ink:#101820;--muted:#64707c;--paper:#f7f8fa;--brand:#f0a500;--brand2:#112f49;--line:#dfe4e8;--white:#fff}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.container{width:min(1160px,92vw);margin:auto}.topbar{background:var(--brand2);color:#fff;font-size:.9rem}.topbar .container{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;flex-wrap:wrap}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}.logo{display:flex;align-items:center;gap:.75rem;font-weight:800}.logo img{width:54px;height:54px;object-fit:contain}
nav{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}nav a,.dropbtn{padding:.6rem .75rem;border-radius:10px;font-weight:650;font-size:.82rem}nav a:hover,.dropbtn:hover{background:var(--paper)}
.dropdown{position:relative}.dropdown-content{display:none;position:absolute;right:0;top:100%;width:290px;max-height:70vh;overflow:auto;padding:.5rem;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px #0002;border-radius:14px}.dropdown:hover .dropdown-content{display:block}.dropdown-content a{display:block}.dropbtn{cursor:pointer}
.nav-toggle{display:none;width:42px;height:42px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;background:#fff;position:relative;cursor:pointer;padding:0}
.nav-toggle span{position:absolute;left:10px;right:10px;top:20px;height:2px;background:var(--ink);border-radius:2px;transition:opacity .2s ease}
.nav-toggle::before,.nav-toggle::after{content:'';position:absolute;left:10px;right:10px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease}
.nav-toggle::before{top:14px}.nav-toggle::after{top:26px}
.nav-toggle[aria-expanded="true"] span{opacity:0}
.nav-toggle[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}
.hero{min-height:66vh;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(90deg,#07131dcc,#0d2738aa),url('https://static.wixstatic.com/media/11062b_6743da5900054f1f8e69f53302930a6af000.jpg/v1/fill/w_980,h_551,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/11062b_6743da5900054f1f8e69f53302930a6af000.jpg') center/cover}.hero-inner{padding:6rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#ffd46f}.hero h1{font-size:clamp(2.6rem,6vw,5.6rem);line-height:1.02;max-width:900px;margin:.5rem 0 1rem}.hero p{font-size:1.15rem;max-width:700px}
.btn{display:inline-block;background:var(--brand);color:#111;padding:.85rem 1.1rem;border-radius:12px;font-weight:800;margin:.35rem .35rem .35rem 0}.btn.alt{background:#fff;color:var(--brand2)}
section{padding:4.5rem 0}.section-head{max-width:760px;margin-bottom:2rem}.section-head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:.2rem 0}.section-head p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #1020300b}.card .body{padding:1.2rem}.card h3{margin:.1rem 0 .5rem}.card p{color:var(--muted)}.card img{width:100%;height:220px;object-fit:cover}
.band{background:var(--paper)}.pagehero{background:linear-gradient(135deg,var(--brand2),#23506f);color:#fff;padding:4.5rem 0}.pagehero h1{font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.05;margin:0 0 1rem}
.content{max-width:900px}.content h2{margin-top:2rem}.notice{border-left:4px solid var(--brand);background:#fff8e6;padding:1rem 1.2rem;border-radius:8px;margin:1.2rem 0}
form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.full{grid-column:1/-1}input,textarea,select{width:100%;padding:.85rem;border:1px solid #cfd7de;border-radius:10px;font:inherit}textarea{min-height:140px}button{border:0;cursor:pointer}
.video{aspect-ratio:16/9;background:#0f1c26;color:#fff;display:grid;place-items:center;border-radius:16px;text-align:center;padding:1rem}
footer{background:#0b1720;color:#dce5eb;padding:3rem 0 1.5rem}footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}footer small{display:block;border-top:1px solid #ffffff22;margin-top:2rem;padding-top:1rem;color:#9caeba}
.pills{display:flex;flex-wrap:wrap;gap:.55rem}.pill{padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;background:#fff}
@media(max-width:850px){.grid{grid-template-columns:1fr}.logo img{width:44px;height:44px}.logo span{font-size:.95rem}
.nav-toggle{display:inline-block}
header nav{position:absolute;left:4vw;right:4vw;top:calc(100% + 10px);display:none;flex-direction:column;align-items:stretch;gap:.15rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px #0002;padding:.6rem;max-height:calc(100vh - 120px);overflow:auto}
header nav.nav-open{display:flex}
header nav a{width:100%;padding:.8rem .9rem}
header nav .dropdown{width:100%}
header nav .dropbtn{display:block;width:100%;padding:.8rem .9rem}
header nav .dropdown-content{position:static;display:none;width:auto;box-shadow:none;border:none;padding:0 0 .3rem .9rem;max-height:none;background:transparent}
header nav .dropdown:hover .dropdown-content{display:none}
header nav .dropdown.open .dropdown-content{display:block}
.hero{min-height:58vh}form{grid-template-columns:1fr}.full{grid-column:1}footer .cols{grid-template-columns:1fr}}

/* Selected Work */
.work-hero{padding:5.3rem 0 4.7rem;background:radial-gradient(circle at 82% 18%,#f0a50033,transparent 28%),linear-gradient(135deg,#081823,#163e59)}
.work-hero p{max-width:770px;font-size:1.12rem;color:#e5edf2}.work-pills{margin-top:1.55rem}.work-pills .pill{background:#ffffff12;border-color:#ffffff2a;color:#fff}
.eyebrow.dark{color:#a46e00}.work-intro{padding:4rem 0}.work-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end}.work-intro h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;margin:.35rem 0 0}.work-intro p{color:var(--muted);font-size:1.05rem;margin:0}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.35rem}.portfolio-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 40px #10203010;transition:transform .2s ease,box-shadow .2s ease}.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 18px 46px #10203018}.portfolio-card.feature{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr}.portfolio-media{min-height:310px;background:#0d2535;overflow:hidden}.portfolio-media img{width:100%;height:100%;min-height:310px;object-fit:cover}.portfolio-media.image-crop{height:360px}.portfolio-media.image-crop img{object-position:center 32%}.portfolio-body{padding:1.55rem}.portfolio-card.feature .portfolio-body{padding:clamp(1.5rem,4vw,3.1rem);display:flex;flex-direction:column;justify-content:center}.portfolio-body h2,.portfolio-body h3{line-height:1.12;margin:.35rem 0 .65rem}.portfolio-body h2{font-size:clamp(2rem,4vw,3.2rem)}.portfolio-body h3{font-size:1.45rem}.portfolio-body p{color:var(--muted);margin:.4rem 0 1rem}.work-tag{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:850;color:#a46e00}.work-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1.2rem}.work-meta span{font-size:.84rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.35rem .65rem}.text-link{font-weight:800;color:var(--brand2)}.text-link:hover{color:#a46e00}.portfolio-callout{background:linear-gradient(145deg,#0b1c28,#19435e);color:#fff;display:flex;align-items:center}.portfolio-callout .portfolio-body{padding:2.2rem}.portfolio-callout p{color:#d7e2e9}.portfolio-callout .work-tag{color:#ffd46f}
.work-process{padding:5rem 0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.process-grid>div{padding:1.35rem;border-top:3px solid var(--brand);background:var(--paper);border-radius:0 0 16px 16px}.process-grid strong{color:#a46e00;font-size:.9rem}.process-grid h3{margin:.45rem 0}.process-grid p{color:var(--muted);margin:0;font-size:.94rem}
.work-cta{background:linear-gradient(135deg,#0a1b27,#174764);color:#fff;padding:4.5rem 0}.work-cta .container{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:center}.work-cta h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin:.45rem 0 .9rem}.work-cta p{color:#dbe6ec;max-width:760px}.work-cta .btn.alt{margin-left:.35rem}
@media(max-width:850px){.work-intro-grid,.work-cta .container{grid-template-columns:1fr;gap:1.5rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-card.feature{grid-column:auto;display:block}.process-grid{grid-template-columns:1fr 1fr}.portfolio-media.image-crop{height:300px}}
@media(max-width:540px){.process-grid{grid-template-columns:1fr}.work-cta .btn.alt{margin-left:0}.portfolio-media,.portfolio-media img{min-height:250px}}


/* Lauxon AI Assistant */
.ai-chat-launcher{position:fixed;right:22px;bottom:22px;z-index:70;width:58px;height:58px;border-radius:50%;background:var(--brand);color:#111;box-shadow:0 14px 38px #0003;font-weight:900;font-size:1.3rem;display:grid;place-items:center;transition:transform .2s ease}
.ai-chat-launcher:hover{transform:translateY(-2px)}
.ai-chat-panel{position:fixed;right:22px;bottom:92px;z-index:69;width:min(390px,calc(100vw - 28px));height:min(570px,72vh);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 65px #07131d42;display:none;overflow:hidden}
.ai-chat-panel.open{display:grid;grid-template-rows:auto 1fr auto}
.ai-chat-head{background:linear-gradient(135deg,var(--brand2),#23506f);color:#fff;padding:1rem 1.05rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ai-chat-head strong{display:block}.ai-chat-head small{color:#d9e7ef}.ai-chat-close{background:#ffffff18;color:#fff;border-radius:10px;padding:.45rem .65rem;font-size:1rem}
.ai-chat-messages{padding:1rem;overflow:auto;background:#f7f8fa;display:flex;flex-direction:column;gap:.75rem}
.ai-msg{max-width:86%;padding:.75rem .9rem;border-radius:14px;white-space:pre-wrap;font-size:.94rem;line-height:1.45}
.ai-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.ai-msg.user{align-self:flex-end;background:var(--brand2);color:#fff;border-bottom-right-radius:5px}.ai-msg.status{font-size:.82rem;color:var(--muted);background:transparent;padding:.2rem .1rem}
.ai-chat-compose{padding:.8rem;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:.55rem}.ai-chat-compose textarea{min-height:48px;max-height:110px;resize:none;padding:.7rem .8rem}.ai-chat-send{background:var(--brand);color:#111;border-radius:11px;padding:0 1rem;font-weight:850}.ai-chat-note{grid-column:1/-1;font-size:.72rem;color:var(--muted);margin:0}
@media(max-width:540px){.ai-chat-launcher{right:14px;bottom:14px}.ai-chat-panel{right:14px;bottom:82px;height:min(610px,75vh)}}


/* Member access and portal */
.member-shell{padding:4.5rem 0;background:linear-gradient(180deg,#f7f8fa,#fff)}
.member-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start}
.member-intro{padding:1.4rem 0}.member-intro h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;margin:.3rem 0 1rem}.member-intro p{color:var(--muted);max-width:600px}.member-benefits{display:grid;gap:.8rem;margin:1.5rem 0}.member-benefit{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:14px}.member-benefit b{display:block}.member-benefit span{color:var(--muted);font-size:.92rem}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 52px #10203012;overflow:hidden}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.auth-tab{padding:1rem;background:#f7f8fa;font-weight:850;color:var(--muted)}.auth-tab.active{background:#fff;color:var(--brand2);box-shadow:inset 0 -3px var(--brand)}.auth-pane{display:none;padding:1.5rem}.auth-pane.active{display:block}.auth-pane form{grid-template-columns:1fr}.auth-pane label{font-weight:750;font-size:.9rem}.auth-pane .btn{width:100%;margin:.3rem 0 0}.auth-note{font-size:.82rem;color:var(--muted);margin:.85rem 0 0}.auth-status{display:none;margin:0 0 1rem;padding:.8rem 1rem;border-radius:10px;font-size:.9rem}.auth-status.show{display:block}.auth-status.error{background:#fff0f0;color:#8a2424;border:1px solid #f1caca}.auth-status.success{background:#eef9f0;color:#256333;border:1px solid #cce8d1}
.portal-shell{padding:4rem 0;background:#f7f8fa;min-height:54vh}.portal-grid{display:grid;grid-template-columns:260px 1fr;gap:1.4rem}.portal-side,.portal-main{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px #1020300a}.portal-side{padding:1.2rem}.portal-side h3{margin:.2rem 0}.portal-side p{color:var(--muted);font-size:.9rem}.portal-menu{display:grid;gap:.4rem;margin:1.2rem 0}.portal-menu a{padding:.7rem .8rem;border-radius:10px;font-weight:750}.portal-menu a.active,.portal-menu a:hover{background:var(--paper);color:var(--brand2)}.portal-main{padding:1.6rem}.portal-main h2{margin-top:0}.portal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.portal-card{padding:1.15rem;border:1px solid var(--line);border-radius:14px;background:#fff}.portal-card h3{margin:.1rem 0 .45rem}.portal-card p{color:var(--muted);font-size:.92rem}.portal-locked{padding:2rem;text-align:center}.member-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .65rem;border-radius:999px;background:#fff8e6;color:#7b5700;font-size:.8rem;font-weight:800}
@media(max-width:850px){.member-layout,.portal-grid{grid-template-columns:1fr}.portal-cards{grid-template-columns:1fr}.portal-side{order:2}}

/* Social media */
.social-links{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 .3rem}.social-links a{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .7rem;border:1px solid #ffffff2b;border-radius:999px;color:#fff;font-size:.84rem;font-weight:750;transition:background .2s ease,border-color .2s ease,transform .2s ease}.social-links a:hover{background:#ffffff12;border-color:#ffffff55;transform:translateY(-1px)}.social-links svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}@media(max-width:540px){.social-links span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.social-links a{width:42px;height:42px;padding:0;justify-content:center}}
