:root{--color-bg:#f7f3ee;--color-bg-alt:#ffffff;--color-bg-soft:#f1ede7;--color-text:#222222;--color-text-muted:#6f6a63;--color-primary:#b88a4a;--color-primary-soft:rgba(184,138,74,0.1);--color-success:#2e7d4f;--color-warning:#d68a22;--color-danger:#c44545;--gray-50:#f8f8f8;--gray-100:#f1f1f1;--gray-200:#e2e2e2;--gray-300:#d0d0d0;--gray-400:#b0b0b0;--gray-500:#8a8a8a;--gray-600:#6b6b6b;--gray-700:#4f4f4f;--gray-800:#343434;--gray-900:#191919;--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-serif:"Playfair Display","Georgia",serif;--font-mono:"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-md:1.0625rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:2.75rem;--font-size-5xl:3.25rem;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.6;--line-height-relaxed:1.8;--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:28px;--space-9:32px;--space-10:40px;--space-11:48px;--space-12:56px;--space-13:64px;--space-14:80px;--space-15:96px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(15,23,42,0.04);--shadow-sm:0 2px 6px rgba(15,23,42,0.06);--shadow-md:0 10px 30px rgba(15,23,42,0.08);--shadow-lg:0 20px 45px rgba(15,23,42,0.12);--shadow-soft-elevated:0 25px 80px rgba(15,23,42,0.16);--shadow-focus:0 0 0 2px #ffffff,0 0 0 4px rgba(184,138,74,0.55);--transition-fast:120ms ease-out;--transition-base:200ms ease-out;--transition-slow:320ms ease-out;--max-width-container:1120px;--max-width-wide:1320px;--border-color-soft:rgba(0,0,0,0.06)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-font-smoothing:antialiased}
:root{--color-bg:#151827;--color-bg-alt:#20243a;--color-bg-soft:#292c46;--color-text:#f3f1ff;--color-text-muted:#b8b9d2;--color-primary:#46d6c7;--color-primary-soft:rgba(70,214,199,0.16);--color-secondary:#a78bfa;--color-accent:#ff7a90;--color-highlight:#f6bd60;--color-success:#5ee29a;--color-warning:#f6bd60;--color-danger:#ff7185;--gray-50:#292d46;--gray-100:#30344e;--gray-200:#414661;--gray-300:#5a607c;--gray-400:#7f849f;--gray-500:#9da1ba;--gray-600:#b8b9d2;--gray-700:#d0d1e2;--gray-800:#e2e2ef;--gray-900:#f3f1ff;--shadow-xs:0 1px 2px rgba(5,7,18,0.2);--shadow-sm:0 4px 12px rgba(5,7,18,0.25);--shadow-md:0 14px 36px rgba(5,7,18,0.32);--shadow-lg:0 24px 52px rgba(5,7,18,0.4);--shadow-soft-elevated:0 28px 80px rgba(5,7,18,0.48);--shadow-focus:0 0 0 2px #20243a,0 0 0 4px rgba(70,214,199,0.62);--border-color-soft:rgba(184,185,210,0.16)}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
ul[role="list"],ol[role="list"]{list-style:none;margin:0;padding:0}
body{min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);background:radial-gradient(circle at 12% 0,rgba(167,139,250,0.18),transparent 34%),radial-gradient(circle at 88% 12%,rgba(70,214,199,0.14),transparent 31%),linear-gradient(145deg,#151827,#1b1d32 52%,#21182f);color:var(--color-text);text-rendering:optimizeLegibility}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{border:none;background:none;padding:0;cursor:pointer}
a{text-decoration:none;color:inherit}
p{margin-bottom:var(--space-6);color:var(--color-text-muted)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;letter-spacing:0.01em;color:var(--color-text)}
h1{font-size:var(--font-size-4xl);line-height:var(--line-height-tight);margin-bottom:var(--space-6)}
h2{font-size:var(--font-size-3xl);line-height:var(--line-height-tight);margin-bottom:var(--space-5)}
h3{font-size:var(--font-size-2xl);line-height:var(--line-height-snug);margin-bottom:var(--space-4)}
h4{font-size:var(--font-size-xl);line-height:var(--line-height-snug);margin-bottom:var(--space-3)}
h5{font-size:var(--font-size-lg);line-height:var(--line-height-snug);margin-bottom:var(--space-2)}
h6{font-size:var(--font-size-base);line-height:var(--line-height-snug);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:0.08em;color:var(--gray-600)}
@media (min-width:768px){h1{font-size:var(--font-size-5xl)}
h2{font-size:var(--font-size-4xl)}
h3{font-size:var(--font-size-3xl)}
}
a:hover{color:var(--color-primary)}
main{display:block}
.container{width:100%;max-width:var(--max-width-container);margin:0 auto;padding-left:var(--space-5);padding-right:var(--space-5)}
.container-wide{width:100%;max-width:var(--max-width-wide);margin:0 auto;padding-left:var(--space-5);padding-right:var(--space-5)}
.section{padding-top:var(--space-10);padding-bottom:var(--space-10)}
@media (min-width:768px){.section{padding-top:var(--space-12);padding-bottom:var(--space-12)}
}
.flex{display:flex}
.inline-flex{display:inline-flex}
.flex-center{display:flex;align-items:center;justify-content:center}
.flex-between{display:flex;align-items:center;justify-content:space-between}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-3{gap:var(--space-3)}
.gap-4{gap:var(--space-4)}
.gap-5{gap:var(--space-5)}
.gap-6{gap:var(--space-6)}
.grid{display:grid}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
@media (max-width:767.98px){.grid-2,.grid-3{grid-template-columns:1fr}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0.7rem 1.5rem;border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:500;letter-spacing:0.06em;text-transform:uppercase;border:1px solid transparent;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-fast),transform var(--transition-fast);background:linear-gradient(135deg,var(--color-primary),#38a9d8);color:#101522;box-shadow:var(--shadow-sm)}
.btn:hover{background:linear-gradient(135deg,#6ee7d9,#61c4ed);border-color:#61c4ed;box-shadow:var(--shadow-md);transform:translateY(-1px)}
.btn:active{transform:translateY(0);box-shadow:var(--shadow-xs)}
.btn-secondary{background-color:var(--color-bg-alt);color:var(--color-text);border-color:var(--border-color-soft);box-shadow:var(--shadow-xs)}
.btn-secondary:hover{border-color:rgba(0,0,0,0.12);background-color:var(--gray-50)}
.btn-ghost{background-color:transparent;color:var(--color-text);border-color:transparent;box-shadow:none}
.btn-ghost:hover{background-color:var(--color-primary-soft);color:var(--color-primary)}
.btn-full{width:100%}
.btn[disabled],.btn:disabled{cursor:not-allowed;opacity:0.45;box-shadow:none;transform:none}
.btn-icon{padding-inline:0.9rem}
.form-control{width:100%;padding:0.7rem 0.9rem;border-radius:var(--radius-md);border:1px solid var(--border-color-soft);background-color:rgba(32,36,58,0.94);color:var(--color-text);transition:border-color var(--transition-base),box-shadow var(--transition-fast),background-color var(--transition-fast)}
.form-control::placeholder{color:var(--gray-400)}
.form-control:focus{outline:none;border-color:rgba(184,138,74,0.7);box-shadow:var(--shadow-focus);background-color:#ffffff}
.form-control[readonly]{background-color:var(--gray-100)}
textarea.form-control{min-height:140px;resize:vertical}
.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--gray-700)}
.form-field{margin-bottom:var(--space-5)}
.form-hint{font-size:var(--font-size-xs);color:var(--gray-500);margin-top:var(--space-2)}
.form-error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-2)}
.card{background-color:rgba(32,36,58,0.94);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);border:1px solid rgba(167,139,250,0.16);backdrop-filter:blur(10px)}
.card-ghost{background-color:rgba(41,44,70,0.76);box-shadow:var(--shadow-sm);border:1px solid rgba(70,214,199,0.12)}
.card-outline{background-color:transparent;border:1px solid var(--border-color-soft);box-shadow:none}
.card-header{margin-bottom:var(--space-4)}
.card-title{font-size:var(--font-size-xl);line-height:var(--line-height-snug);margin-bottom:var(--space-1)}
.card-meta{font-size:var(--font-size-sm);color:var(--gray-500)}
.badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:0.15rem 0.65rem;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.1em;border:1px solid rgba(0,0,0,0.05);background-color:rgba(255,255,255,0.9);color:var(--gray-600)}
.badge-primary{border-color:rgba(184,138,74,0.35);background-color:var(--color-primary-soft);color:var(--color-primary)}
.badge-soft{background-color:var(--gray-100);border-color:transparent}
.pill{border-radius:var(--radius-pill);padding:0.2rem 0.85rem;font-size:var(--font-size-xs);background-color:var(--gray-50);color:var(--gray-700)}
.shadow-soft{box-shadow:var(--shadow-soft-elevated)}
.shadow-none{box-shadow:none}
.rounded-sm{border-radius:var(--radius-sm)}
.rounded-md{border-radius:var(--radius-md)}
.rounded-lg{border-radius:var(--radius-lg)}
.rounded-xl{border-radius:var(--radius-xl)}
.rounded-pill{border-radius:var(--radius-pill)}
.bg-base{background-color:var(--color-bg)}
.bg-alt{background-color:var(--color-bg-alt)}
.bg-soft{background-color:var(--color-bg-soft)}
.bg-muted{background-color:var(--gray-100)}
.bg-primary-soft{background-color:var(--color-primary-soft)}
.text-muted{color:var(--color-text-muted)}
.text-center{text-align:center}
.text-right{text-align:right}
.text-sm{font-size:var(--font-size-sm)}
.text-xs{font-size:var(--font-size-xs)}
.text-lg{font-size:var(--font-size-lg)}
.fw-medium{font-weight:500}
.fw-semibold{font-weight:600}
.loft-section{background:radial-gradient(circle at top right,rgba(255,122,144,0.12),transparent 38%),linear-gradient(135deg,#1a1d30,#24213a)}
.loft-divider{height:1px;width:100%;background:linear-gradient(to right,rgba(0,0,0,0.04),rgba(0,0,0,0.08),rgba(0,0,0,0.04))}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.1fr)minmax(0,1fr);gap:var(--space-8);align-items:center}
@media (max-width:959.98px){.hero-layout{grid-template-columns:1fr;gap:var(--space-7)}
}
.hero-eyebrow{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.18em;color:var(--gray-600);margin-bottom:var(--space-3)}
.hero-subtitle{font-size:var(--font-size-md);color:var(--color-text-muted);max-width:36rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.hero-media{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-soft-elevated);background:linear-gradient(135deg,rgba(167,139,250,0.24),rgba(70,214,199,0.18));min-height:260px}
.hero-media-tag{position:absolute;left:var(--space-5);top:var(--space-5);backdrop-filter:blur(12px);background-color:rgba(32,36,58,0.88);padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.16em;color:var(--gray-700)}
.hero-media-floater{position:absolute;right:var(--space-5);bottom:var(--space-5);backdrop-filter:blur(18px);background-color:rgba(15,23,42,0.68);color:#ffffff;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-width:210px;font-size:var(--font-size-sm)}
.loft-pillars{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}
.loft-pillars-item{flex:1 1 160px;border-radius:var(--radius-lg);border:1px solid rgba(255,122,144,0.14);background:linear-gradient(145deg,rgba(41,44,70,0.94),rgba(32,36,58,0.94));padding:var(--space-4);box-shadow:var(--shadow-xs);font-size:var(--font-size-sm)}
.loft-pillars-item:nth-child(3n+1){border-top:2px solid var(--color-primary)}
.loft-pillars-item:nth-child(3n+2){border-top:2px solid var(--color-secondary)}
.loft-pillars-item:nth-child(3n){border-top:2px solid var(--color-accent)}
.loft-pillars-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.16em;color:var(--gray-600);margin-bottom:var(--space-1)}
.cookie-banner{position:fixed;z-index:40;left:50%;bottom:var(--space-5);transform:translateX(-50%);width:calc(100% - 2*var(--space-5));max-width:640px;border-radius:var(--radius-lg);background-color:rgba(32,36,58,0.98);box-shadow:var(--shadow-soft-elevated);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}
@media (min-width:640px){.cookie-banner{flex-direction:row;align-items:center;gap:var(--space-5)}
}
.cookie-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end}
.cookie-link{font-size:var(--font-size-xs);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;color:var(--gray-600)}
.cookie-link:hover{color:var(--color-primary)}
.focus-visible:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
:focus:not(:focus-visible){outline:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
}
