/*
Theme Name: ROTC 28기 디지털 역사관
Theme URI: https://rotc28.kr
Author: 비랜딩 (blanding.kr)
Author URI: https://blanding.kr
Description: 대한민국 ROTC 28기 총동기회의 디지털 사료 전시·기증·소통을 위한 독립형 테마. 비랜딩 기본테마 2.0.0 파생.
Version: 0.9.3-beta.3
Text Domain: rotc28-history
*/
:root{--ink:#252623;--navy:#23245f;--blue:#182c48;--muted:#62655e;--paper:#f5f2eb;--white:#fffefa;--line:#dcdcd3;--gold:#9c8053;--green:#314c3d;--olive:#4e5739;--danger:#9d3034;--success:#23593e;--sans:'Noto Sans KR','Malgun Gothic',sans-serif;--serif:'Noto Serif KR','Batang',serif;--display:500 66px/1.32 var(--serif);--display-spacing:-.045em;--page-title:500 48px/1.35 var(--serif);--page-title-spacing:-.035em;--section-title:500 34px/1.45 var(--serif);--section-title-spacing:-.025em;--subheading:500 23px/1.55 var(--sans);--subheading-spacing:-.02em;--body:400 18px/1.75 var(--sans);--body-spacing:-.015em;--body-small:400 16px/1.65 var(--sans);--body-small-spacing:-.01em;--label:600 15px/1.5 var(--sans);--label-spacing:-.01em;--caption:400 13px/1.6 var(--sans);--caption-spacing:0;--numeric:400 54px/1.1 var(--serif);--numeric-spacing:-.03em;--space-section:100px;--container:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font:var(--body);letter-spacing:var(--body-spacing);overflow-wrap:anywhere}h1,h2,h3,p,figure{margin:0}h1,h2,h3{word-break:keep-all;overflow-wrap:break-word}h1,.page-title{font:var(--page-title);letter-spacing:var(--page-title-spacing)}h2,.section-title{font:var(--section-title);letter-spacing:var(--section-title-spacing)}h3,.subheading{font:var(--subheading);letter-spacing:var(--subheading-spacing)}p+p{margin-top:1em}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}img,video{display:block;max-width:100%;height:auto}button{border:0;background:none}input,textarea,select{min-width:0}a,button,input,textarea,select{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a48857}.container{width:min(var(--container),calc(100% - 80px));margin-inline:auto}.narrow{max-width:850px}.section{padding-block:var(--space-section)}.body-small{font:var(--body-small);letter-spacing:var(--body-small-spacing)}.caption,small{font:var(--caption);letter-spacing:var(--caption-spacing)}.label,.eyebrow,.button,.text-link,.desktop-nav,.account-link,.zone-tabs,.pagination,.form-section-heading,.status-label{font:var(--label);letter-spacing:var(--label-spacing)}.eyebrow{display:block;color:var(--gold);margin-bottom:16px}.icon{width:22px;height:22px;flex:0 0 22px;vertical-align:middle}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:24px;background:var(--navy);color:#fff;padding:12px 20px;z-index:9999}.skip-link:focus{top:12px}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:26px;padding:14px 25px;background:var(--navy);border:1px solid var(--navy);color:#fff;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#363870;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--navy)}.button-outline:hover{background:#ededea}.button-light{background:var(--white);border-color:var(--white);color:var(--navy)}.button-light:hover{background:#e8dfce}.button-small{min-height:44px;padding:10px 16px;gap:16px}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.full-width{width:100%}.center{text-align:center}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}.section-heading>p{font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--muted)}.section-heading .eyebrow{margin-bottom:10px}.round-arrow{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%}
.site-header{position:relative;z-index:40;background:var(--white);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:104px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-emblem{display:block;position:relative;width:48px;height:48px;overflow:hidden}.brand-emblem img{height:48px;width:186px;max-width:none;object-fit:contain;position:absolute;left:-69px}.brand-words{display:flex;flex-direction:column;gap:2px}.brand-words small{color:var(--muted)}.brand-words strong{font:var(--subheading);letter-spacing:var(--subheading-spacing);color:var(--navy)}.desktop-nav{display:flex;gap:26px;align-items:center}.desktop-nav a{padding-block:14px}.desktop-nav a:hover{color:var(--navy);box-shadow:0 2px 0 var(--gold)}.header-actions{display:flex;align-items:center;gap:18px}.account-link{display:flex;gap:6px;align-items:center;min-height:44px}.account-link .icon{width:18px;height:18px;flex-basis:18px}.mobile-menu-toggle{display:none;width:44px;height:44px}
.hero{background:var(--paper);overflow:hidden;position:relative}.hero-layout{display:grid;grid-template-columns:1fr 1.04fr;gap:50px;padding-top:72px;padding-bottom:58px;align-items:center}.hero-copy{position:relative;z-index:2}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--navy);margin-bottom:30px}.tiny-line{display:block;width:27px;height:1px;background:var(--gold)}.hero h1{font:var(--display);letter-spacing:var(--display-spacing);color:var(--navy);margin-left:-4px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-description{margin-top:25px;color:var(--muted)}.hero-button{margin-top:30px}.hero-years{display:flex;align-items:center;gap:16px;margin-top:38px;font:var(--caption);letter-spacing:var(--caption-spacing);color:var(--muted)}.hero-years i{width:100px;height:1px;background:#b4b3a7}.hero-image-frame{position:relative;overflow:hidden;background:#d4cdbf;aspect-ratio:1/1.04}.hero-image-frame>img{width:100%;height:100%;object-fit:cover;object-position:51% center;animation:gallery-enter 1.6s ease-out both}.hero-visual{position:relative;padding:0 0 0 18px}.hero-visual:before{content:'';position:absolute;inset:28px 18px 84px -1px;border:1px solid #b4a27c;pointer-events:none}.image-corner{position:absolute;bottom:15px;right:18px;color:#fff;font:var(--numeric);letter-spacing:var(--numeric-spacing);text-shadow:0 1px 10px #0008}.hero-visual figcaption{position:relative;display:flex;flex-direction:column;gap:3px;margin-top:17px;font:var(--caption);letter-spacing:var(--caption-spacing);color:var(--muted)}.hero-visual figcaption>span{color:var(--ink)}.hero-copy>*,.hero-visual{animation:rise-in .8s ease-out both}.hero-copy h1{animation-delay:.08s}.hero-description{animation-delay:.16s}.hero-button{animation-delay:.22s}@keyframes rise-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-enter{from{transform:scale(1.045)}to{transform:scale(1)}}
.find-memory{padding:34px 0;border-bottom:1px solid var(--line)}.search-layout{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:60px}.find-memory .eyebrow{margin-bottom:5px;font:var(--caption);letter-spacing:var(--caption-spacing)}.archive-search{display:flex;align-items:center;min-height:66px;border-bottom:2px solid var(--navy);gap:14px}.archive-search .search-icon{display:flex;color:var(--navy)}.archive-search input{width:100%;border:0;background:transparent;padding:14px 0;font:var(--body-small);letter-spacing:var(--body-small-spacing)}.archive-search button{display:flex;align-items:center;gap:17px;min-height:48px;flex-shrink:0;font:var(--label);letter-spacing:var(--label-spacing);color:var(--navy)}.archive-search.compact{max-width:820px;margin-bottom:40px}.zone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.zone-door{display:flex;flex-direction:column;min-height:360px;padding:25px;position:relative;overflow:hidden;transition:box-shadow .32s ease}.zone-roots{background:#1c304d;color:#fff}.zone-devotion{background:#505a3c;color:#fff}.zone-leaders{background:#e9e3d4;color:#5d4c2d}.zone-together{background:#2f4d40;color:#fff}.zone-top{display:flex;justify-content:space-between;gap:10px;position:relative;z-index:1}.zone-top .caption{opacity:.8}.zone-line-art{position:absolute;inset:20px 35px 20px 35px;opacity:.15;pointer-events:none}.zone-line-art span{position:absolute;inset:45px 0 35px;border:1px solid currentColor;transform:rotate(-18deg)}.zone-line-art span:nth-child(2){inset:25px 20px 65px;transform:rotate(-18deg)}.zone-line-art span:nth-child(3){inset:0 40px 100px;transform:rotate(-18deg)}.zone-devotion .zone-line-art span{transform:rotate(35deg);inset:40px -60px 100px}.zone-devotion .zone-line-art span:nth-child(2){inset:80px -50px 60px}.zone-devotion .zone-line-art span:nth-child(3){inset:120px -50px 20px}.zone-leaders .zone-line-art span{border-radius:50%;inset:35px 10px 80px;transform:rotate(0)}.zone-leaders .zone-line-art span:nth-child(2){inset:55px 30px 100px}.zone-leaders .zone-line-art span:nth-child(3){inset:75px 50px 120px}.zone-together .zone-line-art span{transform:rotate(0);inset:10px 20px -20px}.zone-together .zone-line-art span:nth-child(2){inset:20px 40px -30px}.zone-together .zone-line-art span:nth-child(3){inset:30px 60px -40px}.zone-bottom{margin-top:auto;position:relative;z-index:1;padding-top:100px}.zone-bottom>h3{font:var(--section-title);letter-spacing:var(--section-title-spacing);margin:9px 0 4px}.zone-bottom>p{font:var(--body-small);letter-spacing:var(--body-small-spacing);opacity:.85}.zone-bottom .round-arrow{position:absolute;right:0;bottom:0;width:34px;height:34px}.zone-bottom>p{padding-right:33px}.recent-section{background:#f7f7f1}.records-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.record-cover{display:block;aspect-ratio:4/3;background:#e9e8df;overflow:hidden;position:relative}.record-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.record-cover:hover img{transform:scale(1.04)}.file-count{position:absolute;right:12px;bottom:12px;background:#fffffff0;padding:3px 9px;color:var(--ink)}.record-meta{display:flex;justify-content:space-between;gap:15px;color:var(--muted);margin:18px 0 8px}.record-meta>span:first-child{color:var(--navy)}.record-card h3{margin-bottom:8px}.record-card>p{color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--navy);font:var(--caption);letter-spacing:var(--caption-spacing)}.media-placeholder .icon{width:46px;height:46px}.empty-state{padding:65px 28px;text-align:center;border-block:1px solid var(--line);background:#ffffff40}.empty-art{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;color:var(--gold);margin-bottom:24px;position:relative}.empty-art:before,.empty-art:after{content:'';position:absolute;width:54px;height:62px;border:1px solid var(--gold);opacity:.5;transform:rotate(-10deg)}.empty-art:after{transform:rotate(9deg)}.empty-art .icon{width:30px;height:30px;background:var(--white);z-index:1}.empty-state p{color:var(--muted);margin-top:12px}.empty-state .button{margin-top:28px}.donation-invitation{background:var(--navy);color:#fff;overflow:hidden}.invitation-inner{display:grid;grid-template-columns:1fr auto;gap:50px;position:relative;padding-block:78px}.invitation-index{position:absolute;font:var(--numeric);letter-spacing:var(--numeric-spacing);right:32%;top:20px;opacity:.08;transform:scale(5);transform-origin:top right;pointer-events:none}.invitation-inner .eyebrow{color:#c9b58d}.invitation-inner p{color:#e1e1ea;margin-top:22px}.invitation-action{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:17px}.invitation-action .caption{color:#d6d6e3;max-width:290px}.welcome-note{position:relative;border-top:1px solid var(--line);padding:38px 0 10px 80px}.quote-mark{position:absolute;left:8px;top:25px;font:var(--numeric);letter-spacing:var(--numeric-spacing);color:var(--gold)}.welcome-note p+p{font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--muted)}.welcome-note .text-link{margin-top:20px}
.site-footer{background:#eaece5;padding:52px 0 22px}.footer-top{display:flex;align-items:flex-start;gap:75px;padding-bottom:40px}.footer-top>p{font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--muted)}.footer-top-link{margin-left:auto;font:var(--caption);letter-spacing:var(--caption-spacing);min-height:44px;display:flex;align-items:center}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ccd0c6;padding-top:20px;color:var(--muted)}.footer-bottom nav{display:flex;gap:24px;font:var(--caption);letter-spacing:var(--caption-spacing)}.page-heading{background:var(--paper);padding:70px 0 58px}.page-heading p{margin-top:18px;color:var(--muted)}.page-heading .caption{display:block;margin-top:18px}.collection-heading .eyebrow,.collection-heading p{color:inherit;opacity:.85}.page-heading.zone-roots{background:var(--blue)}.page-heading.zone-devotion{background:var(--olive)}.page-heading.zone-together{background:var(--green)}.page-heading.zone-leaders{background:#e9e3d4}.collection-body{padding-block:48px 100px}.zone-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);gap:6px}.zone-tabs>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:16px 25px;min-height:70px;flex:1;white-space:nowrap;position:relative}.zone-tabs>a.active{color:var(--navy)}.zone-tabs>a.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--navy)}.zone-tabs .caption{color:var(--muted)}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0}.results-toolbar p{font:var(--body-small);letter-spacing:var(--body-small-spacing)}.sort-form{display:flex;align-items:center;gap:12px;flex-shrink:0}.sort-form select{min-height:44px;background:var(--white);padding:7px 32px 7px 10px;border:1px solid var(--line);font:var(--body-small);letter-spacing:var(--body-small-spacing)}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:50px;flex-wrap:wrap}.pagination>*{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:6px 12px}.pagination .current{background:var(--navy);color:white}.own-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.status-label{color:var(--green)}.notice{border-left:3px solid var(--gold);padding:18px 22px;background:var(--paper);margin:24px 0;font:var(--body-small);letter-spacing:var(--body-small-spacing)}.notice.success{border-color:var(--success);background:#eef5ed}.account-screen{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:90px 110px;max-width:1100px}.account-intro>p{margin-top:24px;color:var(--muted)}.account-panel{border-top:3px solid var(--navy);padding-top:30px}.portal-form{display:flex;flex-direction:column;gap:22px}.portal-form label,.comment-form label{display:flex;flex-direction:column;gap:9px;font:var(--label);letter-spacing:var(--label-spacing)}.portal-form input:not([type=checkbox]):not([type=file]),.portal-form textarea,.portal-form select,.comment-form input:not([type=checkbox]),.comment-form textarea,.comment-form select{width:100%;border:1px solid #bfc2b8;background:var(--white);padding:13px 15px;border-radius:0;min-height:52px;font:var(--body-small);letter-spacing:var(--body-small-spacing);line-height:1.65}.portal-form label>small{color:var(--muted)}.portal-form textarea,.comment-form textarea{resize:vertical}.password-field{position:relative}.password-field input{padding-right:64px!important}.password-field button{position:absolute;right:8px;top:5px;min-height:42px;padding:6px 10px;font:var(--caption);letter-spacing:var(--caption-spacing);color:var(--muted)}.portal-form .check-label,.check-label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font:var(--body-small);letter-spacing:var(--body-small-spacing);cursor:pointer}.check-label input[type=checkbox]{accent-color:var(--navy);width:20px;height:20px;flex:0 0 20px;margin-top:3px}.check-label a{text-decoration:underline;text-underline-offset:4px}.form-message:empty{display:none}.form-message{font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--danger);margin:0}.form-message.is-success{color:var(--success)}.account-links{display:flex;gap:18px;justify-content:space-between;margin-top:28px;font:var(--body-small);letter-spacing:var(--body-small-spacing);flex-wrap:wrap}.account-links a{text-decoration:underline;text-underline-offset:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-section-heading{display:flex;align-items:center;gap:15px;margin:25px 0 2px}.form-section-heading:first-of-type{margin-top:0}.step-number{color:var(--gold);font:var(--caption);letter-spacing:var(--caption-spacing);border-bottom:1px solid var(--gold);padding-bottom:4px}.file-drop{position:relative;display:flex;align-items:center;text-align:center;gap:12px!important;padding:42px 24px;border:1px dashed #919783;background:var(--paper);cursor:pointer}.file-drop>.icon{width:36px;height:36px;flex-basis:36px;color:var(--navy);margin-bottom:7px}.file-drop>span{font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--muted)}.file-drop>small{color:var(--muted)}.file-drop>input{max-width:100%;margin-top:8px;font:var(--caption);letter-spacing:var(--caption-spacing)}.file-drop input::file-selector-button{padding:8px 13px;border:1px solid var(--line);background:var(--white);color:var(--navy);font:var(--caption);letter-spacing:var(--caption-spacing)}.file-drop.is-dragover{background:#e7eadf;border-style:solid}.selected-files{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.file-preview{font:var(--caption);letter-spacing:var(--caption-spacing);min-width:0;border:1px solid var(--line);padding:8px}.file-preview img{height:100px;width:100%;object-fit:cover;margin-bottom:5px}.file-preview span{display:block;word-break:break-all}.existing-files>div{display:flex;align-items:center;gap:12px;font:var(--body-small);letter-spacing:var(--body-small-spacing);padding:12px 0;border-bottom:1px solid var(--line)}.existing-files small{margin-left:auto;color:var(--muted)}.donation-consent{padding:28px;background:var(--paper);border-top:1px solid var(--line)}.donation-consent p{margin:15px 0 20px;color:var(--muted)}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.upload-progress progress{width:100%;accent-color:var(--navy)}.upload-progress span{font:var(--caption);letter-spacing:var(--caption-spacing)}.login-invitation{text-align:center;padding:20px 0 40px}.login-invitation p{margin-top:20px;color:var(--muted)}.login-invitation .button-row{justify-content:center;margin-top:32px}.breadcrumb{display:flex;gap:12px;align-items:center;padding:32px 0;color:var(--muted);font:var(--caption);letter-spacing:var(--caption-spacing)}.record-detail{padding-bottom:70px}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:20px 0 42px}.detail-heading .page-title{max-width:900px}.detail-heading .body-small{color:var(--muted);margin-top:18px}.meta-dot{padding:0 10px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:48px;align-items:start}.media-gallery figure+figure{margin-top:30px}.media-gallery img{width:100%;max-height:900px;object-fit:contain;background:#f0efe9}.media-gallery video{width:100%;max-height:640px;background:#161a1b}.media-gallery figcaption{color:var(--muted);margin-top:10px}.record-story{padding:25px 0;border-top:2px solid var(--navy)}.record-story .prose{margin:20px 0 30px}.record-facts{margin:28px 0}.record-facts>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:12px 0;border-top:1px solid var(--line);font:var(--body-small);letter-spacing:var(--body-small-spacing)}.record-facts dt{color:var(--muted)}.record-facts dd{margin:0;white-space:pre-line}.record-tags{display:flex;gap:8px 16px;flex-wrap:wrap;font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--navy);margin-bottom:30px}.share-button{margin-top:16px}.reactions{display:flex;gap:7px;flex-wrap:wrap}.reactions button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--white);min-height:38px;padding:6px 10px;font:var(--caption);letter-spacing:var(--caption-spacing)}.reactions button[aria-pressed=true]{border-color:var(--navy);background:#eeeef5;color:var(--navy)}.reactions button:hover{border-color:var(--navy)}.comments-section{margin-top:80px;padding-top:50px;border-top:1px solid var(--line)}.narrow>.comments-section{margin-top:0;padding-top:0;border-top:0}.comments-section>.section-heading{margin-bottom:12px}.comment-form{margin-top:30px;background:var(--paper);padding:28px;display:flex;flex-direction:column;gap:20px}.comment-form .form-row{grid-template-columns:1.3fr 1fr}.comment-form .form-footer>.caption{max-width:370px;color:var(--muted)}.guest-message{display:flex;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}.guest-avatar{display:flex;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;background:#e5e8dd;color:var(--green);font:var(--label);letter-spacing:var(--label-spacing);border-radius:50%}.guest-message-body{flex:1;min-width:0}.guest-heading{display:flex;align-items:center;gap:12px;font:var(--label);letter-spacing:var(--label-spacing)}.guest-heading .caption{color:var(--muted)}.guest-heading time{margin-left:auto}.comment-content{margin-top:14px;font:var(--body-small);letter-spacing:var(--body-small-spacing)}.comment-content p{white-space:pre-wrap}.comment-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px}.comment-replies{padding-left:65px;background:#f8f8f2}.comment-replies .guest-message{padding-right:20px}.comment-actions .reaction-label{display:none}.reply-target{display:flex;align-items:center;justify-content:space-between;gap:20px;font:var(--body-small);letter-spacing:var(--body-small-spacing);color:var(--navy)}.reply-target button{font:var(--caption);letter-spacing:var(--caption-spacing);text-decoration:underline;min-height:44px}.quiet-empty{padding:36px 0;color:var(--muted);text-align:center}.about-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.about-intro figure>img{width:100%;aspect-ratio:1/1;object-fit:cover}.about-intro figcaption{margin-top:12px;color:var(--muted)}.prose{overflow-wrap:anywhere}.prose p{margin-top:20px}.prose h2{margin:48px 0 22px}.prose h2:first-of-type{margin-top:20px}.prose h3{margin:30px 0 16px}.prose a:not(.button){text-decoration:underline;text-underline-offset:5px}.prose li{margin:14px 0}.prose img{max-width:100%;height:auto}.prose .button{margin-top:28px}.event-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0;border-bottom:1px solid var(--line)}.event-row>div{max-width:calc(100% - 70px)}.event-row .caption{color:var(--muted)}.event-row h2{margin:10px 0}.event-row p{color:var(--muted)}.toast{position:fixed;left:50%;bottom:35px;transform:translateX(-50%);z-index:100000;background:var(--navy);color:white;padding:15px 24px;max-width:calc(100% - 40px);font:var(--body-small);letter-spacing:var(--body-small-spacing);box-shadow:0 5px 20px #0002}[hidden]{display:none!important}
@media(min-width:1600px){.hero-layout{padding-top:88px;padding-bottom:75px;gap:80px}}
@media(max-width:1199px){.container{width:calc(100% - 60px)}.desktop-nav{gap:16px}.header-donate{display:none}.hero-layout{gap:30px}.hero-visual{padding-left:5px}.zone-door{padding:21px;min-height:320px}.zone-bottom .round-arrow{display:none}.zone-bottom>p{padding:0}.account-screen{gap:60px}.detail-layout{gap:30px}.search-layout{gap:30px;grid-template-columns:1fr 1.5fr}}
@media(max-width:900px){:root{--display:500 48px/1.35 var(--serif);--page-title:500 38px/1.4 var(--serif);--space-section:72px}.container{width:calc(100% - 48px)}.desktop-nav{display:none}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.header-inner{min-height:88px}.hero-layout{padding-top:48px;gap:28px;grid-template-columns:1fr 1fr}.hero .eyebrow{font:var(--caption);letter-spacing:var(--caption-spacing);gap:8px}.hero-description{font:var(--body-small);letter-spacing:var(--body-small-spacing)}.hero-image-frame{aspect-ratio:1/1.35}.hero-years{margin-top:30px;gap:10px}.hero-years i{width:40px}.search-layout{grid-template-columns:1fr;gap:15px}.zone-grid{grid-template-columns:repeat(2,1fr);gap:16px}.zone-door{min-height:315px}.zone-bottom .round-arrow{display:flex}.records-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-inner{gap:25px;padding-block:58px}.invitation-action .caption{max-width:220px}.invitation-index{display:none}.section-heading{gap:25px}.zone-tabs>a{padding-inline:10px}.footer-top{gap:35px}.footer-top>p{display:none}.account-screen{grid-template-columns:1fr;gap:40px;max-width:600px}.account-intro>.body-small{display:none}.detail-layout{grid-template-columns:1fr}.record-story{padding-top:26px}.record-facts{max-width:650px}.about-intro{gap:36px}.about-intro{grid-template-columns:1fr}.about-intro figure{max-width:600px}.selected-files{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){:root{--display:500 39px/1.35 var(--serif);--page-title:500 32px/1.4 var(--serif);--section-title:500 27px/1.45 var(--serif);--subheading:500 21px/1.55 var(--sans);--body:400 17px/1.75 var(--sans);--body-small:400 15px/1.65 var(--sans);--numeric:400 40px/1.1 var(--serif);--space-section:58px}.container{width:calc(100% - 40px)}.header-inner{min-height:80px;gap:12px}.brand{gap:8px}.brand-emblem{width:38px;height:38px}.brand-emblem img{height:38px;width:147px;left:-54px}.brand-words small{font:var(--caption);letter-spacing:var(--caption-spacing)}.brand-words strong{font:var(--label);letter-spacing:var(--label-spacing)}.header-actions{gap:4px}.account-link{width:40px;justify-content:center}.account-link>span{display:none}.account-link .icon{width:22px;height:22px;flex-basis:22px}.hero-layout{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px;gap:32px}.hero .eyebrow{margin-bottom:20px}.hero-description br:last-of-type{display:none}.hero-description{margin-top:20px}.hero-button{margin-top:23px}.hero-years{margin-top:24px}.hero-years i{width:70px}.hero-visual{padding:0 0 0 12px}.hero-visual:before{inset:14px 12px 70px 0}.hero-image-frame{aspect-ratio:1.32/1}.hero-image-frame img{object-position:center 55%}.hero-visual figcaption{margin-top:12px}.image-corner{right:12px;bottom:8px}.find-memory{padding:26px 0}.archive-search{gap:8px;min-height:58px}.archive-search input::placeholder{color:#73756f}.archive-search button{gap:4px}.archive-search .search-icon{display:none}.archive-search button>.icon{display:none}.section-heading{align-items:flex-start;gap:17px;flex-wrap:wrap;margin-bottom:28px}.section-heading>p br{display:none}.section-heading>p{max-width:320px}.section-heading .text-link{margin-left:auto}.zone-grid{gap:10px}.zone-door{padding:17px;min-height:280px}.zone-top{flex-direction:column;gap:2px}.zone-bottom{padding-top:75px}.zone-bottom .round-arrow{width:28px;height:28px}.zone-bottom .round-arrow .icon{width:18px;height:18px;flex-basis:18px}.zone-bottom>p{padding-right:0;max-width:100px;word-break:keep-all;overflow-wrap:normal}.zone-bottom .round-arrow{bottom:3px;right:0}.zone-bottom>h3{margin:8px 0 3px}.zone-line-art{inset:20px 20px 30px}.records-grid{gap:30px 14px}.record-card h3{font:var(--body);letter-spacing:var(--body-spacing)}.record-card>p{display:none}.record-meta{margin:12px 0 7px;flex-wrap:wrap;gap:3px 8px}.file-count{bottom:7px;right:7px;padding:1px 6px}.empty-state{padding:42px 12px}.empty-state p{font:var(--body-small);letter-spacing:var(--body-small-spacing)}.invitation-inner{grid-template-columns:1fr;gap:28px;padding-block:48px}.invitation-action{gap:14px}.invitation-action .caption{max-width:none}.invitation-inner p{font:var(--body-small);letter-spacing:var(--body-small-spacing)}.welcome-note{padding:30px 0 0 42px}.quote-mark{left:0;top:25px}.footer-top{padding-bottom:28px;gap:20px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:14px}.footer-bottom nav{flex-wrap:wrap;gap:14px}.site-footer{padding-top:36px}.page-heading{padding:44px 0 38px}.collection-body{padding-block:30px 65px}.zone-tabs{gap:0;overflow-x:auto;overflow-y:hidden;justify-content:flex-start}.zone-tabs>a{padding:13px 4px;min-width:0;min-height:65px;flex:1}.zone-tabs .caption{display:none}.archive-search.compact{margin-bottom:24px}.results-toolbar{gap:12px;align-items:flex-start;margin:25px 0;flex-wrap:wrap}.sort-form{gap:6px;margin-left:auto}.sort-form select{padding-right:23px;max-width:145px}.account-screen{padding-block:48px 70px;gap:32px}.account-panel{padding-top:24px}.portal-form{gap:19px}.form-row,.comment-form .form-row{grid-template-columns:1fr}.portal-form .form-row{gap:19px}.form-footer{align-items:stretch;flex-direction:column}.form-footer>.button{width:100%}.form-footer>.text-link{justify-content:center}.donation-consent{padding:21px}.file-drop{padding:28px 15px}.selected-files{grid-template-columns:repeat(2,1fr)}.form-section-heading{gap:11px}.form-section-heading .subheading{font:var(--body);letter-spacing:var(--body-spacing)}.own-actions{align-items:flex-start;flex-direction:column;gap:4px}.own-actions .text-link{min-height:34px}.detail-heading{display:block;margin:8px 0 30px}.detail-heading>.button{margin-top:20px}.detail-layout{gap:32px}.breadcrumb{padding-top:24px}.record-facts>div{grid-template-columns:95px 1fr;gap:12px}.comments-section{margin-top:50px;padding-top:35px}.comment-form{padding:21px}.guest-message{gap:13px;padding:23px 0}.guest-avatar{width:34px;height:34px;flex-basis:34px}.guest-heading{flex-wrap:wrap;gap:4px 9px}.guest-heading time{flex-basis:100%;margin-left:0}.comment-actions{gap:8px;flex-wrap:wrap}.comment-actions .reply-button{margin-left:auto}.comment-replies{padding-left:25px}.comment-replies .guest-message{padding-right:10px}.reactions button{padding:5px 8px;min-height:36px}.comments-section>.section-heading>span{margin-left:0}.about-intro{gap:30px}.prose ol{padding-left:24px}.event-row{gap:15px}.event-row>div{max-width:calc(100% - 60px)}.toast{bottom:20px}.pagination{gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* The 28th cohort emblem uses its complete ring and transparent padding. */
.brand-emblem.cohort-emblem{width:54px;height:54px}.brand-emblem.cohort-emblem img{position:absolute;max-width:none;width:106px;height:60px;left:-26px;top:-3px}
@media(max-width:600px){.brand-emblem.cohort-emblem{width:42px;height:42px}.brand-emblem.cohort-emblem img{width:84px;height:48px;left:-21px;top:-3px}}

.r28-welcome-popup{padding:35px 30px;background:var(--paper);text-align:left}.r28-welcome-popup h2{font:var(--section-title);letter-spacing:var(--section-title-spacing);color:var(--navy)}.r28-welcome-popup>p:last-child{font:var(--body-small);letter-spacing:var(--body-small-spacing);margin-top:22px;color:var(--muted)}.reactions button{min-height:44px}@media(max-width:600px){.r28-welcome-popup{padding:27px 22px}.reactions button{min-height:44px}}

/* Main carousel: existing type and colour tokens, shared across every slide. */
.hero-slides{display:grid;touch-action:pan-y}.hero-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transform:translateX(28px);transition:opacity .55s ease,transform .65s ease,visibility .65s;pointer-events:none}.hero-slide.is-active{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}.hero-carousel .hero-layout{padding-bottom:24px}.hero .hero-title{font:var(--display);letter-spacing:var(--display-spacing);color:var(--navy);margin-left:-4px}.hero-title em{font-style:normal;color:var(--gold)}.hero-carousel .hero-copy>*,.hero-carousel .hero-visual{animation:none}.hero-slide.is-active .hero-copy>*,.hero-slide.is-active .hero-visual{animation:rise-in .8s ease-out both}.hero-slide.is-active .hero-title{animation-delay:.08s}.hero-slide.is-active .hero-description{animation-delay:.16s}.hero-slide.is-active .hero-button{animation-delay:.22s}.hero-slide .hero-image-frame>img{animation:none}.hero-slide.is-active .hero-image-frame>img{animation:gallery-enter 6s ease-out both}.hero-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:26px}.hero-pagination{display:flex;align-items:center;gap:5px}.hero-pagination button{min-width:48px;min-height:44px;padding:14px 4px;display:grid;align-items:center}.hero-pagination button span{height:2px;background:#c7c1b4;display:block;transition:background .2s}.hero-pagination button[aria-current=true] span{background:var(--navy);height:3px}.hero-navigation{display:flex;align-items:center;gap:10px}.hero-count{display:flex;align-items:center;gap:10px;margin-right:13px;font:var(--caption);letter-spacing:var(--caption-spacing);font-variant-numeric:tabular-nums;color:var(--muted)}.hero-count strong{font:var(--label);letter-spacing:var(--label-spacing);color:var(--navy)}.hero-navigation button{height:44px;width:44px;display:grid;place-items:center;border:1px solid #b8b5a9;border-radius:50%;color:var(--navy)}.hero-navigation button:hover{background:var(--white)}.hero-navigation [data-hero-prev] .icon{transform:rotate(180deg)}.banner-chapters{display:grid;grid-template-columns:1fr 1fr;gap:2px;height:100%;padding:30px;background:#dedbcd}.banner-chapter{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:26px 24px;position:relative;overflow:hidden}.banner-chapter:after{content:'';position:absolute;inset:12px;border:1px solid currentColor;opacity:.22;pointer-events:none}.banner-chapter strong{font:var(--section-title);letter-spacing:var(--section-title-spacing)}.banner-chapter.zone-roots{background:var(--blue)}.banner-chapter.zone-devotion{background:var(--olive)}.banner-chapter.zone-leaders{background:#e9e3d4;color:var(--navy)}.banner-chapter.zone-together{background:var(--green)}.banner-memory{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:34px 26px;color:var(--paper);background:var(--navy);text-align:center;gap:22px}.memory-frame{position:relative;width:85%;padding:50px 18px;border:1px solid #c9b07c;display:flex;flex-direction:column;align-items:center;gap:25px}.memory-frame:before{content:'';position:absolute;inset:8px -10px -8px 10px;border:1px solid #c9b07c55;pointer-events:none}.memory-frame>.icon{height:40px;width:40px;flex-basis:40px;color:#c9b07c}.memory-frame p{font:var(--section-title);letter-spacing:var(--section-title-spacing)}.memory-frame .caption{color:#ddd8ca}
@media(max-width:900px){.banner-chapters{padding:15px}.banner-chapter{padding:21px 16px;gap:16px}.banner-memory{padding:25px 18px}.memory-frame{padding:35px 12px;width:92%;gap:16px}}
@media(max-width:600px){.hero-carousel .hero-layout{padding-bottom:14px}.hero-controls{padding-bottom:25px;gap:10px}.hero-pagination button{min-width:35px}.hero-navigation{gap:7px}.hero-count{margin-right:4px;gap:6px}.banner-chapters{padding:13px;gap:3px}.banner-chapter{padding:13px 14px;gap:5px}.banner-chapter:after{inset:6px}.banner-chapter strong{font:var(--subheading);letter-spacing:var(--subheading-spacing)}.banner-chapter>.caption:first-child{display:none}.banner-memory{padding:19px 15px;gap:12px}.banner-memory>.caption:last-child{display:none}.memory-frame{width:88%;padding:16px 12px;gap:10px}.memory-frame>.icon{width:26px;height:26px;flex-basis:26px}.memory-frame p{font:var(--subheading);letter-spacing:var(--subheading-spacing)}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-slide.is-active .hero-copy>*,.hero-slide.is-active .hero-visual,.hero-slide.is-active .hero-image-frame>img{animation:none}}

/* Stable exhibition hit areas: only the content moves, so hover cannot oscillate. */
.zone-bottom,.zone-line-art{transition:transform .4s cubic-bezier(.2,.65,.3,1)}
.zone-bottom .round-arrow{transition:background-color .3s ease}
@media(hover:hover) and (pointer:fine){.zone-door:hover .zone-bottom{transform:translateY(-4px)}.zone-door:hover .zone-line-art{transform:translateY(-3px)}.zone-door:hover .round-arrow{background:#ffffff18}}
.zone-door:focus-visible .zone-bottom{transform:translateY(-4px)}
/* Native modal dialog supplies focus containment and an inert background. */
dialog.mobile-nav{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:min(360px,calc(100% - 38px));max-width:none;height:100dvh;max-height:none;background:var(--white);color:var(--navy);overflow:hidden;transform:translateX(100%);transition:transform .32s cubic-bezier(.22,.7,.25,1);box-shadow:-12px 0 40px #0002}
dialog.mobile-nav[open]{display:flex;flex-direction:column}
dialog.mobile-nav::backdrop{background:#111c2c00;transition:background-color .32s ease}
dialog.mobile-nav.is-open{transform:translateX(0)}
dialog.mobile-nav.is-open::backdrop{background:#111c2c80}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--line);flex-shrink:0}
.mobile-nav-close{width:44px;height:44px;display:grid;place-items:center}
.mobile-nav-scroll{padding:10px 24px 24px;overflow-y:auto;overscroll-behavior:contain;flex:1}
.mobile-nav-main>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);font:var(--subheading);letter-spacing:var(--subheading-spacing)}
.mobile-nav-main>a>.icon{width:18px;height:18px;flex-basis:18px}
.mobile-zones{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:14px 0;border-bottom:1px solid var(--line)}
.mobile-zones>a{display:flex;gap:12px;align-items:center;padding:10px 0;min-height:44px;font:var(--label);letter-spacing:var(--label-spacing)}
.mobile-zones .caption{color:var(--gold)}
.mobile-nav-account{padding-top:28px}.mobile-nav-account>p{color:var(--muted);margin-bottom:16px}
.mobile-account-links{display:flex;justify-content:center;gap:28px;margin-top:12px;font:var(--label);letter-spacing:var(--label-spacing)}.mobile-account-links>a{display:flex;align-items:center;min-height:44px}
.mobile-nav-foot{padding:15px 24px calc(15px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);flex-shrink:0}
@media(min-width:901px){dialog.mobile-nav[open]{display:none}}
@media(prefers-reduced-motion:reduce){.zone-bottom,.zone-line-art,dialog.mobile-nav,dialog.mobile-nav::backdrop{transition:none}.zone-door:hover .zone-bottom,.zone-door:hover .zone-line-art,.zone-door:focus-visible .zone-bottom{transform:none}}

/* Beta usability revisions */
.event-row{color:inherit;text-decoration:none}.event-row:focus-visible{outline:2px solid var(--navy);outline-offset:6px}.event-row:hover h2{text-decoration:underline;text-underline-offset:5px}.reply-context{font:var(--body-small);color:var(--muted)}.comment-form.is-inline-reply{margin:0 0 28px 56px}.password-help{margin-top:20px;color:var(--muted)}@media(max-width:600px){.comment-form.is-inline-reply{margin-left:0}}

/* Gold accent sampled from the supplied ROTC symbol reference; dark text retained for contrast. */
:root{--rotc-gold:#c1ae8b}.zone-door.zone-leaders{box-shadow:inset 0 4px 0 var(--rotc-gold)}.zone-door.zone-leaders .round-arrow{background:var(--rotc-gold);border-color:var(--rotc-gold);color:var(--navy)}.collection-heading.zone-leaders{border-bottom:4px solid var(--rotc-gold)}.account-panel p{word-break:keep-all;overflow-wrap:break-word}
