/* 본문 글꼴 Pretendard 선언은 fonts/pretendard.css 로 분리 - 첫 화면을 막지 않게 늦게 불러온다(2026-10-14 모바일 PSI) */
.product-grid:has(.item-preview){align-items:start}.product-card:has(.item-preview){cursor:default}.stack-form .product-choice{display:flex;flex-direction:column;gap:13px;cursor:pointer}.product-choice>input{position:absolute;top:15px;left:15px;margin-top:0!important}.product-choice>strong{font-size:16px}.product-choice>span:not(.product-art){font-size:12px;color:var(--muted);font-weight:400}.product-choice>b{font-size:20px;font-weight:500}.item-preview{width:100%;margin-top:4px;text-align:center}.item-preview summary{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;min-height:44px;list-style:none;cursor:pointer;font-size:12px;line-height:1.6}.item-preview summary::-webkit-details-marker{display:none}.preview-period{color:var(--muted)}.preview-divider{color:var(--line)}.preview-toggle{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:600;white-space:nowrap}.preview-toggle svg.lucide{width:14px;height:14px;transition:transform .18s ease}.item-preview[open] .preview-toggle svg{transform:rotate(180deg)}.item-preview-content{margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.preview-heading{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:12px;font-size:11px;color:var(--muted)}.preview-badge{border:1px solid #dcd5c1;border-radius:3px;padding:0 5px;font-size:10px}.item-preview-stage{padding:20px 10px;background:var(--sand);border-radius:6px;text-align:center}.item-preview-stage .garden-item{margin:0}.item-preview-stage .candle-tribute{padding:0;border:0;background:transparent}.item-preview-stage .offering-image{width:100px;height:100px;margin:0 auto 14px;object-fit:contain;mix-blend-mode:normal}.item-preview-stage .candle-tribute p{font-size:13px}.item-preview-content .preview-caption{margin-top:12px;font-size:12px;line-height:1.8;color:var(--muted);font-weight:400}.item-preview-content .preview-example-note{display:block;margin-top:7px;font-size:10px;color:var(--muted)}.free-candle-copy .item-preview{max-width:360px;text-align:left}.free-candle-copy .item-preview summary{justify-content:flex-start}@media(max-width:767px){.product-choice>strong{font-size:15px}.product-choice>span:not(.product-art){font-size:11px}.product-choice>b{font-size:19px}.item-preview summary{font-size:11px;gap:4px}.item-preview-stage{padding:16px 7px}.free-candle-copy .item-preview{text-align:center;margin-inline:auto}.free-candle-copy .item-preview summary{justify-content:center}}
.free-candle-card{display:flex;align-items:center;gap:30px;padding:34px;background:#f3f0e5;border:1px solid #dcd5c1;border-radius:12px;margin-bottom:45px}.candle-symbol{width:144px;height:144px;flex-shrink:0}.candle-symbol .offering-image{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.free-candle-copy{flex:1}.free-candle-copy .eyebrow{margin-bottom:8px}.free-candle-copy h2{font-size:25px;margin-bottom:10px}.free-candle-copy small,.free-candle-action small{display:block;color:var(--muted);font-size:12px;margin-top:10px}.candle-preview{margin-top:12px;font-size:15px;color:var(--green)}.free-candle-action{text-align:center}.paid-offerings-heading{font-size:23px;margin-bottom:25px}.catalog-grid.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.candle-art{color:#a27b3e}.candle-tributes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.candle-tribute{padding:22px 15px;border:1px solid #e8dfc9;border-radius:8px;background:#fffdf6;text-align:center}.candle-tribute .offering-image{width:64px;height:64px;object-fit:contain;margin:0 auto 10px;mix-blend-mode:normal}.remembrance-garden>.offering-image{width:100px;height:100px;object-fit:contain;margin:0 auto 18px;mix-blend-mode:normal}.candle-tribute p{font-size:14px}.candle-tribute small{color:var(--muted);font-size:11px}.free-candle-card .badge-soft{vertical-align:middle;font:12px var(--font);margin-left:8px}@media(max-width:767px){.free-candle-card{flex-direction:column;padding:26px 20px;gap:20px;text-align:center}.free-candle-copy h2{font-size:23px}.free-candle-action,.free-candle-action button{width:100%}.free-candle-copy p{font-size:14px}.catalog-grid.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candle-tributes{grid-template-columns:1fr}.candle-tribute{padding:18px}.catalog-grid .text-link{font-size:12px}.candle-symbol{width:128px;height:128px}}
.product-art{overflow:hidden;flex-shrink:0}.product-art .offering-image{height:100%;width:auto;max-width:100%;min-height:0;object-fit:contain;mix-blend-mode:normal}.garden-item .offering-image{height:100px;width:100px;object-fit:contain;margin:0 auto 14px;mix-blend-mode:normal}.price-action>small{display:block;font-size:12px;margin-top:6px}
:root{--paper:#f8f7f3;--white:#fff;--ink:#273e35;--muted:#69736b;--green:#284a3e;--green-dark:#1d392f;--sage:#e8ece5;--line:#dce0d6;--gold:#9b835b;--sand:#f0eee6;--error:#a13d34;--error-bg:#fff0eb;--warning:#7c652c;--warning-bg:#faf2d9;--radius:8px;--radius-sm:4px;--serif:'Noto Serif KR',serif;--font:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--space:24px;--max:1160px;--text-base:16px;--text-sm:14px;--shadow:0 12px 36px #1832250c}
*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:var(--text-base)/1.75 var(--font);word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg.lucide{width:20px;height:20px;stroke-width:1.5;flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2{letter-spacing:-.055em;line-height:1.5}h1{font-family:var(--serif);font-size:40px;font-weight:400}h2{font-size:28px;font-weight:550}h3{font-size:20px;line-height:1.5;font-weight:550}h4{font-size:17px}p{line-height:1.85}small,.small-text{font-size:var(--text-sm)}hr{border:0;border-top:1px solid var(--line);margin:28px 0}button:disabled{opacity:.5;cursor:not-allowed}input:focus,textarea:focus,select:focus{outline:2px solid var(--green);outline-offset:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.shell{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.muted,.form-help{color:var(--muted)}.serif{font-family:var(--serif)}.eyebrow{font-size:13px;font-weight:600;letter-spacing:.13em;color:var(--gold);margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 25px;background:var(--green);color:var(--white);border:1px solid var(--green);border-radius:var(--radius-sm);font-size:15px;font-weight:550;line-height:1.5;white-space:nowrap}.button:hover{background:var(--green-dark);color:var(--white)}.button-outline{background:transparent;color:var(--green);border-color:var(--line)}.button-outline:hover{background:var(--sage);color:var(--green)}.button-small{min-height:44px;padding:10px 16px;gap:12px}.button-full{width:100%}.button-danger{background:var(--error);border-color:var(--error)}.button-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:550}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:0;background:transparent;color:var(--ink);border-radius:var(--radius-sm)}.skip-link{position:fixed;z-index:100;left:15px;top:-100px;background:var(--green);color:var(--white);padding:12px}.skip-link:focus{top:10px}.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}.site-header{height:100px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}.brand{display:inline-flex;align-items:center;gap:9px;font-family:Georgia,serif;font-size:39px;letter-spacing:-2px;line-height:1}.brand-symbol{display:grid;place-items:center}.brand-symbol svg{width:30px;height:34px;stroke-width:1.2}.brand small{font:11px var(--font);letter-spacing:.03em;margin-left:12px;color:var(--muted);white-space:nowrap}.brand-period{color:var(--gold)}.main-nav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:500}.main-nav>a:not(.button){padding-block:12px}.main-nav form{margin:0}.nav-link-button{border:0;background:transparent;padding:12px 0;color:var(--muted);font-size:13px}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;min-height:690px;padding-top:40px;padding-bottom:46px}.hero-copy{padding-bottom:8px}.hero .eyebrow{font-size:13px;margin-bottom:31px}.hero h1{font-size:65px;line-height:1.48;letter-spacing:-.07em}.hero-dot{color:var(--gold)}.hero-description{margin:27px 0 37px;font-size:17px;color:var(--muted);letter-spacing:-.03em}.hero-image{height:567px;position:relative;border-radius:220px 220px 6px 6px;overflow:hidden}.hero-image>picture{display:block;width:100%;height:100%}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:48% 50%;filter:brightness(.83) saturate(.7)}.hero-image-caption{position:absolute;bottom:36px;left:36px;color:var(--white)}.hero-image-caption>span{display:block;font:24px var(--serif);letter-spacing:-.06em;margin-bottom:15px}.hero-image-caption>small{font-size:9px;letter-spacing:.18em;opacity:.8}.intro-section{text-align:center;padding:52px 0 54px;border-top:1px solid var(--line)}.intro-section h2{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.7}.intro-section>p:not(.eyebrow){color:var(--muted);margin-top:25px}.memory-features{display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px}.memory-features article{padding:0 25px;border-right:1px solid var(--line)}.memory-features article:last-child{border:0}.memory-features svg{width:32px;height:32px;color:var(--gold);margin-bottom:20px;stroke-width:1.2}.memory-features h3{margin-bottom:12px}.memory-features p{font-size:15px;color:var(--muted)}.sample-section{background:var(--sage);padding:40px 0}.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px;align-items:center}.sample-photo{height:470px;position:relative;overflow:hidden;border-radius:var(--radius-sm)}.sample-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(.7)}.photo-word{position:absolute;top:40px;left:40px;font:42px/1.65 var(--serif);color:var(--white)}.sample-copy h2{font:37px/1.65 var(--serif);margin-bottom:23px}.sample-copy>p:not(.eyebrow){color:var(--muted);font-size:15px}.plain-checks{list-style:none;padding:0;margin:27px 0}.plain-checks li{display:flex;gap:10px;align-items:center;font-size:15px;margin:12px 0}.plain-checks svg{width:17px;height:17px;color:var(--gold)}.steps-section{padding:55px 0}.section-heading h2{font-family:var(--serif);font-weight:400;font-size:33px}.section-heading>p:not(.eyebrow){color:var(--muted);margin-top:18px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:52px}.steps-grid article{border-top:1px solid var(--line);padding-top:22px}.step-index{font:22px Georgia,serif;color:var(--gold)}.steps-grid h3{font-size:19px;margin:18px 0 10px}.steps-grid p{font-size:15px;color:var(--muted)}.pricing-strip{padding:29px 0;background:var(--green);color:var(--white)}.pricing-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.pricing-strip .eyebrow{color:#c5b392;margin-bottom:15px}.pricing-strip h2{font:28px var(--serif);margin-bottom:18px}.pricing-strip p:not(.eyebrow){color:#d1dace;font-size:15px}.price-action{text-align:right;flex-shrink:0}.price-action strong{display:block;font-size:38px;font-weight:450}.price-action>span{display:block;font-size:13px;opacity:.7}.price-action>a{margin-top:12px;color:var(--white)}.faq-section{display:grid;grid-template-columns:1fr 1.65fr;gap:80px;padding:55px 0}.faq-section h2{font:33px var(--serif);margin-bottom:28px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 0}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary svg{transform:rotate(45deg)}.faq-list details p{font-size:15px;color:var(--muted);padding-bottom:24px}.closing-section{text-align:center;background:var(--sand);padding:38px 24px 43px}.closing-section h2{font:35px/1.7 var(--serif);margin-bottom:32px}.site-footer{background:var(--paper);padding:55px 0 28px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:40px}.footer-top p{font-size:14px;color:var(--muted);margin-top:17px}.footer-heading{margin:4px 0 18px;color:var(--gold);font:700 14px/1.5 var(--font);letter-spacing:.02em}.footer-links ul{display:grid;gap:12px;margin:0;padding:0;list-style:none;font-size:14px}.footer-links a{position:relative;display:inline-block;padding-block:2px;color:var(--ink);text-decoration:none;transition:color .3s ease,transform .3s cubic-bezier(.2,.7,.2,1)}.footer-links a::before{content:'';position:absolute;left:-14px;top:50%;width:9px;height:1.5px;border-radius:1px;background:var(--gold);opacity:0;transform:translateX(-6px);transition:opacity .3s ease,transform .3s cubic-bezier(.2,.7,.2,1)}.footer-links a:hover,.footer-links a:focus-visible{color:var(--green-dark);text-decoration:none;transform:translateX(10px)}.footer-links a:hover::before,.footer-links a:focus-visible::before{opacity:1;transform:none}.footer-top .footer-tagline{color:var(--ink);font-size:15px;line-height:1.75}.footer-top .footer-note{max-width:420px;margin-top:12px;font-size:13px;line-height:1.8}.footer-company{display:flex;flex-wrap:wrap;gap:2px 18px}.footer-company a{color:var(--ink)}.footer-company a{text-decoration:none;transition:color .3s ease}.footer-company a:hover,.footer-company a:focus-visible{color:var(--gold);text-decoration:none}@media(prefers-reduced-motion:reduce){.footer-links a,.footer-links a::before{transition:none}.footer-links a:hover,.footer-links a:focus-visible{transform:none}}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;color:var(--muted)}.footer-bottom p{margin:0;font-size:12px;line-height:1.9}.footer-company>span{white-space:nowrap}.footer-company a.footer-company-name{font-weight:600}.footer-top .footer-updated{margin-top:14px}.footer-updated .page-updated{margin-top:0}.page-main{padding-top:62px;padding-bottom:100px;min-height:65vh}.page-heading{margin-bottom:44px}.page-heading .eyebrow{margin-bottom:16px}.page-heading h1{font-size:38px;margin-bottom:18px}.page-heading>p:not(.eyebrow){color:var(--muted)}.centered{text-align:center}.panel{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.panel h2{font-size:23px}.panel+.panel{margin-top:24px}.narrow-panel{max-width:660px;margin-inline:auto}.stack-form{display:flex;flex-direction:column;gap:24px}.stack-form label{display:block;font-size:15px;font-weight:500}.stack-form label>input,.stack-form label>textarea,.stack-form label>select{margin-top:9px}.stack-form label small{display:block;color:var(--muted);font-weight:400;font-size:12px;margin-top:9px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{display:block;width:100%;min-height:49px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:var(--white);font-size:16px;line-height:1.5}input::placeholder,textarea::placeholder{color:#889087;font-size:14px}input[type=file]{padding:9px!important}textarea{resize:vertical}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:19px;height:19px;flex-shrink:0}.check-label{display:flex!important;align-items:center;gap:9px;font-size:14px!important;font-weight:400!important;line-height:1.8}.check-label a{text-decoration:underline}.check-label small{margin:0!important}.password-field{position:relative;display:block;margin-top:9px}.password-field input{padding-right:54px!important}.password-field button{position:absolute;right:0;top:0;bottom:0;width:48px;border:0;background:transparent;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-help{font-size:13px}.form-help a{text-decoration:underline}.required{color:var(--error)}.notice{background:var(--sage);padding:15px 20px;border-radius:var(--radius-sm);font-size:14px}.notice-error{background:var(--error-bg);color:var(--error)}.notice-warning{background:var(--warning-bg);color:var(--warning)}.flash-stack{padding-top:20px;display:grid;gap:10px}.error-text{color:var(--error)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.auth-shell{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding:65px 40px 90px}.auth-aside{position:relative;min-height:630px;background:var(--green);padding:45px;color:var(--white);border-radius:var(--radius);overflow:hidden}.auth-aside>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.6);z-index:0}.auth-aside>h2,.auth-aside>p{position:relative;z-index:1}.auth-aside .eyebrow{color:#d3c6ab}.auth-aside h2{font:27px/1.8 var(--serif);margin-bottom:25px}.auth-aside p:not(.eyebrow){font-size:15px;color:#e1e6dd}.auth-panel{padding:10px 0}.auth-panel h1{font-size:30px;margin:26px 0 12px}.auth-panel>p{font-size:14px}.auth-panel form{margin-top:30px}.auth-links{display:flex;justify-content:center;gap:26px;font-size:13px;margin-top:20px}.auth-bottom{text-align:center;border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.auth-bottom a{text-decoration:underline;margin-left:7px}.consent-group{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:23px}.form-page{padding-top:60px;padding-bottom:90px}.wizard-steps{display:flex;list-style:none;padding:0;margin:0 0 35px;border-bottom:1px solid var(--line);gap:40px;color:var(--muted);font-size:14px}.wizard-steps li{padding:0 0 15px}.wizard-steps .active{color:var(--green);border-bottom:2px solid var(--green)}.form-with-aside{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:65px}.help-aside{padding:25px 0}.help-icon{width:55px;height:55px;display:grid;place-items:center;background:var(--sage);border-radius:50%;margin-bottom:23px}.help-aside h3{font:22px/1.65 var(--serif);margin-bottom:17px}.help-aside p{font-size:14px;color:var(--muted);margin:13px 0}.upload-preview{width:160px;height:190px;object-fit:cover;border-radius:var(--radius-sm)}.compact{margin-bottom:0}.compact p{font-size:13px}.compact h2{font:23px var(--font)}.search-form{display:flex;gap:16px;align-items:center;max-width:670px;margin:30px auto 50px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 8px 8px 22px}.search-form input{border:0!important;padding:8px!important}.search-form .button{min-height:45px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px;margin-bottom:35px}.tabs{display:flex;gap:28px;overflow:auto}.tabs a{padding:14px 0;white-space:nowrap;font-size:15px;color:var(--muted)}.tabs a.active{border-bottom:2px solid var(--green);color:var(--green);font-weight:600}.list-toolbar>span{font-size:13px}.empty-state{text-align:center;padding:65px 20px}.empty-state>svg{width:42px;height:42px;color:var(--gold);margin-bottom:23px}.empty-state h2{font:24px/1.6 var(--serif);margin-bottom:15px}.empty-state p{color:var(--muted);font-size:15px;margin-bottom:18px}.memorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.memorial-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.memorial-card-photo{height:270px;background:var(--sage);display:grid;place-items:center;overflow:hidden;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.memorial-card-photo img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}.memorial-card-photo>svg{width:60px;height:60px;color:var(--gold)}.memorial-card-body{padding:26px}.memorial-card-body h2{font:25px var(--serif)}.memorial-card-body h2 small{font-size:15px;color:var(--muted)}.memorial-card-body p:not(.date-line){font-size:14px;margin:15px 0}.date-line{font-size:13px;letter-spacing:.06em;color:var(--muted);margin-top:12px}.badge-soft{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:var(--sage);color:var(--green);padding:4px 9px;border-radius:3px;margin-bottom:12px}.badge-soft svg{width:14px;height:14px}.official-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.official-badges .badge-soft{margin-bottom:0}.badge-tribute{background:#f3ede2;color:#6f5a35}.memorial-hero .official-badges{justify-content:center}.pagination{display:flex;justify-content:center;gap:8px;margin-top:35px}.pagination a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:4px}.pagination a[aria-current]{background:var(--green);color:var(--white)}.account-tabs{margin-bottom:36px;border-bottom:1px solid var(--line)}.page-heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:500;color:var(--muted);background:var(--paper);padding:13px 16px;white-space:nowrap}td{padding:17px 16px;border-bottom:1px solid var(--line);vertical-align:middle}td .text-link{font-size:13px}td small{color:var(--muted)}.summary-list{margin:0 0 25px}.summary-list>div{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--line)}.summary-list dt{font-weight:400;color:var(--muted);flex-shrink:0}.summary-list dd{margin:0;text-align:right}.summary-total dd{font-size:27px;font-weight:600}.summary-total dt{align-self:center}.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.product-card{padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);text-align:center;cursor:pointer;position:relative;display:flex!important;flex-direction:column;gap:13px}.product-card:has(input:checked){border:2px solid var(--green);padding:19px;background:#f1f5ee}.product-card>input{position:absolute;top:15px;left:15px}.product-art{display:grid;place-items:center;height:130px}.product-art svg{width:70px;height:80px;stroke-width:.8;color:var(--gold)}.product-card>span:not(.product-art){font-size:12px;color:var(--muted);font-weight:400}.product-card>strong{font-size:16px}.product-card>b{font-size:20px;font-weight:500}.product-card>small{font-size:12px;color:var(--muted);margin:0!important}.tribute-list article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.tribute-list article>div:first-child{width:50px;height:50px;background:var(--sage);border-radius:50%;display:grid;place-items:center}.tribute-list h2{font-size:18px;margin-bottom:8px}.tribute-list h2 small{font-size:12px;margin-left:8px;color:var(--muted)}.tribute-list p{margin-bottom:10px}.tribute-list small{color:var(--muted);font-size:12px}.memorial-hero{text-align:center;padding:55px 20px 50px;background:var(--sand);position:relative}.portrait-frame{width:155px;height:195px;margin:0 auto 24px;padding:8px;border:1px solid #b7ad99;background:var(--white)}.portrait-frame img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{height:100%;display:grid;place-items:center;background:var(--sage);font:38px var(--serif)}.memorial-hero h1{font-size:36px}.memorial-hero h1 small{font-size:17px;color:var(--gold);margin-right:6px}.memorial-hero .tagline{font:17px/1.8 var(--serif);margin:22px 0 27px}.memorial-hero .button-row{justify-content:center;gap:12px}.memorial-nav{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.memorial-nav>div{display:flex;justify-content:center;gap:32px;overflow:auto}.memorial-nav a{white-space:nowrap;font-size:14px;min-height:58px;display:flex;align-items:center}.memorial-content{max-width:850px}.memorial-section{padding:62px 0;border-bottom:1px solid var(--line)}.memorial-section h2{font:29px var(--serif);margin-bottom:28px}.prose{white-space:pre-line;color:var(--muted);line-height:2}.memorial-quote{font:23px/1.9 var(--serif);text-align:center;padding:20px 25px 40px;color:var(--green)}.timeline{margin-top:30px}.timeline article{display:grid;grid-template-columns:100px 1fr;gap:28px;padding-bottom:35px;position:relative}.timeline article:before{content:'';position:absolute;left:116px;top:12px;bottom:-10px;width:1px;background:var(--line)}.timeline article:last-child:before{bottom:40px}.timeline time{font:19px Georgia,serif;color:var(--gold);padding-top:4px}.timeline h3{font-size:19px;margin-bottom:10px}.timeline p{color:var(--muted);font-size:15px;white-space:pre-line}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-grid button{padding:0;border:0;background:transparent;text-align:left}.photo-grid img{width:100%;height:200px;object-fit:cover;border-radius:var(--radius-sm)}.photo-grid small{display:block;margin-top:8px;color:var(--muted);font-size:12px}.remembrance-garden{background:var(--sand);border-radius:var(--radius);padding:30px;text-align:center}.remembrance-garden>svg{width:45px;height:45px;color:var(--gold);margin-bottom:15px}.garden-items{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}.garden-item svg{width:38px;height:45px;color:var(--gold);margin-bottom:10px}.garden-item strong{display:block;font-size:14px}.garden-item p{font-size:12px;color:var(--muted)}.garden-item small{font-size:11px;color:var(--muted)}.message-card{padding:27px 0;border-bottom:1px solid var(--line)}.message-card header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.message-card header strong{font-weight:550}.message-card header span{font-size:12px;color:var(--muted);margin-left:8px}.message-card p{white-space:pre-line;font-size:15px}.message-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:var(--muted);font-size:12px}.message-card footer button{border:0;background:transparent;color:var(--muted);min-height:44px;font-size:12px}.message-form{margin-top:30px}.qr-section{display:flex;align-items:center;gap:40px}.qr-section canvas{width:160px!important;height:160px!important;background:var(--white);padding:10px}.qr-section h3{margin-bottom:12px}.qr-section p{font-size:14px;color:var(--muted);margin-bottom:15px}.lightbox{border:0;border-radius:var(--radius);padding:50px 20px 20px;max-width:95vw;max-height:95vh;background:var(--paper)}.lightbox::backdrop{background:#14291ed9}.lightbox>.icon-button{position:absolute;right:8px;top:5px}.lightbox img{max-height:75vh;object-fit:contain;margin:auto}.lightbox p{text-align:center;margin-top:10px}.toast-message{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:var(--white);padding:13px 23px;border-radius:var(--radius);z-index:100;max-width:90vw}.error-page{padding:100px 0 130px;min-height:60vh}.error-page p:not(.eyebrow){margin:25px 0}.content-page{max-width:760px}.content-page h2{font-size:23px;margin:42px 0 16px}.content-page h3{font-size:18px;margin:26px 0 12px}.content-page p,.content-page li{color:var(--muted);line-height:1.95}.content-page ul,.content-page ol{padding-left:22px}.content-page a{text-decoration:underline;text-underline-offset:4px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.guide-grid article{padding:30px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.guide-grid svg{color:var(--gold);width:30px;height:30px;margin-bottom:20px}.guide-grid h2{font-size:20px;margin-bottom:13px}.guide-grid p{font-size:14px;color:var(--muted)}.price-card{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;padding:45px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.price-card strong{font-size:44px;font-weight:500;display:block;margin:20px 0}.price-card ul{list-style:none;padding:0;margin:0}.price-card li{padding:13px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.manage-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px}.manage-nav{display:flex;flex-direction:column;gap:5px;align-self:start;position:sticky;top:25px}.manage-nav a{padding:12px 15px;color:var(--muted);font-size:14px;border-radius:var(--radius-sm)}.manage-nav a.active{background:var(--sage);color:var(--green);font-weight:600}.manage-photo{position:relative}.manage-photo form{margin-top:7px}.manage-photo button{font-size:12px;min-height:35px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}.metric{padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.metric span{font-size:13px;color:var(--muted)}.metric strong{display:block;font-size:30px;font-weight:500;margin-top:12px}.admin-shell{display:flex;min-height:100vh;background:var(--paper)}.admin-sidebar{width:230px;background:var(--green-dark);color:var(--white);position:fixed;inset:0 auto 0 0;padding:20px 18px;overflow:auto}.admin-sidebar .brand{color:var(--white);margin-bottom:16px}.admin-sidebar nav{display:flex;flex-direction:column;gap:1px}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;padding:4px 12px;font-size:14px;line-height:1.5;color:#c6d3c8;border-radius:var(--radius-sm)}.admin-sidebar nav a svg{flex:none;width:18px;height:18px}.admin-badge{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:999px;background:#d9a441;color:#1d2a22;font-size:12px;font-weight:700;line-height:1.5;text-align:center}.admin-sidebar nav a.active{background:#365145;color:var(--white)}.admin-sidebar-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 12px 0;border-top:1px solid #ffffff1f}.admin-sidebar .back-site{display:block;font-size:13px;color:#c6d3c8}.admin-sidebar-foot .nav-link-button{padding:8px 0;font-size:13px}.admin-main{margin-left:230px;flex:1;min-width:0;padding:35px 40px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;gap:15px}.admin-topbar h1{font:27px var(--font);font-weight:550}.admin-topbar>span{font-size:13px;color:var(--muted)}.admin-menu{display:none}.admin-filter{display:flex;gap:12px;margin-bottom:24px}.admin-filter input{max-width:340px}.admin-main .panel{padding:26px}.admin-main td form{display:inline-flex;gap:7px;align-items:center}.admin-main td select{min-height:40px;font-size:13px}.admin-main td button{min-height:40px;font-size:13px;padding:8px 12px}.admin-main table .code-text{font-family:monospace;font-size:12px;overflow-wrap:anywhere}.admin-main details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.admin-main details form{display:flex;flex-direction:column;margin:12px 0}.admin-main details textarea{min-width:180px}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form label{flex:1;min-width:140px}.subtle-heading{font-size:14px;color:var(--muted);font-weight:500;margin-bottom:20px}.danger-zone{border-color:#dcbab0}.example-banner{background:var(--sage);padding:13px 20px;text-align:center;font-size:13px}.example-banner a{text-decoration:underline;margin-left:12px}.album-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.album-filters button{min-height:40px;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--muted);padding:8px 16px;font-size:13px}.album-filters button.active{background:var(--green);color:var(--white)}
/* LG: navigation and columns */
@media(max-width:1199px){.brand small{display:none}.main-nav{gap:20px}.hero h1{font-size:56px}.hero{gap:35px}.sample-grid{gap:70px}.auth-shell{gap:70px}.product-grid{grid-template-columns:repeat(3,1fr)}}
/* MD: tablet */
@media(max-width:991px){.shell{width:calc(100% - 40px)}.site-header{height:80px}.mobile-menu{display:flex}.main-nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch;gap:8px}.main-nav.open{display:flex}.main-nav>a{padding:12px}.hero{min-height:580px;gap:28px;padding-top:30px}.hero h1{font-size:46px}.hero-description{font-size:15px}.hero-image{height:480px}.hero .button-row{gap:14px}.hero .button{font-size:14px;padding:13px 18px}.sample-grid{gap:40px}.sample-photo{height:420px}.sample-copy h2{font-size:30px}.faq-section{gap:35px}.footer-top{gap:32px 25px;grid-template-columns:repeat(3,minmax(0,1fr))}.footer-about{grid-column:1/-1}.auth-shell{gap:35px;padding-inline:0}.auth-aside{padding:30px}.auth-aside h2{font-size:23px}.form-with-aside{gap:35px;grid-template-columns:2fr 1fr}.manage-layout{grid-template-columns:160px minmax(0,1fr);gap:25px}.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-main{padding:25px;margin-left:210px}.admin-sidebar{width:210px}.memorial-grid{gap:18px}.memorial-card-photo{height:230px}}
/* SM: mobile */
@media(max-width:767px){h1{font-size:30px}.shell{width:calc(100% - 36px)}.brand{font-size:35px}.brand-symbol svg{width:25px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:44px;padding-bottom:44px;gap:35px}.hero-copy{padding:0 6px}.hero h1{font-size:46px;line-height:1.5}.hero .eyebrow{font-size:11px;margin-bottom:22px}.hero-description{font-size:15px;margin:20px 0 26px}.hero .button-row{gap:22px}.hero-image{display:none}.hero-image img{object-position:center 45%}.hero-image-caption{bottom:27px;left:28px}.hero-image-caption>span{font-size:21px}.intro-section{padding:30px 0}.intro-section h2{font-size:25px}.intro-section>p:not(.eyebrow){font-size:14px}.memory-features{grid-template-columns:1fr;text-align:left;gap:30px;margin-top:40px}.memory-features article{position:relative;border:0;padding-left:61px}.memory-features article svg{position:absolute;left:9px;top:3px;width:28px;height:28px}.memory-features h3{font-size:18px;margin-bottom:7px}.memory-features p{font-size:14px}.sample-section{padding:23px 0}.sample-grid{grid-template-columns:1fr;gap:35px}.sample-photo{height:300px}.photo-word{font-size:32px;left:28px;top:28px}.sample-copy{padding:0 8px}.sample-copy h2{font-size:29px}.steps-section{padding:30px 0}.section-heading h2{font-size:26px}.section-heading>p:not(.eyebrow){font-size:14px}.steps-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.steps-grid article{padding-left:48px;position:relative}.step-index{position:absolute;left:0;top:23px;font-size:19px}.steps-grid h3{margin:0 0 9px;font-size:18px}.pricing-strip{padding:20px 0}.pricing-strip-inner{flex-direction:column;align-items:start}.pricing-strip h2{font-size:24px;line-height:1.7}.price-action{text-align:left}.price-action strong{font-size:33px}.faq-section{grid-template-columns:1fr;gap:28px;padding:29px 0}.faq-section h2{font-size:27px;margin-bottom:14px}.faq-list summary{font-size:14px}.closing-section{padding:28px 18px}.closing-section h2{font-size:28px}.site-footer{padding-top:35px}.footer-top{gap:28px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.footer-links ul{gap:10px}.footer-top>.footer-links:nth-child(2){grid-row:span 2}.footer-heading{margin-bottom:12px}.footer-company{gap:0 14px}.footer-company>span{white-space:normal}.page-main,.form-page{padding-top:36px;padding-bottom:60px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:29px;margin-bottom:14px}.page-heading>p:not(.eyebrow){font-size:14px}.page-heading .eyebrow{font-size:11px}.page-heading-row{align-items:start;flex-direction:column;margin-bottom:24px}.page-heading-row .page-heading{margin:0}.panel{padding:23px 20px}.panel h2{font-size:21px}.auth-shell{display:block;padding:26px 5px 50px}.auth-aside{display:none}.auth-panel{max-width:440px;margin:auto}.auth-panel h1{font-size:29px}.form-grid{grid-template-columns:1fr;gap:22px}.form-with-aside{grid-template-columns:1fr;gap:20px}.help-aside{padding-inline:10px}.wizard-steps{gap:0;justify-content:space-between;font-size:11px}.search-form{padding:7px;gap:7px;margin:20px auto 30px}.search-form>svg{margin-left:6px;width:17px}.search-form input{font-size:15px}.search-form input::placeholder{font-size:12px}.search-form .button{padding:10px 15px}.list-toolbar{gap:10px}.list-toolbar .tabs{gap:20px}.list-toolbar .tabs a{font-size:13px}.list-toolbar>span{font-size:11px}.memorial-grid{grid-template-columns:1fr 1fr;gap:14px}.memorial-card-photo{height:205px}.memorial-card-body{padding:19px 14px}.memorial-card-body h2{font-size:21px}.memorial-card-body p:not(.date-line){font-size:13px}.memorial-card-body .date-line{font-size:10px}.memorial-card-body .text-link{font-size:12px}.empty-state{padding:50px 10px}.empty-state h2{font-size:21px}.empty-state p{font-size:14px}.account-tabs{gap:23px;margin-bottom:25px}.account-tabs a{font-size:13px}.product-grid{grid-template-columns:1fr 1fr;gap:12px}.product-card{padding:17px 12px}.product-card:has(input:checked){padding:16px 11px}.product-art{height:105px}.product-art svg{width:58px;height:65px}.product-card>strong{font-size:15px}.product-card>span:not(.product-art){font-size:11px}.product-card>b{font-size:19px}.summary-list{font-size:14px}.summary-list .summary-total dd{font-size:25px}.memorial-hero{padding:38px 18px}.portrait-frame{width:140px;height:175px}.memorial-hero h1{font-size:32px}.memorial-hero .tagline{font-size:15px}.memorial-nav>div{justify-content:flex-start;gap:26px}.memorial-nav a{font-size:13px;min-height:52px}.memorial-section{padding:40px 0}.memorial-section h2{font-size:26px}.memorial-quote{font-size:20px;padding-inline:12px}.timeline article{grid-template-columns:70px 1fr;gap:25px}.timeline article:before{left:80px}.timeline time{font-size:16px}.timeline h3{font-size:17px}.timeline p{font-size:14px}.photo-grid{grid-template-columns:repeat(2,1fr);gap:12px}.photo-grid img{height:160px}.garden-items{grid-template-columns:1fr 1fr}.remembrance-garden{padding:24px 15px}.qr-section{gap:20px;flex-direction:column;text-align:center}.qr-section .button-row{justify-content:center;gap:12px}.manage-layout{display:block}.manage-nav{position:static;flex-direction:row;overflow:auto;margin-bottom:25px;gap:5px}.manage-nav a{white-space:nowrap;padding:10px 14px;font-size:13px}.metric-grid{gap:12px}.metric{padding:17px}.metric strong{font-size:25px}.guide-grid{grid-template-columns:1fr}.price-card{grid-template-columns:1fr;padding:25px;gap:25px}.price-card strong{font-size:36px}.content-page h2{font-size:21px}.content-page p,.content-page li{font-size:15px}.admin-shell{flex-direction:column}.admin-sidebar{display:none;z-index:40;width:245px}.admin-sidebar.open{display:block}.admin-main{margin-left:0;padding:20px 16px}.admin-menu{display:flex}.admin-topbar{margin-bottom:25px}.admin-topbar h1{font-size:23px}.admin-topbar>span{display:none}.admin-main .panel{padding:16px}.admin-filter{flex-wrap:wrap}.admin-filter input{max-width:none}.responsive-table thead{display:none}.responsive-table tr{display:block;border-bottom:1px solid var(--line);padding:12px 0}.responsive-table td{display:flex;justify-content:space-between;gap:15px;border:0;padding:8px 0;align-items:start;text-align:right}.responsive-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;white-space:nowrap;text-align:left}.responsive-table td:last-child{justify-content:flex-end}.responsive-table td>form{flex-wrap:wrap}.admin-main td details{text-align:left}.error-page{padding:65px 0}.check-label{align-items:flex-start}.check-label input{margin-top:4px}.table-wrap:not(:has(.responsive-table)){margin-inline:-5px}.tribute-list article{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.timeline-photo{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius-sm);margin-top:18px}

.music-player{display:flex;justify-content:center;align-items:center;gap:20px;padding-block:20px}.music-player>span{display:flex;align-items:center;gap:10px;font-size:14px}.music-player audio{max-width:100%}@media(max-width:767px){.music-player{flex-direction:column}}
.social-buttons{display:flex;flex-direction:column;gap:12px;margin:28px 0 0}.button-google{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:12px 20px;background:var(--white);color:#1f1f1f;border:1px solid #747775;border-radius:var(--radius-sm);font-size:15px;font-weight:550}.button-google:hover{background:#f7f8f8;color:#1f1f1f}.button-google svg{flex:none}.auth-divider{display:flex;align-items:center;gap:14px;margin:26px 0 22px;color:var(--muted);font-size:13px}.auth-divider::before,.auth-divider::after{content:"";flex:1;border-top:1px solid var(--line)}.auth-resend{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}.auth-social-help{display:flex;gap:10px;align-items:flex-start;margin-top:24px;font-size:13px;line-height:1.65}.auth-social-help svg{flex:none;width:18px;height:18px;margin-top:2px}.social-linked{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}#connected-accounts .social-buttons{margin:0}
.preview-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 18px;background:var(--warning-bg);color:var(--warning);border-bottom:1px solid var(--line);font-size:13px;line-height:1.6;text-align:center}.preview-bar svg{flex:none;width:16px;height:16px}
.site-mode-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.site-mode-head h2{margin:0}.site-mode-badge{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--sage);color:var(--green)}.site-mode-prelaunch{background:var(--warning-bg);color:var(--warning)}.site-mode-maintenance{background:var(--error-bg);color:var(--error)}.site-mode-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;border:0}.site-mode-option{display:flex!important;gap:10px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);cursor:pointer}.site-mode-option:has(input:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.site-mode-option input{margin-top:5px}.site-mode-option span{display:flex;flex-direction:column;gap:2px}.site-mode-option small{margin:0!important;font-size:12px;color:var(--muted);line-height:1.55}.maintenance-notice{max-width:560px;margin:8px 0 28px;padding:18px 22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;line-height:1.8}@media(max-width:767px){.site-mode-options{grid-template-columns:1fr}}
.brand-tld{margin-left:2px;font-family:var(--font);font-size:.4em;font-weight:500;letter-spacing:.02em;color:var(--muted)}.site-footer .brand-tld{color:inherit;opacity:.72}
.subpage{max-width:1040px}
.subpage.content-page{max-width:960px}
.content-body{padding:44px 56px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow-wrap:anywhere}
.content-body>:first-child{margin-top:0}
.content-body>:last-child{margin-bottom:0}
@media(max-width:991px){.content-body{padding:36px}}
@media(max-width:767px){.subpage .page-heading{margin-bottom:28px}.content-body{padding:26px 22px}}
.youtube-notice{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 20px}.youtube-notice a{text-decoration:underline;text-underline-offset:3px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.video-card{min-width:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.video-thumbnail{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:var(--sage);overflow:hidden;cursor:pointer}.video-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.video-play>svg{width:48px;height:48px;padding:13px;border-radius:50%;background:#284a3ee8;color:white;transition:transform .15s}.video-thumbnail:hover .video-play>svg{transform:scale(1.08)}.video-provider{position:absolute;bottom:8px;right:10px;padding:2px 6px;border-radius:4px;background:#000b;color:#fff;font-size:11px}
.video-card-body{padding:16px 20px}.video-card-body h3{font-family:var(--font);font-size:17px;line-height:1.6;margin:0;overflow-wrap:anywhere}.media-comment-link{font-size:13px;margin-top:10px;gap:6px}.media-comment-link svg{width:16px;height:16px}
.photo-card{min-width:0}.photo-card>button{width:100%}.photo-card small{overflow-wrap:anywhere}.lightbox-comments{justify-content:center;width:100%;margin-top:12px}

.media-detail{max-width:960px}.media-detail h1{font-size:30px;overflow-wrap:anywhere}.media-detail-photo{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.media-detail-photo img{display:block;width:100%;max-height:65vh;object-fit:contain}.media-detail>.video-card{max-width:640px;margin-inline:auto}.media-comments h2{font-size:23px}.media-comment-body{white-space:pre-wrap;overflow-wrap:anywhere}.media-comments time{font-size:12px;color:var(--muted)}
.video-grid{align-items:start}.video-memories{padding:18px 20px 20px;border-top:1px solid var(--line);background:#fbfcf9;grid-column:1/-1}.memory-preview-heading{display:flex;align-items:center;gap:8px}.memory-preview-heading h4{font-family:var(--font);font-size:14px;font-weight:650;margin:0}.memory-preview-heading>span{font-size:12px;color:var(--green);background:var(--sage);padding:1px 7px;border-radius:12px}.memory-preview-list{list-style:none;padding:0;margin:14px 0 18px}.memory-preview-list li{padding:12px 0;border-bottom:1px solid var(--line)}.memory-preview-list li:first-child{padding-top:0}.memory-preview-list li:last-child{border-bottom:0;padding-bottom:0}.memory-preview-list li>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.memory-preview-list strong{font-size:12px;overflow-wrap:anywhere}.memory-preview-list time{font-size:11px;color:var(--muted);flex:none}.memory-preview-list p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.75;margin:6px 0 0;color:var(--muted)}.memory-empty{font-size:14px;color:var(--muted);line-height:1.8;margin:14px 0 20px}.memory-preview-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.memory-preview-actions .button{font-size:13px;padding:10px 16px;min-height:42px}.memory-preview-actions .text-link{font-size:13px}.memory-preview-actions svg{width:16px;height:16px}#memory-write,#memory-list{scroll-margin-top:110px}
@media(max-width:767px){.video-grid{grid-template-columns:1fr;gap:12px}.video-grid .video-card{display:grid;grid-template-columns:38% minmax(0,1fr)}.video-grid .video-thumbnail{height:100%;min-height:100px}.video-grid .video-card-body{padding:14px}.video-card-body h3{font-size:16px}.video-play>svg{width:40px;height:40px;padding:10px}.media-comments{padding:24px 20px}.media-detail h1{font-size:25px}.media-detail-photo{padding:8px}}
.video-provider svg{width:12px;height:12px;margin-left:3px;vertical-align:middle}

.photo-uploader [hidden]{display:none!important}.photo-upload-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-height:34px}.photo-upload-heading strong{font-size:15px;font-weight:500}.photo-upload-heading button{font-size:13px;min-height:34px}.photo-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-radius:var(--radius);outline-offset:5px}.photo-upload-grid.is-dragging{outline:2px dashed var(--green);background:var(--sage)}.photo-upload-item{position:relative;min-width:0}.photo-upload-preview{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);text-align:left;color:var(--ink)}.photo-upload-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--sage)}.photo-upload-preview span{display:block;padding:10px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.photo-upload-preview:hover{border-color:var(--green)}.photo-upload-delete{position:absolute;right:5px;top:5px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fffef4f5;color:var(--ink);box-shadow:0 1px 6px #0002}.photo-upload-delete svg{width:18px;height:18px}.photo-upload-add{min-height:175px;padding:18px 10px;border:1px dashed #a7b4a5;border-radius:var(--radius);background:#f5f7f2;color:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.photo-upload-add>svg{width:30px;height:30px;stroke-width:1.5}.photo-upload-add>span{font-size:14px;font-weight:550}.photo-upload-add>small{font-size:11px;color:var(--muted)}.photo-upload-add:hover:not(:disabled){border-color:var(--green);background:var(--sage)}.photo-upload-add:disabled{opacity:.6;cursor:default}.photo-upload-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin-top:14px}.photo-upload-summary{font-size:13px;font-weight:500;color:var(--green);margin:0}.photo-upload-status>span{font-size:12px;color:var(--muted)}.photo-upload-guide{margin-top:12px;padding:12px 15px;background:#f5f7f2;border-radius:var(--radius-sm);font-size:12px;line-height:1.8;color:var(--muted)}.photo-upload-guide p{margin:0}.photo-upload-guide p:first-child{display:flex;flex-wrap:wrap;gap:0 16px}.photo-upload-guide p+p{margin-top:3px}.photo-upload-errors{white-space:pre-line;overflow-wrap:anywhere;font-size:13px;color:var(--error);background:var(--error-bg);border-radius:var(--radius-sm);padding:12px 14px;margin-top:12px}.photo-upload-dialog{width:min(900px,calc(100vw - 32px));max-height:92dvh;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;background:var(--paper);color:var(--ink)}.photo-upload-dialog::backdrop{background:#14291ed9}.photo-upload-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.photo-upload-dialog-heading strong{font-size:15px;font-weight:500}.photo-upload-dialog>img{display:block;width:100%;height:min(58dvh,620px);object-fit:contain;background:var(--sage);border-radius:4px}.photo-upload-dialog>p{font-size:13px;overflow-wrap:anywhere;margin:12px 0;text-align:center}.photo-upload-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-upload-dialog-actions>div{display:flex;align-items:center;gap:8px}.photo-upload-dialog-actions span{font-size:13px;min-width:45px;text-align:center}.photo-upload-dialog button:disabled{opacity:.4;cursor:default}@media(max-width:600px){.photo-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-upload-add{min-height:145px}.photo-upload-add>small{font-size:10px}.photo-upload-dialog{padding:12px}.photo-upload-dialog-actions{flex-wrap:wrap;justify-content:center}.photo-upload-dialog>img{height:50dvh}.photo-upload-dialog-actions .button{min-height:44px}}

.life-timeline{margin-top:30px}.life-timeline-year{display:grid;grid-template-columns:100px minmax(0,1fr);gap:28px;padding-bottom:36px}.life-timeline-year:last-child{padding-bottom:0}.life-timeline-year-label{font:22px/1.5 Georgia,serif;color:var(--gold);margin:0;padding-top:2px}.life-timeline-events{border-left:1px solid var(--line);padding-left:28px;min-width:0}.life-timeline-event+.life-timeline-event{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.life-timeline-event time{display:block;font-size:13px;color:var(--gold);margin-bottom:7px}.life-timeline-event h4{font-size:19px;line-height:1.6;margin:0 0 8px;overflow-wrap:anywhere}.life-timeline-event p{font-size:15px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.life-timeline-event .timeline-photo{margin-top:16px;max-width:100%}.timeline-manage-year{margin-top:28px}.timeline-manage-year>h3{display:flex;align-items:baseline;gap:12px;font-size:21px;color:var(--green);padding-bottom:12px;border-bottom:1px solid var(--line)}.timeline-manage-year>h3>span{font:12px var(--font);color:var(--muted)}.timeline-manage-record{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.timeline-manage-record:last-child{border-bottom:0;padding-bottom:0}.timeline-manage-copy{min-width:0}.timeline-manage-copy time{display:block;font-size:12px;color:var(--gold);margin-bottom:6px}.timeline-manage-copy h4{font-size:17px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 8px}.timeline-manage-copy>p{font-size:14px;white-space:pre-line;overflow-wrap:anywhere;color:var(--muted)}.timeline-record-links{display:flex;align-items:center;gap:18px;margin-top:10px}.timeline-record-links .text-link{font-size:13px;min-height:40px}.timeline-move{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.timeline-move .icon-button{border:1px solid var(--line);border-radius:4px;background:var(--white);width:44px;height:44px}.timeline-move button:hover:not(:disabled){background:var(--sage);border-color:var(--green)}.timeline-move button:disabled{opacity:.3;cursor:default}@media(max-width:600px){.life-timeline-year{grid-template-columns:58px minmax(0,1fr);gap:14px;padding-bottom:30px}.life-timeline-year-label{font-size:20px}.life-timeline-events{padding-left:16px}.life-timeline-event h4{font-size:17px}.life-timeline-event p{font-size:14px}.timeline-manage-record{gap:10px}.timeline-manage-year>h3{font-size:19px}}

.family-memory{margin-top:32px;padding:28px 32px;background:#edf0e8;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius)}.family-memory h3{font:21px/1.6 var(--serif);color:var(--green);margin:0 0 14px}.family-memory .prose{font-size:15px;margin:0;overflow-wrap:anywhere}@media(max-width:600px){.family-memory{margin-top:26px;padding:22px 20px}.family-memory h3{font-size:19px;margin-bottom:12px}.family-memory .prose{font-size:14px}}

.photo-upload-comment{margin:10px 0 0;padding:5px 2px;font-size:12px!important;line-height:1.5!important;min-height:38px}.photo-upload-comment input{margin:0!important}.photo-upload-comment span{overflow-wrap:anywhere}.photo-upload-preview:has(+.photo-upload-delete +.photo-upload-comment input:checked){border-color:var(--green)}

.manage-photo-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}.manage-photo-heading>span{font-size:13px;color:var(--muted)}.manage-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.manage-photo-grid>.manage-photo{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.manage-photo .manage-photo-preview{display:block;width:100%;padding:0;border:0;background:var(--sage);min-height:0}.manage-photo-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.manage-photo-info{display:flex;flex-direction:column;gap:12px;padding:16px;flex:1;min-width:0}.photo-album-badge{display:inline-flex;align-items:flex-start;align-self:flex-start;gap:6px;max-width:100%;padding:5px 9px;border:1px solid var(--line);border-radius:5px;background:var(--sage);color:var(--green);font-size:12px;line-height:1.6}.photo-album-badge.is-default{background:var(--paper);color:var(--muted)}.photo-album-badge svg{width:14px;height:14px;flex-shrink:0;margin-top:2px}.photo-album-badge>span{min-width:0;overflow-wrap:anywhere}.manage-photo-caption{font-size:14px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-line;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.manage-photo-memory{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:auto;min-height:32px;font-size:12px;color:var(--muted)}.manage-photo-memory .is-enabled{color:var(--green)}.manage-photo-memory .text-link{font-size:12px;min-height:32px;text-decoration:underline;text-underline-offset:3px}.manage-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.manage-photo-actions form{margin:0}.manage-photo-actions .button{width:100%;min-height:44px;height:44px;padding:8px;font-size:13px;gap:7px}.manage-photo-actions svg{width:15px;height:15px}@media(max-width:1199px){.manage-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.manage-photo-grid{grid-template-columns:1fr;gap:20px}.manage-photo-info{padding:16px}.manage-photo-heading{margin-bottom:18px}}

.manage-video-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.manage-video-heading>span{font-size:13px;color:var(--muted)}.manage-video-row{display:grid;grid-template-columns:224px minmax(0,1fr);column-gap:24px;row-gap:14px;align-items:start;padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.manage-video-row:first-child{padding-top:0;border-top:0}.manage-video-row:last-child{padding-bottom:0}.manage-video-thumbnail{grid-row:span 2;position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--sage)}.manage-video-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.manage-video-thumbnail .video-play>svg{width:42px;height:42px;padding:11px}.manage-video-thumbnail:hover .video-play>svg{transform:scale(1.08)}.manage-video-info{min-width:0}.manage-video-info h3{font-family:var(--font);font-size:18px;line-height:1.6;margin:0 0 10px;overflow-wrap:anywhere}.manage-video-memory{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;font-size:12px;line-height:1.7;color:var(--muted)}.manage-video-memory>span{padding:4px 8px;border-radius:4px;background:var(--paper)}.manage-video-memory>.is-enabled{color:var(--green);background:var(--sage)}.manage-video-memory .text-link{font-size:12px;min-height:32px;gap:3px}.manage-video-memory svg{width:14px;height:14px}.manage-video-actions{display:flex;align-items:center;gap:8px;grid-column:2}.manage-video-actions form{margin:0}.manage-video-actions .button{width:92px;height:44px;min-height:44px;padding:8px 14px;gap:7px;font-size:13px}.manage-video-actions svg{width:15px;height:15px}@media(max-width:1199px){.manage-video-row{grid-template-columns:192px minmax(0,1fr);column-gap:20px}}@media(max-width:600px){.manage-video-heading{margin-bottom:20px}.manage-video-row{grid-template-columns:112px minmax(0,1fr);column-gap:14px;row-gap:16px;padding:22px 0}.manage-video-thumbnail{grid-row:auto}.manage-video-thumbnail .video-play>svg{width:30px;height:30px;padding:8px}.manage-video-thumbnail .video-provider{right:4px;bottom:3px;padding:0 4px;font-size:9px}.manage-video-thumbnail .video-provider svg{width:10px;height:10px;margin-left:2px}.manage-video-info h3{font-size:15px;line-height:1.6;margin-bottom:7px}.manage-video-memory{gap:4px;font-size:11px}.manage-video-memory>span{padding:3px 6px}.manage-video-memory .text-link{font-size:11px}.manage-video-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.manage-video-actions .button{width:100%}}

.manage-share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line)}.manage-share-heading p{font-size:14px;color:var(--muted);line-height:1.8;margin:10px 0 0}.share-visibility{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px;border:1px solid var(--line);border-radius:5px;font-size:12px;color:var(--green);background:var(--paper)}.share-visibility svg{width:14px;height:14px}.manage-share-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:36px;padding:30px 0}.manage-share-grid h3,.share-export h3{font-family:var(--font);font-size:18px;line-height:1.6;margin:0 0 8px}.manage-share-grid section>p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.share-section-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--sage);color:var(--green);border-radius:10px;margin-bottom:16px}.share-section-icon svg{width:21px;height:21px}.share-address{min-width:0;margin:22px 0 14px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm)}.share-address>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.share-address a{font-size:14px;line-height:1.7;overflow-wrap:anywhere;user-select:all}.share-address a:hover{text-decoration:underline;text-underline-offset:3px}.share-copy{min-height:46px;padding:11px 22px;font-size:14px}.share-copy svg{width:17px;height:17px}.manage-share-grid .share-access-note{display:flex;align-items:flex-start;gap:8px;margin-top:22px;font-size:12px;line-height:1.8}.share-access-note svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--green)}.share-qr-section{display:flex;flex-direction:column;align-items:center;text-align:center;background:#f5f7f2;border:1px solid var(--line);border-radius:var(--radius);padding:22px 16px}.share-qr-section h3{font-size:16px}.share-qr-section>p{font-size:12px!important}.share-qr-code{margin:16px 0;width:172px;height:172px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;background:white}.share-qr-code canvas{display:block;width:170px!important;height:170px!important;max-width:100%}.share-qr-section .button{min-height:44px;padding:9px 16px;font-size:13px;background:var(--white)}.share-qr-section .button svg{width:16px;height:16px}.share-qr-section .share-qr-help{margin-top:12px;font-size:11px!important}.share-qr-section .share-qr-empty{margin:auto 0;padding:40px 0}.share-export{display:flex;align-items:center;gap:16px;padding-top:26px;border-top:1px solid var(--line)}.share-export-icon{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--sage);color:var(--green)}.share-export-icon svg{width:20px;height:20px}.share-export>div{flex:1;min-width:0}.share-export h3{font-size:15px;margin:0 0 4px}.share-export p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.share-export .button{flex-shrink:0;min-height:44px;font-size:13px;padding:10px 14px}.share-export .button svg{width:16px;height:16px}.share-settings-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.share-settings-heading h2{font-size:19px}.share-settings-heading>span{font-size:12px;color:var(--muted)}.share-settings-heading strong{font-weight:600;color:var(--green);margin:0 3px}.share-settings-controls{display:flex;align-items:center;justify-content:space-between;gap:24px}.share-settings-controls>div{min-width:0}.share-settings-controls .check-label{font-size:14px}.share-settings-controls .form-help{font-size:12px;margin:8px 0 0}.share-settings-controls>.button{flex-shrink:0;min-height:44px;font-size:13px}@media(max-width:1199px){.manage-share-grid{grid-template-columns:minmax(0,1fr) 240px;gap:24px}.share-export{flex-wrap:wrap}.share-export>.button{margin-left:58px}}@media(max-width:600px){.manage-share-heading{flex-direction:column;gap:14px;padding-bottom:22px}.manage-share-heading h2{font-size:21px}.manage-share-heading p{font-size:13px}.manage-share-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 0}.share-section-icon{display:none}.share-copy{width:100%}.share-address{margin-top:18px}.share-qr-section{padding:22px 16px}.share-export{gap:12px;padding-top:22px}.share-export>.button{margin:4px 0 0;width:100%}.share-export-icon{width:36px;height:36px}.share-settings-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:20px}.share-settings-controls{align-items:stretch;flex-direction:column;gap:18px}.share-settings-controls>.button{width:100%}}

.manage-album-list{margin-top:26px;border-top:1px solid var(--line)}.manage-album-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.manage-album-row:last-child{border-bottom:0;padding-bottom:0}.manage-album-row h3{display:flex;align-items:flex-start;gap:9px;font-family:var(--font);font-size:15px;line-height:1.7;margin:0;min-width:0}.manage-album-row h3 svg{width:18px;height:18px;flex-shrink:0;margin-top:4px;color:var(--muted)}.manage-album-row h3 span{overflow-wrap:anywhere}.manage-album-actions{display:flex;gap:8px;flex-shrink:0}.manage-album-actions form{margin:0}.manage-album-actions .button{width:82px;height:44px;min-height:44px;padding:8px;font-size:13px;gap:7px}.manage-album-actions svg{width:15px;height:15px}#album-management{scroll-margin-top:30px}@media(max-width:600px){.manage-album-row{align-items:stretch;flex-direction:column;gap:14px}.manage-album-actions{display:grid;grid-template-columns:1fr 1fr}.manage-album-actions .button{width:100%}}

.offering-image.offering-transparent{mix-blend-mode:normal}.memorial-share-card{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:40px;padding:36px 40px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);align-items:center}.memorial-share-card.without-qr{grid-template-columns:minmax(0,1fr)}.memorial-share-copy{min-width:0}.memorial-share-copy .eyebrow{margin-bottom:12px}.memorial-share-copy h2{font-size:28px;line-height:1.55;margin:0 0 14px}.memorial-share-description{font-size:14px;color:var(--muted);line-height:1.85;margin:0}.memorial-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.memorial-share-actions .button{font-size:14px;min-height:46px;padding:11px 20px;gap:8px}.memorial-share-actions svg{width:18px;height:18px}.memorial-share-access{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.7;color:var(--muted);margin:20px 0 0}.memorial-share-access svg{flex-shrink:0;width:16px;height:16px;margin-top:2px;color:var(--green)}.memorial-share-qr{padding:20px;background:#f5f7f2;border:1px solid var(--line);border-radius:var(--radius);text-align:center}.memorial-share-qr-image{width:146px;height:146px;margin:0 auto 14px;background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden}.memorial-share-qr canvas{display:block;width:144px!important;height:144px!important;max-width:100%}.memorial-share-qr-info h3{font-family:var(--font);font-size:15px;line-height:1.6;margin:0 0 5px}.memorial-share-qr-info p{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 14px}.memorial-share-qr-info .button{min-height:44px;width:100%;padding:9px 12px;font-size:13px;gap:7px;background:var(--white)}.memorial-share-qr-info svg{width:16px;height:16px}@media(max-width:767px){.memorial-share-card{grid-template-columns:minmax(0,1fr);gap:24px;padding:26px 22px}.memorial-share-copy h2{font-size:24px}.memorial-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.memorial-share-actions .button{padding:10px 8px;font-size:13px}.memorial-share-access{margin-top:16px}.memorial-share-qr{display:grid;grid-template-columns:106px minmax(0,1fr);gap:14px;align-items:center;text-align:left;padding:16px 12px}.memorial-share-qr-image{width:106px;height:106px;margin:0}.memorial-share-qr canvas{width:104px!important;height:104px!important}.memorial-share-qr-info p{font-size:11px;margin-bottom:10px}.memorial-share-qr-info .button{font-size:12px;padding:8px 5px;gap:5px}.memorial-share-qr-info h3{font-size:14px}}

.memorial-hero .portrait-frame{width:248px;height:310px}.memorial-age{display:inline-block;white-space:nowrap;margin-left:6px}.memorial-music{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 4px 24px #14291e20;max-width:calc(100vw - 36px)}.music-controls{display:flex;align-items:center;gap:8px}.music-controls>button{display:flex;align-items:center;gap:7px;border:0;border-radius:8px;background:var(--green);color:var(--white);min-height:44px;padding:10px 14px;font-size:13px}.music-controls>.music-settings{background:var(--sage);color:var(--green);padding:10px}.music-controls svg{width:18px;height:18px}.music-panel{padding:12px 4px 4px}.music-panel p{font-size:12px;color:var(--muted);margin-bottom:8px}.music-panel audio{display:block;width:280px;max-width:100%}.lightbox-image{position:relative;min-width:180px}.lightbox-image img{max-width:calc(95vw - 40px);display:block}.lightbox-image .icon-button{position:absolute;top:50%;transform:translateY(-50%);background:var(--paper);border:1px solid var(--line);border-radius:50%;box-shadow:0 2px 10px #14291e30}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-counter{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:6px}.sample-video-card>.media-comment-link{padding:0 20px 20px}.memorial-section{scroll-margin-top:75px}@media(max-width:767px){.memorial-hero .portrait-frame{width:208px;height:260px}.memorial-music{right:18px;bottom:18px}.music-controls>button{font-size:12px;padding:10px 12px}}

/* 제휴사(기업형 분양) 2026-10-11 */
.partner-brand{gap:12px;font-family:var(--font);letter-spacing:0;font-size:22px;font-weight:700;color:var(--ink);text-decoration:none;min-width:0}
.partner-brand .partner-logo{max-height:44px;max-width:200px;width:auto;height:auto;object-fit:contain}
.partner-brand .partner-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.partner-brand-sub{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}
.partner-home .partner-hero{text-align:center;padding:48px 24px;display:grid;justify-items:center;gap:14px}
.partner-hero-logo{max-height:96px;max-width:min(320px,80%);width:auto;height:auto;object-fit:contain}
.partner-hero h1{font-family:var(--serif);font-size:clamp(26px,4vw,38px);line-height:1.35;margin:0}
.partner-intro{color:var(--muted);max-width:640px;white-space:normal}
.partner-steps{margin-top:40px}
.step-list{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:step}
.step-list li{counter-increment:step;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:6px}
.step-list li::before{content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sage);color:var(--green);font-weight:700}
.step-list span{color:var(--muted);font-size:var(--text-sm)}
.partner-footer{padding:20px 0}
.partner-footer-inner{display:grid;gap:8px;font-size:13px;color:var(--muted)}
.partner-footer-main,.partner-footer-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.partner-footer-name{font-size:15px;color:var(--ink)}
.partner-footer-meta nav{display:flex;gap:14px;color:var(--ink)}
.partner-powered{margin:0;font-size:12px;display:flex;flex-wrap:wrap;gap:2px 8px}
.partner-powered span{display:inline-block}
.partner-code{font-size:17px;letter-spacing:.02em;word-break:keep-all}
.partner-code-form{align-items:end}
.partner-logo-field{display:grid;gap:12px}
.partner-logo-preview{max-height:80px;max-width:240px;width:auto;height:auto;object-fit:contain;background:var(--sand);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px}
.flow-steps{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.flow-step{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px}
.flow-step>p{color:var(--muted);font-size:var(--text-sm)}
.flow-step .stack-form,.flow-step>.button,.flow-step>.button-locked{margin-top:auto}
.flow-step-head{display:flex;align-items:center;gap:14px}
.flow-step-head h3{margin:0}
.flow-step-label{font-size:13px;font-weight:600;color:var(--muted);line-height:1.4}
.flow-step-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sage);color:var(--green);font-weight:700;font-size:17px;flex-shrink:0}
.flow-step-badge{align-self:flex-start;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--sand);color:var(--muted)}
.flow-step.is-current{border:2px solid var(--green);box-shadow:var(--shadow)}
.flow-step.is-current .flow-step-num{background:var(--green);color:var(--white)}
.flow-step.is-current .flow-step-badge{background:var(--green);color:var(--white)}
.flow-step.is-done{background:var(--sage)}
.flow-step.is-done .flow-step-num{background:var(--green);color:var(--white)}
.flow-step.is-done .flow-step-badge{background:var(--white);color:var(--green)}
.flow-step.is-locked{background:var(--paper);border-style:dashed}
.flow-step.is-locked .flow-step-head,.flow-step.is-locked>p{opacity:.6}
.flow-step-link{background:none;border:0;padding:0;color:var(--green);text-decoration:underline}
.button-locked{background:var(--line);border-color:var(--line);color:var(--muted);cursor:not-allowed}
.flow-progress{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-wrap:wrap;gap:8px}
.flow-progress li{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:var(--text-sm);color:var(--muted)}
.flow-progress li.is-done{background:var(--sage);color:var(--green)}
.flow-progress li.is-current{background:var(--green);border-color:var(--green);color:var(--white);font-weight:600}
.flow-code-box{background:var(--sage);border-radius:var(--radius-sm);padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
@media(max-width:899px){.flow-steps{grid-template-columns:1fr}}
.plain-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.plain-list li{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:767px){.partner-brand .partner-logo{max-height:36px;max-width:150px}.partner-brand-sub{display:none}.partner-home .partner-hero{padding:32px 16px}}
/* 기업 제휴 안내 /business (2026-10-13) */
.business-page{padding-bottom:0}.biz-hero{background:var(--green);color:var(--white);padding:84px 0 88px}.biz-hero-inner{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center}.biz-hero .eyebrow{color:#c5b392}.biz-hero h1{font-size:48px;line-height:1.45;color:var(--white)}.biz-lead{margin:24px 0 34px;color:#d6dfd3;font-size:17px}.biz-hero .button{background:var(--white);color:var(--green);border-color:var(--white)}.biz-hero .button:hover{background:var(--sage);color:var(--green)}.biz-hero .text-link{color:var(--white)}
.biz-hero-facts{margin:0;display:grid;gap:14px}.biz-hero-facts>div{padding:20px 24px;border:1px solid #ffffff2e;border-radius:var(--radius);background:#ffffff0d}.biz-hero-facts dt{font-size:13px;font-weight:500;color:#c5b392;margin-bottom:4px}.biz-hero-facts dd{margin:0;font-size:19px}.biz-hero-facts small{font-size:13px;color:#c9d3c6}
.biz-section{padding:48px 0}.biz-band{background:var(--sage)}.biz-section .section-heading{margin-bottom:48px}.biz-section .section-heading.centered{text-align:center}
.biz-audience{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.biz-audience article{padding:30px 26px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.biz-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sage);color:var(--green);margin-bottom:20px}.biz-icon svg{width:24px;height:24px}.biz-audience h3{font-size:18px;margin-bottom:10px}.biz-audience p{font-size:14px;color:var(--muted)}
.biz-offer{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.biz-offer article{padding:30px;background:var(--white);border-radius:var(--radius);border:1px solid var(--line)}.biz-offer h3{display:flex;align-items:center;gap:10px;font-size:18px;margin-bottom:12px}.biz-offer h3 svg{color:var(--gold)}.biz-offer p{font-size:14px;color:var(--muted)}.biz-offer b{color:var(--ink)}
.biz-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:none}.biz-steps li{border-top:2px solid var(--green);padding-top:22px}.biz-steps span{font:22px Georgia,serif;color:var(--gold)}.biz-steps h3{font-size:18px;margin:12px 0 8px}.biz-steps p{font-size:14px;color:var(--muted)}
.biz-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.biz-plan{position:relative;display:flex;flex-direction:column;padding:36px 30px 30px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.biz-plan.is-featured{border:2px solid var(--green);padding:35px 29px 29px;box-shadow:var(--shadow)}.biz-plan-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--green);color:var(--white);font-size:12px;font-weight:600;padding:4px 14px;border-radius:30px;white-space:nowrap}.biz-plan h3{font-size:20px}.biz-plan-price{display:flex;align-items:baseline;gap:6px;margin:18px 0 4px}.biz-plan-price strong{font-size:34px;font-weight:550;letter-spacing:-.03em}.biz-plan-price span{color:var(--muted);font-size:14px}.biz-plan-vat{font-size:13px;color:var(--muted)}.biz-plan-quota{margin:22px 0;padding:16px 18px;background:var(--paper);border-radius:var(--radius-sm);font-size:15px}.biz-plan-quota b{font-size:22px;color:var(--green);margin-left:4px}.biz-plan-quota small{display:block;color:var(--muted);font-size:12px}.biz-plan ul{list-style:none;padding:0;margin:0 0 26px;flex:1}.biz-plan li{display:flex;gap:10px;align-items:center;padding:8px 0;font-size:14px}.biz-plan li svg{width:17px;height:17px;color:var(--gold)}
.biz-terms{margin-top:36px;padding:30px 34px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.biz-terms h3{display:flex;align-items:center;gap:10px;font-size:18px;margin-bottom:12px}.biz-terms h3 svg{color:var(--gold)}.biz-terms ul{margin:0;padding-left:20px}.biz-terms li{font-size:14px;color:var(--muted);line-height:1.9;margin:6px 0}.biz-terms b{color:var(--ink)}
.biz-cta{background:var(--sand);padding:48px 0}.biz-cta-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:start}.biz-cta-copy h2{font:33px/1.6 var(--serif);margin-bottom:20px}.biz-cta-copy p:not(.eyebrow){color:var(--muted);font-size:15px}.biz-cta-copy a{text-decoration:underline;text-underline-offset:4px}.biz-consent{border-top:1px solid var(--line);padding-top:18px}.biz-consent .form-help{margin-top:8px;line-height:1.7}
.home-biz-cta{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0}.home-biz-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.home-biz-cta h2{font:28px/1.6 var(--serif);margin-bottom:10px}.home-biz-cta p:not(.eyebrow){color:var(--muted);font-size:15px}.home-biz-cta .eyebrow{margin-bottom:12px}
@media(max-width:991px){.biz-hero-inner,.biz-cta-inner{grid-template-columns:1fr;gap:40px}.biz-audience{grid-template-columns:repeat(2,1fr)}.biz-offer,.biz-plans{grid-template-columns:1fr 1fr}.biz-steps{grid-template-columns:1fr 1fr}.home-biz-cta-inner{flex-direction:column;align-items:flex-start;gap:24px}}
@media(max-width:600px){.biz-hero{padding:56px 0 60px}.biz-hero h1{font-size:32px}.biz-lead{font-size:15px}.biz-section,.biz-cta{padding:32px 0}.biz-audience,.biz-offer,.biz-plans,.biz-steps{grid-template-columns:1fr}.biz-plan.is-featured{margin-top:10px}.biz-terms{padding:24px 20px}.biz-cta-copy h2{font-size:26px}.biz-form .form-grid{grid-template-columns:1fr}.home-biz-cta h2{font-size:23px}}

/* 모바일 메뉴·오른쪽 퀵메뉴 - notrenewal.com 방식 이식(2026-10-13). 메뉴 전환 구간은 goin 기준(991px)을 따른다. */
.mobile-actions{display:none}
.mobile-menu-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);color:var(--green);font-size:14px;font-weight:600;white-space:nowrap;line-height:1}
.mobile-menu-toggle svg{width:18px;height:18px}
.mobile-menu-toggle .menu-label-close,.mobile-menu-toggle .menu-icon-close,.mobile-menu-toggle[aria-expanded=true] .menu-label-open,.mobile-menu-toggle[aria-expanded=true] .menu-icon-open{display:none}
.mobile-menu-toggle[aria-expanded=true] .menu-label-close,.mobile-menu-toggle[aria-expanded=true] .menu-icon-close{display:inline}
.mobile-menu-toggle[aria-expanded=true]{border-color:var(--green);background:var(--sage)}
.mobile-nav{display:none}
@media(max-width:991px){
.main-nav,.main-nav.open{display:none}
.mobile-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.mobile-cta{white-space:nowrap}
.mobile-nav:not([hidden]){display:block;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 30px #14291e14;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
.mobile-nav-inner{padding-block:6px 20px}
.mobile-nav-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid var(--line);font-size:16px;font-weight:560;color:var(--ink)}
.mobile-nav-links a.active{color:var(--green);font-weight:650}
.mobile-nav-links svg{width:16px;height:16px;color:var(--muted)}
.mobile-nav-account{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.mobile-nav-account form{margin:0}
.mobile-nav-account .button{width:100%;font-size:14px;gap:6px}
.mobile-nav-account .button svg{width:16px;height:16px}
.mobile-nav:not([hidden]){animation:nav-drop .24s cubic-bezier(.2,.7,.2,1)}
.mobile-nav:not([hidden]) .mobile-nav-links a,.mobile-nav:not([hidden]) .mobile-nav-account>*{animation:nav-item .3s cubic-bezier(.2,.7,.2,1) both}
.mobile-nav:not([hidden]) .mobile-nav-links a:nth-child(2){animation-delay:.03s}
.mobile-nav:not([hidden]) .mobile-nav-links a:nth-child(3){animation-delay:.06s}
.mobile-nav:not([hidden]) .mobile-nav-links a:nth-child(4){animation-delay:.09s}
.mobile-nav:not([hidden]) .mobile-nav-links a:nth-child(5){animation-delay:.12s}
.mobile-nav:not([hidden]) .mobile-nav-links a:nth-child(6){animation-delay:.15s}
.mobile-nav:not([hidden]) .mobile-nav-links a:nth-child(7){animation-delay:.18s}
.mobile-nav:not([hidden]) .mobile-nav-account>*{animation-delay:.2s}
.mobile-menu-toggle[aria-expanded=true] .menu-icon-close{animation:icon-spin .3s ease}
body:has(.mobile-nav:not([hidden])) .quick-menu{display:none}
}
@keyframes nav-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes nav-item{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes icon-spin{from{transform:rotate(-90deg);opacity:0}to{transform:none;opacity:1}}
.quick-menu{position:fixed;top:50%;right:20px;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;width:72px;background:var(--green-dark);border:1px solid var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 34px #14291e33}
.quick-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:62px;padding:11px 4px;border:0;background:none;color:var(--white);font-size:12px;font-weight:520;line-height:1.25;letter-spacing:-.01em}
.quick-item+.quick-item{border-top:1px solid #ffffff1f}
.quick-item svg{width:20px;height:20px}
.quick-item:hover{background:#ffffff14;color:#e9dcc0}
.quick-item:focus-visible{outline:3px solid var(--gold);outline-offset:-4px}
.quick-top{display:none}
.quick-top.is-visible{display:flex}
@media(max-width:1399px){.quick-menu{top:auto;bottom:16px;right:12px;width:46px;transform:none;display:none}.quick-menu.has-top{display:flex}.quick-menu.has-music{display:none}.quick-item:not(.quick-top){display:none}.quick-item{min-height:46px;padding:10px 4px}.quick-label{display:none}.site-footer:not(.partner-footer){padding-bottom:72px}}
/* 제휴사 바닥글은 짧게 유지한다(2026-10-11 사용자 요청) - TOP 버튼이 글자와 겹칠 수 있는 좁은 화면에서만 아래 여백을 늘린다. */
@media(max-width:767px){.partner-footer{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){.mobile-nav:not([hidden]),.mobile-nav:not([hidden]) .mobile-nav-links a,.mobile-nav:not([hidden]) .mobile-nav-account>*,.mobile-menu-toggle[aria-expanded=true] .menu-icon-close{animation:none}}
@media print{.quick-menu,.mobile-nav,.mobile-actions{display:none!important}}
/* 좁은 화면 머리: 브랜드는 줄이지 않는다(눌리면 글자가 세로로 깨진다). 480px 이하는 주 버튼을 글자만, 374px 이하는 여백을 더 줄이고, 359px 이하는 펼친 메뉴 맨 위로 옮긴다. */
.mobile-nav-cta{display:none}
@media(max-width:991px){.header-inner{gap:10px}.header-inner>.brand{flex-shrink:0}.mobile-actions{gap:6px}}
@media(max-width:480px){.mobile-cta{min-height:44px;padding:0 10px;font-size:13px}.mobile-cta svg{display:none}.mobile-menu-toggle{padding:8px 10px;gap:5px}}
@media(max-width:374px){.mobile-cta{padding:0 8px}.mobile-menu-toggle{padding:8px}}
@media(max-width:359px){.mobile-cta{display:none}.mobile-nav-cta{display:flex;width:100%;margin:14px 0 6px}}

/* ── 네비게이션 움직임 (2026-10-13) ───────────────────────────────────────
   추모 공간이라 크고 빠른 효과 대신 천천히 미끄러지고 가라앉는 움직임만 쓴다.
   ① 머리 고정 + 내리면 얇아지고 유리처럼 흐려짐 · 아래로 읽으면 숨고 올리면 나타남
   ② 주 메뉴: 금색 밑줄과 옅은 배경이 마우스·키보드를 따라 미끄러지고, 손을 떼면 지금 페이지로 돌아간다
   ③ 긴 페이지는 머리 아래 금색 읽기 진행선 ④ 새싹 로고 흔들림 · 주 버튼 빛 스침
   ⑤ 모바일: 세 줄 아이콘이 X 로 바뀌고, 뒤 화면을 흐리게 덮고 스크롤을 막는다
   움직임 줄이기를 켠 기기에서는 전부 끈다(맨 아래). 상태 클래스는 <html> 에 JS 가 붙인다. */
:root{--header-h:100px;--header-h-compact:72px}
@media(max-width:991px){:root{--header-h:80px;--header-h-compact:64px}}
.header-space{height:var(--header-h)}
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);transition:height .4s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,background-color .4s ease,border-color .4s ease;will-change:transform}
html.header-compact .site-header{height:var(--header-h-compact);background-color:rgb(248 247 243/.86);-webkit-backdrop-filter:saturate(1.3) blur(14px);backdrop-filter:saturate(1.3) blur(14px);border-bottom-color:transparent;box-shadow:0 10px 30px #14291e12,0 1px 0 #14291e0d}
html.header-hidden .site-header{transform:translateY(calc(-100% - 2px));box-shadow:none}
.header-inner>.brand{transform-origin:left center;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
html.header-compact .header-inner>.brand:not(.partner-brand){transform:scale(.84)}
/* 머리에 붙어 다니는 추모관 탭 줄·관리 메뉴는 머리가 보일 때 그 아래로, 숨으면 맨 위로 같이 움직인다 */
.memorial-nav{top:var(--header-offset,var(--header-h));transition:top .45s cubic-bezier(.2,.7,.2,1)}
.manage-nav{top:calc(var(--header-offset,var(--header-h)) + 25px);transition:top .45s cubic-bezier(.2,.7,.2,1)}
/* ③ 읽기 진행선 */
.header-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#b39a6c,var(--gold) 60%,#d8c39a);transform-origin:left center;transform:scaleX(var(--progress,0));opacity:0;transition:opacity .4s ease;pointer-events:none}
html.has-progress .header-progress{opacity:1}
/* ② 주 메뉴 */
.main-nav{position:relative}
.main-nav>a:not(.button),.nav-link-button{position:relative;z-index:1;transition:color .3s ease}
.main-nav>a:not(.button):hover,.main-nav>a:not(.button):focus-visible,.main-nav>a.is-active,.nav-link-button:hover{color:var(--green)}
.main-nav>a.is-active{font-weight:650}
.nav-glide,.nav-indicator{position:absolute;left:0;top:0;pointer-events:none;opacity:0;width:var(--w,0);transform:translate(var(--x,0),var(--y,0))}
.nav-glide{z-index:0;height:var(--h,0);margin:0 -12px;padding:0 12px;box-sizing:content-box;border-radius:999px;background:var(--sage)}
.nav-indicator{z-index:2;height:2px;border-radius:2px;background:var(--gold)}
.main-nav.is-ready .nav-glide,.main-nav.is-ready .nav-indicator{transition:transform .5s cubic-bezier(.3,1.25,.4,1),width .5s cubic-bezier(.3,1.25,.4,1),height .3s ease,opacity .3s ease}
.main-nav.is-hovering .nav-glide{opacity:.75}
.main-nav.has-target .nav-indicator{opacity:1}
/* ④ 로고·주 버튼 */
.brand-symbol svg{transform-origin:50% 92%}
.brand:hover .brand-symbol svg,.brand:focus-visible .brand-symbol svg{animation:sprout-sway 1.6s cubic-bezier(.4,0,.2,1)}
.brand-period{display:inline-block;transition:transform .4s cubic-bezier(.3,1.4,.5,1)}
.brand:hover .brand-period{transform:translateY(-3px)}
@keyframes sprout-sway{0%{transform:rotate(0)}22%{transform:rotate(-9deg)}48%{transform:rotate(6deg)}72%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
.nav-cta,.mobile-cta,.mobile-nav-cta{position:relative;overflow:hidden;isolation:isolate}
.nav-cta::after,.mobile-cta::after,.mobile-nav-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgb(255 255 255/.22) 48%,transparent 66%);transform:translateX(-120%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.nav-cta:hover::after,.nav-cta:focus-visible::after,.mobile-cta:active::after,.mobile-nav-cta:active::after{transform:translateX(120%)}
.nav-cta svg,.mobile-nav-cta svg{transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.nav-cta:hover svg,.nav-cta:focus-visible svg{transform:rotate(90deg)}
/* ⑤ 모바일 */
.mobile-menu-toggle .menu-label{display:inline-grid;overflow:hidden}
.mobile-menu-toggle .menu-label>span{grid-area:1/1;display:inline;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease}
.mobile-menu-toggle .menu-label-close{transform:translateY(110%);opacity:0}
.mobile-menu-toggle[aria-expanded=true] .menu-label-open{display:inline;transform:translateY(-110%);opacity:0}
.mobile-menu-toggle[aria-expanded=true] .menu-label-close{display:inline;transform:none;opacity:1}
.menu-burger{position:relative;display:inline-block;width:18px;height:14px}
.menu-burger i{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .4s cubic-bezier(.3,1.3,.5,1),opacity .2s ease,top .3s ease,width .3s ease}
.menu-burger i:nth-child(1){top:0}.menu-burger i:nth-child(2){top:6px;width:72%}.menu-burger i:nth-child(3){top:12px}
.mobile-menu-toggle:hover .menu-burger i:nth-child(2){width:100%}
.mobile-menu-toggle[aria-expanded=true] .menu-burger i:nth-child(1){top:6px;transform:rotate(45deg)}
.mobile-menu-toggle[aria-expanded=true] .menu-burger i:nth-child(2){opacity:0;transform:scaleX(0)}
.mobile-menu-toggle[aria-expanded=true] .menu-burger i:nth-child(3){top:6px;transform:rotate(-45deg)}
.mobile-menu-toggle{transition:background-color .3s ease,border-color .3s ease}
.nav-backdrop{display:none}
@media(max-width:991px){
.nav-backdrop{display:block;position:fixed;inset:0;z-index:25;background:#14291e33;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
html.nav-open .nav-backdrop{opacity:1;visibility:visible;transition:opacity .35s ease}
html.nav-open,html.nav-open body{overflow:hidden}
.mobile-nav:not([hidden]){max-height:calc(100dvh - var(--header-h-compact))}
.mobile-nav-links a{position:relative;transition:color .25s ease,padding-left .35s cubic-bezier(.2,.7,.2,1)}
.mobile-nav-links a::before{content:"";position:absolute;left:0;top:50%;width:3px;height:22px;margin-top:-11px;border-radius:2px;background:var(--gold);transform:scaleY(0);transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.mobile-nav-links a.active{padding-left:14px}
.mobile-nav-links a.active::before{transform:scaleY(1)}
.mobile-nav-links a svg{transition:transform .35s cubic-bezier(.3,1.3,.5,1),color .25s ease}
.mobile-nav-links a:hover svg,.mobile-nav-links a:active svg,.mobile-nav-links a.active svg{transform:translateX(4px);color:var(--gold)}
}
@media(prefers-reduced-motion:reduce){
.site-header,.header-inner>.brand,.memorial-nav,.manage-nav,.nav-glide,.nav-indicator,.main-nav.is-ready .nav-glide,.main-nav.is-ready .nav-indicator,.nav-cta::after,.mobile-cta::after,.mobile-nav-cta::after,.menu-burger i,.mobile-menu-toggle .menu-label>span,.nav-backdrop,.mobile-nav-links a,.mobile-nav-links a::before,.mobile-nav-links a svg,.header-progress{transition:none!important}
.brand:hover .brand-symbol svg,.brand:focus-visible .brand-symbol svg{animation:none}
}
@media print{.site-header{position:static;transform:none!important;height:auto;box-shadow:none}.header-space,.nav-backdrop,.header-progress,.nav-glide,.nav-indicator{display:none!important}}

/* 검색 노출 페이지 바닥의 「이 페이지 최종 업데이트」(2026-10-13, 최신성 신호 - JSON-LD dateModified 와 같은 날짜) */
.page-updated{display:block;margin-top:8px;color:var(--muted);font-size:12px}
/* 모바일 메뉴 글자 전환: 숨는 쪽 글자는 움직임이 끝나면 완전히 감춘다(투명하게만 두면 화면 검사가 「잘린 글자」로 보고, 고르기·검색에도 잡힌다) */
.mobile-menu-toggle .menu-label>span{visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease,visibility 0s}
.mobile-menu-toggle .menu-label-close,.mobile-menu-toggle[aria-expanded=true] .menu-label-open{visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease,visibility 0s linear .35s}
.mobile-menu-toggle[aria-expanded=true] .menu-label-close{visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s ease,visibility 0s}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle .menu-label>span{transition:none!important}}
/* 글자 칸은 overflow:hidden 대신 clip-path 로 자른다 - 모양은 같고, 아래로 밀어 둔 숨은 글자가 「넘친 내용」으로 잡히지 않는다(web-check 잘림 후보 W-6, 2026-10-13) */
.mobile-menu-toggle .menu-label{overflow:visible;clip-path:inset(0)}
/* GOIN 소개(/about) 운영사 정보표 · 글 작성자 줄(2026-10-13 aeocheck 리포트 반영 - 운영 주체·작성자 신호) */
.about-facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 24px;margin:0;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.about-facts dt{color:var(--muted);font-weight:500}
.about-facts dd{margin:0;overflow-wrap:anywhere}
@media(max-width:575px){.about-facts{grid-template-columns:1fr;gap:2px;padding:18px}.about-facts dd{margin-bottom:10px}}
/* 빵부스러기 - 기억의 이야기(postkit /stories/ 의 연결 파일 머리 줄)에서 쓴다. 2026-10-18 예전 /journal 화면 규칙은 걷어냈다 */
.breadcrumb{margin-bottom:22px;font-size:13px;color:var(--muted)}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}
.breadcrumb li{display:inline-flex;align-items:center;min-width:0}
.breadcrumb li+li::before{content:'';flex:none;width:6px;height:6px;margin:0 11px 0 9px;border-top:1.5px solid #a9b0a6;border-right:1.5px solid #a9b0a6;transform:rotate(45deg)}
.breadcrumb a{display:inline-flex;align-items:center;min-height:32px;color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.breadcrumb [aria-current]{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 기업 제휴 상담 신청 결과 상자(2026-10-14) - 신청 폼 바로 위, 두 칸 전체 폭. 신청 뒤 #inquiry-result 로 이동해 바로 보인다 */
.biz-result{grid-column:1/-1;display:flex;align-items:flex-start;gap:16px;padding:22px 26px;border:1px solid;border-radius:var(--radius);font-size:15px;line-height:1.75;animation:biz-result-in .45s ease both}
.biz-result>svg{flex:none;width:28px;height:28px;margin-top:2px;stroke-width:1.8}
.biz-result strong{display:block;margin-bottom:4px;font-size:18px;font-weight:600}
.biz-result p{margin:0}
.biz-result a{text-decoration:underline;text-underline-offset:4px}
.biz-result-success{background:#edf5ee;border-color:#a8c9b0;color:var(--green-dark)}
.biz-result-success>svg{color:#2f7a4a}
.biz-result-error{background:var(--error-bg);border-color:#e6b9ae;color:var(--error)}
@keyframes biz-result-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:600px){.biz-result{gap:12px;padding:18px}.biz-result strong{font-size:16px}.biz-result>svg{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.biz-result{animation:none}}
/* 운영관리 - 메뉴 설명 상자(2026-10-14, 공식 인증) */
.admin-intro{margin-bottom:22px;padding:18px 22px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);font-size:14px;line-height:1.75}
.admin-intro p{margin:0 0 8px}
.admin-intro ul{margin:0;padding-left:18px;color:var(--muted)}
.admin-intro li+li{margin-top:3px}
.admin-intro b{margin-right:6px;color:var(--ink);font-weight:600}
.admin-intro p:last-child{margin-bottom:0}
/* 운영관리 - 제휴사 바로가기·제휴 현황(2026-10-15) */
.partner-site-link{display:inline-flex;align-items:center;gap:6px;color:var(--green)}
.partner-site-link svg.lucide{width:16px;height:16px}
.partner-site-link:hover strong,.partner-site-link:hover{text-decoration:underline;text-underline-offset:3px}
.partner-row-links{display:flex;flex-wrap:wrap;column-gap:14px}
.partner-delete{border-left:4px solid var(--error)}
.summary-list dd code{overflow-wrap:anywhere;word-break:break-all}
.partner-row-links .text-link,.partner-stats-table .text-link{min-height:32px}
.partner-stats-filter{flex-wrap:wrap;align-items:flex-end}
.partner-stats-filter label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.partner-stats-filter select{min-width:170px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);font-size:15px}
.partner-stats-filter .button{min-height:44px}
.partner-trend{width:100%;margin-top:16px;border-collapse:collapse}
.partner-trend th,.partner-trend td{padding:5px 0;font-size:14px;font-weight:400;text-align:left;vertical-align:middle}
.partner-trend thead th{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px}
.partner-trend tbody th{width:84px;color:var(--muted);font-variant-numeric:tabular-nums}
.partner-trend td:last-child{width:76px;text-align:right;font-variant-numeric:tabular-nums}
.partner-trend td:nth-child(2){padding-inline:12px}
.partner-trend-bar{display:block;width:100%;height:14px}
.partner-trend-bar .track{fill:var(--sand)}
.partner-trend-bar .value{fill:var(--green)}
.partner-trend tr.is-current th,.partner-trend tr.is-current td:last-child{color:var(--ink);font-weight:600}
.cell-stack{min-width:0}
@media(max-width:767px){.partner-row-links{justify-content:flex-end}.partner-stats-filter label,.partner-stats-filter select{width:100%;min-width:0}.partner-trend tbody th{width:64px}.partner-trend td:last-child{width:56px}}
/* 추모관 설정 - 공식 인증 상태(2026-10-14) */
.official-state h2{display:flex;align-items:center;gap:8px}
.official-state h2 svg{flex:none;width:22px;height:22px}
.official-state.is-approved{border-left:4px solid #5b8a72}.official-state.is-approved h2 svg{color:#2f7a4a}
.official-state.is-pending{border-left:4px solid #d9a441}.official-state.is-pending h2 svg{color:#9a7420}
/* 운영관리 - 제휴 상담 카드(2026-10-14): 신청 / 회사·담당자 / 문의 내용 / 처리 4칸, 넓은 화면을 고르게 쓴다 */
.inquiry-list{display:grid;gap:14px}
.inquiry-card{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.5fr) 300px;gap:24px;align-items:start;padding:22px 24px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius)}
.inquiry-card.is-new{border-left-color:#d9a441}
.inquiry-card.is-in_progress{border-left-color:#5b8a72}
.inquiry-when{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.inquiry-when time{color:var(--ink);font-size:14px}
.inquiry-status{align-self:flex-start;padding:2px 10px;border-radius:999px;background:var(--sand);color:var(--ink);font-size:12px;font-weight:600}
.is-new .inquiry-status{background:#f6e7c6;color:#7a5a12}
.is-in_progress .inquiry-status{background:#e1ece5;color:#2c5a42}
.inquiry-who h2{margin:0 0 8px;font:600 17px/1.5 var(--font);overflow-wrap:anywhere}
.inquiry-who h2 small{margin-left:6px;color:var(--muted);font-size:13px;font-weight:400;white-space:nowrap}
.inquiry-who p{display:flex;align-items:center;gap:7px;margin:0 0 3px;font-size:14px;overflow-wrap:anywhere}
.inquiry-who svg{flex:none;width:15px;height:15px;color:var(--gold)}
.inquiry-plan{margin:0 0 8px;font-size:13px;color:var(--muted)}
.inquiry-plan strong{color:var(--ink);font-weight:600}
.inquiry-text{margin:0;padding:12px 14px;background:var(--paper);border-radius:var(--radius-sm);font-size:14px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.inquiry-text.is-empty{color:var(--muted)}
.inquiry-actions{display:flex;flex-direction:column;gap:8px}
.inquiry-save{display:flex;flex-direction:column;gap:8px}
.inquiry-save-row{display:flex;gap:8px}
.inquiry-save-row select{flex:1;min-height:40px;font-size:13px}
.inquiry-save-row .button{flex:none;min-height:40px;padding:8px 16px}
.inquiry-save textarea{min-height:64px;font-size:13px}
.inquiry-delete{align-self:flex-end}
.inquiry-delete-button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 2px;color:var(--error)!important;font-size:13px}
.inquiry-delete-button svg{width:15px;height:15px}
@media(max-width:1199px){.inquiry-card{grid-template-columns:140px minmax(0,1fr) minmax(0,1.3fr)}.inquiry-actions{grid-column:1/-1;flex-direction:row;align-items:flex-start;gap:12px}.inquiry-save{flex:1;flex-direction:row}.inquiry-save-row{flex:none;width:240px}.inquiry-save textarea{flex:1;min-height:40px}.inquiry-delete{align-self:center}}
@media(max-width:767px){.inquiry-card{grid-template-columns:1fr;gap:14px;padding:18px}.inquiry-when{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.inquiry-actions,.inquiry-save{flex-direction:column;align-items:stretch}.inquiry-save-row{width:auto}.inquiry-delete{align-self:flex-end}}

/* 기업 제휴 화면 메뉴·제안서 안내(2026-10-15) */
.biz-hero .button-ghost{background:transparent;color:var(--white);border-color:#ffffff66}
.biz-hero .button-ghost:hover{background:#ffffff14;color:var(--white)}
.biz-subnav{background:var(--white);border-bottom:1px solid var(--line)}
.biz-subnav-inner{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.biz-subnav-inner::-webkit-scrollbar{display:none}
.biz-subnav a{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:52px;padding:0 14px;font-size:15px;font-weight:550;color:var(--muted);white-space:nowrap}
.biz-subnav a:hover{color:var(--green)}
.biz-subnav a.is-proposal{color:var(--green)}
.biz-subnav svg.lucide{width:18px;height:18px}
.biz-proposal{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:40px}
.biz-proposal-copy h2{font:400 30px/1.45 var(--serif);margin:4px 0 14px}
.biz-proposal-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:24px}
.biz-proposal-copy .button-row{justify-content:flex-start}
.biz-proposal-preview{display:flex;flex-direction:column;justify-content:center;gap:14px;aspect-ratio:16/9;padding:32px;border-radius:12px;background:#1d392f;color:#f3efe4;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.biz-proposal-preview:hover{color:#f3efe4;transform:translateY(-3px);box-shadow:0 18px 40px #1832252e}
.biz-proposal-eyebrow{font-size:12px;letter-spacing:.14em;color:#d9c29a}
.biz-proposal-title{font:400 24px/1.45 var(--serif)}
.biz-proposal-meta{font-size:13px;color:#c9d4cb}
@media(max-width:991px){.biz-proposal{grid-template-columns:1fr;gap:28px;padding:28px}}
@media(max-width:767px){.biz-subnav-inner{flex-wrap:wrap;justify-content:center;gap:0 2px;padding:6px 0}.biz-subnav a{min-height:40px;padding:0 10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.biz-proposal-preview{transition:none}.biz-proposal-preview:hover{transform:none}}

/* 기업 제휴 제안서 /business/proposal (2026-10-15) - views/business-proposal.php, scripts/proposal-viewer.js
   슬라이드 안의 크기는 모두 --u 의 배수다. 넓은 화면(.proposal-stage 900px 이상)은 --u = 무대 폭/1920 인 16:9 슬라이드,
   좁은 화면은 --u 를 고정값으로 두고 세로로 흘린다. 스크립트가 없으면 슬라이드가 모두 위에서 아래로 보인다. */
.proposal-head{padding:40px 0 20px}
.proposal-head h1{font-size:40px;line-height:1.4;margin:6px 0 12px}
.proposal-lead{color:var(--muted)}
.proposal-viewer{padding-bottom:56px}
.proposal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.proposal-counter{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}
.proposal-counter b{color:var(--ink)}
.proposal-current-title{color:var(--ink)}
.proposal-tools{display:flex;gap:8px}
.proposal-tool{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);font-size:14px;font-weight:550}
.proposal-tool:hover,.proposal-tool[aria-expanded="true"]{border-color:var(--green);color:var(--green)}
.proposal-tool svg.lucide{width:18px;height:18px}
.proposal-index{list-style:none;margin:0 0 12px;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px 16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.proposal-index a{display:flex;align-items:center;min-height:40px;padding:0 10px;border-radius:var(--radius-sm);font-size:14px;color:var(--ink)}
.proposal-index a:hover{background:var(--sage)}
.proposal-index a[aria-current]{background:var(--green);color:var(--white)}
.proposal-stage{container:pv / inline-size;position:relative;display:grid;gap:16px;touch-action:pan-y}
/* 좌우 화살표 - 넓은 화면(무대 900px 이상)에서만 슬라이드 양옆 가운데에 반쯤 걸쳐 놓는다. 좁은 화면은 아래 줄 화살표 */
.proposal-side{display:none}
.proposal-side[hidden]{display:none!important}
@container pv (min-width:900px){
.proposal-side{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:56px;height:56px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--green);box-shadow:0 8px 24px #18322526;transition:background .2s ease,color .2s ease,opacity .2s ease}
.proposal-side-prev{left:0;transform:translate(-50%,-50%)}
.proposal-side-next{right:0;transform:translate(50%,-50%)}
.proposal-side:hover:not(:disabled){background:var(--green);border-color:var(--green);color:var(--white)}
.proposal-side:disabled{opacity:0;pointer-events:none}
.proposal-side svg.lucide{width:26px;height:26px}
}
@media(min-width:964px){.proposal-controls .proposal-nav{display:none}}
@media(prefers-reduced-motion:reduce){.proposal-side{transition:none}}
.proposal-stage:focus{outline:none}
.proposal-stage:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.proposal-controls{display:flex;align-items:center;gap:16px;margin-top:16px}
.proposal-nav{display:grid;place-items:center;width:52px;height:52px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--green)}
.proposal-nav:hover:not(:disabled){background:var(--green);border-color:var(--green);color:var(--white)}
.proposal-nav:disabled{opacity:.35}
.proposal-progress{flex:1;height:4px;border-radius:2px;background:var(--line);overflow:hidden}
.proposal-progress span{display:block;width:0;height:100%;background:var(--green);transition:width .3s ease}
.proposal-viewer:fullscreen{display:flex;flex-direction:column;justify-content:center;width:100vw;max-width:none;margin:0;padding:20px 24px;background:#101c17}
.proposal-viewer:fullscreen .proposal-stage{width:min(100%,calc((100vh - 150px) * 16 / 9));margin:0 auto}
.proposal-viewer:fullscreen .proposal-toolbar,.proposal-viewer:fullscreen .proposal-controls{width:min(100%,calc((100vh - 150px) * 16 / 9));margin-inline:auto}
.proposal-viewer:fullscreen .proposal-counter,.proposal-viewer:fullscreen .proposal-counter b,.proposal-viewer:fullscreen .proposal-current-title{color:#e4e9e2}
.proposal-cta{background:var(--sand);padding:48px 0}
.proposal-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.proposal-cta h2{font:400 28px/1.45 var(--serif);margin:4px 0 8px}
.proposal-cta p:not(.eyebrow){color:var(--muted)}
.proposal-cta .button-row{flex:none;justify-content:flex-end}
@media(max-width:991px){.proposal-cta-inner{flex-direction:column;align-items:flex-start}.proposal-cta .button-row{justify-content:flex-start}.proposal-index{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.proposal-head h1{font-size:30px}.proposal-tool span{display:none}.proposal-tool{padding:0 11px}.proposal-current-title{display:none}.proposal-index{grid-template-columns:1fr}}

/* 슬라이드 - 좁은 화면 기본값(세로로 흘림) */
.pv-slide{--u:.56px;position:relative;display:flex;flex-direction:column;gap:calc(36*var(--u));padding:calc(48*var(--u)) calc(36*var(--u)) calc(96*var(--u));background:#f8f7f3;color:#273e35;border:1px solid var(--line);border-radius:12px;font-size:calc(29*var(--u));line-height:1.6;overflow:hidden}
.pv-slide[hidden]{display:none}
.pv-slide p,.pv-slide h2,.pv-slide h3,.pv-slide dl,.pv-slide dd,.pv-slide ol,.pv-slide ul{margin:0}
.pv-slide h3{font-size:calc(34*var(--u));font-weight:700;line-height:1.4;letter-spacing:-.02em;color:#1d392f}
.pv-slide svg.lucide{width:calc(40*var(--u));height:calc(40*var(--u));flex:none}
.pv-sage{background:#e8ecE5}
.pv-dark{background:#1d392f;color:#f3efe4;border-color:#1d392f}
.pv-dark a:not(.pv-button){color:#d9c29a;text-decoration:underline;text-underline-offset:3px}
.pv-head{display:flex;flex-direction:column;gap:calc(12*var(--u))}
.pv-eyebrow{font-size:calc(23*var(--u));font-weight:600;letter-spacing:.12em;color:#7a6338}
.pv-sage .pv-eyebrow{color:#6e5830}
.pv-dark .pv-eyebrow{color:#d9c29a}
.pv-title{font:400 calc(52*var(--u))/1.3 var(--serif);letter-spacing:-.04em;color:#1d392f}
.pv-dark .pv-title{color:#f3efe4}
.pv-foot{position:absolute;left:calc(36*var(--u));right:calc(36*var(--u));bottom:calc(36*var(--u));font-size:calc(21*var(--u));color:#69736b}
.pv-muted{font-size:calc(25*var(--u));color:#69736b}
.pv-dark .pv-muted{color:#c9d4cb}
.pv-note{font-size:calc(25*var(--u));color:#4e5b53}
.pv-num{font:400 calc(54*var(--u))/1 var(--serif);color:#9b835b}
.pv-statement{font-size:calc(32*var(--u));font-weight:500;color:#1d392f}
.pv-statement span{color:#4e5b53;font-weight:400}
.pv-card{display:flex;flex-direction:column;gap:calc(16*var(--u));padding:calc(40*var(--u));background:#fdfcf9;border:1px solid #dce0d6;border-radius:calc(20*var(--u))}
.pv-card p{color:#4e5b53}
.pv-card-gold{border-top:calc(6*var(--u)) solid #9b835b}
.pv-card-icon{flex-direction:row;border:0}
.pv-card-icon>svg.lucide{width:calc(50*var(--u));height:calc(50*var(--u));color:#9b835b}
.pv-card-icon>div{display:flex;flex-direction:column;gap:calc(10*var(--u))}
/* 표지·마지막 장 */
.pv-cover{gap:calc(48*var(--u))}
.pv-cover-copy{display:flex;flex-direction:column;gap:calc(32*var(--u))}
.pv-cover-title{font:400 calc(64*var(--u))/1.32 var(--serif);letter-spacing:-.04em;color:#f3efe4}
.pv-rule{display:block;width:calc(96*var(--u));height:calc(4*var(--u));background:#b89c6a}
.pv-cover-date{font-size:calc(27*var(--u));color:#c9d4cb}
.pv-cover-card{display:flex;flex-direction:column;gap:calc(20*var(--u));padding:calc(44*var(--u));background:#24453a;border:1px solid #3b5c50;border-radius:calc(24*var(--u))}
.pv-cover-domain{font-size:calc(44*var(--u));font-weight:700;line-height:1.3;color:#f3efe4}
.pv-final{justify-content:center;gap:calc(40*var(--u))}
.pv-final-lead{font-size:calc(31*var(--u));color:#c9d4cb}
.pv-final-actions{display:flex;flex-wrap:wrap;gap:calc(24*var(--u))}
.pv-button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:calc(24*var(--u)) calc(40*var(--u));border:1px solid #ffffff59;border-radius:calc(10*var(--u));font-size:calc(30*var(--u));font-weight:600;color:#f3efe4;transition:background .2s ease}
.pv-button:hover{background:#ffffff14;color:#f3efe4}
.pv-button-primary{background:#f3efe4;border-color:#f3efe4;color:#1d392f}
.pv-button-primary:hover{background:#e8ecE5;color:#1d392f}
.pv-final-sub{font-size:calc(25*var(--u));color:#c9d4cb}
/* 한 장 요약 */
.pv-split{display:grid;gap:calc(28*var(--u))}
.pv-bignum{display:flex;flex-direction:column;justify-content:center;gap:calc(20*var(--u));padding:calc(48*var(--u));background:#1d392f;border-radius:calc(24*var(--u));color:#c9d4cb;font-size:calc(26*var(--u))}
.pv-bignum-value{font-size:calc(88*var(--u));font-weight:700;line-height:1.12;color:#f3efe4}
.pv-bignum-value span{color:#d9c29a}
.pv-iconlist{list-style:none;padding:0;display:flex;flex-direction:column;gap:calc(18*var(--u))}
.pv-iconlist li{display:flex;align-items:center;gap:calc(26*var(--u));padding:calc(28*var(--u)) calc(36*var(--u));background:#fdfcf9;border:1px solid #dce0d6;border-radius:calc(16*var(--u))}
.pv-iconlist svg.lucide{width:calc(44*var(--u));height:calc(44*var(--u));color:#284a3e}
.pv-iconlist small{font-size:inherit;color:#69736b}
.pv-cards3,.pv-grid2,.pv-cases,.pv-deliver,.pv-next,.pv-admin,.pv-family{display:grid;gap:calc(28*var(--u))}
/* 해결 흐름 */
.pv-flow{list-style:none;padding:0;display:grid;gap:calc(30*var(--u))}
.pv-flow li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:calc(30*var(--u)) calc(16*var(--u));background:#fdfcf9;border:1px solid #c9d2c5;border-radius:calc(16*var(--u));font-size:calc(31*var(--u));font-weight:700;text-align:center;color:#1d392f}
.pv-flow li small{font-size:calc(23*var(--u));font-weight:400;color:#4e5b53}
.pv-flow li.is-dark{background:#1d392f;border-color:#1d392f;color:#f3efe4}
.pv-flow li+li::before{content:'';position:absolute;left:50%;top:calc(-22*var(--u));width:calc(14*var(--u));height:calc(14*var(--u));border-right:calc(4*var(--u)) solid #9b835b;border-bottom:calc(4*var(--u)) solid #9b835b;transform:translateX(-50%) rotate(45deg)}
/* 업종별 활용 - 제목 위 업종 배지(2026-10-15) */
.pv-industry{display:inline-flex;align-items:center;align-self:flex-start;gap:calc(14*var(--u));margin:calc(6*var(--u)) 0 calc(4*var(--u));padding:calc(14*var(--u)) calc(30*var(--u)) calc(14*var(--u)) calc(24*var(--u));border-radius:999px;background:#284a3e;color:#f3efe4;font-size:calc(34*var(--u));font-weight:700;line-height:1.3}
.pv-industry svg.lucide{width:calc(40*var(--u));height:calc(40*var(--u));color:#d9c29a}
.pv-rows{display:flex;flex-direction:column;gap:calc(22*var(--u))}
.pv-rows>div{display:grid;gap:calc(8*var(--u));padding:calc(34*var(--u)) calc(44*var(--u));background:#fdfcf9;border:1px solid #dce0d6;border-radius:calc(16*var(--u))}
.pv-rows dt{font-size:calc(27*var(--u));font-weight:700;color:#284a3e}
.pv-rows dd{font-size:calc(31*var(--u))}
.pv-rows .is-dark{background:#1d392f;border-color:#1d392f}
.pv-rows .is-dark dt{color:#d9c29a}
.pv-quote{font-family:var(--serif);color:#f3efe4}
/* 유족이 받는 것 */
.pv-shots{display:flex;align-items:flex-end;gap:calc(22*var(--u))}
.pv-shots img{flex:1;min-width:0;height:auto;border:1px solid #dce0d6;border-radius:calc(14*var(--u))}
.pv-shots .pv-phone{flex:none;width:calc(190*var(--u));border:calc(6*var(--u)) solid #1d392f;border-radius:calc(22*var(--u))}
.pv-family-list{display:flex;flex-direction:column;gap:calc(26*var(--u))}
.pv-lines{list-style:none;padding:0;display:flex;flex-direction:column;gap:calc(16*var(--u))}
.pv-lines li{display:flex;align-items:flex-start;gap:calc(18*var(--u));padding-bottom:calc(16*var(--u));border-bottom:1px solid #dce0d6}
.pv-lines svg.lucide{color:#284a3e;margin-top:calc(4*var(--u))}
.pv-dark .pv-lines li{border-color:#3b5c50;color:#e4e9e2}
.pv-dark .pv-lines svg.lucide{color:#d9c29a}
.pv-pill-link{display:inline-flex;align-items:center;align-self:flex-start;gap:10px;min-height:44px;padding:calc(18*var(--u)) calc(30*var(--u));border-radius:999px;background:#e8ece5;color:#284a3e;font-size:calc(27*var(--u));font-weight:600}
.pv-pill-link:hover{background:#284a3e;color:#f3efe4}
.pv-pill-link svg.lucide{width:calc(30*var(--u));height:calc(30*var(--u))}
/* 고객 사용 방법 */
.pv-three{list-style:none;padding:0;display:grid;gap:calc(20*var(--u))}
.pv-three li{display:flex;align-items:center;gap:calc(20*var(--u))}
.pv-three span{display:grid;place-items:center;flex:none;width:calc(62*var(--u));height:calc(62*var(--u));border-radius:50%;background:#284a3e;color:#f3efe4;font-weight:700}
.pv-shot-wide{width:100%;height:auto;background:#fdfcf9;border:1px solid #dce0d6;border-radius:calc(16*var(--u))}
/* 관리 화면 */
.pv-features{display:flex;flex-direction:column;gap:calc(26*var(--u))}
.pv-features dt{font-size:calc(31*var(--u));font-weight:700;color:#1d392f}
.pv-features dd{color:#4e5b53}
.pv-admin-shots{display:flex;flex-direction:column;gap:calc(18*var(--u))}
.pv-admin-shots img+img{object-position:50% 40%}
.pv-admin-shots img{width:100%;height:calc(300*var(--u));object-fit:cover;object-position:top;background:#fdfcf9;border:1px solid #c9d2c5;border-radius:calc(16*var(--u))}
.pv-caption{font-size:calc(22*var(--u));color:#69736b}
/* 적용 사례 */
.pv-case{display:flex;flex-direction:column;gap:calc(18*var(--u))}
.pv-case img{width:100%;height:auto;background:#e8ece5;border-radius:calc(16*var(--u))}
.pv-case p{color:#4e5b53}
.pv-case a{color:#284a3e;text-decoration:underline;text-underline-offset:3px}
.pv-case h3 a{color:#1d392f}
/* 도입 절차 */
.pv-steps5{list-style:none;padding:0;display:grid;gap:calc(20*var(--u))}
.pv-steps5 li{display:flex;flex-direction:column;gap:calc(16*var(--u));padding:calc(34*var(--u)) calc(28*var(--u));background:#fdfcf9;border:1px solid #dce0d6;border-radius:calc(16*var(--u))}
.pv-steps5 p:not(.pv-num){font-size:calc(26*var(--u));color:#4e5b53}
.pv-steps5 .is-dark{background:#1d392f;border-color:#1d392f}
.pv-steps5 .is-dark h3{color:#f3efe4}
.pv-steps5 .is-dark p:not(.pv-num){color:#c9d4cb}
.pv-steps5 .is-dark .pv-num{color:#d9c29a}
.pv-banner{padding:calc(22*var(--u)) calc(32*var(--u));background:#e8ece5;border-radius:calc(12*var(--u));font-weight:500;color:#1d392f}
/* 전달 방법 */
.pv-ticket{display:flex;flex-direction:column;gap:calc(18*var(--u));padding:calc(46*var(--u));background:#fdfcf9;border-radius:calc(20*var(--u));box-shadow:0 12px 36px #1832251f}
.pv-ticket-title{font:400 calc(40*var(--u))/1.35 var(--serif);color:#1d392f}
.pv-ticket-code{font-size:calc(56*var(--u));font-weight:700;letter-spacing:.2em;color:#284a3e}
.pv-ticket ol{padding-left:1.3em;font-size:calc(26*var(--u));color:#4e5b53}
.pv-sms{display:flex;flex-direction:column;gap:calc(22*var(--u))}
.pv-bubble{padding:calc(38*var(--u));background:#fdfcf9;border:1px solid #c9d2c5;border-radius:calc(28*var(--u));line-height:1.65}
/* 요금제 */
.pv-table-wrap{flex:none}
.pv-table{width:100%;border-collapse:collapse;background:#fdfcf9;border-radius:calc(16*var(--u));overflow:hidden;font-size:calc(28*var(--u))}
/* 좁은 화면: 머리줄을 숨기고 행마다 「행 이름」 + 요금제 세 칸(칸 위에 요금제 이름) */
.pv-table thead{display:none}
.pv-table tbody tr{display:grid;grid-template-columns:repeat(3,1fr)}
.pv-table tbody th{grid-column:1/-1;padding-bottom:0;border-bottom:0;font-weight:700}
.pv-table tbody td{display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.pv-table tbody td::before{content:attr(data-label);font-size:calc(22*var(--u));color:#69736b;font-weight:500}
.pv-table th,.pv-table td{padding:calc(16*var(--u)) calc(24*var(--u));text-align:center;border-bottom:1px solid #e6e9e2}
.pv-table thead th{background:#1d392f;color:#f3efe4;font-weight:600}
.pv-table thead th:first-child,.pv-table tbody th{text-align:left}
.pv-table thead .is-featured{color:#d9c29a}
.pv-table tbody th{font-weight:500;background:transparent;color:#273e35;white-space:normal}
.pv-table tbody tr:nth-child(even){background:#f1f3ee}
.pv-checks{list-style:none;padding:0;display:grid;gap:calc(14*var(--u))}
.pv-checks li{display:flex;align-items:center;gap:calc(12*var(--u));color:#284a3e;font-size:calc(27*var(--u))}
.pv-checks svg.lucide{width:calc(32*var(--u));height:calc(32*var(--u))}
/* 다음 단계·자주 묻는 질문 */
.pv-next>div:first-child{display:flex;flex-direction:column;gap:calc(22*var(--u))}
.pv-contact{display:flex;flex-direction:column;gap:calc(16*var(--u));padding:calc(44*var(--u));background:#f8f7f3;color:#273e35;border-radius:calc(24*var(--u))}
.pv-dark .pv-contact .pv-eyebrow{color:#7a6338}
.pv-dark .pv-contact a{color:#284a3e}
.pv-contact-main{font-size:calc(36*var(--u));font-weight:700}
.pv-small{font-size:calc(23*var(--u));color:#69736b}
.pv-faq{display:grid;gap:calc(26*var(--u))}
.pv-faq dt{font-size:calc(28*var(--u));font-weight:700;color:#1d392f}
.pv-faq dd{margin-top:calc(6*var(--u));font-size:calc(25*var(--u));color:#4e5b53;line-height:1.5}
.proposal-viewer.is-ready .pv-slide.is-active{animation:pv-in .35s ease}
@keyframes pv-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.proposal-viewer.is-ready .pv-slide.is-active{animation:none}.proposal-progress span{transition:none}}
/* 슬라이드 - 넓은 화면(16:9, 1920×1080 설계를 무대 폭에 맞춰 줄인다) */
@container pv (min-width:900px){
.pv-slide{--u:calc(100cqw / 1920);aspect-ratio:16/9;padding:calc(104*var(--u)) calc(128*var(--u)) calc(150*var(--u));gap:calc(44*var(--u));border:0;border-radius:calc(14*var(--u));font-size:calc(30*var(--u));box-shadow:0 10px 30px #18322514}
.pv-title{font-size:calc(62*var(--u))}
.pv-foot{left:calc(128*var(--u));right:auto;bottom:calc(60*var(--u));font-size:calc(22*var(--u))}
.pv-cover{flex-direction:row;align-items:center;gap:calc(96*var(--u));padding:calc(128*var(--u))}
.pv-cover-copy{flex:1;gap:calc(38*var(--u))}
.pv-cover-title{font-size:calc(92*var(--u))}
.pv-cover-card{width:calc(560*var(--u));flex:none;padding:calc(54*var(--u))}
.pv-final{padding:calc(128*var(--u))}
.pv-split{flex:1;grid-template-columns:calc(600*var(--u)) 1fr;gap:calc(44*var(--u))}
.pv-iconlist{justify-content:space-between}
.pv-cards3{flex:1;grid-template-columns:repeat(3,1fr);gap:calc(32*var(--u))}
.pv-flow{grid-template-columns:repeat(5,1fr);gap:calc(44*var(--u))}
.pv-flow li+li::before{left:calc(-30*var(--u));top:50%;transform:translateY(-50%) rotate(-45deg)}
.pv-rows{flex:1;justify-content:center}
.pv-rows>div{grid-template-columns:calc(200*var(--u)) 1fr;align-items:center;gap:calc(48*var(--u))}
.pv-family{flex:1;grid-template-columns:calc(950*var(--u)) 1fr;align-items:center;gap:calc(56*var(--u))}
.pv-grid2{flex:1;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.pv-three{grid-template-columns:repeat(3,1fr)}
.pv-shot-wide{height:calc(400*var(--u));object-fit:contain}
.pv-admin{flex:1;grid-template-columns:calc(560*var(--u)) 1fr;gap:calc(56*var(--u))}
.pv-features{justify-content:center}
.pv-admin-shots img{height:calc(282*var(--u))}
.pv-cases{flex:1;grid-template-columns:1fr 1fr;gap:calc(48*var(--u))}
.pv-case img{height:calc(400*var(--u));object-fit:contain}
.pv-steps5{flex:1;grid-template-columns:repeat(5,1fr)}
.pv-deliver{flex:1;grid-template-columns:calc(740*var(--u)) 1fr;align-items:center;gap:calc(56*var(--u))}
.pv-table thead{display:table-header-group}
.pv-table tbody tr{display:table-row}
.pv-table tbody th{padding-bottom:calc(16*var(--u));border-bottom:1px solid #e6e9e2;font-weight:500}
.pv-table tbody td{display:table-cell}
.pv-table tbody td::before{content:none}
.pv-checks{grid-template-columns:repeat(3,auto);justify-content:start;column-gap:calc(48*var(--u))}
.pv-next{flex:1;grid-template-columns:1fr calc(620*var(--u));gap:calc(56*var(--u))}
.pv-faq{flex:1;grid-template-columns:1fr 1fr;column-gap:calc(64*var(--u))}
}

/* 추모관 만들기 첫 화면 - 개인 추모관·공식 추모관 선택(2026-10-15) views/create-choice.php */
.create-choice-head{padding:48px 0 28px}
.create-choice-head h1{font-size:40px;line-height:1.4;margin:6px 0 10px}
.create-choice-head p:not(.eyebrow){color:var(--muted)}
.create-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.choice-card{display:flex;flex-direction:column;gap:20px;padding:36px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.choice-card.is-official{border-color:#c9b48c;background:linear-gradient(180deg,#fffdf8,var(--white) 40%)}
.choice-card-head{display:flex;align-items:center;gap:18px}
.choice-card-head h2{font:400 28px/1.35 var(--serif);margin:0}
.choice-icon{display:grid;place-items:center;flex:none;width:60px;height:60px;border-radius:16px;background:var(--sage);color:var(--green)}
.choice-card.is-official .choice-icon{background:#f6efe0;color:#8a6d3b}
.choice-icon svg.lucide{width:28px;height:28px}
.choice-price{margin:4px 0 0;font-size:18px;font-weight:700;color:var(--green)}
.choice-card.is-official .choice-price{color:#7a6338}
.choice-price small{font-size:13px;font-weight:400;color:var(--muted)}
.choice-lead{color:var(--ink)}
.choice-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1;align-content:start}
.choice-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.65;color:var(--muted)}
.choice-list li b{color:var(--ink);font-weight:600}
.choice-list svg.lucide{flex:none;width:18px;height:18px;margin-top:4px;color:var(--green)}
.choice-card.is-official .choice-list svg.lucide{color:#9b835b}
.create-choice-login{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px 28px;background:var(--sage);border-radius:var(--radius)}
.create-choice-login h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:0 0 4px}
.create-choice-login h2 svg.lucide{width:20px;height:20px;color:var(--green)}
.create-choice-login p{color:var(--muted);font-size:14px}
.create-choice-login .button-row{flex:none;gap:10px}
.create-choice-flow{padding:48px 0 64px}
.create-choice-flow>h2{font:400 26px/1.4 var(--serif);margin-bottom:20px}
.choice-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.choice-steps li{display:flex;gap:14px;padding:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.choice-steps li>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--green);color:var(--white);font-weight:700}
.choice-steps h3{font-size:16px;margin:2px 0 4px}
.choice-steps p{font-size:14px;color:var(--muted);line-height:1.65}
.choice-note{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--muted);margin-bottom:12px}
.choice-note svg.lucide{flex:none;width:18px;height:18px;margin-top:3px;color:var(--green)}
@media(max-width:991px){.create-choice-grid,.choice-steps{grid-template-columns:1fr}.create-choice-login{flex-direction:column;align-items:flex-start}}
@media(max-width:767px){.create-choice-head h1{font-size:30px}.choice-card{padding:24px}.choice-card-head h2{font-size:24px}}
/* 공식 추모관 신청서(만들기·설정 공용) */
.official-visibility{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;border:0}
.official-visibility.official-category{grid-template-columns:repeat(2,1fr)}
.official-doc-guide{margin:0;padding-left:18px;font-size:14px;color:var(--muted);display:grid;gap:4px}
.official-doc-guide b{color:var(--ink)}
.radio-card{display:flex!important;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);cursor:pointer}
.radio-card input{margin-top:5px}
.radio-card strong{display:block;font-size:15px}
.radio-card small{display:block;font-size:13px;color:var(--muted);font-weight:400}
.radio-card:has(input:checked){border-color:var(--green);background:#f3f6f1}
.official-consent{display:grid;gap:8px;padding:18px 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px}
.official-consent ul{margin:0;padding-left:18px;color:var(--muted)}
.official-consent>p{color:var(--muted)}
.official-consent>p b{color:var(--ink)}
.official-mask-note{display:flex;align-items:flex-start;gap:8px;font-size:14px}
.official-mask-note svg.lucide{flex:none;width:18px;height:18px;margin-top:3px}
.official-aside-steps{margin:0 0 4px;padding-left:20px;display:grid;gap:8px;font-size:14px;color:var(--muted)}
.official-opening-note{display:flex;align-items:flex-start;gap:10px;border-left:4px solid #c9b48c}
.official-opening-note svg.lucide{flex:none;width:20px;height:20px;margin-top:3px;color:#9b835b}
@media(max-width:767px){.official-visibility,.official-visibility.official-category{grid-template-columns:1fr}}
/* 운영관리 공식 인증 - 증빙 서류 목록 */
.official-admin-meta{margin:0 0 6px}
.official-docs{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:4px;font-size:14px}
.official-docs a,.official-docs span{display:inline-flex;align-items:center;gap:6px}
.official-docs svg.lucide{width:16px;height:16px}
/* 이용안내(/guide) - 분류·검색·질문과 답(2026-10-15, views/guide.php) */
.guide-intro{max-width:760px;margin:-8px auto 34px;text-align:center}
.guide-intro>p{margin:0 0 22px;color:var(--muted);font-size:15px;line-height:1.85}
.guide-search{position:relative;margin:0 0 26px}
.guide-search>svg{position:absolute;left:18px;top:17px;width:20px;height:20px;color:var(--muted);pointer-events:none}
.guide-search input[type=search][data-guide-search]{width:100%;min-height:54px;padding:12px 18px 12px 48px;background:var(--white);border:1.5px solid var(--green);border-radius:var(--radius);font:inherit;font-size:16px;color:var(--ink)}
.guide-search input[type=search][data-guide-search]:focus{outline:3px solid var(--sage);outline-offset:0;border-color:var(--green-dark)}
.guide-search>svg{color:var(--green)}
.guide-search-status{min-height:22px;margin:8px 0 0;font-size:14px;color:var(--muted)}
.guide-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 48px}
.guide-cats a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.guide-cats a:hover,.guide-cats a:focus-visible{border-color:var(--green);box-shadow:var(--shadow)}
.guide-cat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--sage);color:var(--green)}
.guide-cat-icon svg{width:19px;height:19px}
.guide-cats strong{font-size:15px;font-weight:600;line-height:1.4}
.guide-cats small{font-size:13px;color:var(--muted)}
.guide-cats-title{display:none}
/* 폭 통일(2026-10-18): 이용안내는 머리 메뉴 폭(.shell)을 쓰고, 분류·검색·질문·고객센터 안내가 같은 칸 안에서 같은 폭이다 */
.subpage.guide-page{max-width:none}
.guide-body{margin:0}
.guide-section{margin:0 0 44px;scroll-margin-top:110px}
.guide-section-head{display:flex;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.guide-section-icon{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--sage);color:var(--green)}
.guide-section-icon svg{width:22px;height:22px}
.guide-section-head h2{margin:2px 0 4px;font-size:22px}
.guide-section-head p{margin:0;font-size:14px;color:var(--muted)}
.guide-section.is-official .guide-section-icon{background:#f6efe0;color:var(--gold)}
.guide-lead{margin:18px 0 0;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--radius);font-size:15px;line-height:1.85}
.guide-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.guide-steps li{display:flex;gap:14px;padding:16px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.guide-step-no{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:var(--white);font-size:14px;font-weight:600}
.guide-steps strong{display:block;font-size:15px;margin-bottom:2px}
.guide-steps p{margin:0;font-size:14px;color:var(--muted);line-height:1.7}
.guide-qa{margin-top:8px}
.guide-qa-item{border-bottom:1px solid var(--line)}
.guide-qa-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;cursor:pointer;font-weight:600;line-height:1.55;color:var(--ink)}
.guide-qa-item[open] summary{color:var(--green)}
.guide-qa-item summary::-webkit-details-marker{display:none}
.guide-qa-item summary svg{flex:none;width:18px;height:18px;color:var(--muted);transition:transform .2s}
.guide-qa-item[open] summary svg{transform:rotate(180deg)}
.guide-qa-item summary:hover span{color:var(--green)}
/* 답은 흰 상자 + 초록 줄로 질문과 구분한다(2026-10-15 사용자 요청 - 질문·답 글자색이 비슷해 읽기 어렵다) */
.guide-answer{margin:0 0 18px;padding:16px 20px;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--radius)}
.guide-answer p{margin:0;font-size:15px;font-weight:400;color:#3b4842;line-height:1.9}
.guide-answer a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.guide-empty{margin:0 0 40px}
/* 이용안내 분류 끝 「관련 이야기」(2026-10-18) */
.guide-related{margin-top:14px;padding:14px 18px;border:1px dashed var(--line);border-radius:var(--radius)}
.guide-related-title{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13.5px;color:var(--muted)}
.guide-related-title svg{width:15px;height:15px;color:var(--gold)}
.guide-related ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.guide-related a{color:var(--green);font-size:15px;word-break:keep-all}
.guide-help{display:flex;gap:20px;align-items:flex-start;margin:12px 0 0;padding:28px;background:var(--sand);border-radius:var(--radius)}
.guide-help-icon{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--white);color:var(--green)}
.guide-help-icon svg{width:22px;height:22px}
.guide-help h2{margin:0 0 8px;font-size:20px}
.guide-help p{margin:0 0 16px;font-size:15px;color:var(--muted);line-height:1.85}
.guide-help .button-row{flex-wrap:wrap}
.guide-help .button{word-break:break-all}
/* 넓은 화면: 왼쪽 분류 목록(화면을 따라 내려온다) | 오른쪽 검색·질문·고객센터 - 두 칸의 바깥 끝 = 머리 메뉴 끝 */
@media(min-width:992px){
.guide-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:44px;align-items:start}
.guide-cats{position:sticky;top:116px;display:flex;flex-direction:column;gap:2px;margin:0;max-height:calc(100vh - 136px);overflow-y:auto;padding-right:4px}
.guide-cats-title{display:block;margin:0 0 8px;padding:0 12px;font-size:12.5px;font-weight:600;letter-spacing:.08em;color:var(--gold)}
.guide-cats a{flex-direction:row;align-items:center;gap:12px;padding:8px 12px;background:transparent;border:0;border-radius:var(--radius)}
.guide-cats a:hover,.guide-cats a:focus-visible{background:var(--white);box-shadow:none;border:0}
.guide-cat-icon{flex:none;width:32px;height:32px}
.guide-cat-icon svg{width:16px;height:16px}
.guide-cats strong{flex:1;min-width:0;font-size:14.5px;font-weight:500}
.guide-cats small{flex:none;font-size:12.5px}
}
@media(max-width:900px){.guide-cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.guide-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:36px}.guide-cats a{padding:14px}.guide-cats small{display:none}.guide-steps{grid-template-columns:1fr}.guide-section-head h2{font-size:19px}.guide-help{flex-direction:column;gap:14px;padding:22px}}
/* 생애 기록 사진 - 새 사진 올리기·앨범에서 고르기 + 미리보기 (2026-10-17, views/timeline-photo-fields.php) */
.timeline-photo-picker{flex:none;min-width:0;margin:0;padding:16px 20px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.timeline-photo-picker legend{padding:0 6px;font-size:15px;font-weight:500}
.timeline-photo-preview{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.timeline-photo-preview img{flex:none;width:120px;height:90px;object-fit:cover;border-radius:var(--radius-sm);background:var(--sage)}
.timeline-photo-preview p{margin:0;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.timeline-photo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.timeline-photo-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:15px}
.timeline-photo-tabs button[aria-selected=true]{border-color:var(--green);background:var(--green);color:var(--white)}
.timeline-photo-tabs svg{width:18px;height:18px}
.timeline-photo-panel+.timeline-photo-panel{margin-top:18px}
.timeline-photo-panel-title{margin:0 0 10px;font-size:15px;font-weight:500}
.timeline-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;max-height:440px;overflow-y:auto;padding:4px}
.stack-form .timeline-photo-option{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px;font-weight:400;cursor:pointer}
.timeline-photo-option input{position:absolute;top:8px;left:8px;width:1px;height:1px;opacity:0}
.timeline-photo-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;border:2px solid transparent;border-radius:var(--radius-sm);background:var(--sage);color:var(--muted)}
.timeline-photo-thumb img{width:100%;height:100%;object-fit:cover}
.timeline-photo-option:hover .timeline-photo-thumb{border-color:#a7b4a5}
.timeline-photo-option input:checked+.timeline-photo-thumb{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}
.timeline-photo-option input:focus-visible+.timeline-photo-thumb{outline:2px solid var(--gold);outline-offset:3px}
.timeline-photo-caption{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.timeline-photo-option input:checked~.timeline-photo-caption{color:var(--green);font-weight:500}
.stack-form .timeline-photo-caption small{margin-top:2px;font-size:13px}
/* 사진 수정 - 지금 사진과 등록 정보 (2026-10-17) */
.photo-edit-current{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:20px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.photo-edit-image{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:var(--radius-sm);background:var(--sage);cursor:zoom-in}
.photo-edit-image img{display:block;width:100%;max-height:260px;object-fit:contain}
.photo-edit-image span{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#14291ecc;color:var(--white);font-size:13px}
.photo-edit-image span svg{width:15px;height:15px}
.photo-edit-meta{display:grid;gap:10px;margin:0}
.photo-edit-meta div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;font-size:14px}
.photo-edit-meta dt{color:var(--muted);font-weight:400}
.photo-edit-meta dd{margin:0;overflow-wrap:anywhere}
@media(max-width:767px){.photo-edit-current{grid-template-columns:1fr}.timeline-photo-picker{padding:14px 14px 16px}.timeline-photo-preview img{width:96px;height:72px}.timeline-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
/* 사진 등록 - 사진마다 설명·촬영일 칸, 촬영일은 사진 정보에서 자동으로 채움 (2026-10-17, scripts/photo-uploader.js) */
.photo-upload-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.photo-upload-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:10px;min-width:0}
.stack-form .photo-upload-field{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;font-size:13px;font-weight:500;color:var(--muted)}
.stack-form .photo-upload-field>input{min-width:0;margin-top:0;min-height:42px;padding:8px 10px;font-size:15px}
.photo-upload-date-hint{display:block;font-size:13px;line-height:1.5;color:var(--warning)}
.photo-upload-tip{margin:10px 0 0;font-size:13px;color:var(--muted)}
.manage-photo-date{display:flex;align-items:center;gap:5px;margin:8px 0 0;font-size:13px;color:var(--muted)}
.manage-photo-date svg{width:15px;height:15px}
.media-detail-date{margin-top:8px;font-size:15px;color:var(--muted)}
@media(max-width:480px){.photo-upload-grid{grid-template-columns:minmax(0,1fr)}.photo-upload-item .photo-upload-preview img{aspect-ratio:2/1}.photo-upload-add{min-height:96px;flex-direction:row}.stack-form .photo-upload-field>input{font-size:16px}}
