/* Aether Sites — Blackstar's layered showcase, in the studio's lime palette. */
:root{--ease:cubic-bezier(.2,.75,.2,1);--line:#ffffff1c}
body{background:radial-gradient(ellipse at 92% 7%,#466b1612,transparent 35%),#101110}
[hidden]{display:none!important}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
button{cursor:pointer}
section[id]{scroll-margin-top:28px}
.brand{gap:10px;letter-spacing:0}
.brand .ae-mark{display:block;width:38px;height:38px;object-fit:contain}
.brand-name{font-size:13px;font-weight:800;letter-spacing:.19em;line-height:1.4;white-space:nowrap}
.brand-name>span{color:var(--accent)}
.topbar{height:88px}
.topbar .nav-contact{border-radius:999px;border-color:#c9fd6150;background:#c9fd6108}
.hero h1 em{background:linear-gradient(115deg,#e4ffac,#c9fd61 45%,#8fc840);background-clip:text;-webkit-text-fill-color:transparent}
.hero-bottom p{max-width:560px}
.work{padding-bottom:80px}
.work .section-head{margin-bottom:32px}
.project-carousel{position:relative;isolation:isolate}
.project-carousel::before{content:"";position:absolute;inset:15% 0 15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 55%,#adfa4326,transparent 50%),radial-gradient(ellipse at 75% 50%,#3bc7a421,transparent 55%);filter:blur(45px)}
.showcase-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 12px}
.showcase-caption{font-size:12px;color:var(--muted)}
.view-toggle{color:var(--ink);background:#ffffff05;border:1px solid #ffffff28;border-radius:999px;padding:12px 18px;font-size:12px;min-height:44px}
.view-toggle:hover,.view-toggle[aria-pressed=true]{color:var(--accent);border-color:#c9fd6155}
.projects{gap:28px}
.project{--card-accent:#d7e9ab;--card-tint:#91be6425;grid-column:auto;margin:0;border:1px solid transparent;border-radius:24px;background:linear-gradient(145deg,#20251ef7,#111611fc 75%) padding-box,linear-gradient(145deg,var(--card-tint),#ffffff12 45%,#c9fd6130) border-box;box-shadow:0 22px 60px #0005;overflow:hidden;transition:box-shadow .35s,border-color .35s}
.project:hover,.project:focus-within{box-shadow:0 28px 65px #0008,0 0 45px var(--card-tint);border-color:var(--card-tint)}
.project-ember{--card-accent:#ffb48e;--card-tint:#ed703c30}
.project-harbor{--card-accent:#d8e6d4;--card-tint:#b8d5cb30}
.project-gary{--card-accent:#a1ecdb;--card-tint:#65d1bf30}
.project-mach,.project-barbers{--card-accent:#91e8f6;--card-tint:#65cadb30}
.project-waterbury{--card-accent:#96e2d3;--card-tint:#57c6b330}
.project-empanadas{--card-accent:#ffd68e;--card-tint:#e7ae4930}
.project-browser{display:flex;align-items:center;justify-content:space-between;gap:12px;height:36px;padding:0 18px;border-bottom:1px solid #ffffff12;font:9px 'DM Mono',monospace;letter-spacing:.04em;color:#adb8a7;background:#0c100cd9}
.browser-lights{display:flex;gap:5px}
.browser-lights i{width:5px;height:5px;border-radius:50%;background:#6c7863}
.browser-lights i:first-child{background:var(--card-accent)}
.project .project-visual{aspect-ratio:1.75;border:0;border-bottom:1px solid #ffffff12;container-type:inline-size}
.project-visual img{display:block;filter:brightness(.75) saturate(.95)}
.project-visual::after{background:linear-gradient(0deg,#0007,transparent 55%)}
.project .project-info{display:block;padding:24px 26px 18px}
.project .project-type{color:var(--card-accent);font-size:9px;line-height:1.6;letter-spacing:.065em}
.project .project-info h3{font-size:clamp(27px,2.6vw,38px);line-height:1.12;letter-spacing:-.045em;margin:10px 0 12px}
.project .project-info p{font-size:14px;line-height:1.65;max-width:none;color:#bec5b9}
.project-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:22px}
.project-actions a{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;min-height:44px}
.project-actions .style-cta{padding:11px 15px;border:1px solid #c9fd6135;border-radius:999px;color:var(--accent);background:#c9fd6108}
.project .project-note{font-family:Archivo,Arial,sans-serif;text-transform:none;letter-spacing:0;font-size:11px;line-height:1.6;padding:16px 26px 20px;margin:0;border-color:#ffffff10;color:#9da697}
.project-open{width:40px;height:40px;right:18px;bottom:18px;border-radius:50%;background:#f1f5e9;box-shadow:0 6px 24px #0004;font-size:23px}
.project .preview-wordmark{font-size:17cqw}
.project-mach .preview-wordmark{font-size:8.7cqw;letter-spacing:-.05em}
.project .ember-title{font-size:18cqw}
.project .harbor-title{font-size:17cqw;top:30%}
.project .gary-title{font-size:17cqw;top:29%;left:8%}
.project .barbers-title{font-size:20cqw}
.project .waterbury-title{font-size:12.5cqw;top:34%}
.project .empanadas-title{font-size:14cqw}
.project .gary-kicker,.project .barbers-kicker,.project .empanadas-kicker,.project .waterbury-kicker,.project .ember-kicker,.project .harbor-kicker{font-size:2cqw;left:8%}
.project .barbers-caption{font-size:4cqw}
.project .harbor-caption,.project .ember-caption{font-size:1.8cqw}
.carousel-ready:not(.is-grid) .projects{position:relative;display:block;perspective:1500px;touch-action:pan-y;height:690px;overflow:clip;isolation:isolate}
.carousel-ready:not(.is-grid) .projects::after{content:"";position:absolute;pointer-events:none;inset:auto 8% 0;height:110px;background:radial-gradient(ellipse,#bdfe5330,transparent 68%);filter:blur(22px)}
.carousel-ready:not(.is-grid) .project{position:absolute;left:50%;top:25px;width:58%;max-width:700px;transform-origin:center;backface-visibility:hidden;transition:transform .72s var(--ease),opacity .55s var(--ease),box-shadow .35s;z-index:0;opacity:0;visibility:hidden;transform:translateX(-50%) translateZ(-260px) scale(.8)}
.carousel-ready:not(.is-grid) .project[data-position=current]{z-index:3;opacity:1;visibility:visible;transform:translateX(-50%);box-shadow:0 30px 70px #0009,0 0 65px var(--card-tint)}
.carousel-ready:not(.is-grid) .project[data-position=previous]{z-index:1;opacity:.45;visibility:visible;transform:translateX(-118%) translateY(20px) translateZ(-160px) rotateY(25deg) scale(.86)}
.carousel-ready:not(.is-grid) .project[data-position=next]{z-index:2;opacity:.45;visibility:visible;transform:translateX(18%) translateY(20px) translateZ(-160px) rotateY(-25deg) scale(.86)}
.carousel-ready:not(.is-grid) .project:not([data-position=current]){cursor:pointer}
.carousel-ready:not(.is-grid) .project:not([data-position=current]):hover{opacity:.7}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:24px;position:relative;z-index:4;margin:2px 0 20px}
.carousel-controls p{margin:0;min-width:200px;text-align:center;font-size:12px;color:#cad5bf}
.carousel-arrow{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid #c9fd6140;border-radius:50%;background:linear-gradient(140deg,#c9fd6112,#ffffff03);color:var(--accent);font-size:22px}
.carousel-arrow:hover{background:#c9fd6120;border-color:#c9fd6180}
.carousel-choices{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;max-width:850px;margin:auto}
.carousel-choices button{min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:#a8b29e;font-size:11px}
.carousel-choices button:hover{color:var(--ink)}
.carousel-choices button[aria-pressed=true]{background:#c9fd6112;border-color:#c9fd6133;color:var(--accent)}
.carousel-hint{text-align:center;color:#929c89;font-size:11px;margin:14px 0 0}
.style-invitation{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:55px;padding:32px 36px;border:1px solid #c9fd612b;border-radius:22px;background:radial-gradient(ellipse at 85% 110%,#8dbd3722,transparent 65%),linear-gradient(120deg,#21281b,#151a12)}
.style-invitation h3{font-size:clamp(24px,3vw,35px);letter-spacing:-.045em;margin-bottom:9px}
.style-invitation p{font-size:14px;color:#b7c1ad;line-height:1.6;margin:0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:16px 22px;min-height:50px;font-size:13px;font-weight:700;border:1px solid transparent;border-radius:999px}
.button-green{background:linear-gradient(120deg,#daff92,#b9ee54);color:#18220c;box-shadow:0 4px 20px #9bdd3010}
.button-green:hover{background:#ddffa0;box-shadow:0 5px 30px #b5ec5326}
.button:disabled{opacity:.65;cursor:wait}
.process{padding:80px 0 100px;border-top:1px solid var(--line)}
.process h2 em,.contact h2 em{font-style:normal;color:var(--accent)}
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:55px 0 0;position:relative}
.journey::before,.journey::after{content:"";position:absolute;left:34px;right:calc(25% - 34px);top:34px;height:1px;background:#c9fd6126;pointer-events:none}
.journey::after{background:linear-gradient(90deg,#c9fd61,#71d5b7);transform:scaleX(0);transform-origin:left}
.journey-step{position:relative}
.journey-icon{position:relative;display:grid;place-items:center;width:68px;height:68px;margin-bottom:25px;border:1px solid #c9fd6136;border-radius:20px;background:linear-gradient(140deg,#283020,#151a12);color:var(--accent);z-index:1}
.journey-icon>svg{width:32px;height:32px}
.step-number{position:absolute;right:-8px;bottom:-7px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #596942;border-radius:50%;background:#182011;font:9px 'DM Mono',monospace}
.journey h3{font-size:20px;letter-spacing:-.025em;margin-bottom:12px}
.journey p{font-size:14px;line-height:1.7;color:#aeb9a5;max-width:260px;margin:0}
.journey-playing::after{animation:journey-line 2.6s var(--ease) forwards}
.journey-playing .journey-icon{animation:journey-light .9s calc(var(--step)*.55s) ease both}
@keyframes journey-line{to{transform:scaleX(1)}}
@keyframes journey-light{0%{box-shadow:0 0 0 #c9fd6100;transform:translateY(0)}45%{box-shadow:0 0 30px #c9fd6140;transform:translateY(-5px)}100%{box-shadow:0 0 18px #c9fd6110;transform:translateY(0)}}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);padding:85px 0 110px;border-top:1px solid var(--line);align-items:start}
.contact h2{font-size:clamp(43px,5.3vw,78px);line-height:1;letter-spacing:-.065em;margin:25px 0}
.contact-copy>p{font-size:17px;line-height:1.7;color:#b7c1ad;max-width:430px}
.contact-email{display:inline-block;font-size:14px;border-bottom:1px solid #c9fd6140;padding:12px 0;overflow-wrap:anywhere}
.contact-email:hover{color:var(--accent)}
.contact-signature{display:flex;align-items:center;gap:10px;font-size:12px;color:#8f9b84;margin-top:50px}
.contact-signature a{color:#c4cfba}
.contact-form{position:relative;padding:30px;border:1px solid #c9fd612a;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#67883014,transparent 50%),linear-gradient(145deg,#1c2318,#13180f);box-shadow:0 24px 70px #0003;min-width:0}
.form-topline{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px;font-size:14px;font-weight:600}
.form-topline>span:last-child{color:var(--accent)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{margin-bottom:20px;min-width:0}
.form-field label{display:block;font-size:12px;margin-bottom:9px}
.form-field label span{font-size:10px;color:#9ca890}
.form-field input,.form-field textarea,.form-field select{display:block;width:100%;border:1px solid #c2d4ae30;border-radius:10px;padding:13px 14px;background:#0d130be6;color:#edf2e6;font:16px Archivo,Arial,sans-serif;line-height:1.5}
.form-field input::placeholder,.form-field textarea::placeholder{color:#86947b;font-size:14px}
.form-field select{appearance:auto}
.form-field textarea{resize:vertical;min-height:120px;max-height:440px}
.form-field small{display:block;color:#94a286;font-size:11px;margin-top:8px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-form>.button{width:100%;border-radius:12px}
.form-privacy{font-size:11px;line-height:1.7;color:#96a58a;margin:15px 0 0}
.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.contact-status{font-size:14px;line-height:1.65;margin:18px 0 0;color:var(--accent)}
.contact-status:empty{display:none}
.contact-status[data-state=error]{color:#ffd0a8}
footer .brand-name{font-size:12px}
@media(max-width:1000px){.carousel-ready:not(.is-grid) .project{width:70%}.contact{gap:35px}.contact-form{padding:24px}.journey{gap:20px}}
@media(max-width:700px){
.brand-name{font-size:11px;letter-spacing:.13em}.brand .ae-mark{width:32px;height:32px}.topbar nav{font-size:10px}.topbar .nav-contact{padding:12px 15px}
.showcase-caption{max-width:170px;line-height:1.6;font-size:11px}.view-toggle{font-size:11px;padding:11px 13px;flex:none}
.carousel-ready:not(.is-grid) .project{width:89%;top:18px}
.carousel-ready:not(.is-grid) .project[data-position=previous]{transform:translateX(-130%) translateZ(-170px) rotateY(20deg) scale(.86)}
.carousel-ready:not(.is-grid) .project[data-position=next]{transform:translateX(30%) translateZ(-170px) rotateY(-20deg) scale(.86)}
.project .project-info{padding:20px 20px 14px}.project .project-info h3{font-size:29px}.project .project-info p{font-size:13px}
.project .project-note{padding:14px 20px 18px;font-size:10px}.project .project-visual{aspect-ratio:1.5}
.project-browser{font-size:8px;padding-inline:13px}.project .project-type{font-size:8px}.project-actions{gap:8px 15px;margin-top:16px}.project-actions a{font-size:11px}
.carousel-controls{gap:12px}.carousel-controls p{min-width:175px;font-size:11px}.carousel-arrow{width:44px;height:44px}
.carousel-choices{gap:3px}.carousel-choices button{padding:9px 11px;font-size:10px}
.style-invitation{align-items:flex-start;flex-direction:column;padding:26px;margin-top:36px}
.process{padding:65px 0 75px}.journey{grid-template-columns:1fr;gap:30px;margin-top:35px}
.journey-step{padding-left:92px;min-height:90px}.journey-icon{position:absolute;left:0;top:0;margin:0}.journey p{max-width:none}.journey h3{padding-top:4px}
.journey::before,.journey::after{left:34px;top:34px;right:auto;bottom:55px;width:1px;height:auto}.journey::after{transform:scaleY(0);transform-origin:top}
.journey-playing::after{animation-name:journey-line-mobile}
.contact{grid-template-columns:1fr;padding:65px 0 75px}.contact-copy>p{font-size:16px}.contact-signature{margin-top:22px}
.contact-form{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}
}
@keyframes journey-line-mobile{to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.journey::after{transform:none}.journey-playing::after,.journey-playing .journey-icon{animation:none}.carousel-ready:not(.is-grid) .project[data-position=previous],.carousel-ready:not(.is-grid) .project[data-position=next]{visibility:hidden}.project-carousel::before{filter:none;opacity:.5}}
@media print{.showcase-toolbar,.carousel-controls,.carousel-choices,.carousel-hint,.contact-form{display:none!important}.carousel-ready:not(.is-grid) .projects{display:grid;height:auto!important;overflow:visible}.carousel-ready:not(.is-grid) .project{position:static;width:auto;max-width:none;transform:none!important;visibility:visible!important;opacity:1!important;break-inside:avoid}.project-carousel::before,.projects::after{display:none!important}}

/* Weathershield joins the shared carousel without changing its geometry. */
.project-weathershield{--card-accent:#e9c09f;--card-tint:#cc936f30}
.project .weathershield-title{font-size:16cqw;top:30%;left:8%}
.project .weathershield-kicker{font-size:2cqw;left:8%;top:12%}
