:root {
    color-scheme: light;
    --page-bg: #edf1f4; --page-bg-2: #f8fafb;
    --glass-top: rgba(255,255,255,.68); --glass-bottom: rgba(247,250,252,.50); --glass-border: rgba(255,255,255,.72);
    --graphite: #303840; --graphite-soft: #69737d;
    --header-height: 92px; --header-radius: 28px; --logo-size: 138px; --side-space: 34px;
    --page-space: 28px; --top-gap: 18px; --content-max: 1320px; --main-content-max: 1240px;
    font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-synthesis: none;
}
* { box-sizing: border-box; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
html { min-height: 100%; }
body { min-height: 100vh; margin: 0; overflow-x: hidden; color: var(--graphite); background: radial-gradient(circle at 74% 8%,rgba(196,223,233,.32),transparent 29%),radial-gradient(circle at 16% 3%,rgba(255,255,255,.96),transparent 26%),linear-gradient(135deg,var(--page-bg-2),var(--page-bg)); line-height: 1.45; }
body.public-menu-open,body.public-search-open,body.media-lightbox-open { overflow: hidden; }
img,video { max-width: 100%; } a { color: inherit; } button,input { font: inherit; }
.page-preloader { position:fixed; z-index:10000; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px; background:radial-gradient(circle at 50% 42%,rgb(255,255,255),rgb(242,247,249) 42%,rgb(229,237,241)); opacity:1; visibility:visible; transition:opacity .45s ease,visibility 0s linear .45s; }
.page-preloader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
.page-preloader-brand { color:var(--graphite); font-family:inherit; font-size:clamp(1rem,2vw,1.3rem); font-weight:580; letter-spacing:.06em; line-height:1; }
.page-preloader-line { position:relative; width:112px; height:1px; overflow:hidden; background:rgba(72,88,99,.14); }
.page-preloader-line::after { position:absolute; inset:0; width:42%; background:linear-gradient(90deg,transparent,rgba(67,83,94,.62),transparent); content:""; animation:page-preloader-drift 1.25s ease-in-out infinite; }
@keyframes page-preloader-drift { from { transform:translateX(-110%); } to { transform:translateX(280%); } }
.skip-link { position: fixed; z-index: 100; top: .5rem; left: .5rem; padding: .7rem 1rem; transform: translateY(-150%); background: #fff; color: var(--graphite); }
.skip-link:focus { transform: none; }
.site-header-region { position: relative; z-index: 30; padding: var(--top-gap) var(--page-space) calc((var(--logo-size) - var(--header-height)) / 2 + 15px);}
.site-header-wrap { position: relative; width: min(var(--content-max),100%); margin: 0 auto; padding-top: calc((var(--logo-size) - var(--header-height))/2); }
.site-header { position: relative; display: flex; height: var(--header-height); align-items: center; justify-content: space-between; padding: 0 var(--side-space); overflow: visible; border: 1px solid var(--glass-border); border-radius: var(--header-radius); background: linear-gradient(180deg,var(--glass-top),var(--glass-bottom)); box-shadow: 0 18px 42px rgba(43,58,70,.085),0 6px 14px rgba(43,58,70,.035),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(117,142,157,.055); backdrop-filter: blur(20px) saturate(128%); -webkit-backdrop-filter: blur(20px) saturate(128%); }
.site-header::before { position: absolute; top: 1px; right: 24px; left: 24px; height: 18px; border-radius: 24px 24px 50% 50%; background: linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0)); opacity: .56; pointer-events: none; content: ""; }
.site-header::after { position: absolute; z-index: 0; bottom: -15px; left: 50%; width: calc(var(--logo-size)*.72); height: 26px; transform: translateX(-50%); border-radius: 50%; background: rgba(188,220,231,.13); filter: blur(16px); pointer-events: none; content: ""; }
.header-action { position: relative; z-index: 2; display: inline-grid; width: 44px; height: 44px; padding: 0; place-items: center; border: 0; border-radius: 14px; background: transparent; color: var(--graphite); cursor: pointer; transition: transform 170ms ease,background 170ms ease,box-shadow 170ms ease; }
.header-action:hover { transform: translateY(-1px); background: rgba(255,255,255,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.62),0 6px 14px rgba(50,64,75,.035); }
.header-action:focus-visible,.brand-medallion:focus-visible { outline: 2px solid rgba(86,132,154,.38); outline-offset: 3px; }
.header-action svg { display: block; width: 25px; height: 25px; }
.brand-medallion { position: absolute; z-index: 5; top: 60%; left: 50%; display: block; width: var(--logo-size); height: var(--logo-size); transform: translate(-50%,-50%); border: 0; border-radius: 50%; background: transparent; text-decoration: none; filter: drop-shadow(0 16px 24px rgba(44,59,71,.10)) drop-shadow(0 0 10px rgba(220,238,245,.20)); transition: filter 180ms ease; }
.brand-medallion:hover { transform: translate(-50%,-50%); filter: drop-shadow(0 18px 27px rgba(44,59,71,.115)) drop-shadow(0 0 12px rgba(220,238,245,.24)); }
.brand-medallion img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.public-navigation { --menu-panel-gap:36px; position:fixed; z-index:900; inset:0; display:grid; padding:calc(var(--menu-panel-gap) + 36px); visibility:hidden; background:rgba(22,29,34,.46); opacity:0; text-align:center; backdrop-filter:blur(14px) saturate(112%); -webkit-backdrop-filter:blur(14px) saturate(112%); transition:opacity .28s ease,visibility 0s linear .28s; }
.public-navigation::before { position:absolute; inset:var(--menu-panel-gap); border:1px solid rgba(255,255,255,.68); border-radius:28px; background:radial-gradient(circle at 50% 38%,rgb(255,255,255),rgb(242,247,249) 46%,rgb(229,237,241)); box-shadow:0 30px 90px rgba(15,23,30,.24),inset 0 1px rgba(255,255,255,.82); content:""; }
.public-navigation.is-open { visibility:visible; opacity:1; transition:opacity .28s ease,visibility 0s; }
.public-navigation-close { position:absolute; z-index:1; top:calc(var(--menu-panel-gap) + 18px); right:calc(var(--menu-panel-gap) + 18px); display:grid; width:44px; height:44px; padding:0; place-items:center; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(255,255,255,.58); color:#35414a; box-shadow:0 8px 20px rgba(29,39,47,.09); line-height:normal; cursor:pointer; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); transition:background-color .2s ease,color .2s ease,box-shadow .2s ease; }
.public-navigation-close:hover { background:rgba(255,255,255,.78); color:#26323a; box-shadow:0 9px 22px rgba(29,39,47,.12); }
.public-navigation-close:focus-visible,.public-navigation a:focus-visible { outline:2px solid rgba(86,132,154,.62); outline-offset:3px; }
.public-navigation-close svg { display:block; width:20px; height:20px; margin:0; }
.public-navigation-links { position:relative; z-index:1; display:flex; align-self:center; justify-self:center; flex-direction:column; align-items:center; gap:clamp(2rem,4.2vh,3rem); }
.public-navigation a { position:relative; color:var(--graphite); font-family:inherit; font-size:clamp(2.25rem,2.8vw,2.625rem); font-weight:400; letter-spacing:-.025em; line-height:1.08; text-decoration:none; transition:color .22s ease; }
.public-navigation a::after { position:absolute; right:18%; bottom:-.22em; left:18%; height:1px; transform:scaleX(0); background:currentColor; opacity:.42; content:""; transition:transform .22s ease; }
.public-navigation a:hover { color:#65737d; }
.public-navigation a:hover::after,.public-navigation a:focus-visible::after { transform:scaleX(1); }
.public-search-overlay { --menu-panel-gap:36px; position:fixed; z-index:900; inset:0; display:grid; padding:calc(var(--menu-panel-gap) + 36px); visibility:hidden; background:rgba(22,29,34,.46); opacity:0; text-align:center; backdrop-filter:blur(14px) saturate(112%); -webkit-backdrop-filter:blur(14px) saturate(112%); transition:opacity .28s ease,visibility 0s linear .28s; }
.public-search-overlay::before { position:absolute; inset:var(--menu-panel-gap); border:1px solid rgba(255,255,255,.68); border-radius:28px; background:radial-gradient(circle at 50% 38%,rgb(255,255,255),rgb(242,247,249) 46%,rgb(229,237,241)); box-shadow:0 30px 90px rgba(15,23,30,.24),inset 0 1px rgba(255,255,255,.82); content:""; }
.public-search-overlay.is-open { visibility:visible; opacity:1; transition:opacity .28s ease,visibility 0s; }
.public-search-field-wrap { position:relative; z-index:1; width:min(820px,100%); align-self:center; justify-self:center; }
.public-search-field { display:block; width:100%; min-width:0; height:clamp(72px,8vw,88px); padding:0 clamp(24px,3.2vw,38px); border:1px solid rgba(87,105,117,.24); border-radius:22px; outline:0; background:rgba(255,255,255,.52); color:var(--graphite); box-shadow:inset 0 1px rgba(255,255,255,.9),0 14px 36px rgba(29,39,47,.07); font-family:inherit; font-size:clamp(1.45rem,2.3vw,2rem); font-weight:400; letter-spacing:-.02em; line-height:1; appearance:none; -webkit-appearance:none; transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.public-search-field::placeholder { color:rgba(53,65,74,.48); opacity:1; }
.public-search-field:focus { border-color:rgba(86,132,154,.48); background:rgba(255,255,255,.72); box-shadow:inset 0 1px rgba(255,255,255,.96),0 14px 38px rgba(29,39,47,.09),0 0 0 3px rgba(86,132,154,.1); }
.public-search-field::-webkit-search-cancel-button { opacity:.48; cursor:pointer; }
.public-search-validation { margin:10px 4px 0; color:var(--graphite-soft); font-size:.84rem; font-weight:400; line-height:1.45; text-align:left; }
.public-search-validation[hidden] { display:none; }

.public-main-container { width: min(var(--main-content-max),calc(100% - (2 * var(--page-space)))); margin-right: auto; margin-left: auto; }
.lookbook-intro {
  margin: clamp(1.25rem, 2.2vw, 2rem) 0 clamp(2rem, 3.2vw, 3rem);
  color: var(--graphite);
  font-size: clamp(1.05rem, 2vw, 1.8rem);
  font-weight: 580;
  letter-spacing: .16em;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
}
.look-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,4vw,4.5rem) clamp(1rem,2.4vw,2.5rem); }
.look-card { display: block; min-width: 0; overflow: hidden; color: inherit; text-decoration: none; background: #fff; border: 1px solid rgba(126,142,153,.22); border-radius: 16px; box-shadow: 0 11px 24px rgba(43,58,70,.07),0 2px 6px rgba(43,58,70,.03); }
.look-card-media { position: relative; margin: 12px 12px 0; }
.look-card-image { position: relative; width: 100%; aspect-ratio: 2.53/1; overflow: hidden; border-radius: 11px; background: #e9eef1; }
.look-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transform: scale(1); transition: transform 520ms cubic-bezier(.22,1,.36,1); }
.look-card:hover .look-card-image img { transform: scale(1.018); }
.look-card-date { position: absolute; z-index: 2; bottom: -14px; left: 15px; display: inline-flex; min-height: 29px; padding: 0 13px; align-items: center; border-radius: 999px 999px 999px 4px; background: #6f8f9f; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .045em; line-height: 1; box-shadow: 0 3px 8px rgba(49,73,84,.12); }
.look-card-copy { padding: 23px 18px 18px 27px; background: #fff; }
.look-card-copy h2 { margin: 0 0 6px; color: var(--graphite); font-size: clamp(18px,1.45vw,21px); font-weight: 700; letter-spacing: -.015em; line-height: 1.18; }
.look-card-copy p { max-width: 52ch; margin: 0; color: #737b83; font-size: 13px; font-weight: 400; line-height: 1.45; }
.search-results-page { padding-top:34px; padding-bottom:clamp(2rem,4vw,4rem); }
.search-results-title { margin: 0 0 clamp(2rem, 3.2vw, 3rem); color: var(--graphite); font-family: inherit; font-size: clamp(1.05rem, 2vw, 1.8rem); font-weight: 580; letter-spacing: .16em; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
.search-results-empty { margin:0; color:var(--graphite-soft); font-size:1rem; line-height:1.6; text-align:center; }
.contact-page { padding-top:34px; padding-bottom:clamp(2rem,4vw,4rem); }
.contact-title { margin:0 0 clamp(2rem,3.2vw,3rem); color:var(--graphite); font-size:clamp(1.05rem,2vw,1.8rem); font-weight:580; letter-spacing:.16em; line-height:1.1; text-align:center; }
.contact-panel { width:min(760px,100%); margin:0 auto; padding:clamp(24px,4vw,42px); border:1px solid rgba(255,255,255,.72); border-radius:24px; background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(247,250,252,.54)); box-shadow:0 18px 48px rgba(43,58,70,.085),inset 0 1px rgba(255,255,255,.9); backdrop-filter:blur(18px) saturate(120%); -webkit-backdrop-filter:blur(18px) saturate(120%); }
.contact-form { display:grid; gap:22px; }
.contact-field { display:grid; gap:8px; }
.contact-field label { color:var(--graphite); font-size:.84rem; font-weight:580; letter-spacing:.035em; }
.contact-field input,.contact-field textarea { display:block; width:100%; min-width:0; padding:14px 16px; border:1px solid rgba(87,105,117,.24); border-radius:14px; outline:0; background:rgba(255,255,255,.62); color:var(--graphite); box-shadow:inset 0 1px rgba(255,255,255,.9); font:inherit; transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.contact-field input { height:52px; }
.contact-field textarea { min-height:190px; resize:vertical; line-height:1.55; }
.contact-field input:focus,.contact-field textarea:focus { border-color:rgba(86,132,154,.5); background:rgba(255,255,255,.82); box-shadow:inset 0 1px rgba(255,255,255,.96),0 0 0 3px rgba(86,132,154,.1); }
.contact-field.has-error input,.contact-field.has-error textarea { border-color:rgba(148,82,82,.42); }
.contact-field-error { margin:0; color:#8a5555; font-size:.8rem; line-height:1.4; }
.contact-notice { margin:0 0 22px; padding:12px 14px; border:1px solid rgba(87,105,117,.18); border-radius:12px; font-size:.88rem; line-height:1.5; }
.contact-notice-success { background:rgba(232,243,238,.72); color:#45685a; }
.contact-notice-error { background:rgba(248,235,235,.68); color:#815050; }
.contact-submit { justify-self:start; min-height:48px; padding:0 24px; border:1px solid rgba(255,255,255,.66); border-radius:14px; background:#536c79; color:#fff; box-shadow:0 8px 20px rgba(42,58,67,.14),inset 0 1px rgba(255,255,255,.16); font:inherit; font-size:.9rem; font-weight:580; cursor:pointer; transition:background-color .2s ease,box-shadow .2s ease; }
.contact-submit:hover { background:#465f6c; box-shadow:0 9px 22px rgba(42,58,67,.18),inset 0 1px rgba(255,255,255,.18); }
.contact-submit:focus-visible { outline:2px solid rgba(86,132,154,.62); outline-offset:3px; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.privacy-page { padding-top:34px; padding-bottom:clamp(2rem,4vw,4rem); }
.privacy-title { margin:0 0 clamp(2rem,3.2vw,3rem); color:var(--graphite); font-size:clamp(1.05rem,2vw,1.8rem); font-weight:580; letter-spacing:.16em; line-height:1.1; text-align:center; }
.privacy-content { width:min(760px,100%); margin:0 auto; color:var(--graphite-soft); font-size:clamp(.95rem,1.2vw,1.04rem); line-height:1.7; }
.privacy-content h2 { margin:2rem 0 .55rem; color:var(--graphite); font-size:1.05rem; font-weight:580; letter-spacing:-.01em; line-height:1.3; }
.privacy-content p { margin:0 0 1rem; }
.privacy-content > :first-child { margin-top:0; }
.privacy-content > :last-child { margin-bottom:0; }

.look-page { --look-masonry-gap:16px; --text:var(--graphite); --muted:var(--graphite-soft); padding-top:34px; padding-bottom:clamp(4rem,7vw,7rem); }
.look-detail-intro { max-width:790px; margin:0 auto 42px; text-align:center; }
.look-detail-title { margin: 0; color: var(--graphite); font-family: inherit; font-size: clamp(1.05rem, 2vw, 1.8rem); font-weight: 580; letter-spacing: .16em; line-height: 1.1; text-align: center; }
.look-detail-editorial { max-width:700px; margin:12px auto 0; color:var(--muted); font-family:inherit; font-size:clamp(.95rem,1.2vw,1.04rem); font-weight:400; line-height:1.6; }
.look-masonry { position:relative; width:100%; }
.look-media-item { position:absolute; min-width:0; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.78); border-radius:18px; background:rgba(255,255,255,.55); box-shadow:0 14px 34px rgba(43,58,70,.075); cursor:pointer; transform:translateZ(0); transition:box-shadow .28s ease; }
.look-media-item img { display:block; width:100%; height:auto; }
.look-media-item:focus-visible,.look-lightbox button:focus-visible { outline:2px solid rgba(86,132,154,.62); outline-offset:3px; }
.look-media-item.is-video::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(17,24,29,.09)); pointer-events:none; content:""; }
.look-media-item.has-no-poster { aspect-ratio:3/4; background:linear-gradient(155deg,rgba(255,255,255,.78),rgba(220,230,235,.72)); }
.look-media-play { position:absolute; z-index:1; top:50%; left:50%; display:grid; width:62px; height:62px; transform:translate(-50%,-50%); place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(26,34,40,.58); color:#fff; box-shadow:0 8px 24px rgba(18,25,30,.2),inset 0 1px rgba(255,255,255,.18); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.look-media-play span { width:0; height:0; margin-left:4px; border-top:11px solid transparent; border-bottom:11px solid transparent; border-left:17px solid currentColor; }
@media (hover:hover) { .look-media-item:hover { box-shadow:0 18px 42px rgba(43,58,70,.11); } }

.look-lightbox { position:fixed; z-index:1000; inset:0; display:none; padding:clamp(12px,2vw,28px); align-items:center; justify-content:center; }
.look-lightbox.is-open { display:flex; }
.look-lightbox-backdrop { position:absolute; inset:0; background:rgba(22,29,34,.58); backdrop-filter:blur(16px) saturate(115%); -webkit-backdrop-filter:blur(16px) saturate(115%); }
.look-lightbox-shell { position:relative; z-index:1; display:grid; width:min(96vw,1640px); height:min(94vh,1120px); padding:12px; grid-template-columns:64px minmax(0,1fr) 64px; grid-template-rows:54px minmax(0,1fr) auto; gap:8px 10px; border:1px solid rgba(255,255,255,.62); border-radius:26px; background:rgba(248,251,252,.76); box-shadow:0 30px 90px rgba(15,23,30,.26),inset 0 1px rgba(255,255,255,.76); backdrop-filter:blur(22px) saturate(120%); -webkit-backdrop-filter:blur(22px) saturate(120%); }
.look-lightbox-close,.look-lightbox-nav { display:grid; padding:0; place-items:center; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(255,255,255,.58); color:#35414a; box-shadow:0 8px 20px rgba(29,39,47,.09); cursor:pointer; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.look-lightbox-close { width:44px; height:44px; grid-column:3; grid-row:1; justify-self:end; line-height:normal; }
.look-lightbox-nav { width:48px; height:48px; align-self:center; justify-self:center; line-height:normal; }
.look-lightbox-close svg { display:block; width:20px; height:20px; margin:0; }
.look-lightbox-nav svg { display:block; width:22px; height:22px; margin:0; }
.look-lightbox-prev { grid-column:1; grid-row:2; }
.look-lightbox-next { grid-column:3; grid-row:2; }
.look-lightbox-stage { position:relative; display:flex; min-width:0; min-height:0; overflow:hidden; grid-column:2; grid-row:1 / span 2; align-items:center; justify-content:center; border-radius:18px; touch-action:pan-y; }
.look-lightbox-stage img,.look-lightbox-stage video { display:block; width:auto; height:auto; max-width:100%; max-height:100%; border-radius:14px; box-shadow:0 16px 42px rgba(17,24,30,.14); object-fit:contain; }
.look-lightbox-stage img.is-loading { visibility:hidden; }
.look-lightbox-stage video { background:#0e1114; }
.look-lightbox-loader { position:absolute; z-index:2; top:50%; left:50%; width:27px; height:27px; transform:translate(-50%,-50%); border:2px solid rgba(53,65,74,.18); border-top-color:rgba(53,65,74,.62); border-radius:50%; pointer-events:none; animation:look-lightbox-spin .8s linear infinite; }
.look-lightbox-error { max-width:22rem; margin:0; color:#66737d; font-size:.84rem; line-height:1.45; text-align:center; }
@keyframes look-lightbox-spin { to { transform:translate(-50%,-50%) rotate(360deg); } }
.look-lightbox-caption { max-width:880px; min-height:0; margin:2px auto 0; padding:0 10px 2px; grid-column:2; grid-row:3; color:#66737d; font-size:.9rem; line-height:1.45; text-align:center; }
.look-lightbox-caption:empty { display:none; }

.site-footer-region { padding: clamp(3rem,7vw,7rem) var(--page-space) var(--page-space); }
.site-footer-wrap { width: min(var(--content-max),100%); margin: 0 auto; }
.site-footer { position: relative; padding: 28px 34px 20px; overflow: hidden; border: 1px solid var(--glass-border); border-radius: 28px; background: linear-gradient(180deg,var(--glass-top),var(--glass-bottom)); box-shadow: 0 18px 42px rgba(43,58,70,.075),0 6px 14px rgba(43,58,70,.03),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(117,142,157,.05); backdrop-filter: blur(20px) saturate(128%); -webkit-backdrop-filter: blur(20px) saturate(128%); }
.site-footer::before { position: absolute; top: 1px; right: 24px; left: 24px; height: 18px; border-radius: 24px 24px 50% 50%; background: linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0)); opacity: .5; pointer-events: none; content: ""; }
.footer-main { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
.footer-brand { display: flex; min-width: 0; align-items: center; gap: 16px; text-decoration: none; }
.footer-logo { display: block; width: 62px; height: 62px; flex: 0 0 62px; object-fit: contain; }
.footer-brand-name { margin: 0; color: var(--graphite); font-size: 15px; font-weight: 620; letter-spacing: .015em; line-height: 1.2; }
.footer-legal { display: flex; align-items: center; gap: 24px; }
.site-footer a { color: var(--graphite); text-decoration: none; }
.footer-bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 22px; padding-top: 15px; border-top: 1px solid rgba(115,135,148,.10); }
.footer-bottom small,.footer-legal a { color: rgba(48,56,64,.64); font-size: 12px; }

.public-error-page { display:flex; min-height:55vh; padding:5rem 0; flex-direction:column; align-items:center; text-align:center; }
.public-error-page h1 { margin:0 0 1rem; color:var(--graphite); font-size:clamp(1.05rem,2vw,1.8rem); font-weight:580; letter-spacing:.16em; line-height:1.1; text-align:center; }
.public-error-page p { color: var(--graphite-soft); }
.campaign-link { display: inline-flex; margin-top: 1rem; padding: .7rem 1rem; border: 1px solid rgba(48,56,64,.25); border-radius: 999px; text-decoration: none; }

@media (max-width:760px) {
    .look-card { border-radius:15px; }
    .look-card-media { margin:10px 10px 0; }
    .look-card-image { aspect-ratio:2.05/1; border-radius:10px; }
    .look-card-date { left:15px; min-height:28px; font-size:10px; }
    .look-card-copy { padding:22px 16px 17px 25px; }
    .look-card-copy h2 { font-size:18px; }
    .look-card-copy p { font-size:12.5px; }
    .look-page { --look-masonry-gap:12px; padding-top:26px; }
    .look-detail-intro { margin-bottom:28px; }
    .look-media-item { border-radius:14px; }
    .look-media-play { width:56px; height:56px; }
    .look-lightbox { padding:8px; }
    .look-lightbox-shell { width:100%; height:min(95vh,980px); padding:8px; grid-template-columns:48px minmax(0,1fr) 48px; grid-template-rows:48px minmax(0,1fr) auto; gap:6px; border-radius:20px; }
    .look-lightbox-stage { grid-column:1 / -1; grid-row:2; border-radius:14px; }
    .look-lightbox-close { grid-column:3; grid-row:1; }
    .look-lightbox-prev,.look-lightbox-next { position:absolute; z-index:3; top:50%; transform:translateY(-50%); }
    .look-lightbox-prev { left:10px; } .look-lightbox-next { right:10px; }
    .look-lightbox-caption { grid-column:1 / -1; grid-row:3; font-size:.84rem; }
}
@media (max-width:720px) {
    :root { --header-height:76px; --logo-size:112px; --header-radius:23px; --side-space:15px; --top-gap:12px; --page-space:14px; }
    .public-navigation { --menu-panel-gap:10px; padding:34px; }
    .public-navigation::before { border-radius:22px; }
    .public-navigation-close { top:22px; right:22px; }
    .public-navigation-links { gap:1.9rem; }
    .public-navigation a { font-size:2rem; }
    .public-search-overlay { --menu-panel-gap:10px; padding:34px; }
    .public-search-overlay::before { border-radius:22px; }
    .public-search-field { height:68px; padding:0 22px; border-radius:18px; font-size:1.4rem; }
    .header-action { width:40px; height:40px; } .header-action svg { width:24px; height:24px; }
    .look-grid { grid-template-columns:1fr; }
    .site-footer { padding:24px 20px 18px; border-radius:23px; }
    .footer-main { grid-template-columns:1fr; gap:22px; align-items:start; }
    .footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; }
    .footer-logo { width:56px; height:56px; flex-basis:56px; }
}
@media (max-width:430px) {
    :root { --header-height:70px; --logo-size:100px; --header-radius:20px; --side-space:10px; --top-gap:10px; }
    .header-action { width:38px; height:38px; } .header-action svg { width:23px; height:23px; }
    .site-footer { padding-right:18px; padding-left:18px; border-radius:20px; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { transition-duration:.01ms !important; }
    .look-card:hover .look-card-image img { transform:none; }
    .look-lightbox-loader { animation:none; }
    .page-preloader-line::after { animation:none; transform:translateX(70%); }
}
