@charset 'utf-8';
/* ============================================================
   partner.html 專屬樣式
   命名規範：使用 .partner-* prefix 避免與其他頁面樣式互相干擾
   結構：base = Mobile (XD 390×1423)，PC 寫在 @media (min-width: 1025px) (XD 1920×868)
   ============================================================ */

/* ---------- section 外框 ---------- */
/* 標題 y100、左右留 20（標題本身再 +10 = x30） */
.partner-section{ position: relative; padding: calc(var(--header-h-m) + 36px) 20px 60px; }
.partner-inner{ width: 100%; }

/* ---------- 左欄：標題 + 引言 ---------- */
/* Bronova Bold 90px / 行距75 / 字距-4.5 (style.css body 字體序已優先 Bronova) */
.partner-title{ margin-left: 10px; color: var(--gs-primary); font-size: min(9rem, 23vw); font-weight: 700; line-height: .83; letter-spacing: -.05em; padding-top: .12em; }

/* 引言：左側酒紅圓角粗線 x19.5 w10 h279、文字 x46 */
.partner-desc{ position: relative; margin-top: 26px; padding-left: 26px; }
.partner-desc::before{ content: ''; position: absolute; left: 0; top: 4px; bottom: 6px; width: 10px; border-radius: 30px; background: var(--gs-primary); }
/* 主句 30px / 行距40 / 字距3 */
.partner-desc-main{ color: #535353; font-size: 3rem; font-weight: 300; letter-spacing: 3px; line-height: 1.33; }
.partner-desc-em{ color: var(--gs-primary); }
/* 副句 22px / 行距35 / 字距2.2 */
.partner-desc-sub{ margin-top: 24px; color: #535353; font-size: 2.2rem; font-weight: 300; letter-spacing: 2.2px; line-height: 1.59; }

/* PC 專用斷行 / Mobile 專用文字 */
.partner-br-pc{ display: none; }
.partner-m-only{ display: inline; }

/* ---------- 表單 ---------- */
/* label x20 y648、輸入框 x113 w261、列距 90 */
.partner-form{ margin-top: 56px; }

/* 欄位列：左 label + 右輸入框，列距 90 = 框高45 + padding 22×2 + 線1 */
.partner-field{ position: relative; display: flex; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid #c6c6c6; }
/* label 18px 酒紅加粗，欄寬 93 (113-20) */
.partner-label{ flex-shrink: 0; width: 93px; padding-top: 10px; color: var(--gs-primary); font-size: 1.8rem; font-weight: 400; letter-spacing: 0; line-height: 1.2; }
.partner-field-inputs{ flex: 1; display: flex; flex-direction: column; min-width: 0; }

/* 輸入框：#F8F8F8 色塊、高45、文字 20px */
.partner-input,
.partner-textarea{ width: 100%; padding: 0 12px; background: #fff; border-radius: 0; color: #535353; font-size: 2rem; font-weight: 300; letter-spacing: 0; }
.partner-input{ height: 45px; }
/* textarea 高 260 */
.partner-textarea{ height: 260px; padding: 10px 12px; line-height: 1.5; resize: none; }
.partner-input::placeholder,
.partner-textarea::placeholder{ color: #b9b9b9; }

/* Company / Message：列底不畫線 */
.partner-field--company,
.partner-field--message{ border-bottom: none; }

/* Mobile：職稱 / 公司 直向堆疊，中間補一條跨整列的分隔線 (90 列距) */
.partner-field--company .partner-input + .partner-input{ margin-top: 45px; }
.partner-field--company::after{ content: ''; position: absolute; left: 0; right: 0; top: 89px; height: 1px; background: #c6c6c6; }

/* 送出按鈕：酒紅膠囊 21px 白字、高42、置中 */
.partner-actions{ display: flex; justify-content: center; margin-top: 26px; }
.partner-send{ height: 42px; padding: 0 21px; background: var(--gs-primary); border-radius: 999px; color: var(--gs-white); font-size: 2.1rem; font-weight: 400; letter-spacing: 0; line-height: 42px; cursor: pointer; transition: background .25s; }
.partner-send:hover{ background: var(--gs-primary-hover); }

/* ---------- Mobile 回到頂端 (top)：右緣 14、線+直書字 h80 ---------- */
.partner-top{ position: absolute; right: 14px; bottom: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; display: none; }
.partner-top-line{ width: 1px; height: 46px; background: #9a9a9a; transform: rotate(30deg); transform-origin: bottom center; }
.partner-top-txt{ color: #767676; font-size: 2rem; letter-spacing: 1px; line-height: 1; writing-mode: vertical-rl; transform: rotate(180deg); }





/* $Pc
--------------------------------------------------------------------------------------
   依 XD 1920×868 規格：
   標題 x300 y209 (Bronova Bold 120px / 行距95 / 字距-6)
   引言 x335 y485 (主句 24px #555555、副句 20px #535353、行距 35px)
   表單 x941 y233 w679 (label 15px、列距 90、輸入框高 50 #F8F8F8)
--------------------------------------------------------------------------------------*/
@media screen and (min-width: 1025px){

/* section：標題 y209（透明 header 浮在上方） */
.partner-section{ padding: 209px 60px 70px; }
/* 1920 - 300×2 = 1320，置中後左緣即 x300 */
.partner-inner{ max-width: 1320px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start; gap: 50px; }

/* 左欄 */
.partner-intro{ width: 45%; }
.partner-title{ margin-left: 0; font-size: 12rem; line-height: .9; letter-spacing: -.05em; padding-top: 0; }
.partner-desc{ margin-top: 60px; padding-left: 35px; }
.partner-desc::before{ width: 10px; top: 6px; bottom: 6px; }
.partner-desc-main{ color: #555555; font-size: 2.4rem; letter-spacing: 3px; line-height: 1.46; }     /* 24px / 行距35 */
.partner-desc-sub{ margin-top: 42px; font-size: 2rem; letter-spacing: 3px; line-height: 1.75; }      /* 20px / 行距35 */

/* PC 斷行開啟、Mobile 文字關閉 */
.partner-br-pc{ display: inline; }
.partner-m-only{ display: none; }

/* 右欄：表單 w679，頂端對齊標題 +24px (y233) */
.partner-form{ width: 679px; max-width: 52%; flex-shrink: 0; margin-top: 24px; }

/* 列距 90 = 框高50 + padding 20×2 */
.partner-field{ padding: 20px 0; }
.partner-field:first-child{ padding-top: 0; }
.partner-label{ width: 104px; padding-top: 11px; font-size: 1.5rem; }   /* label 15px，輸入欄起點 x1045 */

/* 輸入框橫向排列 */
.partner-field-inputs{ flex-direction: row; gap: 20px; }
.partner-input{ flex: 1; width: auto; height: 50px; }
.partner-input--name{ flex: 0 0 195px; }
.partner-input--jobtitle{ flex: 0 0 223px; }
.partner-textarea{ height: 177px; }

/* Company：PC 恢復列底線、拿掉 mobile 中間線與堆疊間距 */
.partner-field--company{ border-bottom: 1px solid #c6c6c6; }
.partner-field--company::after{ display: none; }
.partner-field--company .partner-input + .partner-input{ margin-top: 0; }

/* Send 靠右：18px 白字、膠囊高 40px */
.partner-actions{ justify-content: flex-end; margin-top: 5px; }
.partner-send{ font-size: 1.8rem; height: 40px; padding: 0 22px; line-height: 40px; }

/* top 按鈕僅手機版顯示 */
.partner-top{ display: none; }

}
