:root { --acne-ink:#243d3e; --acne-ink-soft:#536969; --acne-paper:#f5f0e8; --acne-milk:#fffdf9; --acne-clay:#bf7359; --acne-clay-dark:#984e3c; --acne-blue:#9bc4ca; --acne-sage:#c8d2b2; --acne-line:rgb(36 61 62 / 16%); }
* { box-sizing:border-box; }
body.acne-public { min-width:320px; min-height:100vh; margin:0; background:var(--acne-paper); color:var(--acne-ink); font-family:"Manrope",sans-serif; }
.acne-landing { display:grid; grid-template-rows:auto 1fr auto; min-height:100vh; overflow:hidden; }
.acne-landing__nav,.acne-hero,.acne-landing__footer { width:min(100% - 2rem,1240px); margin:0 auto; }
.acne-landing__nav { display:flex; align-items:center; justify-content:space-between; min-height:92px; border-bottom:1px solid var(--acne-line); }
.acne-landing__brand img { display:block; width:142px; height:auto; }
.acne-landing__login,.acne-button--text { color:var(--acne-ink); font-size:.82rem; font-weight:700; letter-spacing:.02em; text-decoration:none; }
.acne-landing__login span { margin-left:.4rem; color:var(--acne-clay); }.acne-landing__login:hover,.acne-landing__login:focus-visible { color:var(--acne-clay-dark); }
.acne-hero { display:grid; align-items:center; grid-template-columns:minmax(0,.95fr) minmax(330px,1.05fr); gap:clamp(2.5rem,8vw,8rem); padding:clamp(3.5rem,8vw,7.5rem) 0 clamp(2rem,5vw,4rem); }
.acne-hero__copy { position:relative; z-index:1; max-width:580px; }.acne-hero__eyebrow { margin:0 0 1.4rem; color:var(--acne-clay-dark); font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.acne-hero h1 { max-width:650px; margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(3.55rem,6.1vw,6.45rem); font-weight:500; letter-spacing:-.06em; line-height:.87; }.acne-hero h1 em { color:var(--acne-clay); font-weight:600; }
.acne-hero__lead { max-width:470px; margin:clamp(1.7rem,3vw,2.5rem) 0 0; color:var(--acne-ink-soft); font-size:clamp(.98rem,1.3vw,1.12rem); line-height:1.7; }
.acne-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem 1.6rem; margin-top:2.35rem; }.acne-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; text-decoration:none; }
.acne-button--primary { gap:2rem; padding:0 1.4rem 0 1.55rem; background:var(--acne-ink); color:var(--acne-milk); font-size:.82rem; font-weight:700; letter-spacing:.02em; transition:background-color 180ms ease,transform 180ms ease; }.acne-button--primary span { color:var(--acne-sage); font-size:1.25rem; }.acne-button--primary:hover,.acne-button--primary:focus-visible { background:var(--acne-clay-dark); color:var(--acne-milk); transform:translateY(-2px); }
.acne-button--text { border-bottom:1px solid currentColor; min-height:0; padding:.3rem 0; }.acne-button--text:hover,.acne-button--text:focus-visible { color:var(--acne-clay-dark); }.acne-hero__note { margin:1.55rem 0 0; color:var(--acne-ink-soft); font-size:.72rem; }
.acne-hero__art { position:relative; width:min(100%,550px); aspect-ratio:1 / 1.04; justify-self:end; }.acne-hero__sun { position:absolute; inset:8% 2% auto auto; width:75%; aspect-ratio:1; border-radius:50%; background:var(--acne-sage); }.acne-hero__arch { position:absolute; inset:16% auto auto 5%; width:68%; aspect-ratio:1 / 1.34; border:clamp(22px,4vw,42px) solid var(--acne-blue); border-bottom:0; border-radius:999px 999px 0 0; transform:rotate(-8deg); }.acne-hero__orb { position:absolute; border-radius:50%; }.acne-hero__orb--blue { right:4%; bottom:12%; width:30%; aspect-ratio:1; background:var(--acne-blue); }.acne-hero__orb--clay { top:12%; left:2%; width:17%; aspect-ratio:1; background:var(--acne-clay); }.acne-hero__line { position:absolute; right:20%; bottom:5%; width:46%; border-top:1px solid var(--acne-ink); transform:rotate(-27deg); transform-origin:right center; }
.acne-hero__card { position:absolute; right:8%; bottom:19%; display:grid; gap:.6rem; min-width:177px; padding:1.25rem 1.35rem 1.4rem; background:var(--acne-milk); box-shadow:12px 14px 0 rgb(36 61 62 / 8%); transform:rotate(6deg); }.acne-hero__card span { color:var(--acne-clay-dark); font-size:.61rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.acne-hero__card strong { font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; font-weight:600; letter-spacing:-.04em; line-height:.82; }
.acne-landing__footer { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 0 1.5rem; border-top:1px solid var(--acne-line); color:var(--acne-ink-soft); font-size:.68rem; }.acne-landing__footer p { margin:0; } a:focus-visible { outline:3px solid var(--acne-clay); outline-offset:4px; }
@media (max-width:760px) { .acne-landing__nav,.acne-hero,.acne-landing__footer { width:min(100% - 2.5rem,560px); }.acne-landing__nav { min-height:76px; }.acne-landing__brand img { width:120px; }.acne-landing__login { font-size:.72rem; }.acne-hero { grid-template-columns:1fr; gap:2.4rem; padding-top:3.5rem; }.acne-hero h1 { max-width:470px; font-size:clamp(3.65rem,16vw,5.2rem); }.acne-hero__art { width:min(100%,410px); justify-self:center; }.acne-landing__footer { flex-direction:column; padding-top:1rem; } }
@media (prefers-reduced-motion:reduce) { .acne-button--primary { transition:none; } }

.acne-auth { min-height:100vh; padding-bottom:clamp(2rem,6vw,5rem); }
.acne-auth__nav { display:flex; align-items:center; justify-content:space-between; width:min(100% - 2rem,1240px); min-height:92px; margin:0 auto; border-bottom:1px solid var(--acne-line); }
.acne-auth__back { display:inline-flex; align-items:center; gap:.55rem; min-height:44px; color:var(--acne-ink); font-size:.78rem; font-weight:700; text-decoration:none; }.acne-auth__back span { color:var(--acne-clay); font-size:1.2rem; transition:transform 180ms ease; }.acne-auth__back:hover span,.acne-auth__back:focus-visible span { transform:translateX(-3px); }
.acne-auth__layout { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1fr); gap:clamp(2.5rem,8vw,9rem); width:min(100% - 2rem,1040px); margin:0 auto; padding:clamp(3rem,7vw,6rem) 0; }
.acne-auth__aside { position:relative; align-self:start; padding-top:clamp(.5rem,3vw,2.5rem); }.acne-auth__aside h1 { max-width:390px; margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(3.15rem,5vw,4.8rem); font-weight:500; letter-spacing:-.055em; line-height:.88; }.acne-auth__aside > p:not(.acne-hero__eyebrow) { max-width:360px; margin:1.75rem 0 0; color:var(--acne-ink-soft); font-size:.95rem; line-height:1.7; }
.acne-auth__aside-art { position:relative; width:190px; height:150px; margin:3.4rem 0 0 2rem; }.acne-auth__aside-art span { position:absolute; top:0; left:0; width:122px; aspect-ratio:1; border:19px solid var(--acne-blue); border-radius:50%; }.acne-auth__aside-art i { position:absolute; right:0; bottom:0; width:95px; aspect-ratio:1; border-radius:50% 50% 0; background:var(--acne-clay); transform:rotate(31deg); }
.acne-auth__panel { max-width:590px; padding:clamp(1.7rem,4vw,3.25rem); background:var(--acne-milk); box-shadow:16px 18px 0 rgb(36 61 62 / 8%); }.acne-auth__kicker { margin:0 0 1rem; color:var(--acne-clay-dark); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.acne-auth__panel h2 { margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.9rem,5vw,4.2rem); font-weight:500; letter-spacing:-.055em; line-height:.88; }.acne-auth__intro { max-width:410px; margin:1.15rem 0 0; color:var(--acne-ink-soft); font-size:.88rem; line-height:1.65; }
.acne-auth__notice,.acne-auth__alert { margin:1.5rem 0 0; padding:.85rem 1rem; font-size:.8rem; line-height:1.55; }.acne-auth__notice { border-left:3px solid var(--acne-sage); background:color-mix(in srgb,var(--acne-sage) 25%,var(--acne-milk)); }.acne-auth__alert { border-left:3px solid var(--acne-clay); background:color-mix(in srgb,var(--acne-clay) 12%,var(--acne-milk)); color:var(--acne-clay-dark); }
.acne-auth__form { display:grid; gap:1.2rem; margin-top:2rem; }.acne-auth__fieldset { display:grid; gap:1.2rem; min-width:0; margin:0; padding:1.45rem 0 0; border:0; border-top:1px solid var(--acne-line); }.acne-auth__fieldset:first-of-type { padding-top:0; border-top:0; }.acne-auth__fieldset legend { padding:0; margin-bottom:.15rem; color:var(--acne-ink); font-size:.74rem; font-weight:700; letter-spacing:.06em; }.acne-field { display:grid; gap:.48rem; color:var(--acne-ink); font-size:.76rem; font-weight:700; letter-spacing:.01em; }.acne-field input,.acne-field select { width:100%; min-height:48px; padding:.7rem .8rem; border:1px solid var(--acne-line); border-radius:0; background:var(--acne-paper); color:var(--acne-ink); font:500 .92rem "Manrope",sans-serif; outline:none; transition:border-color 160ms ease,box-shadow 160ms ease; }.acne-field input:focus,.acne-field select:focus { border-color:var(--acne-clay-dark); box-shadow:0 0 0 3px rgb(191 115 89 / 18%); }.acne-field small { color:var(--acne-clay-dark); font-size:.69rem; font-weight:600; line-height:1.4; }.acne-auth__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.acne-button--submit { width:100%; border:0; cursor:pointer; font-family:"Manrope",sans-serif; }.acne-auth__switch { margin:1.5rem 0 0; color:var(--acne-ink-soft); font-size:.78rem; }.acne-auth__switch a { color:var(--acne-ink); font-weight:700; text-decoration-color:var(--acne-clay); text-underline-offset:4px; }.acne-auth__switch a:hover,.acne-auth__switch a:focus-visible { color:var(--acne-clay-dark); }
.acne-auth__steps { display:flex; flex-wrap:wrap; gap:.45rem 1rem; margin:1.25rem 0 0; color:var(--acne-ink-soft); font-size:.7rem; }.acne-auth__steps span:first-child { color:var(--acne-clay-dark); font-weight:700; }
.acne-password-guidance { margin-top:-.55rem; }.acne-password-rules { color:var(--acne-ink-soft)!important; font-weight:500!important; }.acne-password-rules p { margin:0; }.acne-password-rules ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.22rem 1rem; margin:.15rem 0 0; padding:0; list-style:none; }.acne-password-rules li { display:flex; align-items:center; gap:.42rem; }.acne-password-rules li::before { content:"×"; color:var(--acne-ink-soft); font-size:.9rem; font-weight:700; }.acne-password-rules li.is-valid { color:#477663; }.acne-password-rules li.is-valid::before { content:"✓"; color:#477663; }
.acne-auth--register .acne-auth__layout { grid-template-columns:minmax(0,640px); justify-content:center; padding-top:clamp(2.5rem,5vw,4.5rem); }.acne-auth--register .acne-auth__aside { display:none; }.acne-auth--register .acne-auth__panel { width:100%; max-width:none; }
.acne-auth__fieldset[hidden],.acne-field[hidden] { display:none!important; }
.acne-field small { min-height:1.4em; color:var(--acne-clay-dark); font-size:.69rem; font-weight:600; line-height:1.4; }
.acne-auth__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:1rem; }
@media (max-width:760px) { .acne-auth__nav,.acne-auth__layout { width:min(100% - 2.5rem,560px); }.acne-auth__nav { min-height:76px; }.acne-auth__layout { grid-template-columns:1fr; gap:2.6rem; padding-top:3.2rem; }.acne-auth__aside { padding-top:0; }.acne-auth__aside h1 { max-width:450px; font-size:clamp(3.15rem,14vw,4.7rem); }.acne-auth__aside-art { display:none; }.acne-auth__panel { padding:1.55rem; box-shadow:9px 11px 0 rgb(36 61 62 / 8%); }.acne-auth__grid { grid-template-columns:1fr; gap:1.2rem; } }
