/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--paper:#f2f0ea;--ink:#20211f;--muted:#77776f;--line:#20211f2e;--moss:#344238;--brand:#ff6b19}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Sans TC,PingFang TC,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}.site-header{z-index:10;color:#f4f1e8;border-bottom:1px solid #ffffff38;grid-template-columns:1fr auto 1fr;align-items:center;height:104px;padding:0 4.2vw;display:grid;position:absolute;inset:0 0 auto}.brand{width:max-content;display:inline-flex}.brand-mark{flex-direction:column;align-items:flex-start;display:inline-flex}.brand-mark img{object-fit:contain;width:clamp(150px,12vw,205px);height:auto}.brand-mark-stacked img{width:160px}.brand-mark small{color:var(--brand);letter-spacing:.28em;margin-top:7px;font-size:9px}.site-header nav{letter-spacing:.08em;gap:34px;font-size:14px;display:flex}.site-header nav a,.login-link{opacity:.82;transition:opacity .2s}.site-header nav a:hover,.login-link:hover{opacity:1}.login-link{letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid;justify-self:end;padding-bottom:5px;font-size:13px}.hero{color:#f4f1e8;background:#252924;grid-template-columns:47% 53%;min-height:100svh;display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:190px 7vw 90px 8vw;display:flex}.eyebrow,.section-index,.section-heading>p,.portal-entry>p:first-child{text-transform:uppercase;letter-spacing:.24em;opacity:.7;font-size:12px}.hero h1{letter-spacing:.04em;margin:38px 0 36px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(50px,5.6vw,90px);font-weight:400;line-height:1.28}.hero-intro{color:#f4f1e8ad;letter-spacing:.08em;font-size:16px;line-height:2.05}.text-link{letter-spacing:.12em;border-bottom:1px solid;align-items:center;gap:30px;width:max-content;margin-top:48px;padding-bottom:8px;font-size:14px;display:inline-flex}.hero-visual{background:linear-gradient(125deg,#6c715f 0%,#a79e87 34%,#d3c3a4 34.2%,#b3a281 57%,#5a594d 57.2%,#30342d 100%);min-height:780px;position:relative;overflow:hidden}.hero-visual:before{content:"";background:#efddb775;width:44%;height:64%;position:absolute;top:0;left:16%;transform:skew(-12deg)}.hero-visual:after{content:"";background:#8f7960;height:46%;position:absolute;inset:auto 10% 0 26%;box-shadow:-70px -42px #cdc1a7,90px -105px #4b5146}.light-plane{aspect-ratio:1/1.5;background:#f5e8cc5c;border:1px solid #ffffff40;width:38%;position:absolute;inset:13% 15% auto auto}.hero-caption{letter-spacing:.2em;z-index:2;justify-content:space-between;font-size:11px;display:flex;position:absolute;inset:auto 28px 30px}.projects-section{padding:140px 4.2vw 170px}.section-heading{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:end;margin-bottom:50px;padding-bottom:28px;display:grid}.section-heading h2{margin:0;font-family:Noto Serif TC,serif;font-size:42px;font-weight:400}.section-heading a{letter-spacing:.12em;border-bottom:1px solid;padding-bottom:5px;font-size:13px}.project-grid{grid-template-columns:1.18fr .82fr;gap:70px 28px;display:grid}.project-card:last-child{grid-column:2}.project-art{aspect-ratio:4/3;background:#b7ad98;position:relative;overflow:hidden}.project-card:nth-child(2) .project-art,.project-card:nth-child(3) .project-art{aspect-ratio:3/4}.project-art:before,.project-art:after,.project-art span{content:"";display:block;position:absolute}.project-art:before{background:#d8cfbc;inset:18% 45% 0 0}.project-art:after{background:#5d655d;inset:0 0 28% 54%}.project-art span{background:#765f49;height:30%;inset:auto 12% 10% 25%;box-shadow:0 -80px #f6ebd26b}.project-card.stone .project-art{background:#cbc4b8}.project-card.stone .project-art:after{background:#8d887e}.project-card.dark .project-art{background:#3d403b}.project-card.dark .project-art:before{background:#8e7c65}.project-card.dark .project-art:after{background:#181b18}.project-art.stone{background:#cbc4b8}.project-art.stone:after{background:#8d887e}.project-art.dark{background:#3d403b}.project-art.dark:before{background:#8e7c65}.project-art.dark:after{background:#181b18}.portfolio-cover{aspect-ratio:auto;object-fit:contain;background:#d8d3c7;width:100%;height:auto;display:block}.portfolio-cover-empty{aspect-ratio:4/3;color:#ffffffb8;background:linear-gradient(135deg,#4f584e,#a59a83 52%,#d1c4a8 52.2%,#6f604f);place-items:end start;padding:22px;display:grid}.portfolio-cover-empty span{letter-spacing:.18em;text-transform:uppercase;font-size:11px}.project-card .portfolio-cover{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-card:hover .portfolio-cover{transform:none}.portfolio-row img.portfolio-cover{aspect-ratio:auto}.portfolio-empty-public{border-block:1px solid var(--line);color:var(--muted);margin:0 4.2vw 150px;padding:70px 0;line-height:2}.project-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:end;margin-top:18px;padding-top:17px;display:flex}.project-meta h3{letter-spacing:.08em;margin:0 0 7px;font-family:Noto Serif TC,serif;font-size:22px;font-weight:400}.project-meta p,.project-meta>span{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:12px}.philosophy{background:#dedbd1;grid-template-columns:36% 64%;padding:150px 8vw;display:grid}.philosophy h2,.portal-entry h2{letter-spacing:.04em;margin:0;font-family:Noto Serif TC,serif;font-size:clamp(40px,4.3vw,68px);font-weight:400;line-height:1.55}.philosophy>div>p{color:#64645e;letter-spacing:.07em;max-width:570px;margin:45px 0 0;font-size:16px;line-height:2.2}.portal-entry{background:var(--moss);color:#f4f1e8;text-align:center;padding:150px 8vw}.portal-entry h2{margin-top:32px}.portal-copy{color:#f4f1e8a6;letter-spacing:.08em;margin:28px auto 42px;font-size:15px}.portal-button{letter-spacing:.14em;border:1px solid #f4f1e880;gap:70px;padding:18px 24px;font-size:14px;display:inline-flex}footer{color:#eeeae0;background:#20211f;padding:100px 4.2vw 36px}.footer-brand{margin-bottom:80px}.footer-brand .brand-mark-stacked img{width:140px}footer>p{margin:0 0 20px;font-family:Noto Serif TC,serif;font-size:clamp(32px,4vw,58px)}footer>a,.contact-pending{color:#aaa89f;letter-spacing:.08em;font-size:15px}.footer-bottom{color:#777970;letter-spacing:.2em;border-top:1px solid #ffffff26;justify-content:space-between;margin-top:100px;padding-top:20px;font-size:10px;display:flex}.footer-bottom a{color:inherit;text-decoration:none;transition:color .2s}:is(.footer-bottom a:hover,.footer-bottom a:focus-visible){color:#eeeae0}.inner-page{padding-top:104px}.inner-header{color:var(--ink);border-bottom-color:var(--line);background:var(--paper)}.inner-header.header-dark{position:absolute}.page-intro{flex-direction:column;justify-content:center;min-height:66svh;padding:140px 8vw 90px;display:flex}.page-intro h1,.project-detail-head h1{letter-spacing:.04em;margin:40px 0 0;font-family:Noto Serif TC,serif;font-size:clamp(48px,6.3vw,94px);font-weight:400;line-height:1.4}.portfolio-list{padding:0 4.2vw 150px}.portfolio-row{border-top:1px solid var(--line);grid-template-columns:70px minmax(300px,1.2fr) 1fr;align-items:start;gap:35px;padding:36px 0 90px;display:grid}.portfolio-row .project-art{aspect-ratio:4/3!important}.portfolio-number{letter-spacing:.16em;color:var(--muted);font-size:12px}.portfolio-info{padding:28px 2vw}.portfolio-info>p,.project-detail-head>p,.project-story>p,.service-intro>p,.editorial-grid>p{text-transform:uppercase;color:var(--muted);letter-spacing:.2em;font-size:12px}.portfolio-info h2{margin:22px 0 65px;font-family:Noto Serif TC,serif;font-size:40px;font-weight:400}dl{margin:0}.portfolio-info dl,.project-detail-head dl{gap:18px;display:grid}.portfolio-info dl div,.project-detail-head dl div{border-top:1px solid var(--line);grid-template-columns:90px 1fr;padding-top:10px;display:grid}dt{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:11px}dd{letter-spacing:.08em;margin:0;font-size:14px}.project-detail-head{padding:110px 8vw 70px}.project-detail-head h1{margin:20px 0 70px}.project-detail-head dl{grid-template-columns:repeat(3,1fr);max-width:650px}.project-detail-hero{margin:0 4.2vw}.project-detail-hero .project-art{aspect-ratio:16/8}.project-detail-hero img.portfolio-cover{aspect-ratio:auto}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 4.2vw 140px;display:grid}.project-gallery figure{margin:0}.project-gallery figure:first-child:nth-last-child(odd){grid-column:1/-1}.project-gallery img{aspect-ratio:auto;object-fit:contain;background:#d8d3c7;width:100%;height:auto;display:block}.project-gallery figcaption{color:var(--muted);letter-spacing:.08em;padding-top:9px;font-size:11px}.project-story,.editorial-grid,.service-intro{grid-template-columns:32% 68%;padding:140px 8vw;display:grid}.project-story h2,.editorial-grid h2,.service-intro h2,.team-block h2{margin:0;font-family:Noto Serif TC,serif;font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.6}.project-story>div>p,.editorial-grid>div>p,.service-intro>div>p,.team-block>div>p{max-width:640px;color:var(--muted);letter-spacing:.06em;margin-top:38px;font-size:16px;line-height:2.1}.space-tags{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin:0 8vw 140px;padding-top:25px;display:flex}.space-tags span{border:1px solid var(--line);letter-spacing:.12em;padding:10px 18px;font-size:13px}.team-block{grid-template-columns:1fr 1fr;align-items:center;gap:8vw;margin:0 4.2vw 150px;display:grid}.team-portrait{background:linear-gradient(135deg,#bab3a4,#e1d8c4 45%,#62675d 45.2%,#313530);min-height:650px;position:relative}.team-portrait:after{content:"";background:#8b725d;border-radius:48% 48% 0 0;width:38%;height:54%;position:absolute;bottom:0;left:31%;box-shadow:0 -130px 0 -35px #c3ab8e}.process-list{border-top:1px solid var(--line);margin:0 8vw 150px}.process-list>div{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr 1fr;align-items:center;gap:30px;padding:27px 0;display:grid}.process-list span{color:var(--muted);font-size:12px}.process-list h3{margin:0;font-family:Noto Serif TC,serif;font-size:25px;font-weight:400}.process-list p{color:var(--muted);margin:0;font-size:14px}.contact-layout{grid-template-columns:32% 68%;padding:0 8vw 150px;display:grid}.contact-details{flex-direction:column;gap:15px;font-size:15px;display:flex}.contact-details>p:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin-bottom:30px;font-size:12px}.contact-details>p:last-child{color:var(--muted);margin-top:30px}.contact-form{grid-template-columns:1fr 1fr;gap:35px 25px;display:grid}.contact-form label,.login-box label{color:var(--muted);letter-spacing:.12em;flex-direction:column;gap:10px;font-size:12px;display:flex}.contact-form input,.contact-form select,.contact-form textarea,.login-box input{border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;background:0 0;outline:none;padding:12px 2px}.contact-details a,.contact-details span{overflow-wrap:anywhere;width:max-content;max-width:100%}.contact-details nav{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:13px;display:flex}.footer-social{color:#aaa89f;letter-spacing:.08em;flex-wrap:wrap;gap:10px 22px;margin-top:18px;font-size:13px;display:flex}.contact-form textarea{resize:vertical}.full-field{grid-column:1/-1}.contact-form button,.login-box button{border:1px solid var(--ink);cursor:pointer;background:0 0;grid-column:1/-1;justify-content:space-between;width:max-content;min-width:230px;padding:16px 20px;display:flex}.login-page{background:#252924;grid-template-columns:54% 46%;min-height:100svh;display:grid}.login-page .site-header{grid-column:1/-1}.login-art{color:#f4f1e8;background:linear-gradient(130deg,#252924,#5e665a 52%,#b2a78e 52.3%,#73634f);align-items:end;min-height:100svh;padding:180px 8vw 80px;display:flex}.login-art p{letter-spacing:.24em;font-size:12px}.login-art h1{font-family:Noto Serif TC,serif;font-size:clamp(45px,5vw,76px);font-weight:400;line-height:1.45}.login-art span{color:#ffffff9e;letter-spacing:.12em;font-size:13px}.login-panel{background:var(--paper);align-items:center;padding:140px 8vw 70px;display:flex}.login-box{width:100%;max-width:430px;margin:auto}.login-box h2{margin:25px 0 12px;font-family:Noto Serif TC,serif;font-size:42px;font-weight:400}.login-box>p{color:var(--muted);font-size:15px}.login-box form{gap:28px;margin-top:52px;display:grid}.login-box button{width:100%;margin-top:10px}.form-error{border-left:2px solid;padding-left:12px;color:#9b3d32!important}.demo-access{border-top:1px solid var(--line);justify-content:space-between;margin-top:45px;padding-top:20px;font-size:12px;display:flex}.demo-access span{color:var(--muted)}.demo-access a{border-bottom:1px solid}.portal-shell{color:#252824;background:#eef0eb;grid-template-columns:250px 1fr;min-height:100svh;display:grid}.portal-sidebar{color:#eef0e9;background:#2f3932;flex-direction:column;height:100svh;padding:36px 28px;display:flex;position:sticky;top:0}.portal-sidebar nav{flex-direction:column;gap:8px;margin-top:80px;display:flex}.portal-sidebar nav a,.portal-sidebar nav span{color:#fff9;border-radius:3px;padding:12px 14px;font-size:14px}.portal-sidebar nav a.active{color:#fff;background:#ffffff1a}.portal-account{border-top:1px solid #ffffff26;align-items:center;gap:12px;margin-top:auto;padding-top:22px;display:flex}.portal-account>span{color:#293029;background:#c5b59a;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.portal-account form{margin-top:3px}.portal-account button,.portal-account div>a{color:#aeb7af;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.portal-account div{flex-direction:column;font-size:13px;display:flex}.portal-account small{color:#ffffff80;margin-top:3px}.portal-content{min-width:0;padding:38px 4vw 100px}.demo-banner{letter-spacing:.16em;text-align:center;background:#d9c6a5;margin:-38px -4vw 30px;padding:9px 14px;font-size:11px}.portal-top{justify-content:space-between;align-items:end;margin-bottom:32px;display:flex}.portal-top p{color:#84877f;letter-spacing:.15em;margin:0 0 8px;font-size:12px}.portal-top h1{margin:0;font-family:Noto Serif TC,serif;font-size:34px;font-weight:400}.portal-top h1 span{color:#777;margin-left:12px;font-family:inherit;font-size:16px}.portal-top>a{border-bottom:1px solid;padding-bottom:5px;font-size:12px}.progress-hero{background:#fafbf8;border:1px solid #daddd5;grid-template-columns:170px 1fr auto;align-items:center;gap:45px;padding:38px 42px;display:grid}.progress-ring{--progress:0deg;background:conic-gradient(#6f806e var(--progress),#e3e6df 0);border-radius:50%;place-items:center;width:145px;height:145px;display:grid}.progress-ring:before{content:"";background:#fafbf8;border-radius:50%;width:112px;height:112px;position:absolute}.progress-ring>div{z-index:1;position:relative}.progress-ring strong{font:400 42px Noto Serif TC,serif}.progress-copy>p{color:#888;letter-spacing:.12em;font-size:12px}.progress-copy h2{margin:12px 0 30px;font:400 31px Noto Serif TC,serif}.progress-copy>div{gap:20px;font-size:13px;display:flex}.progress-copy>div span{color:#888}.progress-summary{border-left:1px solid #ddd;grid-template-columns:repeat(3,95px);display:grid}.progress-summary div{text-align:center;flex-direction:column;gap:6px;display:flex}.progress-summary strong{font:400 27px Noto Serif TC,serif}.progress-summary span{color:#888;font-size:11px}.gantt-card,.photo-section{background:#fafbf8;border:1px solid #daddd5;margin-top:24px;padding:32px}.gantt-head{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.gantt-head p{color:#7c8179;text-transform:uppercase;letter-spacing:.14em;margin:0 0 7px;font-size:11px}.gantt-head h2{margin:0;font:400 25px Noto Serif TC,serif}.gantt-head>span,.gantt-head>a{color:#7c8179;font-size:11px}.gantt-scroll{overflow:auto}.gantt-table{min-width:900px}.gantt-row{border-top:1px solid #e3e5df;grid-template-columns:1.1fr 1fr 1fr .8fr 1.5fr;align-items:center;gap:18px;min-height:55px;font-size:12px;display:grid}.gantt-labels{color:#92958e;border:0;min-height:36px}.gantt-row strong{font-size:14px}.status-chip{background:#e4e6e1;border-radius:20px;width:max-content;padding:5px 9px}.status-chip.completed{color:#4e6751;background:#e1e9df}.status-chip.in_progress{color:#8b6b2f;background:#f0e7cf}.gantt-track{background:#e5e8e2;border-radius:6px;height:8px;margin-right:35px;position:relative}.gantt-track i{background:#708271;border-radius:6px;height:100%;display:block}.gantt-track b{color:#777;font-weight:400;position:absolute;top:-4px;left:calc(100% + 8px)}.photo-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.photo-grid article{background:#fff;border:1px solid #e0e2dc}.photo-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#a9977d,#d7c8ad 53%,#665e52 53.5%);position:relative;overflow:hidden}.photo-placeholder.concrete{background:linear-gradient(120deg,#8f8c84,#c9c3b6 45%,#4e504b 45.5%)}.photo-placeholder.tile{background:repeating-linear-gradient(90deg,#bcb5a8 0 49px,#e7e2d7 50px 52px)}.photo-placeholder span{color:#fff;letter-spacing:.1em;background:#181d19b8;padding:6px 9px;font-size:10px;position:absolute;bottom:12px;left:12px}.portal-photo{aspect-ratio:4/3;background:#e3e6df;position:relative;overflow:hidden}.portal-photo img{object-fit:cover;width:100%;height:100%;display:block}.portal-photo span{color:#fff;letter-spacing:.1em;background:#181d19b8;padding:6px 9px;font-size:10px;position:absolute;bottom:12px;left:12px}.photo-grid article>div:last-child{padding:16px}.photo-grid time{color:#888;font-size:10px}.photo-grid h3{margin:9px 0;font:400 17px Noto Serif TC,serif}.photo-grid p{color:#777;font-size:12px;line-height:1.7}.portal-sync-state{color:#757a73;text-align:right;margin:12px 2px 0;font-size:11px}.portal-empty{color:#777;margin:0;padding:24px 0;font-size:13px}.portal-card{background:#fafbf8;border:1px solid #daddd5;margin-top:24px;padding:32px}.portal-notice{border-left:3px solid;margin:-8px 0 20px;padding:12px 14px;font-size:12px}.portal-notice.success{color:#45604b;background:#e5ede4}.portal-notice.error{color:#8d4038;background:#f3e5e1}.approval-list{gap:14px;display:grid}.approval-list>article{border-top:1px solid #e0e3dc;grid-template-columns:1fr minmax(260px,.8fr);gap:30px;padding:22px 0 4px;display:grid}.approval-list h3,.log-list h3,.compact-list h3{margin:12px 0 8px;font:400 18px Noto Serif TC,serif}.approval-list p,.log-list p,.compact-list p{color:#737770;font-size:12px;line-height:1.75}.approval-list small{color:#8b8e87;font-size:10px}.approval-actions{align-content:start;gap:10px;display:grid}.approval-actions button{color:#354039;font:inherit;cursor:pointer;background:0 0;border:1px solid #59665b;width:100%;padding:10px 14px;font-size:12px}.approval-actions>form:first-child button{color:#fff;background:#59665b}.approval-question{gap:8px;display:grid}.approval-question label{color:#777;gap:7px;font-size:11px;display:grid}.approval-question textarea{resize:vertical;width:100%;font:inherit;background:#fff;border:1px solid #d5d9d1;padding:9px;font-size:12px}.approval-confirmed{color:#4e6751;background:#e1e9df}.approval-questioned{color:#735b32;background:#f0e7cf}.approval-cancelled{color:#777}.log-list>article{border-top:1px solid #e0e3dc;grid-template-columns:130px 1fr;gap:25px;padding:20px 0;display:grid}.log-list time{color:#737770;letter-spacing:.08em;font-size:12px}.log-list h3{margin-top:0}.log-list p{margin:7px 0}.log-list p strong{color:#39423b;min-width:85px;display:inline-block}.portal-two-column{grid-template-columns:1fr 1fr;gap:24px;display:grid}.compact-list article{border-top:1px solid #e0e3dc;justify-content:space-between;gap:18px;padding:18px 0;display:flex}.compact-list article>div:last-child{text-align:right;flex-direction:column;align-items:flex-end;gap:10px;display:flex}.compact-list span{color:#81847d;font-size:10px}.compact-list strong{font:400 17px Noto Serif TC,serif}.compact-list h3{margin:7px 0}.compact-list p{margin:0}.payment-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.payment-grid div{border-top:1px solid #e0e3dc;padding-top:14px}.payment-grid dt{margin-bottom:8px}.payment-grid dd{font:400 18px Noto Serif TC,serif}.document-list{display:grid}.document-list a{border-top:1px solid #e0e3dc;grid-template-columns:100px 1fr auto;align-items:center;gap:20px;padding:17px 0;display:grid}.document-list>a>span{color:#657266;font-size:11px}.document-list div{flex-direction:column;gap:5px;display:flex}.document-list strong{font-size:13px}.document-list small{color:#888;font-size:10px}.document-list b{border-bottom:1px solid;padding-bottom:3px;font-size:11px;font-weight:400}.password-page{background:#2f3932;place-items:center;min-height:100svh;padding:40px 20px;display:grid}.password-card{background:var(--paper);border:1px solid #ffffff2e;width:min(560px,100%);padding:54px}.password-card .brand{margin-bottom:65px}.password-card h1{margin:18px 0 12px;font:400 38px Noto Serif TC,serif}.password-card>p{color:var(--muted);font-size:14px;line-height:1.8}.password-card form{gap:24px;margin-top:38px;display:grid}.password-card label,.staff-card label{color:var(--muted);letter-spacing:.1em;gap:9px;font-size:12px;display:grid}.password-card input,.staff-card input,.staff-card select,.staff-card textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:11px 2px}.staff-card textarea{resize:vertical;line-height:1.7}.password-card form small,.staff-card>small{color:#85877f;font-size:11px;line-height:1.7}.password-card button,.staff-card button{border:1px solid var(--ink);color:var(--ink);font:inherit;cursor:pointer;background:0 0;justify-content:space-between;padding:14px 17px;font-size:13px;display:flex}.staff-shell{color:#252824;background:#eef0eb;grid-template-columns:260px 1fr;min-height:100svh;display:grid}.staff-sidebar{color:#eef0e9;background:#283129;flex-direction:column;height:100svh;padding:38px 28px 28px;display:flex;position:sticky;top:0}.staff-sidebar nav{gap:8px;margin-top:80px;display:grid}.staff-sidebar nav a,.staff-sidebar nav span{color:#ffffff8c;border-radius:3px;padding:12px 13px;font-size:13px}.staff-sidebar nav a.active{color:#fff;background:#ffffff1a}.finance-admin-content{gap:26px;display:grid}.finance-policy{color:#eef0e9;background:#283129;padding:22px 26px}.finance-policy>p{letter-spacing:.2em;text-transform:uppercase;opacity:.65;margin:0 0 14px;font-size:12px}.finance-policy>div{flex-wrap:wrap;gap:12px 28px;font-size:15px;display:flex}.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-approval-list,.finance-vendor-list{gap:14px;display:grid}.finance-approval{border:1px solid var(--line);background:#fff;padding:22px}.finance-approval header,.finance-vendor-list article header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.finance-approval header div{gap:6px;display:grid}.finance-approval header small{color:var(--muted);letter-spacing:.08em}.finance-approval header span,.finance-vendor-list header span{letter-spacing:.08em;background:#eceee9;padding:5px 8px;font-size:12px}.finance-approval header span.pending,.finance-vendor-list header span.pending_approval{color:#745726;background:#f3ead8}.finance-approval header span.approved,.finance-vendor-list header span.active{color:#315b39;background:#dde9df}.finance-approval header span.rejected,.finance-approval header span.cancelled,.finance-vendor-list header span.inactive{color:#7e4038;background:#efe0dc}.finance-approval dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 0;display:grid}.finance-approval dl div{gap:5px;display:grid}.finance-approval dt{color:var(--muted);font-size:12px}.finance-approval dd{margin:0;font-size:15px}.finance-approval form{border-top:1px solid var(--line);gap:12px;margin-top:18px;padding-top:18px;display:grid}.finance-approval form>div{flex-wrap:wrap;gap:8px;display:flex}.finance-approval button.secondary{color:#384039;background:#e7e9e3}.finance-vendor-list{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-vendor-list article{border:1px solid var(--line);background:#fff;padding:20px}.finance-vendor-list h3{margin:20px 0 5px}.finance-vendor-list p,.finance-vendor-list small{color:var(--muted)}.material-quote-table{border:1px solid var(--line);background:#fff;overflow-x:auto}.material-quote-table table{border-collapse:collapse;width:100%;min-width:980px;font-size:14px}.material-quote-table th,.material-quote-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px 16px}.material-quote-table th{color:var(--muted);letter-spacing:.08em;background:#f2f3ef;font-size:12px;font-weight:500}.material-quote-table td strong,.material-quote-table td span{display:block}.material-quote-table td span{color:var(--muted);margin-top:4px}.material-quote-table tbody tr:last-child td{border-bottom:0}.staff-empty{border:1px solid var(--line);color:var(--muted);background:#fff;margin:0;padding:22px}.shortcut-device-list{gap:10px;margin-top:20px;display:grid}.shortcut-device-list article{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.shortcut-device-list article div{gap:4px;display:grid}.shortcut-device-list article small{color:var(--muted)}.shortcut-device-list form{margin:0}.staff-account{border-top:1px solid #ffffff29;gap:4px;margin-top:auto;padding-top:20px;display:grid}.staff-account strong{font-size:13px}.staff-account small{color:#ffffff80;font-size:10px}.staff-account button{color:#b9c0b9;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0 0;font-size:11px}.staff-content{min-width:0;padding:45px 4vw 100px}.staff-head{grid-template-columns:1fr auto auto;align-items:end;gap:50px;margin-bottom:30px;display:grid}.staff-head p,.staff-card>div>p,.staff-section-head p{color:#858a82;letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:11px}.staff-head h1{margin:0;font:400 34px Noto Serif TC,serif}.staff-head>div:not(:first-child){flex-direction:column;align-items:end;display:flex}.staff-head>div:not(:first-child) strong{font:400 26px Noto Serif TC,serif}.staff-head>div:not(:first-child) span{color:#858a82;font-size:11px}.staff-notice{border-left:3px solid;padding:13px 16px;font-size:12px}.staff-notice.success{color:#45604b;background:#e0e9df}.staff-notice.error{color:#8d4038;background:#f3e5e1}.staff-forms{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.project-intake-section{grid-template-columns:minmax(0,700px)}.crm-contact-list{background:var(--line);gap:1px;display:grid}.crm-contact-card{background:var(--paper);gap:22px;padding:28px;display:grid}.crm-contact-card>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.crm-contact-card h3{margin:8px 0 3px;font-size:24px;font-weight:500}.crm-status{letter-spacing:.08em;background:#e7e8e3;padding:5px 9px;font-size:13px;display:inline-block}.crm-status.failed{color:#8f443a;background:#f3dfda}.crm-status.ingested{color:#405d47;background:#dfe8df}.crm-contact-card dl{gap:12px;margin:0;display:grid}.crm-contact-card dl div{grid-template-columns:100px 1fr;gap:14px;display:grid}.crm-contact-card dt{color:var(--muted);font-size:15px}.crm-contact-card dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.crm-contact-card form{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:20px;display:grid}.crm-contact-card form small,.crm-contact-card form button,.crm-failure{grid-column:1/-1}.crm-failure{color:#964c43;margin:0}.crm-queue-note{background:#eef0eb;margin:0;padding:14px 16px}.crm-lifecycle-actions{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.crm-lifecycle-actions form{background:var(--paper);border-top:0;grid-template-columns:1fr;padding:20px}.crm-lifecycle-actions h4{margin:0;font-size:18px;font-weight:500}.crm-history{border-top:1px solid var(--line);padding-top:14px}.crm-history summary{cursor:pointer;color:var(--muted);font-size:15px}.crm-history ol{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.crm-history li{grid-template-columns:160px 1fr auto;align-items:center;gap:12px;font-size:14px;display:grid}.crm-history time{color:var(--muted)}@media (max-width:760px){.crm-contact-card form{grid-template-columns:1fr}.crm-contact-card dl div{grid-template-columns:1fr;gap:4px}.crm-lifecycle-actions{grid-template-columns:1fr}.crm-history li{grid-template-columns:1fr;gap:3px}}.staff-card,.staff-list{background:#fafbf8;border:1px solid #daddd5;padding:30px}.staff-card{align-content:start;gap:22px;display:grid}.staff-card h2,.staff-section-head h2{margin:0;font:400 24px Noto Serif TC,serif}.staff-card button{color:#fff;background:#536256;border-color:#536256;justify-content:center;margin-top:auto}.staff-list{margin-top:24px}.staff-section-head{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.staff-section-head>span{color:#858a82;font-size:11px}.staff-row{border-top:1px solid #e0e3dc;grid-template-columns:minmax(190px,1fr) 130px 2fr;align-items:center;gap:24px;padding:18px 0;display:grid}.staff-row.labels{color:#898d86;min-height:34px;padding:8px 0;font-size:11px}.staff-row>div:first-child{flex-direction:column;gap:4px;display:flex}.staff-row strong{font-size:13px}.staff-row small{color:#858a82;font-size:11px}.staff-row>span{border-radius:20px;width:max-content;padding:5px 9px;font-size:11px}.staff-row>span.active{color:#4e6751;background:#e1e9df}.staff-row>span.disabled{color:#7b514a;background:#efe0dc}.staff-row>div:nth-child(2)>span{border-radius:20px;width:max-content;padding:5px 9px;font-size:11px;display:inline-block}.staff-row>div:nth-child(2)>span.active{color:#4e6751;background:#e1e9df}.staff-row>div:nth-child(2)>span.disabled{color:#7b514a;background:#efe0dc}.inline-account-action{margin-top:7px}.inline-account-action button,.project-tags form button{color:#8b4d45;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tags .project-tag{color:#59625a;border:1px solid #d6dad3;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:inline-flex}.project-tags em{color:#92958e;font:inherit;font-size:11px}.company-project-groups{gap:30px;display:grid}.project-category-filters{flex-wrap:wrap;gap:8px;margin:4px 0 28px;display:flex}.project-category-filters a{color:#70766f;border:1px solid #d8ddd5;justify-content:space-between;gap:14px;min-width:112px;padding:11px 13px;font-size:11px;display:flex}.project-category-filters a.active{color:#fff;background:#59675c;border-color:#59675c}.project-category-filters strong{font:600 11px/1 sans-serif}.company-project-group>header{border-bottom:1px solid #e0e3dc;justify-content:space-between;align-items:baseline;margin-bottom:13px;padding-bottom:10px;display:flex}.company-project-group>header h3{margin:0;font:400 19px Noto Serif TC,serif}.company-project-group>header span{color:#858a82;font-size:11px}.jingyang-office-logo{object-fit:contain;width:178px;height:auto}.company-badge{letter-spacing:.08em;border-radius:2px;align-items:center;width:max-content;margin-right:7px;padding:3px 6px;font:600 8px/1 sans-serif;display:inline-flex}.company-badge.monmon{color:#435848;background:#dfe8df}.company-badge.jingyang{color:#745d43;background:#eee4d6}.staff-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.staff-project-grid>a{background:#f3f5f0;border:1px solid #d8ddd5;grid-template-columns:1fr auto;gap:14px;min-height:175px;padding:20px;transition:all .2s;display:grid}.staff-project-grid>a:hover{border-color:#7e8b80;transform:translateY(-2px)}.staff-project-grid>a.closed{color:#777c75;background:#e8e9e5}.staff-project-grid>a.cancelled{color:#80675d;background:#eee6e2;border-color:#ddcbc3}.staff-project-grid small{color:#7f857e;letter-spacing:.08em;font-size:11px}.staff-project-grid h3{margin:10px 0 6px;font:400 21px Noto Serif TC,serif}.staff-project-grid p{color:#737a73;margin:0;font-size:12px}.staff-project-grid>a>strong{font:400 27px Noto Serif TC,serif}.staff-project-grid>a>span{color:#59675c;grid-column:1/-1;align-self:end;font-size:11px}.project-admin-head{margin-bottom:24px}.staff-notice.lifecycle-closed{color:#725747;background:#eee7dd;border-color:#9d7a61;margin-top:18px}.staff-notice.lifecycle-closed.cancelled{color:#7b514a;background:#f1e2dd;border-color:#a66a5d}.project-lifecycle-actions{grid-template-columns:1fr 1fr;gap:22px;display:grid}.project-lifecycle-card form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 24px;display:grid}.project-lifecycle-card label{color:var(--muted);gap:8px;font-size:12px;display:grid}.project-lifecycle-card textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;resize:vertical;background:0 0;padding:11px 2px}.project-lifecycle-card small{color:#85877f;grid-column:1/-1;font-size:11px;line-height:1.7}.project-lifecycle-card button{color:#fff;font:inherit;cursor:pointer;background:#7b514a;border:1px solid #7b514a;padding:13px 18px;font-size:12px}.project-lifecycle-card .cancel-project-form{border-left:1px solid #dfcbc4;padding-left:22px}.project-lifecycle-card .cancel-project-form button{background:#8a493e;border-color:#8a493e}.project-admin-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.admin-schedule-list,.admin-log-list{display:grid}.admin-schedule-row{border-top:1px solid #e0e3dc;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) 130px 90px;align-items:center;gap:18px;padding:16px 0;font-size:12px;display:grid}.admin-schedule-row.labels{color:#898d86;font-size:11px}.admin-schedule-row>div{flex-direction:column;gap:4px;display:flex}.admin-schedule-row small{color:#858a82;font-size:10px}.admin-schedule-row em,.admin-log-list em{border-radius:16px;width:max-content;padding:5px 8px;font-size:10px;font-style:normal}.admin-schedule-row em.client,.admin-log-list em.client{color:#49634f;background:#e0e9df}.admin-schedule-row em.internal,.admin-log-list em.internal{color:#746b54;background:#eee8da}.schedule-management-note{background:#eef1eb;border-left:3px solid #718074;grid-template-columns:150px 1fr;gap:20px;margin-bottom:20px;padding:18px 20px;display:grid}.schedule-management-note strong{font-size:13px}.schedule-management-note p{color:#70766f;margin:0;font-size:12px;line-height:1.8}.schedule-create-form{background:#f2f4ef;border:1px solid #d7dcd3;gap:22px;margin-bottom:26px;padding:24px;display:grid}.schedule-create-form>div:first-of-type p,.staff-gantt-grid header p{color:#858a82;letter-spacing:.15em;text-transform:uppercase;margin:0 0 5px;font-size:10px}.schedule-create-form h3,.staff-gantt-grid h3{margin:0;font:400 19px Noto Serif TC,serif}.schedule-create-form label{color:var(--muted);letter-spacing:.08em;gap:8px;font-size:11px;display:grid}.schedule-create-form input,.schedule-create-form select{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:10px 2px}.schedule-create-form>small{color:#85877f;font-size:11px;line-height:1.7}.schedule-create-form>button{color:#fff;font:inherit;cursor:pointer;background:#536256;border:1px solid #536256;justify-self:end;padding:12px 24px;font-size:12px}.staff-gantt-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;display:grid}.staff-gantt-grid>article{background:#f7f8f5;border:1px solid #d9ddd5;min-width:0;padding:20px}.staff-gantt-grid header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;display:flex}.staff-gantt-grid header>span{color:#737970;white-space:nowrap;font-size:11px}.staff-gantt{gap:12px;display:grid}.staff-gantt-axis{color:#8a8d87;justify-content:space-between;margin-left:128px;font-size:10px;display:flex}.staff-gantt-row{grid-template-columns:116px minmax(0,1fr);align-items:center;gap:12px;display:grid}.staff-gantt-label{gap:3px;min-width:0;display:grid}.staff-gantt-label strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.staff-gantt-label small{text-overflow:ellipsis;white-space:nowrap;color:#858a82;font-size:10px;overflow:hidden}.staff-gantt-track{background:repeating-linear-gradient(90deg,#edf0ea 0 calc(25% - 1px),#dfe3dc calc(25% - 1px) 25%);border-left:1px solid #d7dbd3;border-right:1px solid #d7dbd3;height:28px;position:relative;overflow:hidden}.staff-gantt-track i{border-radius:2px;min-width:3px;height:16px;position:absolute;top:6px}.staff-gantt-planned{background:#738276}.staff-gantt-track i>span{color:#fff;white-space:nowrap;width:max-content;max-width:calc(100% - 10px);font-size:9px;font-style:normal;position:absolute;top:2px;left:6px;overflow:hidden}.staff-gantt-reference{background:0 0;border:1px dashed #a5aba4}.staff-gantt-actual{background:#dfe5dd}.staff-gantt-actual b{background:#586b5c;min-width:2px;position:absolute;inset:0 auto 0 0}.staff-gantt-actual span{color:#35463a;font-size:10px;font-style:normal;position:absolute;top:2px;right:5px}.staff-gantt-track>em{color:#8b8f88;font-size:10px;font-style:normal;position:absolute;top:8px;left:6px}.schedule-editor-list{gap:10px;display:grid}.schedule-editor{background:#f5f7f2;border:1px solid #d9ddd5}.schedule-editor summary{cursor:pointer;grid-template-columns:minmax(220px,1fr) 130px 78px 76px;align-items:center;gap:14px;padding:18px 20px;list-style:none;display:grid}.schedule-editor summary::-webkit-details-marker{display:none}.schedule-editor summary>div{gap:5px;display:grid}.schedule-editor summary small{color:#858a82;font-size:11px}.schedule-editor summary>span{font-size:12px}.schedule-edit-cta{color:#4d5b50;text-align:center;white-space:nowrap;border:1px solid #68776b;justify-self:end;padding:8px 10px}.schedule-editor[open] .schedule-edit-cta{color:#fff;background:#536256}.schedule-editor summary em{border-radius:16px;width:max-content;padding:5px 8px;font-size:10px;font-style:normal}.schedule-editor summary em.client{color:#49634f;background:#e0e9df}.schedule-editor summary em.internal{color:#746b54;background:#eee8da}.schedule-editor form{border-top:1px solid #d9ddd5;gap:20px;padding:22px 20px;display:grid}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;display:grid}.schedule-editor label{color:var(--muted);letter-spacing:.08em;gap:8px;font-size:11px;display:grid}.schedule-editor input,.schedule-editor select{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:0 0;outline:none;padding:10px 2px}.schedule-editor form>small{color:#85877f;font-size:11px;line-height:1.7}.schedule-editor button{color:#fff;font:inherit;cursor:pointer;background:#536256;border:1px solid #536256;justify-self:end;padding:12px 24px;font-size:12px}.admin-log-list article{border-top:1px solid #e0e3dc;grid-template-columns:110px minmax(0,1fr) 90px;gap:22px;padding:20px 0;display:grid}.admin-log-list time{color:#747b74;font-size:12px}.admin-log-list h3{margin:0 0 10px;font:400 18px Noto Serif TC,serif}.admin-log-list p{color:#737970;margin:6px 0;font-size:12px;line-height:1.75}.admin-log-list p strong{color:#3e4940;min-width:80px;display:inline-block}.photo-intake-note{background:#eef1eb;border-left:3px solid #718074;grid-template-columns:130px 1fr;gap:20px;margin-bottom:24px;padding:18px 20px;display:grid}.photo-intake-note strong{font-size:13px}.photo-intake-note p{color:#70766f;margin:0;font-size:12px;line-height:1.8}.log-photo-strip{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:16px;display:grid}.log-photo-strip img{aspect-ratio:4/3;object-fit:cover;width:100%}.document-management-note{background:#eef1eb;border-left:3px solid #718074;grid-template-columns:150px 1fr;gap:20px;margin-bottom:22px;padding:18px 20px;display:grid}.document-management-note strong{font-size:13px}.document-management-note p{color:#70766f;margin:0;font-size:12px;line-height:1.8}.document-register-form{background:#f2f4ef;border:1px solid #d9ddd5;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:18px;padding:22px;display:grid}.document-register-form .wide{grid-column:1/-1}.document-register-form label,.staff-document-list form label{color:#737a72;letter-spacing:.08em;gap:7px;font-size:11px;display:grid}.document-register-form input,.document-register-form select,.staff-document-list input,.staff-document-list select{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #cfd4cc;outline:none;padding:9px 1px}.document-register-form label small{color:#858a82;letter-spacing:0;font-size:10px;line-height:1.7}.document-register-form button,.staff-document-list button{color:#fff;font:inherit;cursor:pointer;white-space:nowrap;background:#536256;border:0;padding:13px 18px;font-size:12px}.staff-document-list{margin-top:22px;display:grid}.staff-document-list article{border-top:1px solid #e0e3dc;padding:19px 0}.staff-document-name{grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:16px;display:grid}.staff-document-name>span{color:#526156;background:#e4e9e2;width:max-content;padding:6px 9px;font-size:10px}.staff-document-name>div{gap:5px;min-width:0;display:grid}.staff-document-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staff-document-name small{color:#858a82;font-size:10px}.staff-document-name>a{color:#4f5c51;border:1px solid #aeb7ad;padding:9px 12px;font-size:11px}.staff-document-list form{grid-template-columns:repeat(3,minmax(0,1fr)) 90px auto;align-items:end;gap:16px;display:grid}.staff-document-list form em{border-radius:16px;place-self:center start;width:max-content;padding:5px 8px;font-size:10px;font-style:normal}.staff-document-list form em.client{color:#49634f;background:#e0e9df}.staff-document-list form em.internal{color:#746b54;background:#eee8da}.change-order-note{background:#eef1eb;border-left:3px solid #718074;grid-template-columns:170px 1fr;gap:20px;margin-bottom:22px;padding:18px 20px;display:grid}.change-order-note strong{font-size:13px}.change-order-note p{color:#70766f;margin:0;font-size:12px;line-height:1.8}.change-order-create{background:#f2f4ef;border:1px solid #d9ddd5;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:18px;padding:22px;display:grid}.change-order-create .wide,.staff-change-order-list form .wide{grid-column:1/-1}.change-order-create label,.staff-change-order-list label{color:#737a72;letter-spacing:.08em;gap:7px;font-size:11px;display:grid}.change-order-create input,.change-order-create select,.change-order-create textarea,.staff-change-order-list input,.staff-change-order-list select,.staff-change-order-list textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:0 0;border:0;border-bottom:1px solid #cfd4cc;outline:none;padding:9px 1px}.change-order-create button,.staff-change-order-list button{color:#fff;font:inherit;cursor:pointer;white-space:nowrap;background:#536256;border:0;padding:13px 18px;font-size:12px}.staff-change-order-list{gap:10px;margin-top:22px;display:grid}.staff-change-order-list details{background:#f5f7f2;border:1px solid #d9ddd5}.staff-change-order-list summary{cursor:pointer;grid-template-columns:minmax(220px,1fr) 150px 90px;align-items:center;gap:18px;padding:18px 20px;list-style:none;display:grid}.staff-change-order-list summary::-webkit-details-marker{display:none}.staff-change-order-list summary>div{gap:5px;min-width:0;display:grid}.staff-change-order-list summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staff-change-order-list summary small{color:#858a82;font-size:10px}.staff-change-order-list summary>span{color:#526156;text-align:right;font-size:13px}.staff-change-order-list summary>span.negative{color:#8a6356}.staff-change-order-list summary em{border-radius:16px;width:max-content;padding:5px 8px;font-size:10px;font-style:normal}.staff-change-order-list summary em.client{color:#49634f;background:#e0e9df}.staff-change-order-list summary em.internal{color:#746b54;background:#eee8da}.staff-change-order-list form{border-top:1px solid #d9ddd5;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:18px;padding:22px 20px;display:grid}.staff-change-order-list label small{color:#8a6f62;font-size:10px;line-height:1.6}.staff-change-order-list select:disabled{color:#777d76;opacity:.75}.payment-editor{grid-template-columns:repeat(4,minmax(0,1fr)) auto auto}.approval-action-history{background:#edf1eb;border-top:1px solid #d9ddd5;gap:10px;padding:18px 20px;display:grid}.approval-action-history>strong{letter-spacing:.12em;text-transform:uppercase;font-size:11px}.approval-action-history article{border-top:1px solid #d9ddd5;gap:5px;padding:11px 0;display:grid}.approval-action-history article>div{color:#727a72;justify-content:space-between;gap:12px;font-size:10px;display:flex}.approval-action-history p{margin:0;font-size:12px;line-height:1.7}.staff-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.staff-photo-card{background:#f5f7f2;border:1px solid #d9ddd5;min-width:0}.staff-photo-preview{background:#dfe3dc;place-items:center;display:grid;position:relative}.staff-photo-preview img{object-fit:contain;width:100%;height:auto;display:block}.staff-photo-preview>div{text-align:center;color:#71776f;gap:7px;display:grid}.staff-photo-preview>div strong{font:400 17px Noto Serif TC,serif}.staff-photo-preview>div span{font-size:11px}.staff-photo-preview>em{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:6px 9px;font-size:10px;font-style:normal;position:absolute;top:12px;right:12px}.staff-photo-preview>em.client{color:#27412f;background:#e0ebe0e6}.staff-photo-preview>em.internal{color:#665d48;background:#f2ebdae6}.staff-photo-card form{gap:17px;padding:20px;display:grid}.staff-photo-card form header{justify-content:space-between;align-items:start;gap:18px;display:flex}.staff-photo-card form header>div{gap:5px;min-width:0;display:grid}.staff-photo-card form header time,.staff-photo-card form header small{color:#7d837b;font-size:10px}.staff-photo-card form header strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.staff-photo-card form label{color:#737a72;letter-spacing:.08em;gap:7px;font-size:11px;display:grid}.staff-photo-card form input,.staff-photo-card form textarea,.staff-photo-card form select{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;border-bottom:1px solid #cfd4cc;outline:none;padding:9px 1px}.staff-photo-card form textarea{resize:vertical;line-height:1.6}.staff-photo-card form>small{color:#7d837b;font-size:10px;line-height:1.65}.staff-photo-card form button{color:#fff;font:inherit;cursor:pointer;background:#536256;border:0;padding:13px 16px;font-size:12px}.ai-office-shell{background:#e9ece6}.ai-office-content{min-width:0;padding:46px 5vw 90px}.ai-office-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.ai-office-head p,.ai-section-title p,.ai-help-panel>p{color:#858a82;letter-spacing:.18em;text-transform:uppercase;margin:0 0 9px;font-size:11px}.ai-office-head h1{letter-spacing:.03em;margin:0;font:400 clamp(32px,4vw,52px) Noto Serif TC,serif}.worker-state{color:#516154;letter-spacing:.08em;background:#f4f6f1;border:1px solid #ced5cc;align-items:center;gap:8px;padding:9px 12px;font-size:11px;display:inline-flex}.worker-state i{background:#5f8565;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #5f85651f}.worker-state i.busy{background:#d08a4c;animation:1.2s ease-in-out infinite worker-pulse}.worker-state.offline{color:#8b4e48;background:#f6eae8;border-color:#d9b8b3}.worker-state.offline i{background:#a55b52;box-shadow:0 0 0 4px #a55b521f}@keyframes worker-pulse{50%{opacity:.35;transform:scale(.8)}}.ai-command-card{color:#f3f4ef;background:#283129;padding:34px;box-shadow:0 18px 55px #1f29211f}.ai-input-switch{gap:8px;margin-bottom:10px;display:flex}.ai-input-switch button{color:#687168;font:inherit;cursor:pointer;background:#f8faf6b8;border:1px solid #c8cec6;padding:10px 15px;font-size:12px}.ai-input-switch button.active{color:#fff;background:#354138;border-color:#354138}.ai-command-card label{color:#ffffff8c;letter-spacing:.11em;font-size:12px;display:block}.ai-command-card textarea{resize:vertical;color:#fff;border:0;background:0 0;border-block:1px solid #ffffff29;outline:none;width:100%;min-height:135px;margin:19px 0 22px;padding:20px 0;font:400 clamp(19px,2.2vw,27px)/1.7 Noto Serif TC,serif}.ai-command-card textarea::placeholder{color:#ffffff4d}.ai-command-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.ai-command-actions button{cursor:pointer;font:inherit;border:0}.voice-button{color:#ffffffb3;background:0 0;align-items:center;gap:10px;padding:10px 0;display:inline-flex;font-size:12px!important}.voice-button:first-letter{color:#df7650}.send-button{color:#273028;background:#ece8dc;justify-content:space-between;min-width:170px;padding:15px 17px;display:flex;font-size:13px!important}.ai-photo-card{color:#f3f4ef;background:#283129;gap:22px;padding:30px 34px;display:grid;box-shadow:0 18px 55px #1f29211f}.ai-photo-card>header{border-bottom:1px solid #ffffff29;justify-content:space-between;align-items:end;gap:18px;padding-bottom:18px;display:flex}.ai-photo-card>header p{color:#ffffff73;letter-spacing:.18em;margin:0 0 7px;font-size:10px}.ai-photo-card>header h2{margin:0;font:400 25px Noto Serif TC,serif}.ai-photo-card>header>span{color:#ffffffa3;border:1px solid #fff3;padding:7px 10px;font-size:10px}.ai-photo-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.ai-photo-fields label{color:#ffffff91;letter-spacing:.08em;gap:8px;font-size:11px;display:grid}.ai-photo-fields select,.ai-photo-fields input{color:#fff;width:100%;font:inherit;background:#344038;border:1px solid #ffffff29;outline:none;padding:12px 13px;font-size:13px}.ai-photo-file-input{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.ai-photo-picker{color:#fff;cursor:pointer;background:#ffffff09;border:1px dashed #ffffff52;justify-content:center;align-items:center;gap:16px;min-height:128px;display:flex}.ai-photo-picker:disabled{opacity:.62;cursor:wait}.ai-photo-drop-overlay{z-index:1000;color:#fff;pointer-events:none;background:#233128f0;border:2px dashed #fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:16px}.ai-photo-drop-overlay strong{font-size:24px}.ai-photo-drop-overlay span{font-size:16px}.ai-photo-picker>b{border:1px solid #ffffff47;border-radius:50%;place-items:center;width:42px;height:42px;font:300 25px serif;display:grid}.ai-photo-picker>span{text-align:left;gap:5px;display:grid}.ai-photo-picker strong{font:400 15px Noto Serif TC,serif}.ai-photo-picker small{color:#ffffff7a;font-size:11px}.ai-photo-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ai-needs-input-list{color:#283129;background:#f5f6f1;border:1px solid #b9c3b5;padding:24px}.ai-needs-input-list h2{margin:0 0 16px;font-size:20px}.ai-needs-input-list article{border-top:1px solid #cdd4c8;padding:16px 0}.ai-needs-input-list h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:16px}.ai-needs-input-list small{font-size:14px}.ai-needs-input-list p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.7}.ai-needs-input-list article>div{flex-wrap:wrap;gap:12px;display:flex}.ai-needs-input-list button{font:inherit;color:#283129;cursor:pointer;background:0 0;border:1px solid #52634e;padding:10px 16px;font-size:16px}.ai-needs-input-list button:first-child{color:#fff;background:#283129}.ai-needs-input-list button:disabled{opacity:.5;cursor:wait}.ai-photo-preview-grid figure{background:#1d251f;min-width:0;margin:0;position:relative}.ai-photo-preview-grid img{object-fit:contain;width:100%;height:auto;display:block}.ai-photo-preview-fallback{aspect-ratio:4/3;color:#ffffff8f;text-align:center;place-content:center;justify-items:center;gap:7px;padding:18px;display:grid}.ai-photo-preview-fallback b{color:#d3a36e;letter-spacing:.12em;font:400 18px Noto Serif TC,serif}.ai-photo-preview-fallback span{font-size:10px;line-height:1.5}.ai-photo-preview-grid figcaption{gap:3px;padding:8px 9px 10px;display:grid}.ai-photo-preview-grid figcaption span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.ai-photo-preview-grid figcaption small{color:#ffffff73;font-size:9px}.ai-photo-preview-grid figure>button{color:#fff;font:inherit;cursor:pointer;background:#1e2520db;border:0;padding:6px 8px;font-size:10px;position:absolute;top:6px;right:6px}.ai-photo-summary{justify-content:space-between;align-items:center;gap:20px;display:flex}.ai-photo-summary p{gap:5px;margin:0;display:grid}.ai-photo-summary p strong{font:400 15px Noto Serif TC,serif}.ai-photo-summary p span{color:#ffffff85;font-size:11px;line-height:1.6}.ai-photo-actions{flex:none;gap:9px;display:flex}.ai-photo-actions button,.ai-photo-result-actions button{color:#273028;font:inherit;cursor:pointer;background:#ece8dc;border:0;padding:15px 18px;font-size:12px}.ai-photo-actions button.secondary{color:#fff;background:0 0;border:1px solid #ffffff4d}.ai-photo-actions button:disabled,.ai-photo-result-actions button:disabled{opacity:.38;cursor:not-allowed}.ai-photo-upload-result{color:#273028;background:#e2e8df;border-left:3px solid #5f8067;gap:7px;padding:20px 22px;scroll-margin-top:24px;display:grid}.ai-photo-upload-result strong{font:500 15px Noto Serif TC,serif}.ai-photo-upload-result p{margin:0;font-size:11px;line-height:1.7}.ai-photo-upload-result a{color:#405947;text-underline-offset:3px;width:max-content;font-size:11px;text-decoration:underline}.ai-photo-consent{background:#ffffff12;border-left:3px solid #d3985d;padding:16px 18px}.ai-photo-consent strong{font-size:13px}.ai-photo-consent p{color:#ffffff9e;margin:7px 0 0;font-size:11px;line-height:1.75}.ai-photo-confirm-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#121813b3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ai-photo-confirm-dialog{color:#273028;background:#f2f1eb;width:min(620px,100%);max-height:calc(100vh - 48px);padding:28px;overflow:auto;box-shadow:0 28px 90px #00000057}.ai-photo-confirm-dialog>header{border-bottom:1px solid #ccd0c8;justify-content:space-between;align-items:start;gap:24px;padding-bottom:18px;display:flex}.ai-photo-confirm-dialog>header small{color:#7b8279;letter-spacing:.18em;font-size:10px}.ai-photo-confirm-dialog>header h2{margin:7px 0 0;font:400 25px Noto Serif TC,serif}.ai-photo-confirm-dialog>header button{color:#273028;cursor:pointer;background:0 0;border:0;padding:0 7px;font-size:28px}.ai-photo-confirm-dialog dl{gap:0;margin:20px 0;display:grid}.ai-photo-confirm-dialog dl>div{border-bottom:1px solid #d9ddd5;grid-template-columns:110px 1fr;gap:18px;padding:11px 0;display:grid}.ai-photo-confirm-dialog dt{color:#767e75;font-size:11px}.ai-photo-confirm-dialog dd{margin:0;font-size:13px;line-height:1.55}.ai-photo-confirm-dialog dd strong{color:#9d5f32}.ai-photo-confirm-files{flex-wrap:wrap;gap:7px;display:flex}.ai-photo-confirm-files span{background:#e1e3dd;padding:6px 9px;font-size:11px}.ai-photo-confirm-dialog>p{color:#697068;margin:18px 0;font-size:11px;line-height:1.75}.ai-photo-confirm-dialog>footer{justify-content:flex-end;gap:10px;display:flex}.ai-photo-confirm-dialog>footer button{color:#fff;font:inherit;background:#283129;border:0;padding:13px 16px;font-size:12px}.ai-photo-confirm-dialog>footer button.secondary{color:#283129;cursor:pointer;background:0 0;border:1px solid #aeb4ab}.ai-photo-confirm-dialog>footer button:disabled{opacity:.42;cursor:not-allowed}.ai-photo-result{color:#273028;background:#f2f1eb;gap:20px;padding:30px 34px;scroll-margin-top:24px;display:grid;box-shadow:0 18px 55px #1f29211a}.ai-photo-result>header{border-bottom:1px solid #cfd4cb;justify-content:space-between;align-items:end;gap:20px;padding-bottom:17px;display:flex}.ai-photo-result>header small{color:#858c82;letter-spacing:.18em;font-size:10px}.ai-photo-result>header h2{margin:7px 0 0;font:400 25px Noto Serif TC,serif}.ai-photo-result>header>span{color:#727a70;border:1px solid #c2c8be;padding:7px 10px;font-size:10px}.ai-photo-result-summary{margin:0;font:400 16px/1.8 Noto Serif TC,serif}.ai-photo-observations{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ai-photo-observations article{background:#f8f8f4;border:1px solid #d3d7d0;padding:18px}.ai-photo-observations article>span{color:#4f5a50;background:#dde3dc;margin-bottom:10px;padding:5px 7px;font-size:10px;display:inline-block}.ai-photo-observations article>span.severity-watch{color:#815d22;background:#efe2c7}.ai-photo-observations article>span.severity-urgent{color:#8b3f32;background:#ecd4cf}.ai-photo-observations h3,.ai-photo-result-list h3{margin:0 0 7px;font:600 12px Noto Serif TC,serif}.ai-photo-observations p{margin:0;font-size:12px;line-height:1.7}.ai-photo-observations small{color:#747c73;margin-top:10px;font-size:10px;line-height:1.6;display:block}.ai-photo-result-list{background:#e7e8e2;border-left:3px solid #d3985d;padding:18px}.ai-photo-result-list ul{gap:9px;margin:0;padding-left:18px;display:grid}.ai-photo-result-list li{font-size:12px;line-height:1.65}.ai-photo-result-list li span{color:#727a70;font-size:10px;display:block}.ai-photo-result-list li button{color:#334238;cursor:pointer;background:0 0;border:1px solid #899486;margin-top:8px;padding:7px 10px;font-size:10px}.ai-photo-result-list li button:hover{background:#d8ddd4}.ai-photo-result-footnote{color:#767e75;margin:0;font-size:10px;line-height:1.7}.ai-photo-result-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.ai-photo-result-actions button{color:#fff;background:#283129;flex:none}.ai-office-grid{grid-template-columns:minmax(0,1fr) 290px;gap:22px;margin-top:22px;display:grid}.ai-status-panel,.ai-help-panel{background:#f8faf6;border:1px solid #d3d8d1;min-height:310px;padding:28px}.ai-section-title{border-bottom:1px solid #dde1da;justify-content:space-between;align-items:end;padding-bottom:20px;display:flex}.ai-section-title h2{margin:0;font:400 24px Noto Serif TC,serif}.ai-section-title>span{color:#858a82;font-size:11px}.ai-empty-state{text-align:center;color:#81877f;place-content:center;justify-items:center;min-height:205px;display:grid}.ai-empty-state b{color:#667668;font:400 25px serif}.ai-empty-state p{font-size:13px;line-height:2}.ai-help-panel{background:#dfe4dc;flex-direction:column;gap:9px;display:flex}.ai-help-panel button{text-align:left;color:#374239;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #2a342c24;padding:14px 0;font-size:13px}.ai-help-panel small{color:#737a73;margin-top:auto;font-size:11px;line-height:1.8}.ai-office-error{margin:18px 0 -4px}.ai-conversation{gap:13px;padding-top:20px;display:grid}.ai-request-view-switch{gap:8px;padding-top:15px;display:flex}.ai-request-view-switch button{color:#697269;font:inherit;cursor:pointer;background:0 0;border:1px solid #cdd4ca;padding:8px 11px;font-size:11px}.ai-request-view-switch button.active{color:#344038;background:#e3e8e0;border-color:#647267}.ai-request-view-switch span{color:#fff;background:#91534b;border-radius:10px;place-items:center;min-width:17px;min-height:17px;margin-left:4px;font-size:10px;display:inline-grid}.ai-request-tabs{scrollbar-width:thin;gap:7px;padding:14px 0 2px;display:flex;overflow-x:auto}.ai-request-tabs button{color:#596259;text-align:left;cursor:pointer;background:#eef1ec;border:1px solid #d4dad2;flex:0 0 155px;gap:4px;min-width:0;padding:10px;display:grid}.ai-request-tabs button.active{background:#e0e6dd;border-color:#68766a}.ai-request-tabs span{color:#7b837b;font-size:10px}.ai-request-tabs small{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.ai-request-meta{color:#868b84;justify-content:space-between;gap:12px;font-size:11px;display:flex}.ai-request-meta>div{align-items:center;gap:10px;display:flex}.ai-request-meta button{color:#96584f;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a97a73;padding:2px 0}.ai-request-meta button:disabled{opacity:.45;cursor:not-allowed}.ai-request-meta small{font:inherit}.ai-message{background:#e4e9e1;max-width:88%;padding:13px 16px}.ai-message.user{color:#fff;background:#344037;justify-self:end}.ai-message small{opacity:.58;letter-spacing:.08em;margin-bottom:5px;font-size:10px;display:block}.ai-message p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.75}.ai-failure-detail{color:#4f3834;background:#f5e8e5;border-left:3px solid #99554d;gap:14px;padding:20px;display:grid}.ai-failure-detail header{justify-content:space-between;align-items:start;gap:16px;display:flex}.ai-failure-detail header small{color:#9b6b64;letter-spacing:.16em;font-size:10px;display:block}.ai-failure-detail h3{margin:4px 0 0;font:400 20px Noto Serif TC,serif}.ai-failure-detail header>span{color:#875950;font-size:11px}.ai-failure-detail>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.75}.ai-failure-detail dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.ai-failure-detail dl>div{border-top:1px solid #71433c2e;padding-top:10px}.ai-failure-detail dt{color:#9a756f;font-size:10px}.ai-failure-detail dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:11px}.ai-failure-detail>button{color:#fff;font:inherit;cursor:pointer;background:#70443e;border:0;justify-self:start;padding:11px 14px;font-size:12px}.ai-failure-detail>small{color:#886b66;font-size:10px;line-height:1.7}.ai-reply-box,.ai-approval-box{background:#eef2eb;border:1px solid #cfd6cd;gap:10px;margin-top:8px;padding:18px;display:grid}.ai-reply-box label,.ai-approval-box p{color:#4f5c52;margin:0;font-size:13px;line-height:1.7}.ai-case-candidates{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.ai-case-candidates button{text-align:left;color:#344038;background:#fff;border:1px solid #bfc8bd;gap:3px;padding:11px 12px;display:grid}:is(.ai-case-candidates button:hover,.ai-case-candidates button:focus-visible){background:#f6f8f4;border-color:#5d6a60}.ai-case-candidates strong{font-size:13px;font-weight:600}.ai-case-candidates small{color:#7a837c;letter-spacing:.04em;font-size:11px}.ai-reply-box textarea,.ai-approval-box textarea{resize:vertical;width:100%;font:inherit;background:#fff;border:1px solid #ccd2ca;padding:11px;font-size:13px}.ai-reply-box button,.ai-approval-box button{color:#fff;cursor:pointer;font:inherit;background:#37443a;border:0;padding:11px 14px;font-size:12px}.ai-reply-box .ai-case-candidates button{color:#344038;background:#fff;border:1px solid #bfc8bd}:is(.ai-reply-box .ai-case-candidates button:hover,.ai-reply-box .ai-case-candidates button:focus-visible){background:#f6f8f4;border-color:#5d6a60}.ai-approval-box button.secondary{color:#465148;background:0 0;border:1px solid #7d887f}.ai-section-title .status-needs_input,.ai-section-title .status-needs_approval{color:#95652f}.ai-section-title .status-completed{color:#4c7552}.ai-section-title .status-failed{color:#944f47}.ai-command-actions button:disabled,.ai-reply-box button:disabled,.ai-approval-box button:disabled{cursor:not-allowed;opacity:.45}.staff-account>a{color:#b9c0b9;margin-top:7px;font-size:11px}.account-security-content{align-content:start;display:grid}.account-security-card{width:min(620px,100%)}.team-create-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.team-security-note{color:#eef0e9;background:#283129;padding:34px}.team-security-note>p{color:#ffffff75;letter-spacing:.18em;margin:0 0 8px;font-size:11px}.team-security-note h2{margin:0 0 32px;font:400 24px Noto Serif TC,serif}.team-security-note dl{gap:22px;margin:0;display:grid}.team-security-note dl>div{border-top:1px solid #ffffff24;padding-top:16px}.team-security-note dt{font-size:13px}.team-security-note dd{color:#ffffff94;margin:7px 0 0;font-size:11px;line-height:1.8}.team-member-list{gap:18px;display:grid}.team-member{border-top:1px solid #dfe3db;grid-template-columns:minmax(190px,.8fr) minmax(280px,1fr) minmax(300px,1.2fr);align-items:start;gap:24px;padding-top:20px;display:grid}.team-member>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.team-member>header>div{gap:5px;display:grid}.team-member>header strong{font-size:14px}.team-member>header small{color:#858a82;overflow-wrap:anywhere;font-size:11px}.team-member>header>span{border-radius:20px;width:max-content;padding:5px 9px;font-size:10px}.team-member>header>span.active{color:#4e6751;background:#e1e9df}.team-member>header>span.disabled{color:#7b514a;background:#efe0dc}.team-member>form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.team-member label{color:#7c817a;gap:6px;font-size:10px;display:grid}.team-member input,.team-member select{color:#313630;width:100%;min-width:0;font:inherit;background:#f7f8f4;border:1px solid #d7dbd3;padding:9px;font-size:11px}.team-member button{color:#fff;font:inherit;cursor:pointer;background:#536256;border:0;grid-column:1/-1;padding:10px;font-size:11px}.team-member button:disabled,.team-member input:disabled,.team-member select:disabled{opacity:.45;cursor:not-allowed}.team-self-note{color:#858a82;grid-column:2/-1;margin:0;font-size:11px}.portfolio-admin-section{background:#fafbf8;border:1px solid #daddd5;margin-top:24px;padding:30px}.portfolio-admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.portfolio-admin-form label,.portfolio-image-form label{color:var(--muted);letter-spacing:.08em;gap:8px;font-size:11px;display:grid}.portfolio-admin-form input,.portfolio-admin-form select,.portfolio-admin-form textarea,.portfolio-image-form input{border:0;border-bottom:1px solid var(--line);width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;outline:none;padding:10px 2px}.portfolio-admin-form textarea{resize:vertical;line-height:1.7}.portfolio-admin-form .wide{grid-column:1/-1}.portfolio-admin-form .check-label,.portfolio-image-form .check-label{flex-direction:row;align-items:center;gap:9px;display:flex}.portfolio-admin-form .check-label input,.portfolio-image-form .check-label input{width:auto}.portfolio-admin-form>button,.portfolio-image-form>button{color:#fff;font:inherit;cursor:pointer;background:#536256;border:1px solid #536256;grid-column:1/-1;justify-self:end;padding:13px 24px;font-size:12px}.portfolio-admin-list{gap:24px;display:grid}.portfolio-admin-card{background:#f4f6f1;border:1px solid #d9ddd5}.portfolio-admin-card>header{border-bottom:1px solid #d9ddd5;justify-content:space-between;align-items:start;gap:22px;min-height:145px;padding:22px;display:flex}.portfolio-admin-card>header h3{margin:10px 0 7px;font:400 24px Noto Serif TC,serif}.portfolio-admin-card>header small{color:#858a82;overflow-wrap:anywhere;font-size:11px}.portfolio-admin-card>header img{aspect-ratio:4/3;object-fit:cover;width:180px}.portfolio-admin-card>.portfolio-admin-form{padding:24px}.portfolio-status{border-radius:16px;padding:5px 9px;font-size:10px;display:inline-flex}.portfolio-status.published{color:#49634f;background:#e0e9df}.portfolio-status.draft{color:#746b54;background:#eee8da}.portfolio-status.archived{color:#7b514a;background:#efe0dc}.portfolio-image-manager{background:#eef1eb;border-top:1px solid #d9ddd5;padding:24px}.portfolio-image-manager h4{margin:0 0 18px;font:400 18px Noto Serif TC,serif}.portfolio-image-manager>p{color:var(--muted);font-size:12px}.portfolio-image-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:24px;display:grid}.portfolio-image-list figure{background:#fafbf8;border:1px solid #d8ddd5;margin:0;padding:10px}.portfolio-image-preview{cursor:grab;position:relative}.portfolio-image-preview:active{cursor:grabbing}.portfolio-image-list img{aspect-ratio:4/3;object-fit:contain;background:#e3e6df;width:100%;display:block}.portfolio-position{z-index:1;color:#fff;background:#243229;border-radius:50%;place-items:center;min-width:28px;height:28px;font-size:12px;display:grid;position:absolute;top:8px;left:8px}.portfolio-drag-handle{z-index:1;color:#36463a;letter-spacing:.08em;background:#fafbf8eb;padding:7px 9px;font-size:10px;position:absolute;top:8px;right:8px}.portfolio-image-list figure.is-dragging{opacity:.45;border-color:#536256}.portfolio-image-list figcaption{overflow-wrap:anywhere;gap:4px;min-width:0;padding:9px 0;font-size:11px;display:grid}.portfolio-image-list figcaption b{color:#49634f;width:max-content}.portfolio-image-list figcaption small{color:var(--muted)}.portfolio-image-list form button{color:#8b4d45;font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:10px;text-decoration:underline}.portfolio-sorter-help{color:#36463a;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 12px;display:flex}.portfolio-sorter-help span{font-size:14px}.portfolio-sorter-help small{color:var(--muted);font-size:11px}.portfolio-batch-actions{color:#36463a;background:#e3e8df;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;font-size:11px;display:flex}.portfolio-batch-actions span{margin-right:auto}.portfolio-batch-actions button{color:#36463a;font:inherit;cursor:pointer;background:#f7f8f5;border:1px solid #b8c2b5;padding:7px 11px}.portfolio-batch-actions button.danger{color:#fff;background:#8b4d45;border-color:#8b4d45}.portfolio-batch-actions button:disabled{opacity:.45;cursor:not-allowed}.portfolio-select-photo{z-index:2;color:#243229;cursor:pointer;background:#fafbf8eb;align-items:center;gap:5px;padding:6px 8px;font-size:10px;display:flex;position:absolute;top:8px;left:8px}.portfolio-move-controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.portfolio-move-controls button,.portfolio-image-meta-form button{width:100%;color:#445448!important;background:#f4f6f1!important;border:1px solid #cdd3ca!important;padding:8px!important;text-decoration:none!important}.portfolio-move-controls button:disabled,.portfolio-image-meta-form button:disabled{opacity:.45;cursor:not-allowed}.portfolio-image-meta-form{margin-top:7px}.portfolio-sort-actions{z-index:3;color:#fff;background:#243229f5;justify-content:flex-end;align-items:center;gap:18px;width:max-content;max-width:100%;margin:0 0 24px auto;padding:10px 12px 10px 18px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 30px #19241c33}.portfolio-sort-actions p{margin:0;font-size:11px}.portfolio-sort-actions button{color:#243229;font:inherit;cursor:pointer;background:#fff;border:1px solid #fff;padding:10px 16px;font-size:11px}.portfolio-sort-actions button:disabled{opacity:.45;cursor:not-allowed}.portfolio-image-form{grid-template-columns:2fr 1fr 1fr 90px auto;align-items:end;gap:16px;display:grid}.portfolio-image-form>button{white-space:nowrap;grid-column:auto}@media (max-width:800px){.site-header{grid-template-columns:1fr auto;height:78px;padding:0 22px}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:76svh;padding:140px 24px 70px}.hero-intro br{display:none}.hero-visual{min-height:62svh}.section-heading{grid-template-columns:1fr auto;gap:20px}.section-heading>p{grid-column:1/-1}.section-heading h2{font-size:34px}.projects-section{padding:100px 22px}.project-grid{grid-template-columns:1fr;gap:54px}.project-card:last-child{grid-column:auto}.project-card:nth-child(2) .project-art,.project-card:nth-child(3) .project-art{aspect-ratio:4/3}.philosophy{grid-template-columns:1fr;gap:45px;padding:100px 24px}.philosophy h2,.portal-entry h2{font-size:38px}.portal-entry{padding:100px 24px}footer{padding:80px 24px 30px}.inner-page{padding-top:78px}.page-intro{min-height:58svh;padding:100px 24px 70px}.portfolio-row{grid-template-columns:35px 1fr;gap:15px}.portfolio-row .project-art{grid-column:2}.portfolio-info{grid-column:2;padding:15px 0}.portfolio-info h2{margin-bottom:35px}.project-detail-head{padding:85px 24px 45px}.project-detail-head dl{grid-template-columns:1fr}.project-detail-hero{margin:0}.project-detail-hero .project-art{aspect-ratio:4/3}.project-detail-hero img.portfolio-cover{aspect-ratio:auto}.project-gallery{grid-template-columns:1fr;margin:0 24px 90px}.project-gallery figure:first-child:nth-last-child(odd){grid-column:1}.project-story,.editorial-grid,.service-intro,.contact-layout{grid-template-columns:1fr;gap:35px;padding:90px 24px}.team-block{grid-template-columns:1fr;margin:0 24px 100px}.team-portrait{min-height:450px}.process-list{margin:0 24px 100px}.process-list>div{grid-template-columns:45px 1fr}.process-list p{grid-column:2}.contact-form{grid-template-columns:1fr}.contact-details{margin-bottom:30px}.login-page{grid-template-columns:1fr}.login-art{min-height:52svh;padding:130px 24px 50px}.login-panel{padding:70px 24px}.portal-shell{grid-template-columns:1fr}.portal-sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:20px;position:static}.portal-sidebar nav{display:none}.portal-account{border:0;margin:0 0 0 auto;padding:0}.portal-content{padding:28px 16px 80px}.demo-banner{margin:-28px -16px 24px}.progress-hero{grid-template-columns:110px 1fr;gap:22px;padding:24px 18px}.progress-ring{width:105px;height:105px}.progress-ring:before{width:80px;height:80px}.progress-ring strong{font-size:31px}.progress-summary{border-top:1px solid #ddd;border-left:0;grid-column:1/-1;padding-top:20px}.gantt-card,.photo-section{padding:22px 16px}.photo-grid{grid-template-columns:1fr}.portal-card{padding:22px 16px}.approval-list>article{grid-template-columns:1fr}.log-list>article{grid-template-columns:1fr;gap:8px}.portal-two-column{grid-template-columns:1fr;gap:0}.payment-grid{grid-template-columns:1fr}.document-list a{grid-template-columns:75px 1fr auto;gap:12px}.password-card{padding:34px 24px}.staff-shell{grid-template-columns:1fr}.staff-sidebar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px;height:auto;padding:18px 16px 14px;display:grid;position:static}.staff-sidebar nav{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:0;display:grid}.staff-sidebar nav a,.staff-sidebar nav span{text-align:center;border:1px solid #ffffff1a;min-width:0;padding:11px 12px}.finance-form-grid,.finance-vendor-list{grid-template-columns:1fr}.finance-approval dl{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-account{text-align:right;border:0;margin-left:auto;padding:0}.staff-content{padding:30px 16px 70px}.staff-head{grid-template-columns:1fr auto auto;gap:16px}.staff-head h1{font-size:26px}.staff-forms{grid-template-columns:1fr}.staff-card,.staff-list{padding:22px 16px}.staff-row{grid-template-columns:1fr auto;gap:12px}.staff-row.labels{display:none}.team-create-grid,.team-member{grid-template-columns:1fr}.team-self-note{grid-column:1}.portfolio-admin-section{padding:22px 16px}.portfolio-admin-form{grid-template-columns:1fr}.portfolio-admin-form .wide{grid-column:1}.portfolio-admin-card>header{flex-direction:column-reverse;min-height:0}.portfolio-admin-card>header img{width:100%}.portfolio-image-list{grid-template-columns:1fr}.portfolio-sorter-help{flex-direction:column;align-items:flex-start}.portfolio-sort-actions{justify-content:space-between;width:100%;bottom:8px}.portfolio-image-form{grid-template-columns:1fr}.portfolio-image-form>button{grid-column:1;width:100%}.project-tags{grid-column:1/-1}.staff-project-grid,.project-admin-grid,.project-lifecycle-actions,.project-lifecycle-card form{grid-template-columns:1fr}.project-lifecycle-card .cancel-project-form{border-top:1px solid #dfcbc4;border-left:0;padding:22px 0 0}.admin-schedule-row{grid-template-columns:1fr auto;gap:8px 14px}.admin-schedule-row.labels{display:none}.admin-schedule-row>span:first-of-type{grid-column:1/-1}.schedule-management-note{grid-template-columns:1fr;gap:8px}.schedule-create-form{padding:18px 14px}.schedule-create-form>button{justify-self:stretch;width:100%}.staff-gantt-grid{grid-template-columns:1fr}.staff-gantt-grid>article{padding:18px 14px}.staff-gantt-axis{margin-left:100px}.staff-gantt-row{grid-template-columns:88px minmax(0,1fr);gap:10px}.schedule-editor summary{grid-template-columns:1fr auto auto;gap:8px 12px;padding:16px 14px}.schedule-editor summary>div{grid-column:1/-1}.schedule-item-state{grid-column:1}.schedule-edit-cta{grid-column:3}.schedule-editor form{padding:18px 14px}.schedule-form-grid{grid-template-columns:1fr;gap:16px}.schedule-editor button{justify-self:stretch;width:100%}.admin-log-list article{grid-template-columns:1fr auto;gap:8px 14px}.admin-log-list article>div{grid-column:1/-1}.photo-intake-note,.document-management-note{grid-template-columns:1fr;gap:8px}.document-register-form{grid-template-columns:1fr;padding:18px 14px}.document-register-form .wide{grid-column:1}.document-register-form button{width:100%}.staff-document-name{grid-template-columns:1fr auto;gap:10px}.staff-document-name>span{grid-column:1/-1}.staff-document-list form{grid-template-columns:1fr;padding:12px 0 4px}.staff-document-list form button{width:100%}.change-order-note{grid-template-columns:1fr;gap:8px}.change-order-create{grid-template-columns:1fr;padding:18px 14px}.payment-editor{grid-template-columns:1fr}.change-order-create .wide,.staff-change-order-list form .wide{grid-column:1}.change-order-create button,.staff-change-order-list button{width:100%}.staff-change-order-list summary{grid-template-columns:1fr auto;gap:8px 12px;padding:16px 14px}.staff-change-order-list summary>div{grid-column:1/-1}.staff-change-order-list summary>span{text-align:left}.staff-change-order-list form{grid-template-columns:1fr;padding:18px 14px}.staff-photo-grid{grid-template-columns:1fr}.ai-office-content{padding:28px 16px 70px}.ai-office-head{align-items:start}.ai-office-head h1{font-size:32px}.worker-state{white-space:nowrap;margin-top:4px}.ai-command-card{padding:24px 18px}.ai-command-card textarea{min-height:150px;font-size:19px}.ai-photo-card{padding:24px 18px}.ai-photo-fields{grid-template-columns:1fr}.ai-photo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-photo-summary,.ai-photo-actions,.ai-photo-result-actions{flex-direction:column;align-items:stretch}.ai-photo-actions button,.ai-photo-result-actions button{width:100%}.ai-photo-confirm-backdrop{padding:12px}.ai-photo-confirm-dialog{padding:22px 18px}.ai-photo-confirm-dialog dl>div{grid-template-columns:1fr;gap:5px}.ai-photo-confirm-dialog>footer{flex-direction:column-reverse;align-items:stretch}.ai-photo-confirm-dialog>footer button{width:100%}.ai-photo-result{padding:24px 18px}.ai-photo-result>header{flex-direction:column;align-items:start}.ai-photo-observations,.ai-office-grid,.ai-failure-detail dl{grid-template-columns:1fr}.ai-help-panel{min-height:260px}}.office-mode-switch{margin:1rem 0 1.5rem}.office-mode-switch button{padding:1rem 2rem;font-size:1.125rem}.office-context{border:1px solid #cbd2c8;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0;padding:1.25rem;display:grid}.office-context label{flex-direction:column;gap:.5rem;font-size:1rem;display:flex}.office-context input,.office-context select{width:100%;min-height:48px;font:inherit;color:#263329;background:#fff;border:1px solid #829180;padding:.65rem}.office-search{background:#f8faf6;border:1px solid #cbd2c8;padding:clamp(1rem,3vw,2rem)}.office-search p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.7}.office-search button{color:#fff;background:#303e33;padding:.85rem 1.5rem;font-size:1rem}.office-search button:disabled{opacity:.5}.office-search-results{gap:1rem;margin-top:1.5rem;display:grid}.office-search-results article{background:#fff;border:1px solid #cbd2c8;padding:1.25rem}.office-search-results h4{margin:.6rem 0;font-size:1.1rem}.office-search-results a{margin:.4rem 1rem .4rem 0;text-decoration:underline;display:inline-block}.office-file-preview{margin-top:1rem}.office-file-preview section{border:1px solid var(--line);margin-top:.75rem;padding:1rem}.office-file-preview img{object-fit:contain;width:100%;height:auto;max-height:75vh;display:block}.office-file-preview iframe{border:0;width:100%;height:75vh;display:block}.office-file-preview pre{white-space:pre-wrap;overflow-wrap:anywhere}.photo-manager-tools{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.photo-manager button{color:#30352f;cursor:pointer;background:#fff;border:1px solid #b9b2a8;border-radius:8px;min-height:44px;padding:10px 16px}.photo-manager button:disabled{opacity:.5;cursor:default}.photo-manager button[aria-pressed=true]{color:#fff;background:#334438}.photo-manager-select{overflow-wrap:anywhere;align-items:center;gap:8px;padding:12px;display:flex}.photo-manager-select input{width:20px;height:20px}.photo-manager-delete{margin:0 16px 16px}.photo-manager-deleted{overflow-wrap:anywhere;padding:16px}.photo-trash-confirm{background:#f5eee5;border:1px solid #b9a98d;border-radius:12px;margin:16px 0;padding:20px}.photo-trash-confirm ul{overflow-wrap:anywhere;max-height:160px;overflow:auto}.photo-trash-confirm button{margin-right:12px}.photo-manager :focus-visible{outline-offset:3px;outline:3px solid #6b8067}.photo-zoom-control{padding:8px}.photo-zoom-control>button{color:#273028;font:inherit;cursor:pointer;background:#f5f7f2;border:1px solid #8a9689;border-radius:4px;padding:8px 12px;font-size:14px}.photo-zoom-dialog{box-sizing:border-box;color:#fff;background:#1d251f;border:0;border-radius:8px;width:min(1200px,96vw);max-width:96vw;max-height:94dvh;padding:16px}.photo-zoom-dialog::backdrop{background:#000c}.photo-zoom-dialog>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.photo-zoom-dialog>header strong{overflow-wrap:anywhere;min-width:0;font-size:16px}.photo-zoom-dialog>header button{color:#273028;font:inherit;cursor:pointer;background:#f5f7f2;border:1px solid #8a9689;border-radius:4px;flex-shrink:0;padding:10px 14px;font-size:14px}.photo-zoom-dialog>img{object-fit:contain;width:100%;height:auto;max-height:calc(94dvh - 110px);display:block}.schedule-page{color:#26382f;max-width:1800px;margin:0 auto;padding:32px clamp(16px,3vw,56px)}.schedule-page-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.schedule-page-head p{color:#68766b;margin:18px 0 6px;font-size:14px}.schedule-page-head h1{margin:0;font-size:30px}.schedule-page-head a,.schedule-page-link{color:#365a48;font-size:16px;font-weight:600}.schedule-batch-form{background:#fff;border:1px solid #d9ddd5;padding:20px}.schedule-toolbar{z-index:3;background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex;position:sticky;top:0}.schedule-toolbar>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-toolbar span,.schedule-help{color:#647267;font-size:14px;line-height:1.7}.schedule-toolbar button,.schedule-table button{color:#294334;cursor:pointer;background:#f6f8f4;border:1px solid #9bab9e;border-radius:4px;padding:10px 16px;font-size:14px}.schedule-toolbar button[type=submit]{color:#fff;background:#294f3d;border-color:#294f3d}.schedule-page button:disabled{opacity:.5;cursor:default}.schedule-batch-form fieldset{border:0;min-width:0;margin:0;padding:0}.schedule-table-scroll,.schedule-chart-scroll{overflow-x:auto}.schedule-table{border-collapse:collapse;width:100%;min-width:1540px;font-size:14px}.schedule-table th{color:#4d6052;text-align:left;white-space:nowrap;background:#edf2ec;padding:12px 8px}.schedule-table td{border-bottom:1px solid #e3e8df;padding:12px 6px}.schedule-table td:first-child{min-width:205px}.schedule-table td:nth-child(2){min-width:145px}.schedule-table input,.schedule-table select{box-sizing:border-box;color:#26382f;width:100%;min-width:110px;font:inherit;background:#fff;border:1px solid #bbc8bb;border-radius:4px;padding:10px 8px}.schedule-table input[type=date]{min-width:145px}.schedule-table input[type=number]{width:80px;min-width:72px}.schedule-table td:first-child input{width:calc(100% - 22px)}.schedule-color{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:8px;display:inline-block}.schedule-page :is(input,select,button,a,[tabindex]):focus-visible{outline-offset:2px;outline:3px solid #668caa}.schedule-charts{margin-top:36px;scroll-margin-top:24px}.schedule-page .staff-gantt-grid{grid-template-columns:1fr;gap:24px}.schedule-page .staff-gantt-grid>article{padding:24px}.schedule-page .staff-gantt-grid h3{font-size:22px}.schedule-page .staff-gantt-grid header>span{font-size:14px}.schedule-page .staff-gantt{gap:16px;min-width:1000px;padding-bottom:12px}.schedule-page .staff-gantt-axis{margin-left:232px;font-size:14px}.schedule-page .staff-gantt-row{grid-template-columns:216px minmax(0,1fr);gap:16px}.schedule-page .staff-gantt-label strong{white-space:normal;overflow-wrap:anywhere;font-size:16px}.schedule-page .staff-gantt-label small{font-size:14px}.schedule-page .staff-gantt-track{height:52px}.schedule-page .staff-gantt-track i{border-radius:4px;height:36px;top:8px}.schedule-page .staff-gantt-track i>span{color:#fff;font-size:14px;top:8px}.schedule-page .staff-gantt-track>em{font-size:14px;top:16px}.schedule-page .staff-gantt-reference{height:46px;top:3px}@media (max-width:700px){.schedule-page-head{flex-direction:column;align-items:start;gap:12px}.schedule-batch-form{padding:12px}.schedule-page .staff-gantt-grid>article{padding:16px}.schedule-toolbar>div:last-child{width:100%}.schedule-toolbar button{flex:1}}.schedule-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.daily-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0;display:flex}.daily-toolbar button,.daily-toolbar input{color:#294334;min-height:44px;font:inherit;background:#fff;border:1px solid #aab9ad;border-radius:4px;padding:10px 14px;font-size:16px}.daily-toolbar button{cursor:pointer}.daily-toolbar label{gap:4px;font-size:14px;display:grid}.daily-agenda{background:#eef3ee;border:1px solid #cdd9cd;border-radius:6px;margin:20px 0 26px;padding:20px}.daily-agenda h3{margin:0 0 16px;font-size:20px}.daily-agenda-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.daily-agenda h4{margin:0 0 12px;font-size:16px}.daily-agenda ul{margin:0;padding:0;list-style:none}.daily-agenda-grid>article>ul>li{margin-bottom:16px}.daily-agenda li li{gap:4px;padding:8px 0 0 18px;font-size:16px;display:grid}.daily-agenda small{color:#526857;font-size:14px}.daily-gantt-scroll{border:1px solid #cbd5ca;max-height:640px}.daily-gantt{table-layout:fixed;border-spacing:0;font-size:14px}.daily-gantt th,.daily-gantt td{box-sizing:border-box;text-align:center;border-bottom:1px solid #d5dfd3;border-right:1px solid #d5dfd3;width:54px;min-width:54px;height:58px;padding:0}.daily-gantt thead th{z-index:2;background:#edf2ec;position:sticky;top:0}.daily-gantt .daily-trade{z-index:1;text-align:left;overflow-wrap:anywhere;background:#f8faf6;width:220px;min-width:220px;padding:12px 16px;position:sticky;left:0}.daily-gantt thead .daily-trade{z-index:3}.daily-trade strong{font-size:16px;display:block}.daily-trade small{color:#617561;margin-top:6px;font-size:13px;display:block}.daily-gantt th button{cursor:pointer;color:#334e3b;width:100%;min-height:68px;font:inherit;background:0 0;border:0;align-content:center;gap:6px;display:grid}.daily-gantt th button span{font-size:15px;font-weight:600}.daily-gantt th button small{font-size:13px}.daily-gantt .weekend{background:#f2ede3}.daily-gantt .selected-day{background:#e2edde;box-shadow:inset 2px 0 #315d48,inset -2px 0 #315d48}.daily-gantt th.selected-day{border-top:3px solid #315d48}.daily-gantt .daily-work{color:#fff;border-radius:3px;margin:5px 1px;padding:10px 0;font-size:13px;display:block}.daily-unconfirmed{margin-top:16px;font-size:14px;line-height:1.8}.schedule-period-actions{min-width:155px}.schedule-period-actions button{white-space:nowrap;width:100%;margin:3px 0}@media (max-width:700px){.daily-agenda-grid{grid-template-columns:1fr}.daily-gantt .daily-trade{width:160px;min-width:160px}.daily-toolbar{gap:8px}.daily-toolbar button{padding:10px;font-size:14px}}.schedule-view-toggle{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.schedule-view-toggle button{color:#294334;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #98ad9e;border-radius:4px;padding:10px 20px}.schedule-view-toggle button[aria-pressed=true]{color:#fff;background:#294f3d}.schedule-view-toggle>span{color:#526857;margin-left:auto;font-size:14px}.overview-scroll{border:1px solid #cbd5ca}.overview-axis,.overview-row{grid-template-columns:220px minmax(0,1fr);display:grid}.overview-axis{background:#edf2ec}.overview-axis>strong{padding:16px;font-size:15px}.overview-axis>div{display:flex}.overview-axis button{color:#294334;cursor:pointer;min-width:0;font:inherit;background:0 0;border:0;border-left:1px solid #cbd5ca;gap:5px;padding:8px 0;display:grid}.overview-axis button span{font-size:12px}.overview-axis button strong{font-size:15px}.overview-row{border-top:1px solid #d5dfd3;align-items:stretch}.overview-label{overflow-wrap:anywhere;background:#f8faf6;align-content:center;gap:6px;padding:14px 16px;display:grid}.overview-label strong{font-size:16px}.overview-label small{color:#617561;font-size:13px}.overview-track{min-height:58px;position:relative}.overview-month-grid{pointer-events:none;border-left:1px solid #d5dfd3;position:absolute;top:0;bottom:0}.overview-period{color:#fff;cursor:pointer;text-align:left;border:0;border-radius:4px;min-width:2px;height:32px;padding:0;position:absolute;overflow:hidden}.overview-period span{white-space:nowrap;padding:7px;font-size:13px;display:block}.overview-no-period{color:#617561;padding:18px 10px;font-size:14px;display:block}@media (max-width:700px){.schedule-view-toggle>span{width:100%;margin-left:0}}.schedule-holiday-option{background:#f5f7f2;border:1px solid #cbd5ca;margin:16px 0;padding:16px}.schedule-holiday-option label{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.schedule-holiday-option input{width:20px;height:20px}.schedule-holiday-option p{color:#526857;margin:10px 0 0;font-size:14px;line-height:1.7}.schedule-holiday-option a{margin-left:8px;text-decoration:underline}.daily-gantt .national-holiday{background:#fae7df}.daily-holiday-label{color:#944b35;font-size:14px}.overview-week-axis{background:#f5f7f2;border-top:1px solid #d5dfd3;grid-template-columns:220px minmax(0,1fr);display:grid}.overview-week-axis>small{color:#526857;padding:12px 16px;font-size:12px}.overview-week-axis>div{min-height:40px;position:relative}.overview-week-axis button{color:#294334;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-left:1px dashed #bdcbbb;padding:3px 0;font-size:12px;position:absolute;top:0;bottom:0;overflow:hidden}:is(.overview-week-axis button:hover,.overview-week-axis button:focus-visible){background:#dce9d8}.overview-week-grid{pointer-events:none;border-left:1px dashed #dce4d9;position:absolute;top:0;bottom:0}.overview-workdays{color:#294334;font-size:14px}.overview-workdays b{font-variant-numeric:tabular-nums;font-size:18px}.schedule-removed{border:1px solid #cbd5ca;border-radius:4px;margin:16px 0;padding:16px}.schedule-removed summary{cursor:pointer;font-weight:600}.schedule-removed ul{padding-left:20px}.schedule-removed li{margin:12px 0}.schedule-removed button{cursor:pointer;margin-left:16px;padding:6px 12px}.office-reminders{color:#294334;max-width:1000px;margin:auto;padding:32px 20px 80px}.office-reminders header{margin-bottom:24px}.office-reminders h1{font-size:32px}.office-reminders h2{margin-top:0;font-size:22px}.reminder-card{background:#f8faf6;border:1px solid #cbd5ca;border-radius:10px;margin:20px 0;padding:24px}.office-reminders p{line-height:1.7}.office-reminders a{text-decoration:underline}.reminder-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.reminder-wide{grid-column:1/-1}.office-reminders label{gap:8px;font-size:16px;display:grid}.office-reminders input,.office-reminders select,.office-reminders textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#294334;background:#fff;border:1px solid #9bad9b;border-radius:5px;padding:12px;font-size:16px}.office-reminders fieldset{border:0;min-width:0;margin:0;padding:0}.office-reminders textarea{min-height:80px}.office-reminders button{color:#fff;cursor:pointer;min-height:44px;font:inherit;background:#294f3d;border:0;border-radius:5px;padding:10px 15px}.office-reminders button:disabled{opacity:.5;cursor:default}.reminder-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.reminder-hint{color:#5b705e;font-size:14px}.reminder-device{border-top:1px solid #d5dfd3;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.reminder-item{border-bottom:1px solid #cbd5ca;padding:20px 0;scroll-margin-top:20px}.reminder-item h3{margin:0}.reminder-item form{gap:10px;margin-top:15px;display:grid}.reminder-card summary{cursor:pointer;font-weight:600}.reminder-item:target{background:#e9f2de}@media (max-width:650px){.reminder-fields{grid-template-columns:1fr}.reminder-card{padding:18px}.office-reminders{padding:20px 12px 60px}.reminder-actions button{flex:auto}}.photo-category-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin:20px 0;display:grid}.photo-category-grid button{text-align:left;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:10px;min-height:126px;display:flex}.photo-category-grid strong{font-size:1.15rem}.photo-category-navigation{flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0;display:flex}.photo-category-navigation label{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.photo-category-navigation select{background:#fff;border:1px solid #b9b2a8;border-radius:8px;max-width:100%;min-height:44px;padding:8px}.photo-category-navigation select:focus-visible{outline-offset:3px;outline:3px solid #6b8067}.project-admin-content{font-size:18px;line-height:1.7}.project-admin-content .staff-card label{font-size:14px;line-height:1.7}.project-admin-content .staff-card>small{font-size:13px;line-height:1.7}.project-admin-content .staff-card button{font-size:15px;line-height:1.7}.project-admin-content .staff-head p,.project-admin-content .staff-card>div>p,.project-admin-content .staff-section-head p,.project-admin-content .staff-head>div:not(:first-child) span{font-size:13px;line-height:1.7}.project-admin-content .staff-notice{font-size:14px;line-height:1.7}.project-admin-content .staff-section-head>span,.project-admin-content .staff-row.labels{font-size:13px;line-height:1.7}.project-admin-content .staff-row strong{font-size:15px;line-height:1.7}.project-admin-content .staff-row small,.project-admin-content .staff-row>span,.project-admin-content .staff-row>div:nth-child(2)>span{font-size:13px;line-height:1.7}.project-admin-content .project-lifecycle-card label{font-size:14px;line-height:1.7}.project-admin-content .project-lifecycle-card small{font-size:13px;line-height:1.7}.project-admin-content .project-lifecycle-card button,.project-admin-content .admin-schedule-row{font-size:14px;line-height:1.7}.project-admin-content .admin-schedule-row.labels{font-size:13px;line-height:1.7}.project-admin-content .admin-schedule-row small,.project-admin-content .admin-schedule-row em,.project-admin-content .admin-log-list em{font-size:12px;line-height:1.7}.project-admin-content .schedule-management-note strong{font-size:15px;line-height:1.7}.project-admin-content .schedule-management-note p{font-size:14px;line-height:1.7}.project-admin-content .schedule-create-form>div:first-of-type p{font-size:12px;line-height:1.7}.project-admin-content .schedule-create-form label,.project-admin-content .schedule-create-form>small{font-size:13px;line-height:1.7}.project-admin-content .schedule-create-form>button{font-size:14px;line-height:1.7}.project-admin-content .schedule-editor summary small{font-size:13px;line-height:1.7}.project-admin-content .schedule-editor summary>span{font-size:14px;line-height:1.7}.project-admin-content .schedule-editor summary em{font-size:12px;line-height:1.7}.project-admin-content .schedule-editor label,.project-admin-content .schedule-editor form>small{font-size:13px;line-height:1.7}.project-admin-content .schedule-editor button,.project-admin-content .admin-log-list time,.project-admin-content .admin-log-list p{font-size:14px;line-height:1.7}.project-admin-content .photo-intake-note strong{font-size:15px;line-height:1.7}.project-admin-content .photo-intake-note p{font-size:14px;line-height:1.7}.project-admin-content .document-register-form label,.project-admin-content .staff-document-list form label{font-size:13px;line-height:1.7}.project-admin-content .document-register-form label small{font-size:12px;line-height:1.7}.project-admin-content .document-register-form button,.project-admin-content .staff-document-list button{font-size:14px;line-height:1.7}.project-admin-content .staff-document-name>span{font-size:12px;line-height:1.7}.project-admin-content .staff-document-name strong{font-size:15px;line-height:1.7}.project-admin-content .staff-document-name small{font-size:12px;line-height:1.7}.project-admin-content .staff-document-name>a{font-size:13px;line-height:1.7}.project-admin-content .staff-document-list form em{font-size:12px;line-height:1.7}.project-admin-content .change-order-note strong{font-size:15px;line-height:1.7}.project-admin-content .change-order-note p{font-size:14px;line-height:1.7}.project-admin-content .change-order-create label,.project-admin-content .staff-change-order-list label{font-size:13px;line-height:1.7}.project-admin-content .change-order-create button,.project-admin-content .staff-change-order-list button{font-size:14px;line-height:1.7}.project-admin-content .staff-change-order-list summary strong{font-size:15px;line-height:1.7}.project-admin-content .staff-change-order-list summary small{font-size:12px;line-height:1.7}.project-admin-content .staff-change-order-list summary>span{font-size:15px;line-height:1.7}.project-admin-content .staff-change-order-list summary em,.project-admin-content .staff-change-order-list label small{font-size:12px;line-height:1.7}.project-admin-content .staff-photo-preview>div span{font-size:13px;line-height:1.7}.project-admin-content .staff-photo-preview>em,.project-admin-content .staff-photo-card form header time,.project-admin-content .staff-photo-card form header small{font-size:12px;line-height:1.7}.project-admin-content .staff-photo-card form header strong{font-size:15px;line-height:1.7}.project-admin-content .staff-photo-card form label{font-size:13px;line-height:1.7}.project-admin-content .staff-photo-card form>small{font-size:12px;line-height:1.7}.project-admin-content .staff-photo-card form button{font-size:14px;line-height:1.7}.project-admin-content :is(input,textarea,select){min-width:0;font-size:16px;line-height:1.6}.project-admin-content :is(button,label,small,p){overflow-wrap:anywhere}.project-admin-content :is(.staff-photo-card form header strong,.staff-document-name strong,.staff-change-order-list summary strong){white-space:normal;overflow-wrap:anywhere}.project-admin-content .photo-manager button{font-size:16px;line-height:1.6}.project-admin-content .photo-category-grid strong{font-size:20px}.project-admin-content .photo-category-navigation select{font-size:16px}.schedule-page :is(.schedule-table,.schedule-toolbar span,.schedule-help,.schedule-toolbar button,.schedule-table button,.staff-gantt-axis,.staff-gantt-label small,.staff-gantt-grid header>span,.staff-gantt-track i>span,.staff-gantt-track>em){font-size:16px;line-height:1.6}.schedule-page .staff-gantt-label strong{font-size:18px;line-height:1.6}.schedule-page .staff-gantt-row{min-height:66px}.project-admin-content .document-management-note strong{font-size:15px;line-height:1.7}.project-admin-content :is(.document-management-note p,.approval-action-history p){font-size:14px;line-height:1.7}.project-admin-content .approval-action-history>strong{font-size:13px;line-height:1.7}.project-admin-content .approval-action-history article>div{font-size:12px;line-height:1.7}.project-admin-content .portal-empty{font-size:15px;line-height:1.7}.project-admin-content .photo-zoom-control>button{font-size:16px;line-height:1.6}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Monmon Written C;src:url(/fonts/monmon-written-c.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Monmon Hand;src:url(/fonts/LXGWWenKaiTC-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}.monmon-home,.inner-page,.monmon-header{--life-paper:#f5f4ef;--life-ink:#30352f;--life-muted:#65695f;--life-line:#cfcec5;--life-accent:#727762;--life-serif:"Monmon Written C","Monmon Hand","Kaiti TC","BiauKai",serif;--life-sans:"Monmon Hand","Kaiti TC","PingFang TC",sans-serif;--life-hand:"Monmon Written C","Monmon Hand","Kaiti TC","BiauKai",serif;--life-gutter:clamp(24px,6.5vw,112px);--life-space:clamp(88px,11vw,176px);--life-slow:1.6s}.monmon-home{background:var(--life-paper);color:var(--life-ink);font-family:var(--life-sans)}.monmon-home *{box-sizing:border-box}.monmon-home h1,.monmon-home h2,.monmon-home h3{font-family:var(--life-serif);font-weight:400}.monmon-home h2{letter-spacing:.05em;margin:22px 0 30px;font-size:clamp(30px,3.2vw,48px);line-height:1.7}.monmon-home p{line-height:2.1}.monmon-header{z-index:100;background:var(--life-paper);height:112px;padding:0 var(--life-gutter);color:var(--life-ink);font:18px var(--life-sans);align-items:center;gap:28px;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 1px #706e6520}.monmon-header .brand{flex-shrink:0;margin-right:auto}.monmon-header .brand-mark img{width:220px}.monmon-header nav{white-space:nowrap;gap:20px;display:flex}.monmon-header nav a{padding:14px 0}.monmon-header .monmon-client-link{font-size:17px}.monmon-client-link{white-space:nowrap;border-bottom:1px solid;align-items:center;gap:14px;padding:12px 0;font-size:14px;display:inline-flex}.monmon-header a:hover{color:#797c65}.monmon-header-inner{background:var(--life-paper)}.monmon-menu-toggle{display:none}:is(.monmon-home :focus-visible,.monmon-header :focus-visible,.inner-page :focus-visible){outline-offset:6px;outline:2px solid #697552}.life-skip{z-index:110;background:var(--life-paper);padding:15px;position:fixed;top:-100px;left:24px}.life-skip:focus{top:12px}.life-kicker{font:12px var(--life-sans);letter-spacing:.2em;color:var(--life-muted)}.life-hero{height:100svh;min-height:850px;max-height:1200px;position:relative;overflow:hidden}.life-media-placeholder{color:#535b4e;background:#e3e3db;justify-content:space-between;align-items:end;min-height:300px;padding:28px;display:flex;position:relative}.life-media-number{letter-spacing:.12em;font-size:12px}.life-media-label{letter-spacing:.1em;font-size:12px;line-height:1.8}.life-media-label span{display:block}.life-hero .life-hero-media{padding:40px var(--life-gutter);background:#dedfd5;justify-content:end;position:absolute;inset:0}.life-hero-media .life-media-number{right:var(--life-gutter);position:absolute;top:160px}.life-hero-copy{z-index:1;padding:180px var(--life-gutter) 100px;max-width:850px;animation:2.8s both life-arrive;position:relative}.life-hero h1{letter-spacing:.04em;margin:38px 0 28px;font-size:clamp(38px,4.6vw,70px);line-height:1.5}.life-hero-intro{letter-spacing:.1em;font-size:17px}.life-hero-belief{font:400 clamp(24px,2.4vw,36px)/1.85 var(--life-serif);letter-spacing:.08em;margin-top:42px}.life-scroll{bottom:42px;left:var(--life-gutter);letter-spacing:.12em;gap:48px;font-size:13px;display:flex;position:absolute}@keyframes life-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (max-width:1100px){.monmon-header{gap:24px}.monmon-header nav{gap:15px}.monmon-header .brand-mark img{width:180px}.monmon-header{flex-wrap:nowrap;gap:20px;height:96px}.monmon-menu-toggle{font:17px var(--life-sans);color:inherit;background:0 0;border:0;padding:12px 0;display:block}.monmon-header nav{background:var(--life-paper);max-height:calc(100svh - 96px);padding:24px var(--life-gutter) 32px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 18px #30352f0a}.monmon-header nav.is-open{flex-direction:column;gap:8px;display:flex}.monmon-header .monmon-client-link{order:0}.monmon-menu-toggle{order:1}}@media (max-width:600px){.monmon-header{gap:12px;height:88px;padding-inline:18px}.monmon-header .brand-mark img{width:140px}.monmon-header .monmon-client-link{gap:4px;font-size:14px}.monmon-menu-toggle{flex-shrink:0;font-size:14px}.life-hero{height:100svh;min-height:820px;max-height:none}.life-hero-copy{padding-top:160px}.life-hero h1{letter-spacing:.03em;font-size:34px}.life-hero-intro{font-size:16px}.life-hero .life-hero-media{justify-content:start;padding-bottom:88px}.life-hero-media .life-media-number{display:none}.life-scroll{bottom:30px}}@media (prefers-reduced-motion:reduce){.monmon-home *,.monmon-header *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.life-section{padding:var(--life-space) var(--life-gutter);scroll-margin-top:136px}.life-section figure{margin:0}.life-section figcaption{color:var(--life-muted);margin-top:16px;font-size:13px;line-height:1.8}.life-link{border-bottom:1px solid var(--life-line);align-items:center;gap:32px;width:fit-content;padding:10px 0;font-size:14px;display:inline-flex}.life-link span{transition:transform .8s}.life-link:hover span{transform:translate(6px)}.life-intro{grid-template-columns:1fr 1fr;align-items:center;gap:10vw;display:grid}.life-intro-copy>p:not(.life-kicker){color:var(--life-muted);margin-top:28px;font-size:16px}.life-intro figure{padding-top:100px}.life-intro .life-media-placeholder{aspect-ratio:4/5}.life-section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:56px;display:flex}.life-section-heading h2{margin-bottom:0}.life-projects{padding-top:30px}.life-project-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:90px 7vw;display:grid}.life-project:nth-child(2n){margin-top:150px}.life-project-image{overflow:hidden}.life-project img.portfolio-cover{aspect-ratio:auto;object-fit:contain;height:auto}.life-project:hover .portfolio-cover{transform:none}.life-project-caption{padding-top:24px}.life-project-caption h3{margin:18px 0 12px;font-size:28px}.life-project-caption>p{color:var(--life-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:36em;font-size:16px;display:-webkit-box;overflow:hidden}.life-empty{border-top:1px solid var(--life-line);padding:60px 0 20px}.life-empty>p:first-child{font:28px var(--life-serif)}.life-empty>p{color:var(--life-muted)}.life-process-story{background:#e9eae3;grid-template-columns:1fr 1.15fr;gap:40px 10vw;display:grid}.life-site-photo{padding-top:70px}.life-site-photo .life-media-placeholder{aspect-ratio:5/4;background:#d6d9d0}.life-material-photo{padding:30px 0 0 5vw}.life-material-photo .life-media-placeholder{aspect-ratio:1;background:#dad8ce}.life-story-copy{color:var(--life-muted);align-self:center;font-size:16px}.life-handwritten{font-family:var(--life-hand);letter-spacing:.04em;color:#58604d;font-size:20px!important}.life-journal-note{color:var(--life-muted);font-size:14px}.life-journal-grid{grid-template-columns:1.2fr .8fr;gap:8vw;display:grid}.life-journal-grid article:nth-child(2){padding-top:140px}.life-journal-grid article:first-child .life-media-placeholder{aspect-ratio:5/4}.life-journal-grid article:nth-child(2) .life-media-placeholder{aspect-ratio:1;background:#dedbd3}.life-journal-entry{grid-template-columns:100px 1fr;gap:24px;margin-top:26px;display:grid}.life-journal-entry>.life-kicker{letter-spacing:.06em;line-height:2}.life-journal-entry h3{margin:0;font-size:22px;line-height:1.7}.life-journal-entry p{color:var(--life-muted);font-size:16px}.life-about{border-block:1px solid var(--life-line);grid-template-columns:1fr 1.6fr;display:grid}.life-about>div>p{color:var(--life-muted);font-size:18px}.life-about .life-about-belief{font:400 clamp(32px,3.5vw,52px)/1.8 var(--life-serif);color:var(--life-ink);margin:42px 0}.life-about-links{flex-wrap:wrap;gap:36px;display:flex}.life-design-process .life-section-heading>p{color:var(--life-muted);font-size:14px}.life-process-steps{--life-sans:"PingFang TC","Microsoft JhengHei",sans-serif;--life-serif:var(--life-sans);font-family:var(--life-sans);border-top:1px solid var(--life-line);margin-bottom:32px}.life-process-steps details{border-bottom:1px solid var(--life-line)}.life-process-steps summary{cursor:pointer;font:400 24px/1.6 var(--life-serif);grid-template-columns:70px 1fr 30px;align-items:center;gap:20px;padding:26px 0;list-style:none;display:grid}.life-process-steps summary::-webkit-details-marker{display:none}.life-step-number{font:12px var(--life-sans);color:var(--life-muted)}.life-step-plus{font:20px var(--life-sans);transition:transform .6s}.life-process-steps details[open] .life-step-plus{transform:rotate(45deg)}.life-process-steps details>div{padding:0 50px 30px 90px}.life-process-steps h3{font:16px var(--life-sans)}.life-process-steps details p{color:var(--life-muted);font-size:16px}.life-contact{text-align:center;padding-top:100px;padding-bottom:100px}.life-contact h2{font-size:clamp(30px,3.7vw,56px)}.life-contact>p:not(.life-kicker){color:var(--life-muted);font-size:17px}.life-contact-link{gap:70px;margin-top:28px;font-size:20px}.life-client-note{color:var(--life-muted);margin-top:120px;font-size:14px}.life-mobile-break{display:none}.monmon-home footer{color:var(--life-ink);padding:65px var(--life-gutter) 30px;background:#e7e8e0}.monmon-home .footer-brand{margin-bottom:40px}.monmon-home footer>p{font-size:28px}.monmon-home .footer-bottom{border-color:var(--life-line);margin-top:64px}.inner-page{background:var(--life-paper);color:var(--life-ink);font-family:var(--life-sans)}.inner-page h1,.inner-page h2,.inner-page h3{font-family:var(--life-serif);font-weight:400}.inner-page .page-intro h1{font-size:clamp(38px,5.3vw,76px)}.inner-page .portfolio-row{border-top:0}.inner-page .portfolio-info>p{line-height:2}.inner-page .portfolio-living-copy{text-transform:none;letter-spacing:.02em;font-size:16px}@media (max-width:900px){.life-intro{gap:6vw}.life-section-heading{align-items:start}.life-journal-entry{grid-template-columns:1fr;gap:12px}.life-project-grid{gap:64px 5vw}.life-process-story{gap:30px 5vw}}@media (max-width:600px){.life-intro,.life-process-story,.life-journal-grid,.life-about,.life-project-grid{grid-template-columns:1fr}.life-section-heading{margin-bottom:36px;display:block}.life-section-heading>.life-link{margin-top:20px}.life-intro figure{padding-top:24px}.life-intro .life-media-placeholder{aspect-ratio:5/4}.life-desktop-break{display:none}.life-project:nth-child(2n){margin-top:0}.life-project-caption h3{font-size:26px}.life-site-photo{padding-top:0}.life-material-photo{padding:20px 0 0 14%}.life-material-photo .life-media-placeholder{min-height:250px}.life-journal-grid{gap:52px}.life-journal-grid article:nth-child(2){padding-top:0}.life-journal-grid article:nth-child(2) .life-media-placeholder{aspect-ratio:5/4}.life-about{gap:8px}.life-about h2{margin-top:0}.life-about-links{gap:20px}.life-process-steps summary{grid-template-columns:30px 1fr 24px;gap:12px;font-size:21px}.life-process-steps details>div{padding-left:42px;padding-right:0}.life-contact{padding-top:20px}.life-contact h2{font-size:29px}.life-mobile-break{display:block}.life-client-note{margin-top:80px}.monmon-home .footer-bottom{letter-spacing:.05em;flex-wrap:wrap;gap:16px}.life-media-placeholder{gap:16px;padding:20px}.life-media-number{font-size:12px}}.life-hero-photo{object-fit:cover;object-position:50% 75%;width:100%;height:100%;animation:5s both life-photo-arrive;position:absolute;inset:0}.life-hero-shade{background:linear-gradient(90deg,#161c16b8,#161c164d 58%,#161c160d);position:absolute;inset:0}.life-hero-with-photo{color:#37342f}.life-hero-with-photo .life-kicker{color:#716d66}.life-hero-photo-caption{right:var(--life-gutter);letter-spacing:.14em;font-size:12px;position:absolute;bottom:30px}.monmon-home:has(.life-hero-with-photo) .monmon-header{color:#37342f;background:var(--life-paper)}.monmon-home:has(.life-hero-with-photo) .monmon-header a:hover{color:#7b7668}@keyframes life-photo-arrive{0%{opacity:.5;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media (max-width:900px){.monmon-home:has(.life-hero-with-photo) .monmon-header nav{color:var(--life-ink)}.monmon-home:has(.life-hero-with-photo) .monmon-header nav a:hover{color:var(--life-accent)}}@media (max-width:600px){.life-hero-photo{object-position:50% 75%}.life-hero-shade{background:linear-gradient(90deg,#161c16bc,#161c1660)}.life-hero-photo-caption{bottom:72px;left:var(--life-gutter);right:auto}}.life-section>*,.life-journal-grid>*,.life-project-grid>*{min-width:0}.life-media-placeholder{overflow-wrap:anywhere}@media (max-width:600px){.life-intro,.life-process-story,.life-journal-grid,.life-about,.life-project-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.life-section .life-media-placeholder{width:100%;min-height:0}.login-page .monmon-header{background:var(--life-paper)}@media (max-width:360px){.monmon-header{gap:8px;padding-inline:12px}.monmon-header .brand-mark img{width:116px}}.monmon-home footer>p{font-family:var(--life-hand)}.life-hero-with-photo{background:var(--life-paper);padding:124px var(--life-gutter) 76px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,4vw,64px);height:auto;min-height:760px;max-height:none;display:grid}.life-hero-with-photo .life-hero-copy{grid-area:1/1;width:auto;max-width:none;padding:0}.life-hero-with-photo .life-hero-photo{object-fit:contain;object-position:center;grid-area:1/2;justify-self:center;width:100%;height:auto;max-height:min(84svh,900px);animation:3s both life-photo-fade;position:static;inset:auto}.life-hero-with-photo .life-hero-shade{display:none}.life-hero-with-photo h1{letter-spacing:.02em;margin:28px 0 24px;font-size:clamp(30px,3.5vw,54px)}.life-hero-with-photo .life-hero-intro{font-size:17px;line-height:1.95}.life-hero-with-photo .life-hero-belief{margin:30px 0 0;font-size:clamp(24px,2.4vw,34px);line-height:1.8}.life-hero-with-photo .life-hero-photo-caption{bottom:36px;right:var(--life-gutter);background:0 0;margin:0;padding:0;font-size:12px}.life-hero-with-photo .life-scroll{bottom:36px}@keyframes life-photo-fade{0%{opacity:0}to{opacity:1}}@media (max-width:1100px) and (min-width:681px){.life-hero-with-photo{gap:28px;height:auto;min-height:650px;padding-top:130px;padding-bottom:90px}.life-hero-with-photo .life-hero-photo{max-height:720px}.life-hero-with-photo .life-kicker{letter-spacing:.12em;font-size:11px}.life-hero-with-photo .life-hero-intro{font-size:16px}}@media (max-width:680px){.life-hero-with-photo{height:auto;min-height:0;max-height:none;padding:120px var(--life-gutter) 32px;flex-direction:column;align-items:stretch;gap:28px;display:flex}.life-hero-with-photo .life-hero-copy{order:-1;width:100%;padding:0}.life-hero-with-photo h1{margin:20px 0;font-size:32px}.life-hero-with-photo .life-hero-intro{font-size:16px;line-height:1.9}.life-hero-with-photo .life-hero-belief{margin-top:24px;font-size:24px}.life-hero-with-photo .life-hero-photo{width:calc(100% + 2 * var(--life-gutter));align-self:center;max-width:none;height:auto;max-height:none}.life-hero-with-photo .life-hero-photo-caption{text-align:center;order:1;margin:0;position:static}.life-hero-with-photo .life-scroll{order:2;align-self:center;margin:0;position:static}}.life-hero-with-photo{align-items:start;gap:clamp(28px,5vw,80px);padding-top:138px;padding-bottom:108px;overflow:visible}.life-hero-with-photo .life-hero-copy{padding-top:clamp(24px,5vw,72px)}.life-hero-with-photo h1{margin-top:28px;margin-bottom:32px;font-size:clamp(36px,4.3vw,66px);line-height:1.45}.life-greeting{color:#797567;margin-bottom:12px;font-size:.6em;display:block}.life-name{color:#77705e;text-underline-offset:12px;-webkit-text-decoration:underline #b9b5a7;text-decoration:underline #b9b5a7;text-decoration-thickness:1px}.life-hero-with-photo .life-hero-intro{color:#68635c;margin-left:4px}.life-belief-note{border-left:1px solid #c5c1b4;margin:48px 0 0 clamp(16px,3vw,44px);padding-left:22px}.life-note-label{letter-spacing:.14em;color:#7b786e;font-family:PingFang TC,Microsoft JhengHei,sans-serif;font-size:11px}.life-hero-with-photo .life-hero-belief{margin-top:14px;font-size:clamp(23px,2.1vw,31px);line-height:1.85}.life-hero-figure{grid-area:1/2;min-width:0;margin:0;padding:0 0 0 16px;position:relative}.life-hero-figure:before{content:"";z-index:0;background:#e8e1d7;position:absolute;inset:28px -18px 54px 42px}.life-hero-with-photo .life-hero-figure .life-hero-photo{z-index:1;object-fit:contain;width:100%;height:auto;max-height:min(84svh,900px);display:block;position:relative}.life-hero-figure figcaption{justify-content:space-between;align-items:center;gap:18px;padding-top:24px;display:flex;position:relative}.life-photo-note{font-family:var(--life-hand);color:#77705e;font-size:clamp(17px,1.6vw,23px);line-height:1.7;transform:rotate(-3deg)}.life-hero-with-photo .life-hero-figure .life-hero-photo-caption{text-align:right;color:#7b786d;letter-spacing:.09em;margin:0;font-family:PingFang TC,sans-serif;font-size:10px;line-height:1.8;position:static}.life-hero-with-photo .life-scroll{color:#6e6b60;border-bottom:1px solid #c5c1b4;gap:64px;padding-bottom:10px;bottom:44px}@media (max-width:1100px) and (min-width:681px){.life-hero-with-photo{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;padding-top:124px}.life-hero-with-photo h1{font-size:clamp(32px,4.1vw,46px)}.life-belief-note{margin-top:32px;margin-left:8px;padding-left:16px}.life-hero-figure figcaption{flex-direction:column;align-items:flex-start}.life-hero-with-photo .life-hero-figure .life-hero-photo-caption{text-align:left}}@media (max-width:680px){.life-hero-with-photo{gap:36px;padding-top:118px;padding-bottom:36px}.life-hero-with-photo .life-hero-copy{padding-top:0}.life-hero-with-photo h1{margin-top:22px;margin-bottom:24px;font-size:42px}.life-greeting{margin-bottom:6px;font-size:28px}.life-belief-note{margin-top:30px;margin-left:22px}.life-hero-figure{width:calc(100% + var(--life-gutter));align-self:center;padding:0}.life-hero-figure:before{inset:20px -10px 64px 24px}.life-hero-with-photo .life-hero-figure .life-hero-photo{width:100%;height:auto;max-height:none}.life-hero-figure figcaption{padding-top:20px;gap:10px;padding-inline:8px}.life-photo-note{font-size:18px}.life-hero-with-photo .life-scroll{margin:0;position:static}}.monmon-home{--life-paper:#f7f6f2;--life-oat:#eeede7;--life-sand:#e0ded5;--life-warmstone:#f2f1eb;--life-ink:#3f3e38;--life-muted:#706e65;--life-line:#dbd9cf;--life-accent:#797363}.monmon-home .life-hero{background:var(--life-oat);color:var(--life-ink)}.monmon-home .monmon-header{--life-paper:#eeede7;--life-ink:#3f3e38;--life-muted:#706e65;--life-accent:#797363}.monmon-home .life-hero-figure:before{background:var(--life-sand)}.monmon-home .life-process-story{background:var(--life-warmstone)}.monmon-home .life-about{background:#f0efe8;border-color:#dedcd2}.monmon-home .life-contact{background:var(--life-oat)}.monmon-home footer,.projects-page>footer{background:#e9e7de}.projects-page>footer{color:#3f3e38}.projects-page>footer .contact-pending,.projects-page>footer .footer-social,.projects-page>footer .footer-bottom{color:#6b695f}.projects-page>footer .footer-bottom{border-color:#dbd9cf}:is(.projects-page>footer .footer-bottom a:hover,.projects-page>footer .footer-bottom a:focus-visible){color:#3f3e38}.monmon-home .life-media-placeholder{color:#68665d;background:#e8e6dd}.monmon-home .life-site-photo .life-media-placeholder{background:#e0ded3}.monmon-home .life-material-photo .life-media-placeholder,.monmon-home .life-journal-grid article:nth-child(2) .life-media-placeholder{background:#e5e2d6}.monmon-home .contact-pending,.monmon-home .footer-social,.monmon-home .footer-bottom{color:#6b695f}.monmon-home .life-handwritten{color:#77715f}.monmon-home .life-hero-intro{font-family:var(--life-hand);letter-spacing:.04em;color:#4d4b43;font-size:26px;line-height:1.85}.monmon-home .life-hero-belief{font-family:var(--life-hand);font-size:clamp(29px,2.6vw,38px)}.monmon-home .life-photo-note{font-size:26px}@media (max-width:1100px){.monmon-home .life-hero-intro{font-size:23px}.monmon-home .life-hero-belief{font-size:29px}}@media (max-width:680px){.monmon-home .life-hero-intro{font-size:24px}.monmon-home .life-hero-belief{font-size:29px}.monmon-home .life-photo-note{font-size:23px}}
