
:root{
  --paper:#f4f2ea;
  --paper-2:#ffffff;
  --white:#ffffff;
  --ink:#163b36;
  --muted:#62736d;
  --line:#c9d0ca;
  --soft-line:#c9d0ca;
  --red:#0f6355;
  --violet:#123f37;
  --orange:#d7ae46;
  --sea:#62736d;
  --green:#0f6355;
  --yellow:#d7ae46;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans Armenian","Segoe UI",Arial,sans-serif;font-size:15px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
::selection{background:var(--ink);color:#fff}

/* fixed editorial sidebar */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:306px;background:rgba(255,255,255,.98);border-right:1px solid var(--soft-line);padding:28px 24px 24px;display:flex;flex-direction:column;z-index:40}
.logo-wrap{display:block;width:178px;margin:0 0 20px 2px}
.logo-wrap img{display:block;width:100%;height:124px;object-fit:contain;object-position:center;filter:grayscale(1);mix-blend-mode:multiply}
.sidebar-title{font-family:"Noto Serif Armenian",Georgia,serif;font-weight:800;font-size:17px;letter-spacing:.09em;margin:0 0 34px 0}
.sidebar-nav{display:grid;border-top:1px solid transparent}
.sidebar-nav a{padding:14px 0;border-bottom:1px solid #dfe4df;font-size:13px;letter-spacing:.045em;position:relative}
.sidebar-nav a:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--red);transition:width .18s ease}
.sidebar-nav a:hover:after,.sidebar-nav a.active:after{width:58px}
.sidebar-foot{margin-top:auto;display:grid;gap:10px}
.side-action{height:54px;border:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:12px;letter-spacing:.035em;text-align:center;padding:0 12px}
.side-action.dark{background:var(--ink);color:#fff}
.side-action .badge{background:var(--ink);color:#fff;min-width:28px;height:28px;display:inline-grid;place-items:center;margin-left:10px}
.side-action.dark .badge{background:#fff;color:var(--ink)}
.mobile-top{display:none}
.mobile-menu{display:none}
.main{margin-left:306px;min-height:100vh}
.page-shell{width:min(1440px,calc(100% - 64px));margin:0 auto}
.meta-strip{height:74px;border-bottom:3px double var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;padding:0 0 16px;margin-bottom:0;font-size:11px;letter-spacing:.12em;line-height:1.45;text-transform:uppercase}
.meta-strip span:last-child{text-align:right}

/* home */
.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-height:615px;border-bottom:1px solid var(--line)}
.hero-copy{padding:60px 56px 56px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.kicker{font-size:11px;letter-spacing:.18em;font-weight:800;text-transform:uppercase;margin-bottom:22px}
.display{font-family:"Noto Serif Armenian",Georgia,serif;font-weight:650;letter-spacing:-.045em;line-height:.93;font-size:clamp(64px,6.35vw,112px);margin:0 0 28px}
.lead{font-size:18px;line-height:1.65;max-width:800px;color:#425f59;margin:0 0 28px}
.action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.button{height:50px;min-height:50px;padding:0 20px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;background:transparent;font-weight:750;font-size:12px;letter-spacing:.03em;cursor:pointer}
.button.primary{background:var(--ink);color:#fff}
.button.red{background:var(--red);color:#fff;border-color:var(--red)}
.hero-aside{padding:56px 0 54px 44px;display:flex;flex-direction:column;justify-content:center}
.price-heading{border-top:7px solid var(--red);padding-top:18px;margin-bottom:18px;font-family:"Noto Serif Armenian",Georgia,serif;font-size:28px;font-weight:750}
.price-list{border-top:1px solid var(--line)}
.price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:15px 0;border-bottom:1px solid #aebbb5;align-items:center}
.price-row span{font-size:14px}.price-row b{font-size:15px;white-space:nowrap}
.aside-note{margin-top:22px;padding:18px 0 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.6}

.section{padding:66px 0;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr 440px;gap:40px;align-items:end;margin-bottom:28px}
.section-head h2,.page-title{font-family:"Noto Serif Armenian",Georgia,serif;font-size:clamp(44px,4.5vw,78px);line-height:.96;letter-spacing:-.035em;margin:0;font-weight:650}
.section-head p{margin:0;color:var(--muted);line-height:1.6}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.product-block{min-height:334px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:rgba(255,255,255,.42)}
.product-block:last-child{border-right:0}
.product-color{height:112px;border-bottom:1px solid var(--line)}
.product-block:nth-child(1) .product-color{background:var(--violet)}
.product-block:nth-child(2) .product-color{background:var(--orange)}
.product-block:nth-child(3) .product-color{background:var(--sea)}
.product-block:nth-child(4) .product-color{background:var(--ink)}
.product-content{padding:26px 22px 24px;display:flex;flex:1;flex-direction:column}
.product-code{font-size:10px;margin-bottom:36px}
.product-block h3{font-family:"Noto Serif Armenian",Georgia,serif;font-size:29px;line-height:1.05;margin:0 0 12px;font-weight:800}
.product-block p{font-size:13px;line-height:1.55;margin:0;color:#294c46}
.product-link{margin-top:auto;padding-top:22px;font-size:11px;font-weight:800;border-top:1px solid var(--line)}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-step{padding:24px 26px 30px 0;border-right:1px solid var(--line);min-height:215px}
.process-step:not(:first-child){padding-left:26px}.process-step:last-child{border-right:0}
.process-no{font-size:11px;letter-spacing:.12em;margin-bottom:50px;color:var(--red);font-weight:800}
.process-step h3{font-family:"Noto Serif Armenian",Georgia,serif;font-size:26px;margin:0 0 10px}.process-step p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.quote-band{display:grid;grid-template-columns:1.5fr .5fr;align-items:center;gap:30px;background:var(--ink);color:#fff;padding:34px 38px;margin-top:48px}
.quote-band h3{font-family:"Noto Serif Armenian",Georgia,serif;font-size:32px;margin:0}.quote-band .button{border-color:#fff;color:#fff;justify-self:end}
.footer{padding:26px 0 34px;display:grid;grid-template-columns:1fr auto;gap:30px;font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}

/* shared inner pages */
.page-head{padding:55px 0 34px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.page-head .sub{font-size:12px;color:var(--muted);margin-top:16px;max-width:820px;line-height:1.6}
.page-index{font-size:11px;letter-spacing:.12em;text-align:right;text-transform:uppercase}
.two-col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);border-bottom:1px solid var(--line)}
.content-col{padding:48px 52px 62px 0;border-right:1px solid var(--line)}
.aside-col{padding:48px 0 62px 42px}
.rule-title{font-family:"Noto Serif Armenian",Georgia,serif;font-size:30px;margin:0 0 20px;padding-top:14px;border-top:6px solid var(--red)}
.form-section{margin-bottom:42px}
.form-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-weight:800}
.choice-list{border-top:1px solid var(--line)}
.choice{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.choice-dot{width:14px;height:14px;border:1px solid var(--line);background:transparent}.choice.active .choice-dot{background:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.choice small{color:var(--muted)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:8px}.field label{font-size:11px;font-weight:750}.field input,.field select,.message-compose textarea,.message-compose input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 2px;outline:none;border-radius:0}
.upload-zone{border:1px dashed var(--line);padding:28px;min-height:135px;display:grid;place-items:center;text-align:center;color:var(--muted);line-height:1.55}
.order-summary{position:sticky;top:28px;border-top:7px solid var(--red)}
.summary-line{display:grid;grid-template-columns:1fr auto;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.summary-line.total{padding:22px 0;font-size:20px;font-weight:850}.summary-actions{display:grid;gap:10px;margin-top:20px}.summary-actions .button{width:100%}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:24px}.proof-strip span{padding:14px 10px;border-right:1px solid var(--line);font-size:10px}.proof-strip span:last-child{border-right:0}.proof-strip .done{background:#dce9e3}

/* account + notifications */
.account-grid{display:grid;grid-template-columns:280px 1fr;gap:54px;padding:44px 0 66px}.profile-block{border-top:6px solid var(--red);padding-top:18px}.profile-block h3{font-family:"Noto Serif Armenian",Georgia,serif;font-size:25px;margin:0 0 16px}.profile-line{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.history{border-top:2px solid var(--line)}.history-row{display:grid;grid-template-columns:115px 1fr 150px 110px;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;align-items:center}.history-row.head{font-size:9px;letter-spacing:.1em;color:var(--muted)}
.notice-list{border-top:2px solid var(--line);margin:32px 0 66px}.notice{display:grid;grid-template-columns:130px 190px 1fr auto;gap:25px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}.notice time{font-size:10px;letter-spacing:.08em}.notice strong{font-family:"Noto Serif Armenian",Georgia,serif;font-size:18px}.notice p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.notice .mark{width:11px;height:11px;background:var(--red);margin-top:3px}.notice.read .mark{background:transparent;border:1px solid var(--muted)}

/* responsive */
@media(max-width:1180px){
  .sidebar{width:270px}.main{margin-left:270px}.page-shell{width:calc(100% - 42px)}
  .product-grid{grid-template-columns:repeat(2,1fr)}.product-block:nth-child(2){border-right:0}.product-block:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-head{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.hero-aside{padding-left:0}.kanban{grid-template-columns:repeat(2,1fr)}.kanban-col:nth-child(2){border-right:0}.kanban-col:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:820px){
  body{background:var(--paper)}.sidebar{display:none}.main{margin-left:0}.page-shell{width:calc(100% - 28px)}
  .mobile-top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.mobile-top img{width:80px;height:54px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.menu-btn{width:46px;height:46px;border:1px solid var(--line);background:transparent;font-size:20px;display:grid;place-items:center}
  .mobile-menu{display:block;position:fixed;inset:72px 0 0 0;background:var(--white);z-index:49;padding:24px;transform:translateX(-103%);transition:transform .2s ease}.mobile-menu.open{transform:translateX(0)}.mobile-menu a{display:block;padding:17px 0;border-bottom:1px solid #dfe4df;font-size:14px}.mobile-menu .side-action{margin-top:10px}
  .meta-strip{height:auto;padding:18px 0 13px;margin:0;grid-template-columns:1fr;gap:6px}.meta-strip span:last-child{text-align:left}.hero{min-height:auto}.hero-copy,.hero-aside{padding:42px 0}.display{font-size:clamp(46px,13.8vw,72px);line-height:.96}.lead{font-size:16px}.section{padding:44px 0}.section-head h2,.page-title{font-size:46px}.product-grid{grid-template-columns:1fr}.product-block{border-right:0!important;border-bottom:1px solid var(--line)!important}.product-block:last-child{border-bottom:0!important}.product-color{height:70px}.process-grid{grid-template-columns:1fr}.process-step{border-right:0;border-bottom:1px solid var(--line);padding:20px 0!important;min-height:auto}.process-step:last-child{border-bottom:0}.process-no{margin-bottom:24px}.quote-band{grid-template-columns:1fr;padding:26px 22px}.quote-band .button{justify-self:stretch}.footer{grid-template-columns:1fr}
  .page-head{padding:36px 0 26px;grid-template-columns:1fr}.page-index{text-align:left}.two-col{grid-template-columns:1fr}.content-col{border-right:0;border-bottom:1px solid var(--line);padding:36px 0}.aside-col{padding:36px 0}.field-row{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.data-row{grid-template-columns:95px 1fr 100px}.data-row>*:nth-child(3),.data-row>*:nth-child(4){display:none}.alert-band{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.kanban-col{border-right:0!important;border-bottom:1px solid var(--line)}.messages-layout{grid-template-columns:1fr}.thread-list{border-right:0;border-bottom:1px solid var(--line)}.thread-item:not(.active){display:none}.thread-view{padding:22px 18px}.message.staff,.message.internal{margin-left:18px}.account-grid{grid-template-columns:1fr}.history-row{grid-template-columns:90px 1fr 90px}.history-row>*:nth-child(3){display:none}.notice{grid-template-columns:90px 1fr 18px;gap:14px}.notice strong{grid-column:2}.notice p{grid-column:2}.notice .mark{grid-column:3;grid-row:1}.notice time{grid-row:1/4}
}

/* price catalogue */
.price-catalog-link{margin-top:18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;font-weight:850;letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center}.price-catalog-link:after{content:"↗";font-size:15px}
.price-page-head{padding-bottom:40px}
.price-index{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);margin:36px 0 0}.price-index a{min-height:86px;padding:15px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.price-index a span{font-family:"Noto Serif Armenian",Georgia,serif;font-size:15px;line-height:1.25;font-weight:750}.price-index a:hover{background:var(--ink);color:#fff}
.price-section{padding:54px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.price-section-title{display:grid;grid-template-columns:74px 1fr;gap:22px;align-items:start;margin-bottom:24px}.price-section-title>span{font-size:11px;letter-spacing:.12em;color:var(--red);font-weight:900;border-top:6px solid var(--red);padding-top:12px}.price-section-title h2{font-family:"Noto Serif Armenian",Georgia,serif;font-size:clamp(32px,3.2vw,50px);letter-spacing:-.025em;line-height:1;margin:0}.price-section-title p{font-size:11px;color:var(--muted);margin:8px 0 0;letter-spacing:.04em}
.table-scroll{overflow-x:auto;border-top:2px solid var(--line);-webkit-overflow-scrolling:touch}.price-table{width:100%;border-collapse:collapse;min-width:620px;background:rgba(255,255,255,.35)}.price-table th,.price-table td{text-align:left;padding:12px 13px;border-bottom:1px solid #aebbb5;border-right:1px solid var(--line);font-size:12px;vertical-align:middle}.price-table th:last-child,.price-table td:last-child{border-right:0}.price-table thead th{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#526a65;background:rgba(255,255,255,.55);font-weight:850}.price-table tbody tr:hover{background:rgba(255,255,255,.72)}.price-table td:not(:first-child){font-variant-numeric:tabular-nums}.price-table.wide{min-width:760px}.price-table.text-table{min-width:940px}.price-table.compact{min-width:0}.price-table.compact th,.price-table.compact td{padding:10px 11px}
.revised{white-space:nowrap}.revised s{color:var(--muted);font-weight:400;margin-right:9px}.revised b{font-weight:900;color:var(--red)}.hand-row td{background:#eee9d8;font-weight:800}.hand-row td:first-child:after{content:"  · ձեռագիր";font-size:8px;letter-spacing:.08em;color:#725c1d}
.price-note{font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0 0;max-width:940px}.price-split{display:grid;grid-template-columns:1fr 1fr;gap:42px}.price-split h3,.service-columns h3{font-family:"Noto Serif Armenian",Georgia,serif;font-size:23px;margin:0 0 14px}.service-columns{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:30px}.simple-rates{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--line);border-left:1px solid var(--line)}.simple-rates>div{padding:20px 18px;min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.simple-rates span{font-size:11px;line-height:1.45;color:var(--muted)}.simple-rates strong{font-family:"Noto Serif Armenian",Georgia,serif;font-size:22px}.simple-rates.urgent{grid-template-columns:repeat(3,1fr)}
.rate-note-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-top:18px}.rate-note-grid>div{padding:18px}.rate-note-grid>div+div{border-left:1px solid var(--line)}.rate-note-grid small{display:block;font-size:9px;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.rate-note-grid strong{font-family:"Noto Serif Armenian",Georgia,serif;font-size:18px}
.flash-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--line);border-left:1px solid var(--line)}.flash-grid>div{min-height:150px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.flash-grid span{font-size:11px;letter-spacing:.12em;font-weight:800}.flash-grid strong{font-size:27px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.flash-grid strong b{font-size:27px}.price-cta{margin:56px 0 0;background:var(--ink);color:#fff;padding:34px 38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px}.price-cta small{font-size:9px;letter-spacing:.13em;color:#d8e0dd}.price-cta h2{font-family:"Noto Serif Armenian",Georgia,serif;font-size:30px;line-height:1.15;margin:8px 0 0;max-width:800px}.price-cta .button{border-color:#fff;color:#fff}
@media(max-width:1180px){.price-index{grid-template-columns:repeat(3,1fr)}.service-columns{grid-template-columns:1fr}.simple-rates{grid-template-columns:repeat(2,1fr)}.flash-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.price-index{grid-template-columns:1fr 1fr;margin-top:24px}.price-index a{min-height:76px}.price-section{padding:38px 0}.price-section-title{grid-template-columns:48px 1fr;gap:12px}.price-section-title h2{font-size:32px}.price-split,.large-format-split{grid-template-columns:1fr;gap:34px}.price-table.compact{min-width:520px}.service-columns .price-table.compact{min-width:540px}.simple-rates,.simple-rates.urgent,.flash-grid{grid-template-columns:1fr 1fr}.price-cta{grid-template-columns:1fr;padding:26px 22px}.price-cta .button{width:100%}}
@media(max-width:520px){.price-index{grid-template-columns:1fr}.simple-rates,.simple-rates.urgent,.flash-grid{grid-template-columns:1fr}.price-section-title{grid-template-columns:1fr}.price-section-title>span{width:48px}.price-table th,.price-table td{font-size:11px;padding:10px}.price-cta h2{font-size:25px}}


/* =========================================================
   FINAL POLISH PASS — selected editorial direction
   ========================================================= */
html,body{max-width:100%;overflow-x:clip}
body{line-height:1.45}
.main,.page-shell,.hero>*,.two-col>*,.section-head>*,.product-grid>*,.process-grid>*,.metric-strip>*,.kanban>*,.messages-layout>*{min-width:0}
.page-shell{width:min(1220px,calc(100% - 56px))}

/* Sidebar: preserve the chosen composition, make it usable on short laptops. */
.sidebar{width:292px;padding:24px 22px 20px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.main{margin-left:292px}
.logo-wrap{width:166px;margin-bottom:14px}
.logo-wrap img{height:116px}
.sidebar-title{font-size:16px;margin-bottom:24px}
.sidebar-nav a{padding:12px 0;font-size:12px;line-height:1.25}
.sidebar-foot{gap:8px;padding-top:16px}
.side-action{min-height:48px;height:auto;padding:12px 10px;font-size:11px}
/* Typography: keep editorial personality without headline collisions. */
.display{font-size:clamp(50px,4.9vw,78px);line-height:.98;letter-spacing:-.035em;max-width:11.8ch;overflow-wrap:break-word}
.section-head h2,.page-title{font-size:clamp(40px,4vw,64px);line-height:1.02;letter-spacing:-.025em;overflow-wrap:break-word}
.page-head{padding:44px 0 28px}
.page-head .sub{margin-top:12px}
.panel-title h2{font-size:31px;line-height:1.08}
.rule-title{font-size:27px;line-height:1.1}

/* Homepage: calmer proportions, no overflow, print colors become accents rather than blocks. */
.hero{grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);min-height:560px}
.hero-copy{padding:50px 48px 48px 0}
.hero-aside{padding:50px 0 48px 38px}
.lead{font-size:16px;line-height:1.68;max-width:680px}
.section{padding:54px 0}
.section-head{grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:34px;margin-bottom:24px}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-block{min-height:278px;overflow:hidden}
.product-color{height:9px}
.product-block:nth-child(1) .product-color{background:var(--red)}
.product-block:nth-child(2) .product-color{background:var(--ink)}
.product-block:nth-child(3) .product-color{background:var(--orange)}
.product-block:nth-child(4) .product-color{background:var(--red)}
.product-content{padding:22px 20px 20px}
.product-code{margin-bottom:28px;color:var(--muted)}
.product-block h3{font-size:clamp(20px,1.7vw,25px);line-height:1.1;overflow-wrap:anywhere}
.product-block p{font-size:12px}
.product-link{padding-top:17px}
.process-step{min-height:190px}
.process-no{margin-bottom:34px}
.process-step h3{font-size:23px;line-height:1.12}
.quote-band{margin-top:38px;padding:28px 30px}
.quote-band h3{font-size:28px;line-height:1.15}

/* Product ordering: selection should be obvious without decorative UI. */
.choice{min-height:54px;padding:12px 4px;transition:background .12s ease}
.choice:hover{background:rgba(255,255,255,.28)}
.choice.active{background:rgba(15,99,85,.07);box-shadow:inset 3px 0 0 var(--red)}
.choice.active .choice-dot{background:var(--red);border-color:var(--red);box-shadow:inset 0 0 0 3px var(--paper)}
.choice.active>span:nth-child(2){font-weight:800}
.choice small{font-size:11px;text-align:right}
.two-col{grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr)}
.content-col{padding:40px 44px 54px 0}
.aside-col{padding:40px 0 54px 36px}
.order-summary{top:20px}
.proof-strip span{line-height:1.35}
.proof-strip .done{background:#e8eee9;box-shadow:inset 0 -3px 0 var(--red)}

/* Operational pages: denser, clearer, less showroom-like. */
.metric{padding-top:22px;padding-bottom:22px}
.metric strong{font-size:31px}
.alert-band{margin-top:22px;padding:16px 18px;grid-template-columns:155px minmax(0,1fr) auto}
.panel-title{padding:28px 0 13px}
.data-row{grid-template-columns:95px minmax(160px,1.5fr) minmax(120px,.9fr) minmax(120px,.85fr) 105px;gap:14px;padding:13px 0}
.kanban{grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0 54px}
.kanban-col{min-height:500px;padding:0 12px 14px}
.kanban-head{height:68px;margin:0 -12px 14px;padding:14px 12px;border-top-width:6px!important;font-size:12px}
.job-ticket{padding:13px;margin-bottom:11px}
.job-ticket h3{font-size:18px;line-height:1.15}
.messages-layout{grid-template-columns:315px minmax(0,1fr);margin-bottom:52px}
.thread-view{padding:24px 28px 32px}
.thread-item{padding:16px}
.account-grid{grid-template-columns:250px minmax(0,1fr);gap:44px;padding:38px 0 54px}
.notice-list{margin-bottom:52px}

/* Price catalogue: fit desktop viewport, wrap labels, keep swipe only where genuinely needed. */
.price-page-head{padding-bottom:30px}
.price-index{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px}
.price-index a{min-height:78px;padding:13px 14px}
.price-index a span{font-size:14px;overflow-wrap:anywhere}
.price-section{padding:44px 0}
.price-section-title{grid-template-columns:64px minmax(0,1fr);gap:18px;margin-bottom:20px}
.price-section-title h2{font-size:clamp(30px,2.8vw,43px);line-height:1.04;overflow-wrap:break-word}
.table-scroll{width:100%;max-width:100%;overflow-x:visible}
.price-table,.price-table.wide,.price-table.text-table,.price-table.compact{width:100%;min-width:0;table-layout:fixed}
.price-table th,.price-table td{padding:10px 10px;font-size:11px;line-height:1.35;overflow-wrap:anywhere;word-break:normal}
.price-table thead th{font-size:8px;line-height:1.35}
.price-table.wide th:first-child,.price-table.wide td:first-child{width:18%}
.price-table.text-table th:first-child,.price-table.text-table td:first-child{width:33%}
.price-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.price-split h3,.service-columns h3{font-size:21px}
.service-columns{grid-template-columns:.9fr 1.3fr .9fr;gap:24px}
.simple-rates>div{min-height:100px;padding:17px 16px}
.simple-rates strong{font-size:20px;overflow-wrap:anywhere}
.flash-grid>div{min-height:130px;padding:18px}
.flash-grid strong,.flash-grid strong b{font-size:23px}
.price-cta{margin-top:44px;padding:28px 30px}
.price-cta h2{font-size:27px}

/* Visible focus makes the restrained UI easier to navigate. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.button:hover,.side-action:hover{background:var(--ink);color:#fff}
.button.primary:hover,.side-action.dark:hover{background:var(--red);border-color:var(--red)}

@media(max-height:820px) and (min-width:981px){
  .sidebar{padding-top:16px;padding-bottom:14px}
  .logo-wrap{width:136px;margin-bottom:7px}
  .logo-wrap img{height:86px}
  .sidebar-title{font-size:14px;margin-bottom:13px}
  .sidebar-nav a{padding:9px 0;font-size:11px}
  .sidebar-foot{gap:6px;padding-top:10px}
  .side-action{min-height:40px;padding:8px;font-size:10px}
  .side-action .badge{min-width:23px;height:23px}
  }

@media(max-width:1240px) and (min-width:981px){
  .sidebar{width:264px}.main{margin-left:264px}.page-shell{width:calc(100% - 40px)}
  .display{font-size:clamp(46px,4.8vw,67px)}
  .hero{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr)}
  .hero-copy{padding-right:34px}.hero-aside{padding-left:30px}
  .section-head{grid-template-columns:1fr 320px}
  .product-block h3{font-size:20px}
  .price-table th,.price-table td{padding:9px 8px;font-size:10px}
}

/* At tablet widths the full sidebar gives too little working width; switch cleanly to mobile header. */
@media(max-width:980px){
  .sidebar{display:none}.main{margin-left:0}.page-shell{width:calc(100% - 34px)}
  .mobile-top{height:68px;display:flex;align-items:center;justify-content:space-between;padding:7px 16px;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
  .mobile-top img{width:76px;height:50px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}
  .menu-btn{width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:19px;display:grid;place-items:center}
  .mobile-menu{display:block;position:fixed;inset:68px 0 0 0;background:var(--white);z-index:49;padding:22px;transform:translateX(-103%);transition:transform .2s ease;overflow-y:auto}
  .mobile-menu.open{transform:translateX(0)}
  .mobile-menu a{display:block;padding:15px 0;border-bottom:1px solid #dfe4df;font-size:13px}
  .mobile-menu .side-action{margin-top:10px}
  body.menu-open{overflow:hidden}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{border-right:0;border-bottom:1px solid var(--line);padding:38px 0 34px}
  .hero-aside{padding:34px 0}
  .display{font-size:clamp(44px,8vw,68px);max-width:13ch}
  .section-head{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-block:nth-child(2){border-right:0}.product-block:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-step:nth-child(2){border-right:0}.process-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .two-col{grid-template-columns:1fr}.content-col{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.aside-col{padding-left:0}
  .metric-strip{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .kanban{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban-col:nth-child(2){border-right:0}.kanban-col:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .price-index{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-columns{grid-template-columns:1fr}.service-columns .price-table.compact{min-width:0}
}

@media(max-width:700px){
  .page-shell{width:calc(100% - 24px)}
  .meta-strip{height:auto;padding:16px 0 12px;grid-template-columns:1fr;gap:5px}.meta-strip span:last-child{text-align:left}
  .display{font-size:clamp(40px,12vw,58px)}
  .section{padding:38px 0}.section-head h2,.page-title{font-size:40px}
  .product-grid{grid-template-columns:1fr}.product-block{border-right:0!important;border-bottom:1px solid var(--line)!important}.product-block:last-child{border-bottom:0!important}
  .process-grid{grid-template-columns:1fr}.process-step{border-right:0!important;border-bottom:1px solid var(--line);padding:19px 0!important;min-height:auto}.process-step:last-child{border-bottom:0}.process-no{margin-bottom:20px}
  .quote-band{grid-template-columns:1fr;padding:24px 20px}.quote-band .button{justify-self:stretch}
  .footer{grid-template-columns:1fr}
  .page-head{grid-template-columns:1fr;padding:32px 0 23px}.page-index{text-align:left}
  .field-row{grid-template-columns:1fr}
  .metric-strip{grid-template-columns:1fr}.metric{border-right:0!important;border-bottom:1px solid var(--line);padding-left:0!important}.metric:last-child{border-bottom:0}
  .data-row{grid-template-columns:82px minmax(0,1fr) 92px;gap:10px}.data-row>*:nth-child(3),.data-row>*:nth-child(4){display:none}
  .alert-band{grid-template-columns:1fr}
  .kanban{grid-template-columns:1fr}.kanban-col{border-right:0!important;border-bottom:1px solid var(--line)}
  .messages-layout{grid-template-columns:1fr}.thread-list{border-right:0;border-bottom:1px solid var(--line)}.thread-item:not(.active){display:none}.thread-view{padding:20px 16px}.message.staff,.message.internal{margin-left:12px}
  .account-grid{grid-template-columns:1fr}.history-row{grid-template-columns:80px 1fr 86px}.history-row>*:nth-child(3){display:none}
  .notice{grid-template-columns:78px 1fr 16px;gap:12px}.notice strong{grid-column:2}.notice p{grid-column:2}.notice .mark{grid-column:3;grid-row:1}.notice time{grid-row:1/4}
  .price-index{grid-template-columns:1fr 1fr;margin-top:22px}
  .price-section{padding:34px 0}.price-section-title{grid-template-columns:46px minmax(0,1fr);gap:12px}.price-section-title h2{font-size:30px}
  .price-split,.large-format-split{grid-template-columns:1fr;gap:30px}
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .price-table.wide{min-width:650px}.price-table.text-table{min-width:820px}
  .price-table.compact{min-width:0}
  .simple-rates,.simple-rates.urgent,.flash-grid{grid-template-columns:1fr 1fr}
  .price-cta{grid-template-columns:1fr;padding:24px 20px}.price-cta .button{width:100%}
}

@media(max-width:460px){
  .price-index{grid-template-columns:1fr}
  .simple-rates,.simple-rates.urgent,.flash-grid{grid-template-columns:1fr}
  .price-section-title{grid-template-columns:1fr}.price-section-title>span{width:46px}
  .price-cta h2{font-size:24px}
  .action-row{display:grid}.action-row .button{width:100%}
}

/* Final headline balance after visual QA */
.display{font-size:clamp(48px,4.4vw,68px);max-width:14ch}
@media(max-width:980px){.display{font-size:clamp(42px,6.6vw,58px);max-width:15ch}}
@media(max-width:700px){.display{font-size:clamp(38px,10.5vw,48px);max-width:15ch}}


/* R16 · Civic Print Service palette applied to selected polished layout. */


/* R19 · six-column photo printing table */
@media(max-width:700px){#photo-print .price-table.wide{min-width:820px}}

/* Production customer-only page placeholder: intentionally empty for now. */
.about-empty{min-height:100vh}
